[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: tar.gz----->rpm



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 <sm sm-zone net>
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 <sm sm-zone net>

%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  -  sandro wabner de - 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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]