Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Apr 2001 21:05:17 -0700
From:      David Bushong <david@bushong.net>
To:        Sean Chittenden <sean@chittenden.org>
Cc:        Calvin NG <calvinng@brel.com>, Sean Chittenden <sean-freebsd-stable@chittenden.org>, Jeff Kletsky <Jeff+freebsd@wagsky.com>, freebsd-stable@FreeBSD.ORG, bmah@FreeBSD.ORG
Subject:   Re: FWIW: pkg_alert development (was: Re: pkg/port dependency tool (enclosed))
Message-ID:  <20010424210517.L12643@bushong.net>
In-Reply-To: <20010424014833.B19530@rand.tgd.net>; from sean@chittenden.org on Tue, Apr 24, 2001 at 01:48:33AM -0700
References:  <Pine.BSF.4.21.0104230806060.27435-100000@wildside.wagsky.com> <20010423231827.A19530@rand.tgd.net> <20010424142340.E5216@brel.com> <20010424014833.B19530@rand.tgd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
I noted this a bit earlier, but if someone's looking for a tool with this sort
of functionality, I'm casually maintaining one called "pkg_upgrade":

% pkg_upgrade -al
>>>>> Reading in /usr/ports/INDEX
>>>>> Reading current ldconfig mapping
>>>>> Finding out-of-date packages
>>> curl contains a library; checking upgrade safety
>>> lcms contains a library; checking upgrade safety
>>> libiconv contains a library; checking upgrade safety
>>> imlib contains a library; checking upgrade safety
>>> rpm contains a library; checking upgrade safety
>>> libxml2 contains a library; checking upgrade safety
>>> netpbm contains a library; checking upgrade safety
>>> ImageMagick contains a library; checking upgrade safety
>>> mysql-client contains a library; checking upgrade safety
>>> freetype2 contains a library; checking upgrade safety
>>> png contains a library; checking upgrade safety
>>>>> Sorting dependencies
>>>>> Summary
racoon: delete: racoon-20010222a and build port: racoon-20010322a
p5-Storable: delete: p5-Storable-1.0.10 and install pkg: p5-Storable-1.0.11.tgz
rsync: delete: rsync-2.4.6 and build port: rsync-2.4.6_2
png: delete: png-1.0.9_1 and install pkg: png-1.0.10.tgz
lcms: delete: lcms-1.06 and build port: lcms-1.07
epic4: delete: epic4-0.9.16 and build port: epic4-1.0.1
nmap: delete: nmap-2.53 and install pkg: nmap-2.54.b22.tgz
gnut: delete: gnut-0.4.20 and build port: gnut-0.4.21
p5-HTML-Parser: delete: p5-HTML-Parser-3.18 and build port: p5-HTML-Parser-3.22
p5-Digest-MD5: delete: p5-Digest-MD5-2.12 and build port: p5-Digest-MD5-2.13
p5-MD5: delete: p5-MD5-1.7 and install pkg: p5-MD5-2.02.tgz
analog: delete: analog-4.16 and build port: analog-4.16_1
p5-libwww: delete: p5-libwww-5.50 and build port: p5-libwww-5.53
p5-DBI: delete: p5-DBI-1.14 and install pkg: p5-DBI-1.15.tgz
mysql-client: delete: mysql-client-3.23.33 and build port: mysql-client-3.23.37
libiconv: delete: libiconv-1.5.1 and install pkg: libiconv-1.6.1.tgz
elm: delete: elm-2.5.3 and build port: elm-2.5.5
libxml2: delete: libxml2-2.3.5 and build port: libxml2-2.3.7
freetype2: delete: freetype2-2.0.1 and build port: freetype2-2.0.2
curl: delete: curl-7.6.1 and install pkg: curl-7.7.1.tgz
mtools: delete: mtools-3.9.7_3 and build port: mtools-3.9.7_4
rpm: delete: rpm-3.0.6_4 and install pkg: rpm-3.0.6_5.tgz
fetchmail: delete: fetchmail-5.7.2 and build port: fetchmail-5.8.1
netpbm: delete: netpbm-9.11 and build port: netpbm-9.12
imlib: delete: imlib-1.9.8.1 and install pkg: imlib-1.9.9.tgz
p5-Gtk: delete: p5-Gtk-0.7004 and install pkg: p5-Gtk-0.7005.tgz
p5-GD: delete: p5-GD-1.32_1 and install pkg: p5-GD-1.32_2.tgz
proftpd: delete: proftpd-1.2.1 and build port: proftpd-1.2.2rc1
ImageMagick: delete: ImageMagick-5.2.9_1 and build port: ImageMagick-5.3.1
p5-HTML-Mason: delete: p5-HTML-Mason-1.0 and build port: p5-HTML-Mason-1.02
mysql-server: delete: mysql-server-3.23.33 and build port: mysql-server-3.23.37

(without the -l it would have actually performed those upgrades)  It actually
sorts the dependencies, and tries to avoid breaking things by removing 
libraries out from under them, and all that tasty stuff.  It's faaaar from 
perfect, but a few orders of magnitude better than the output of 
pkg_version -l '<' -c

