Date: Thu, 15 Jan 2004 09:13:37 -0600 From: Stephen Hilton <nospam@hiltonbsd.com> To: tillman@seekingfire.com Cc: freebsd-stable@freebsd.org Subject: Re: ANy difference between 5.X ports tree and 4.X ports tree ? Message-ID: <20040115091337.32191ced.nospam@hiltonbsd.com> In-Reply-To: <20040115081255.428a385f.nospam@hiltonbsd.com> References: <E1AgoC5-000Jwa-O6@dilbert.firstcallgroup.co.uk> <20040114172740.GA24901@memnoch.jk.homeunix.net> <xzpisjdmwld.fsf@dwp.des.no> <20040115091632.GA74072@ruminary.org> <20040115131844.GL415@seekingfire.com> <20040115081255.428a385f.nospam@hiltonbsd.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 15 Jan 2004 08:12:55 -0600 Stephen Hilton <nospam@hiltonbsd.com> wrote: > On Thu, 15 Jan 2004 07:18:44 -0600 > Tillman Hodgson <tillman@seekingfire.com> wrote: > > > On Thu, Jan 15, 2004 at 01:16:32AM -0800, clark shishido wrote: > > > On Thu, Jan 15, 2004 at 09:42:38AM +0100, Dag-Erling Sm?rgrav wrote: > > > > John Kennedy <jk@jk.homeunix.net> writes: > > > >> There are *lots* of differences between 4.x, 5.x and current given some > > > > > > > > there is no "more or less". there is only one ports tree, and a > > > > freshly updated ports tree on a 4.9 box is exactly the same as a > > > > freshly updated ports tree on a 5.2 box. > > > > > > the actual CVS tree yes, but from a user perspective where some > > > packages may build on 4-STABLE and not on 5-CURRENT there are > > > differences, that's why separate INDEX and INDEX-5 ports listings > > > exist where some ports will build under 4-STABLE but not 5-CURRENT. > > > > > > One behavioral difference which I like is "make package" where > > > *.tgz packages are 4-STABLE and *.tbz packages are 5-CURRENT. > > > > It's because of that that I NFS export two copies of the ports tree, one > > for 4.X and one for 5.X. Otherwise the INDEXes were clobbering each > > other and /usr/ports/packages was ... interesting. I also have both i386 > > and sparc64 machines, which is yet another twist on packages. > > > > I'd love to reclaim the disk the disk space by running only a single > > ports tree. I'd also love to have the build server (which is -STABLE) > > perform the all the INDEX making. Is there a clean way to do this? > > > > I am also interested in a solution for this. I use portupgrade and can > "make index" from 4.9 and get the INDEX file, then "make index" from a > 5.2 box and get INDEX-5, but the "portsdb -u" step seems to make a > common INDEX.db from 5.2 INDEX-5 or from the 4.9 INDEX file. > > In the man page for portsdb there is an environment option for > "PORTS_DBDIR". If I set my environment options in the pkgtools.conf file > for the 4.9 and 5.2 boxes to place the INDEX.db in /var/db/pkg and > rm the INDEX.db from the /usr/ports directory then each machine should > have its "version appropriate" INDEX.db file in its /var/db/pkg dir. > > Snipped from my /usr/local/etc/pkgtools.conf files: > > FreeBSD 5.2 > ------------------------------------------ > ENV['PORTSDIR'] ||= '/usr/ports' > ENV['PORTS_INDEX'] ||= ENV['PORTSDIR'] + '/INDEX-5' > ENV['PKG_DBDIR'] ||= '/var/db/pkg' > ENV['PKG_TMPDIR'] ||= '/var/tmp' > ENV['PORTS_DBDIR'] ||= ENV['PKG_DBDIR'] > ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages' > ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All' > ------------------------------------------ > > FreeBSD 4.9 > ------------------------------------------ > ENV['PORTSDIR'] ||= '/usr/ports' > ENV['PORTS_INDEX'] ||= ENV['PORTSDIR'] + '/INDEX' > ENV['PKG_DBDIR'] ||= '/var/db/pkg' > ENV['PKG_TMPDIR'] ||= '/var/tmp' > ENV['PORTS_DBDIR'] ||= ENV['PKG_DBDIR'] > ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages' > ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All' > ------------------------------------------ > > This seems to work for me, but would like some feedback as to whether > this is the correct way to accomplish this. > After reading my post I see that the issue of package building for 5.2 and 4.9 was not addressed. FreeBSD 5.2 ------------------------------------------ ENV['PORTSDIR'] ||= '/usr/ports' ENV['PORTS_INDEX'] ||= ENV['PORTSDIR'] + '/INDEX-5' ENV['PKG_DBDIR'] ||= '/var/db/pkg' ENV['PKG_TMPDIR'] ||= '/var/tmp' ENV['PORTS_DBDIR'] ||= ENV['PKG_DBDIR'] ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages5.2' ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All' ------------------------------------------ FreeBSD 4.9 ------------------------------------------ ENV['PORTSDIR'] ||= '/usr/ports' ENV['PORTS_INDEX'] ||= ENV['PORTSDIR'] + '/INDEX' ENV['PKG_DBDIR'] ||= '/var/db/pkg' ENV['PKG_TMPDIR'] ||= '/var/tmp' ENV['PORTS_DBDIR'] ||= ENV['PKG_DBDIR'] ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages4.9' ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All' ------------------------------------------ Then mkdir /usr/ports/packages5.2 and mkdir /usr/ports/packages4.9 This also seems to work fine for me, but would like some feedback as to whether this is the correct way to accomplish this. My /usr/ports dir is an NFS mount (rw) so either machine can add distfiles and the ports work directorys are set to /var/portswrk by this environment variable set in my /etc/make.conf: ------------------------------------------ # Ports can place their working directories somewhere other than under # /usr/ports. WRKDIRPREFIX= /var/portswrk ------------------------------------------ Things to keep in mind, /var in my examples has _lots_ of free space, running "portsclean -DD" is probably not a good idea if the 4.9 box and the 5.2 box have different installed ports, due to distfile deletions. Regards, Stephen Hilton nospam@hiltonbsd.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040115091337.32191ced.nospam>