Am Sam, 2003-11-29 um 08.17 schrieb curlybraces:
hi curlybraces,
> i want to know ,
>
> how to make a rpm package from filename.tar.gz ?
If the tar-file includes a "spec-file" just do:
rpmbuild -tb filename.tar.gz
...and you'll find the fresh rpm in /usr/src/redhat/RPMS/../filename.rpm
If the tarfile includes no spec-file, you have to write one.
If you are experienced in shell-syntax that should be no Problem, if you
not, you should better use the tarfile to install the application.
The spec-file tells rpmbuild where and how everything is supposed to be
installed. If you are not used to shell-syntax it seems to be a long,
hard way to get your first rpm to business!
A spec file for a very small and simple application looks like this:
##############################################################
# spec file for package tinyca
#
# $Id: tinyca.spec,v 1.7 2003/09/01 18:15:01 sm Exp $
#
# Copyright (c) 2002 Stephan Martin
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# usedforbuild aaa_base autoconf automake base bash binutils bison
bzip2 cpio cpp cracklib cyrus-sasl2 db devs diffutils e2fsprogs file
coreutils findutils flex gawk gcc gdbm gdbm-devel gettext glibc
glibc-devel glibc-locale gpm gppshare grep groff gzip kbd less libtool
zlib m4 make man mktemp modutils ncurses ncurses-devel net-tools pam
pam-devel pam-modules patch perl ps rcs readline rpm sendmail shadow
strace syslogd sysvinit tar texinfo timezone unzip util-linux vim
%define prefix /usr
%define bindir %{prefix}/bin
%define libdir %{prefix}/share/TinyCA/lib
%define templatesdir %{prefix}/share/TinyCA/templates
%define localedir %{prefix}/share/TinyCA/locale/
Name: tinyca
Group: Utilities
License: GPL
Requires: perl perl-Gtk-Perl perl-MIME-Base64
Version: 0.5.3
Release: 0
Packager: Stephan Martin <[EMAIL PROTECTED]>
Source0: %{name}-%{version}.tar.gz
Summary: Graphical Frontend for very simple Certification Authority.
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Graphical Frontend for very simple CA.
Based on OpenSSL and Gtk-Perl
Author:
-------
Stephan Martin <[EMAIL PROTECTED]>
%prep
%setup -n %{name}-%{version} -c %{name}-%{version} -T -D -a0
%build
cd TinyCA
# Configure pristine source
perl -pi -e 's:./lib:%{libdir}:g' tinyca
perl -pi -e 's:./templates:%{templatesdir}:g' tinyca
perl -pi -e 's:./locale:%{localedir}:g' tinyca
make -C po
%install
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf
$RPM_BUILD_ROOT;
mkdir -p $RPM_BUILD_ROOT%{bindir}
mkdir -p $RPM_BUILD_ROOT%{libdir}
mkdir -p $RPM_BUILD_ROOT%{templatesdir}
mkdir -p $RPM_BUILD_ROOT%{localedir}/de/LC_MESSAGES/
cd TinyCA
install -m 444 lib/*.pm $RPM_BUILD_ROOT%{libdir}
install -m 644 templates/openssl.cnf $RPM_BUILD_ROOT%{templatesdir}
install -m 755 tinyca $RPM_BUILD_ROOT%{bindir}
install -m 644 locale/de/LC_MESSAGES/tinyca.mo
%{buildroot}%{localedir}/de/LC_MESSAGES/
%files
%defattr(-,root,root)
%{bindir}/tinyca
%{libdir}
%config %{templatesdir}
%{localedir}
%doc TinyCA/CHANGES
##############################################################
You can use this spec-file or a spec-file of an application, similar to
the one you want to install, as template.
good luck
Sandro
--
Sandro Wabner - [EMAIL PROTECTED] - http://sandro.wabner.de/
Tel: 00 49 5271 49337 - Fax: 00 49 5271 496663
Rosenstr. 19 - 37671 H�xter
PGP public key: http://sandro.wabner.de/keys/key_swabner.gpg
--
Psyche-list mailing list
[EMAIL PROTECTED]
https://www.redhat.com/mailman/listinfo/psyche-list