Snag a copy from: http://www.euphorion.com/people/dbushong/pkg_upgrade

--David Bushong

On Tue, Apr 24, 2001 at 01:48:33AM -0700, Sean Chittenden wrote:
> 	Man I'm glad I only sunk in a few minutes worth of work.
> Thanks!  I was looking for something with the word ports in it, but it
> didn't dawn on me to look for something with pkg.  At anyrate, thanks
> again.  -sc
> 
> 
> On Tue, Apr 24, 2001 at 02:23:40PM +0800, Calvin NG wrote:
> > Delivered-To: sean-freebsd-stable@chittenden.org
> > Date: Tue, 24 Apr 2001 14:23:40 +0800
> > From: Calvin NG <calvinng@brel.com>
> > To: Sean Chittenden <sean-freebsd-stable@chittenden.org>
> > Cc: Jeff Kletsky <Jeff+freebsd@wagsky.com>,
> > 	freebsd-stable@FreeBSD.ORG, bmah@FreeBSD.ORG
> > Subject: Re: FWIW: pkg_alert development (was: Re: pkg/port dependency tool (enclosed))
> > User-Agent: Mutt/1.2.5i
> > In-Reply-To: <20010423231827.A19530@rand.tgd.net>; from sean-freebsd-stable@chittenden.org on Mon, Apr 23, 2001 at 11:18:27PM -0700
> > 
> > Greetings,
> > 
> >   Doesn't  pkg_version -v -L=  does a similar job???
> >   And its already in the system.
> > 
> >   I think something that works out the dependencies, such 
> >   as when say png needs updating, what happens to say gd, webalizer,gtk,...etc
> > 
> > Regards,
> > /calvin
> > 
> > lines with :> are quotes from Sean Chittenden's email
> > :> 	Woa!  This has been quite the day for ports-esque development!
> > :> Right now I'm working on a related, but different script, pkg_alert,
> > :> that's intended to run immediately after a cvsup of the ports tree
> > :> (idealy in /etc/weekly.local) that'll run through the list of
> > :> currently installed packages and figure out what ports can be upgraded
> > :> to a newer version.  Here's a snippet of the output on my box:
> > :> 
> > :> imake-4.0.1 can be updated to imake-4.0.3 (imake)
> > :> xemacs-comm-packages-2.3 can be updated to xemacs-comm-packages-2.4 (xemacs-comm-packages)
> > :> xemacs-libs-packages-1.3 can be updated to xemacs-libs-packages-2.3 (xemacs-libs-packages)
> > :> xemacs-oa-packages-1.3 can be updated to xemacs-oa-packages-1.4 (xemacs-oa-packages)
> > :> xemacs-prog-packages-2.4 can be updated to xemacs-prog-packages-2.5 (xemacs-prog-packages)
> > :> xemacs-packages-1.8 can be updated to xemacs-packages-1.9 (xemacs-packages)
> > :> bash-2.04 can be updated to bash-2.05 (bash)
> > :> freetype2-2.0.1 can be updated to freetype2-2.0.2 (freetype2)
> > :> mysql-server-3.23.35 can be updated to mysql-server-3.23.37 (${MASTERPORTNAME})
> > :> 
> > :> 
> > :> 	There are a few things that I'm still wrestling with/working
> > :> on, most notably:
> > :> 
> > :> * How do I handle installed packages that don't have an '@comment
> > :>   ORIGIN:' tag?  Is there a legacy way of figuring out what directory
> > :>   (in ports) a pkg belongs in?
> > :> 
> > :> * How do I handle ports that don't have the PORTNAME and PORTVERSION
> > :>   variable?  Right now I'm just spitting out warning messages that
> > :>   hopefully will inspire me to send patches to the maintainers of ports
> > :> 
> > :> * Handling of version numbers that have letters in them: 7.7.6k and 7.7.6kk
> > :> 
> > :> * shell/Makefile variables  Traversal of shell/Makefile variables (see above's mysql-server example)
> > :> 
> > :> 	Anyway, this is an FYI,FWIW.  If someone wants to help/has
> > :> suggestions I can open up cvs access and a cvsupd server.
> > :> 
> > :> 	CVSweb is up and available at:
> > :> 
> > :> http://sean.chittenden.org/cgi-bin/cvsweb.cgi/utils/sbin/pkg_alert
> > :> 
> > :> 	-sc
> > :> 
> > :> 	
> > :> 
> > :> On Mon, Apr 23, 2001 at 08:35:16AM -0700, Jeff Kletsky wrote:
> > :> > I would be happy to contribute to the enhancement of the pkg/port tools
> > :> > in a more targeted way if the appropriate lead would let me know.
> > :> > 
> > :> > Jeff
> > :> > 
> > :> > P.S. This type of dependency checking might also allow the "make
> > :> > clean" process a bit smarter and faster (the other option there would be
> > :> > to specify a flag that says not to follow dependencies on a recursive
> > :> > "clean", especially in /usr/ports)
> > :> 
> > :> -- 
> > :> Sean Chittenden
> > 
> 
> -- 
> Sean Chittenden



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010424210517.L12643>