ReleaseEngineering/PuppetAgain/HowTo/Build RPMs: Difference between revisions

Line 25: Line 25:


= Landing =
= Landing =
When the patch is r+'d, commit it as usual, and also add *both* the RPM (or multiple RPMs if multiple architectures are required!) and the SRPM into /data on the designated puppet master, so that it will be distributed to other systems.  Debuginfo RPMs are a good idea, too.  Run
When the patch is r+'d, commit it as usual, and also add *both* the RPM (or multiple RPMs if multiple architectures are required!) and the SRPM into /data on the designated puppet master (releng-puppet1.srv.releng.scl3), so that it will be distributed to other systems.  Debuginfo RPMs are a good idea, too.  Run
   createrepo --update $repo_path
   createrepo --update $repo_path
to update the metadata.
to update the metadata.


Note that, pending {{bug|772599}}, yum will cache the metadata for 6 hours, meaning you won't see your packages installed for that duration. See mention of '''$repoflag''' in [[ReleaseEngineering/PuppetAgain/Modules/packages]] for the workaround.
Example session:
<pre>
# at releng-puppet1.srv.releng.scl3
$ wget http://people.mozilla.org/~jhopkins/bug772446/supervisor-3.0-0.10.a12.el6.noarch.rpm
$ wget http://people.mozilla.org/~jhopkins/bug772446/supervisor-3.0-0.10.a12.el6.src.rpm
$ chmod 644 *.rpm
$ sudo chown puppetagainsync:puppetagainsync *.rpm
$ sudo mv -vi *.rpm /data/repos/yum/releng/public/CentOS/6/noarch/
`supervisor-3.0-0.10.a12.el6.noarch.rpm' -> `/data/repos/yum/releng/public/CentOS/6/noarch/supervisor-3.0-0.10.a12.el6.noarch.rpm'
`supervisor-3.0-0.10.a12.el6.src.rpm' -> `/data/repos/yum/releng/public/CentOS/6/noarch/supervisor-3.0-0.10.a12.el6.src.rpm'
$ sudo -u puppetagainsync createrepo --update /data/repos/yum/releng/public/CentOS/6/noarch
2/2 - supervisor-3.0-0.10.a12.el6.src.rpm                                     
Saving Primary metadata
Saving file lists metadata
Saving other metadata
</pre>
Confirmed users
3,104

edits