5dollarwhitebox.org - theboxownsyou

  • blog
  • projects
  • articles
  • tech wiki
  • about
  • login
Home › RPM Packaging Reference › RPM Packaging Illuminated

RSS Feed

Building The Package

drks — Thu, 2007-01-18 07:54

Now that we have an understanding of our Spec file, lets try and build the package. The following commands assume that we are in the '/usr/src/redhat' directory:

[root@linuxbox redhat/]# rpmbuild -ba SPECS/pLsearch.bjd.spec
 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.69853
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd /usr/src/redhat/BUILD
+ rm -rf pLsearch-0.1.7
+ tar -xf -
+ /bin/gzip -dc /usr/src/redhat/SOURCES/pLsearch-0.1.7.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd pLsearch-0.1.7
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (pLsearch-0.1.7-sample.patch):'
Patch #0 (pLsearch-0.1.7-sample.patch):
+ patch -p1 -b --suffix .sample -s
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.69853
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd pLsearch-0.1.7
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.69853
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd pLsearch-0.1.7
+ '[' /var/tmp/pLsearch-0.1.7-root '!=' / ']'
+ rm -rf /var/tmp/pLsearch-0.1.7-root
+ mkdir -p /var/tmp/pLsearch-0.1.7-root/usr/bin
+ install -o root -m 755 pLsearch /var/tmp/pLsearch-0.1.7-root/usr/bin/pLsearch
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip
+ /usr/lib/rpm/brp-strip-static-archive
+ /usr/lib/rpm/brp-strip-comment-note
Processing files: pLsearch-0.1.7-1.bjd
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.2435
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd pLsearch-0.1.7
+ DOCDIR=/var/tmp/pLsearch-0.1.7-root/usr/share/doc/pLsearch-0.1.7
+ export DOCDIR
+ rm -rf /var/tmp/pLsearch-0.1.7-root/usr/share/doc/pLsearch-0.1.7
+ /bin/mkdir -p /var/tmp/pLsearch-0.1.7-root/usr/share/doc/pLsearch-0.1.7
+ cp -pr README CHANGELOG /var/tmp/pLsearch-0.1.7-root/usr/share/doc/pLsearch-0.1.7
+ exit 0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/bin/perl perl >= 5.8 perl(File::Locate) perl(Getopt::Long) perl(PerlIO::gzip) perl(strict)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/pLsearch-0.1.7-root
Wrote: /usr/src/redhat/SRPMS/pLsearch-0.1.7-1.bjd.src.rpm
Wrote: /usr/src/redhat/RPMS/noarch/pLsearch-0.1.7-1.bjd.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.2435
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd pLsearch-0.1.7
+ '[' /var/tmp/pLsearch-0.1.7-root '!=' / ']'
+ rm -rf /var/tmp/pLsearch-0.1.7-root
+ exit 0



What we are always hoping for is of course 'exit 0'. This means the package built without error, and successfully wrote the RPM packages as expected. You will see everything that rpmbuild is doing (thanks to the lovely 'set -x' in Bash). Take a few moment to examine how rpmbuild read our instructions and used them to build the package.

You will note towards the end that our files are written:

Wrote: /usr/src/redhat/SRPMS/pLsearch-0.1.7-1.bjd.src.rpm
Wrote: /usr/src/redhat/RPMS/noarch/pLsearch-0.1.7-1.bjd.noarch.rpm


So, we now have our RPM... but what is it going to install, what does it need to install, and what do I get from it:

[root@linuxbox SPECS/]# rpm -qlp RPMS/noarch/pLsearch-0.1.7-1.bjd.noarch.rpm 
 
/usr/bin/pLsearch
/usr/share/doc/pLsearch-0.1.7
/usr/share/doc/pLsearch-0.1.7/CHANGELOG
/usr/share/doc/pLsearch-0.1.7/README
 
[root@linuxbox redhat/]# rpm -qp --requires RPMS/noarch/pLsearch-0.1.7-1.bjd.noarch.rpm 
 
/usr/bin/perl  
perl >= 5.8
perl(File::Locate)  
perl(Getopt::Long)  
perl(PerlIO::gzip)  
perl(strict)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
 
[root@linuxbox redhat/]# rpm -qp --provides RPMS/noarch/pLsearch-0.1.7-1.bjd.noarch.rpm 
 
pLsearch = 0.1.7-1.bjd



‹ The Specfile up Macros and Variables ›
  • Printer-friendly version



Who's online

There are currently 0 users and 1 guest online.
  • blog
  • projects
  • articles
  • tech wiki
  • about
  • login

5dollarwhitebox.org is not responsible in anyway for actions performed based on information found on this site.