canmove, Confirmed users
1,394
edits
Line 313: | Line 313: | ||
= Ubuntu: Landing Custom Repository Changes = | = Ubuntu: Landing Custom Repository Changes = | ||
{{note| | {{note|This is currently Mozilla-only, since Mozilla is the upstream for all packages. Be careful, as this can easily wipe out the existing releng repository!}} | ||
We use [http://mirrorer.alioth.debian.org/ reprepro] to manage packages. | We use [http://mirrorer.alioth.debian.org/ reprepro] to manage packages. Nobody's quite sure how to pronounce it. | ||
The repo lives in /data/repos/apt on releng-puppet2.srv.releng.scl3, so you'll need to begin by rsync'ing it to ubuntu64packager1: | |||
rsync -av releng-puppet2.srv.releng.use1.mozilla.com:/data/repos/apt/releng/ /data/repos/apt/releng/ | |||
rsync -av releng-puppet2.srv.releng.use1.mozilla.com:/data/repos/apt/conf/ /data/repos/apt/conf/ | |||
rsync -av releng-puppet2.srv.releng.use1.mozilla.com:/data/repos/apt/db/ /data/repos/apt/db/ | |||
The <tt>conf/</tt> directory contains config files pointing to the releng/ repository only -- this won't (shouldn't!) mess with the Ubuntu mirrors. | |||
Next, import your files into the repo | |||
<pre> | <pre> | ||
cd /data/repos/apt | |||
reprepro -V --basedir . include precise /tmp/somepackage-precise-amd64/*.changes | |||
</pre> | </pre> | ||
if you're installing two architectures, then the second one will complain that the debian tarball's signature doesn't match. That's OK. Just import the debs from that architecture: | |||
<pre> | <pre> | ||
reprepro -V --basedir . includedeb precise /tmp/somepackage-precise-i386/*.deb | |||
</pre> | </pre> | ||
This will copy packages to releng/, generate indices and update the database. Make sure to not get into a race condition with other people on the same host. | |||
When you are done with the repo, first check that any previous versions of the packages you're updating are pinned in puppet. Then rsync the repo and db back to the distinguished master: | |||
rsync -av /data/repos/apt/releng/ releng-puppet2.srv.releng.use1.mozilla.com:/data/repos/apt/releng/ | |||
rsync -av /data/repos/apt/db/ releng-puppet2.srv.releng.use1.mozilla.com:/data/repos/apt/db/ | |||
and run this on the master: | |||
puppetmaster-fixperms | |||
= Darwin = | = Darwin = |