<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://community.moertel.com/ss/rdf'>
    <s:Snip rdf:about='http://community.moertel.com/ss/rdf#Rebuilding+RPMs'
         s:cUser='tmoertel'
         s:oUser='tmoertel'
         s:mUser='tmoertel'>
        <s:name>Rebuilding RPMs</s:name>
        <s:content>\\&#xD;&#xA;Here&apos;s how to rebuild source RPMs on your computer.&#xD;&#xA;&#xD;&#xA;First, if you do not already have one, you will need to set up a workspace for building RPMs.  This requires nothing more than creating a simple ~~.rpmmacros~~ file and an ~~rpms/~~ directory under your home directory.  If you are using Fedora Linux, you can accomplish this goal by installing the __rpmdevtools__ package and then running the __rpmdev-setuptree__ command:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;$ sudo yum -y install rpmdevtools&#xD;&#xA;$ rpmdev-setuptree&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Otherwise, the following shell commands will do the trick:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;$ echo %_topdir ~/rpm &gt;&gt; ~/.rpmmacros&#xD;&#xA;$ mkdir ~/rpm/{BUILD,SOURCES,SRPMS,RPMS,SPECS}&#xD;&#xA;$ mkdir ~/rpm/RPMS/{i{3,5,6}86,noarch,athlon}&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Then you can rebuild packages from their ~~.src.rpm~~ files with a single command:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;rpmbuild --rebuild package-name-~~version-release~~.src.rpm&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;When the rebuilding process is complete, your new RPM file(s) will be located in the appropriate architecture-specific subdirectories of your ~~\~/rpms/RPMS/~~ directory.&#xD;&#xA;&#xD;&#xA;1.1 Example: Rebuilding perl-Test-LectroTest&#xD;&#xA;&#xD;&#xA;Here&apos;s how you would go about rebuilding ~~perl-Test-LectroTest~~ version 0.2007 from its ~~.src.rpm~~ file:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;$ rpmbuild --rebuild perl-Test-LectroTest-0.2007-1.src.rpm&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;The resulting output is verbose but informative.  In particular, note the &quot;Wrote: ~~file~~&quot; lines near the end, which tell us exactly which RPM files were created for us.&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;Installing perl-Test-LectroTest-0.2007-1.src.rpm&#xD;&#xA;Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.18218&#xD;&#xA;+ umask 022&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ LANG=C&#xD;&#xA;+ export LANG&#xD;&#xA;+ unset DISPLAY&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ rm -rf Test-LectroTest-0.2007&#xD;&#xA;+ /usr/bin/gzip -dc /home/thor/rpm/SOURCES/Test-LectroTest-0.2007.tar.gz&#xD;&#xA;+ tar -xf -&#xD;&#xA;+ STATUS=0&#xD;&#xA;+ &apos;[&apos; 0 -ne 0 &apos;]&apos;&#xD;&#xA;+ cd Test-LectroTest-0.2007&#xD;&#xA;++ /usr/bin/id -u&#xD;&#xA;+ &apos;[&apos; 500 = 0 &apos;]&apos;&#xD;&#xA;++ /usr/bin/id -u&#xD;&#xA;+ &apos;[&apos; 500 = 0 &apos;]&apos;&#xD;&#xA;+ /bin/chmod -Rf a+rX,g-w,o-w .&#xD;&#xA;+ exit 0&#xD;&#xA;Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.18218&#xD;&#xA;+ umask 022&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ cd Test-LectroTest-0.2007&#xD;&#xA;+ LANG=C&#xD;&#xA;+ export LANG&#xD;&#xA;+ unset DISPLAY&#xD;&#xA;+ CFLAGS=-O2 -g -pipe -march=i386 -mcpu=i686&#xD;&#xA;+ perl Makefile.PL PREFIX=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr&#xD;&#xA;Checking if your kit is complete...&#xD;&#xA;Looks good&#xD;&#xA;Writing Makefile for Test::LectroTest&#xD;&#xA;+ make &apos;OPTIMIZE=-O2 -g -pipe -march=i386 -mcpu=i686&apos;&#xD;&#xA;cp lib/Test/LectroTest/TestRunner.pm blib/lib/Test/LectroTest/TestRunner.pm&#xD;&#xA;cp lib/Test/LectroTest/Tutorial.pod blib/lib/Test/LectroTest/Tutorial.pod&#xD;&#xA;cp lib/Test/LectroTest/Property.pm blib/lib/Test/LectroTest/Property.pm&#xD;&#xA;cp lib/Test/LectroTest/Generator.pm blib/lib/Test/LectroTest/Generator.pm&#xD;&#xA;cp lib/Test/LectroTest.pm blib/lib/Test/LectroTest.pm&#xD;&#xA;Manifying blib/man3/Test::LectroTest::Tutorial.3pm&#xD;&#xA;Manifying blib/man3/Test::LectroTest::TestRunner.3pm&#xD;&#xA;Manifying blib/man3/Test::LectroTest::Generator.3pm&#xD;&#xA;Manifying blib/man3/Test::LectroTest::Property.3pm&#xD;&#xA;Manifying blib/man3/Test::LectroTest.3pm&#xD;&#xA;+ exit 0&#xD;&#xA;Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.86392&#xD;&#xA;+ umask 022&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ cd Test-LectroTest-0.2007&#xD;&#xA;+ LANG=C&#xD;&#xA;+ export LANG&#xD;&#xA;+ unset DISPLAY&#xD;&#xA;+ rm -rf /var/tmp/perl-Test-LectroTest-0.2007-1-root&#xD;&#xA;++ perl -V:installarchlib&#xD;&#xA;+ eval &apos;installarchlib=&apos;\&apos;&apos;/usr/lib/perl5/5.8.3/i386-linux-thread-multi&apos;\&apos;&apos;;&apos;&#xD;&#xA;++ installarchlib=/usr/lib/perl5/5.8.3/i386-linux-thread-multi&#xD;&#xA;+ mkdir -p /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/5.8.3/i386-linux-thread-multi&#xD;&#xA;+ make prefix=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr exec_prefix=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr bindir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/bin sbindir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/sbin sysconfdir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/etc datadir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share includedir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/include libdir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib libexecdir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/libexec localstatedir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/var sharedstatedir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/com mandir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/man infodir=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/info install&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest.pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/TestRunner.pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/Tutorial.pod&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/Property.pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/Generator.pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/man/man3/Test::LectroTest::Tutorial.3pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/man/man3/Test::LectroTest::TestRunner.3pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/man/man3/Test::LectroTest::Generator.3pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/man/man3/Test::LectroTest::Property.3pm&#xD;&#xA;Installing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/man/man3/Test::LectroTest.3pm&#xD;&#xA;Writing /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/Test/LectroTest/.packlist&#xD;&#xA;Appending installation info to /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/5.8.3/i386-linux-thread-multi/perllocal.pod&#xD;&#xA;++ find /var/tmp/perl-Test-LectroTest-0.2007-1-root -type f -name perllocal.pod -o -name .packlist&#xD;&#xA;+ rm -f /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/5.8.3/i386-linux-thread-multi/perllocal.pod /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/Test/LectroTest/.packlist&#xD;&#xA;+ &apos;[&apos; -x /usr/lib/rpm/brp-compress &apos;]&apos;&#xD;&#xA;+ /usr/lib/rpm/brp-compress&#xD;&#xA;+ find /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr -type f -print&#xD;&#xA;+ sed &apos;s@^/var/tmp/perl-Test-LectroTest-0.2007-1-root@@g&apos;&#xD;&#xA;++ cat perl-Test-LectroTest-0.2007-1-filelist&#xD;&#xA;+ &apos;[&apos; &apos;/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest.pm&#xD;&#xA;/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/TestRunner.pm&#xD;&#xA;/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/Tutorial.pod&#xD;&#xA;/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/Property.pm&#xD;&#xA;/usr/lib/perl5/site_perl/5.8.3/Test/LectroTest/Generator.pm&#xD;&#xA;/usr/share/man/man3/Test::LectroTest::Generator.3pm.gz&#xD;&#xA;/usr/share/man/man3/Test::LectroTest::Property.3pm.gz&#xD;&#xA;/usr/share/man/man3/Test::LectroTest.3pm.gz&#xD;&#xA;/usr/share/man/man3/Test::LectroTest::Tutorial.3pm.gz&#xD;&#xA;/usr/share/man/man3/Test::LectroTest::TestRunner.3pm.gzX&apos; = X &apos;]&apos;&#xD;&#xA;+ /usr/lib/rpm/find-debuginfo.sh /home/thor/rpm/BUILD/Test-LectroTest-0.2007&#xD;&#xA;0 blocks&#xD;&#xA;find: /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/lib/debug: No such file or directory&#xD;&#xA;+ /usr/lib/rpm/redhat/brp-compress&#xD;&#xA;+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip&#xD;&#xA;+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip&#xD;&#xA;+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump&#xD;&#xA;Processing files: perl-Test-LectroTest-0.2007-1&#xD;&#xA;Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.44472&#xD;&#xA;+ umask 022&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ cd Test-LectroTest-0.2007&#xD;&#xA;+ DOCDIR=/var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/doc/perl-Test-LectroTest-0.2007&#xD;&#xA;+ export DOCDIR&#xD;&#xA;+ rm -rf /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/doc/perl-Test-LectroTest-0.2007&#xD;&#xA;+ /bin/mkdir -p /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/doc/perl-Test-LectroTest-0.2007&#xD;&#xA;+ cp -pr Changes README TODO /var/tmp/perl-Test-LectroTest-0.2007-1-root/usr/share/doc/perl-Test-LectroTest-0.2007&#xD;&#xA;+ exit 0&#xD;&#xA;Provides: perl(Test::LectroTest) perl(Test::LectroTest::Generator) perl(Test::LectroTest::Property) perl(Test::LectroTest::TestRunner) perl(Test::LectroTest::TestRunner::results) perl(Test::LectroTest::TestRunner::testcontroller)&#xD;&#xA;Requires(rpmlib): rpmlib(CompressedFileNames) &lt;= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1&#xD;&#xA;Requires: perl(:WITH_ITHREADS) perl(:WITH_LARGEFILES) perl(:WITH_THREADS) perl(Carp) perl(Class::Struct) perl(Data::Dumper) perl(Exporter) perl(Filter::Util::Call) perl(List::Util) perl(Test::LectroTest::Generator) perl(Test::LectroTest::Property) perl(Test::LectroTest::TestRunner) perl(constant) perl(strict) perl(warnings)&#xD;&#xA;Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/perl-Test-LectroTest-0.2007-1-root&#xD;&#xA;Wrote: /home/thor/rpm/RPMS/noarch/perl-Test-LectroTest-0.2007-1.noarch.rpm&#xD;&#xA;Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.44472&#xD;&#xA;+ umask 022&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ cd Test-LectroTest-0.2007&#xD;&#xA;+ rm -rf /var/tmp/perl-Test-LectroTest-0.2007-1-root&#xD;&#xA;+ exit 0&#xD;&#xA;Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.44472&#xD;&#xA;+ umask 022&#xD;&#xA;+ cd /home/thor/rpm/BUILD&#xD;&#xA;+ rm -rf Test-LectroTest-0.2007&#xD;&#xA;+ exit 0&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;When everything was said and done, one custom-built RPM file was created:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;Wrote: /home/thor/rpm/RPMS/noarch/perl-Test-LectroTest-0.2007-1.noarch.rpm&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;We can then install this package like normal:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;$ cd /home/thor/rpm/RPMS/noarch&#xD;&#xA;$ sudo rpm -Uhv perl-Test-LectroTest-0.2007-1.noarch.rpm&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;And that&apos;s all there is to it!&#xD;&#xA;</s:content>
        <s:mTime>2007-05-27 18:28:38.289</s:mTime>
        <s:cTime>2004-10-16 14:51:20.432</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#RPMs/'/>
                <rdf:li rdf:resource='#RPMs'/>
                <rdf:li rdf:resource='#LectroTest'/>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#space/Rebuilding RPMs'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#'/>
                <rdf:li rdf:resource='#tmoertel'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#IMDB Movie-Rating Decoder Ring'/>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li>
                    <s:Snip rdf:about='http://community.moertel.com/ss/rdf#Rebuilding+RPMs'>
                        <s:attachments
                             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
                    </s:Snip>
                </rdf:li>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#Talk - Fun with Asterisk and Perl'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#space/space/Rebuilding RPMs'/>
                <rdf:li rdf:resource='#pxsl'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#2004-03-24'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#imdb movie-rating decoder ring'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#Asterisk PBX'/>
                <rdf:li rdf:resource='http://community.moertel.com/ss/rdf#PFC Revival'/>
            </rdf:Bag>
        </s:snipLinks>
    </s:Snip>
</rdf:RDF>
