Managing a [local] package repository....
Beech Rintoul
beech at alaskaparadise.com
Sat May 20 14:32:16 PDT 2006
On Saturday 20 May 2006 12:56, Eric Schuele wrote:
> Hello,
>
> I'm wondering how others manage a local store of packages... or even if
> anyone does this sort of thing. Let me explain...
>
> Some short time back I decided to start stockpiling packages of all the
> ports I have installed on my machine. I was/am doing this because I
> intend on doing a fresh install to 6.1-RELEASE when I have the time.
> But, although I do prefer to compile the ports (as opposed to
> downloading the packages) I do not wish to recompile them all *again*,
> because it is a significant amount of time. I intend to just transfer
> them to the new installation. So I wrote a small script (appended
> below, comments welcome) to create packages of everything on my system.
> I did that one time, and have since done "make install package clean"
> to install new packages, and done "portupgrade -aprR" to upgrade those
> presently installed.
>
> While this does seem to work well for me, it has left one problem I did
> not foresee. As ports get upgraded, their new package is built and
> placed in my package dir, but the *old* port's package is not removed.
> So I now have quite a few packages in my package directory that are not
> the most recent, and hence are just taking up space.
>
> Example (/usr/ports/packages/All):
> ----
> ImageMagick-6.2.5.5_4.tbz
> ORBit-0.5.17_3.tbz
> ORBit2-2.14.0.tbz <---
> ORBit2-2.14.0_1.tbz <---
> OpenSP-1.5_7.tbz
> aspell-0.60.4_3.tbz
> at-spi-1.7.7.tbz <---
> at-spi-1.7.7_1.tbz <---
> aterm-1.0.0_1.tbz
> atk-1.11.4.tbz <---
> atk-1.11.4_1.tbz <---
> autoconf-2.13.000227_5.tbz
> autoconf-2.59_2.tbz
> automake-1.4.6_2.tbz
> automake-1.9.6.tbz
> avahi-0.6.10.tbz <---
> avahi-0.6.10_1.tbz <---
> avahi-0.6.10_3.tbz <---
> avahi-0.6.9_5.tbz <---
> -----
>
> So my question is:
> Is there a way to automatically remove the old packages as existing
> packages get upgraded? Or is there some more appropriate means for
> generating packages (and keeping them up to date) that I could transfer
> to a fresh install (or even another machine for that matter)?
>
> My mk_pkgs.sh. Comments are appreciated.
> =================
> #!/bin/sh
>
> # This will create a binary package for all ports installed on a machine.
> # It will place the packages in /usr/ports/packages/All
>
> db_pkg_dir=/var/db/pkg
>
> pkg_dir=/usr/ports/packages/All
> mkdir -p $pkg_dir
>
> cd $db_pkg_dir
> for dname in *
> do
>
> if [ "$dname" != "pkgdb.db" ]
> then
>
> pkg_create -v -b $dname $pkg_dir/$dname.tbz
>
> fi
>
> done
> ===============
>
>
> Thanks for your help.
Look at man portsclean.
Beech
--
---------------------------------------------------------------------------------------
Beech Rintoul - Sys. Administrator - beech at alaskaparadise.com
/"\ ASCII Ribbon Campaign | Alaska Paradise
\ / - NO HTML/RTF in e-mail | 201 East 9Th Avenue Ste.310
X - NO Word docs in e-mail | Anchorage, AK 99501
/ \ - Please visit Alaska Paradise - http://www.alaskaparadise.com
---------------------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20060520/e9e949ec/attachment.pgp
More information about the freebsd-questions
mailing list