Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 May 2001 19:25:37 +0200
From:      "Karsten W. Rohrbach" <karsten@rohrbach.de>
To:        Neil Blakey-Milner <nbm@mithrandr.moria.org>
Cc:        ports@FreeBSD.ORG
Subject:   Re: FreeBSD Port: samba-2.2.0_1
Message-ID:  <20010514192537.C53801@mail.webmonster.de>
In-Reply-To: <20010513191832.A86950@rapier.smartspace.co.za>; from nbm@mithrandr.moria.org on Sun, May 13, 2001 at 07:18:32PM %2B0200
References:  <200105110520.IAA31408@ipcard.iptcom.net> <XFMail.010512154807.jdp@polstra.com> <20010512182216.A90400@FreeBSD.org> <20010513191303.B18437@mail.webmonster.de> <20010513191832.A86950@rapier.smartspace.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
Neil Blakey-Milner(nbm@mithrandr.moria.org)@2001.05.13 19:18:32 +0000:
> On Sun 2001-05-13 (19:13), Karsten W. Rohrbach wrote:
> > with that specifice setup we could also remove heuristics for
> > recognition of a package version from /var/db/pkg by creating
> > /var/db/pkg/repo/<name>-<version> and symlinking that from
> > /var/db/pkg/<name>.
> > 
> > this, as a direct consequence, would enable us to implement an upgrade
> > tarket to the ports make system which would deinstall the old version
> > and install the new version without guessing the names and versions like
> > it is currently done.
> 
> As I've mentioned to you before, there is no difference between
> "foo/1.3" and "foo-1.3".  It won't make upgrading or whatever any easier
> to change it to your scheme.  It might look nicer to some or something,
> but it won't make a difference technically.
okay, my english seems to suck pretty bad ass, since i am not a native
speaker. what i was talking about in the _old_ mail was simply putting
the version STRING into a version FILE. so you got foo/VERSION where
foo/VERSION contains "1.3". i thought this would be pretty obvious.
btw, it is not "my" scheme but "yours" if you adapt it ;-) it is an idea
to get rid of the hassle with a lot of dependencies in the meta-ports
like gnome/kde/whatever where you have to upgrade a shitload of shred
libs and so on... it _would_ change the semantics of the ports .mk stuff
and pkg_* dramatically and i do not want to appear to stupidly insist on
implementing it this way but meta-ports cost a lot of time when you
upgrade to the next version.

my idea after reading about other problems with not being able to move
versions around in the cvs tree and so on was to symlink the different
version in the repository (which after thinking twice about it might
suck because it would mess up concurrent updates and so on) and from
that specific point of view i thought about doing the same for the
/var/db/pkg stuff which would actually make sense.

look:
you got a package 'bar' installed on the system. bar's version is 1.2.
now bar 2.0 comes out and you want to upgrade.
what you do is 'ls /var/db/pkg|grep bar' or 'pkg_info bar\*' or you
even have a nifty zsh setup with 
	compctl -g '/var/db/pkg/*(/:t)' pkg_delete pkg_info
in your .zshenv which expands the packagename on tab ;-)
you 'pkg_delete bar-1.2'
you 'cd /usr/ports/category/bar && make install clean'
you got /var/db/pkg/bar-2.0

if you would have a repository style setup in var/db/pkg it would look
like this:
in the stone ages you installed bar 1.2 which leads to the package
information in /var/db/pkg/.repo/bar-1.2 and a symlink from
/var/db/pkg/bar to /var/db/pkg/.repo/bar-1.2
now you can simply implement a make rule which pkg_deletes from the info
found from the symlink to the version-tagged pkg info in the repository.

so package upgrading looks like this:
cd /usr/ports/category/bar && make upgrade clean
voila, c'est ca.

putting a single symlink onto the newest version makes sense in most
cases because it is unlikely to upgrade an old or deprecated library
version.

the basis for me thinking about alternative structures in the
ports/package system are also obvious: upgrade gnome by using ports and
tell me how long it took you to have it up and running with all the
dependencies, etc.

i do not start to think aloud in public about configuration metadata
projection to new versions with different config file syntax because i
can clearly see that you would come over to germany and kill me for that
one then ;-)
IMVHO this is also a point which would make upgrading from more complex
packages easier, having a tool like mergemaster for upgrading the
configuration data of the upgraded subsystem.

/k

-- 
> Hugh Hefner is a virgin.
KR433/KR11-RIPE -- http://www.webmonster.de -- ftp://ftp.webmonster.de
[Key] [KeyID---] [Created-] [Fingerprint-------------------------------------]
GnuPG 0x2964BF46 2001-03-15 42F9 9FFF 50D4 2F38 DBEE  DF22 3340 4F4E 2964 BF46

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




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