Rpm
From Attie's Wiki
(Difference between revisions)
m |
m |
||
Line 12: | Line 12: | ||
Create a *.spec file using the following template: | Create a *.spec file using the following template: | ||
<source lang="text"> | <source lang="text"> | ||
− | Summary: | + | Summary: Test library |
− | Name: | + | Name: mylib |
− | Version: | + | Version: 1.0.1 |
Release: 1 | Release: 1 | ||
License: LGPL | License: LGPL | ||
− | #BuildRequires: make, gcc, binutils, coreutils, gzip | + | #BuildRequires: make, gcc, binutils, coreutils, gzip |
Group: System/Libraries | Group: System/Libraries | ||
− | Source: | + | Source: mylib-1.0.1.tgz |
BuildRoot: /ver/tmp/${name}-buildroot | BuildRoot: /ver/tmp/${name}-buildroot | ||
%description | %description | ||
− | + | Test library | |
%prep | %prep | ||
Line 37: | Line 37: | ||
mkdir -p $RPM_BUILD_ROOT/usr/include | mkdir -p $RPM_BUILD_ROOT/usr/include | ||
mkdir -p $RPM_BUILD_ROOT/usr/lib | mkdir -p $RPM_BUILD_ROOT/usr/lib | ||
− | |||
sudo SYS_ROOT=$RPM_BUILD_ROOT make install | sudo SYS_ROOT=$RPM_BUILD_ROOT make install | ||
Line 44: | Line 43: | ||
%files | %files | ||
− | /usr/lib/ | + | /usr/lib/libmy.a |
− | /usr/lib/ | + | /usr/lib/libmy.a.1.0.1 |
− | /usr/lib/ | + | /usr/lib/libmy.so |
− | /usr/lib/ | + | /usr/lib/libmy.so.1.0.1 |
− | /usr/lib/ | + | /usr/lib/libmy.so.1.0.1.dbg |
− | + | /usr/include/my.h | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | /usr/include/ | + | |
%changelog | %changelog |
Revision as of 17:28, 30 May 2012
Building an RPM package
Create the following directory structure:
mkdir -p ~/rpmbuild/SOURCES ~/rpmbuildrpm/SPECS
Create a tar file containing the source code, named like so: <packagename>-<version>.tgz
tar -cavf ~/rpmbuild/SOURCES/mylib-1.0.1.tgz --transform='#^#mylib-1.0.1/#s' *.c *.h makefile
Create a *.spec file using the following template:
Summary: Test library Name: mylib Version: 1.0.1 Release: 1 License: LGPL #BuildRequires: make, gcc, binutils, coreutils, gzip Group: System/Libraries Source: mylib-1.0.1.tgz BuildRoot: /ver/tmp/${name}-buildroot %description Test library %prep %setup -q %build make configure make %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/include mkdir -p $RPM_BUILD_ROOT/usr/lib sudo SYS_ROOT=$RPM_BUILD_ROOT make install %clean rm -rf $RPM_BUILD_ROOT %files /usr/lib/libmy.a /usr/lib/libmy.a.1.0.1 /usr/lib/libmy.so /usr/lib/libmy.so.1.0.1 /usr/lib/libmy.so.1.0.1.dbg /usr/include/my.h %changelog * Wed May 30 2012 Attie Grande <attie@attie.co.uk> - created RPM build infrastructure