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