Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Nov 2001 19:46:29 +0100 (CET)
From:      Simon J Mudd <sjmudd@pobox.com>
To:        <questions@freebsd.org>
Subject:   Re: Packaging with ports (was: gv port builds but fails - needing libpng.so.4)
Message-ID:  <Pine.LNX.4.33.0111261925480.1524-100000@phoenix.ea4els.ampr.org>
In-Reply-To: <15362.24392.352816.293375@guru.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 26 Nov 2001, Mike Meyer wrote:

> > I'm still surprised that I'm allowed to install kdelibs-2.2_3 
> > over kdelibs-2.1.1.  That IMHO shouldn't be allowed.
> 
> I've already addressed why it's allowed, and should continue to be
> allowed.

If there are no conflicts it makes sense (using a different PREFIX for 
example).  If there are conflicts it doesn't make sense.

What I was getting at here is that it's easy to shoot yourself in the toe 
and _sometimes_ it's IMO too easy.

In the end I don't think we are arguing about content, more about end-user 
(system administrator in this case) presentation of the packaging system.

> > Those files with different paths aren't affected.
> > Those files with the same names which differ will effectively wipe out the 
> > older version.  this conflict effectively makes the stored package 
> > information wrong and misleading.
> 
> Yup. That's just one reason for deleting the old version of a package
> before installing a new one.

perhaps portupgrade should be a basic part of the port system. that way it 
would be more consistent if I could do a "make upgrade"

[snip]
> You aren't supposed to install two packages that use the same
> file. That usually indicates an error on the users part.
> 
> A check could probably be added to pkg_add for that. Doing it for
> ports is more interesting.

But these days an installed port is registered as if it were a package.  
So is there any difference from a users point of view between the two?

> > > If that's the case, you're getting into trouble with ports for the
> > > same reason I hate rpm - you're not really using the tools properly.
> > I'm not sure what you hate about rpm.  Perhaps you could enlighten me?
> 
> Basically, it just didn't work worth diddly. There's no option - at
> least on the version I have - to make it automatically install rpm's
> that are required but aren't on the system.

Yes, I agree this is one of the things about ports that I really like.  
While /usr/ports when "clean" is not tiny it is very useful, and not 
having to search here or there for required packages is definitely a 
god-send.  I heartedly agree.  Obviously all the information about all 
ports is also at hand which for contributed rpms isn't the case either.

> I'd also rather install from sources, so I can tweak things - in
> particular, setting the prefix.

Some rpms are now relocatable, so in that sense you can do what you want.
Installing and building from source is obviously more in the FreeBSD way, 
and while it can be done from the .src.rpms you still have to find the 
appropriate src.rpm and that goes back to your previous point of finding 
the rpm.

> > I think that perhaps "make install" in ports is rather dangerous.  
> > there appears to be no checks that the installed software will 
> > overwrite existing packages or software.  Perhaps this could be 
> > improved, or am I missing some command to avoid this problem?
> 
> Nope, you're not missing a command. The problem is that "make install"
> normally just hands things off to the installation procedure for the
> program that was ported. It might be possible to add a
> "checkoverwrites" target that uses the plist, but I'm not sure. Some
> ports build the plist on the fly.

This obviously complicates the installation process, one of the current 
pains with rpm.  However with rpm (and the ports could do the same thing) 
you install into an install root to generate the binaries.   With the 
ports you'd need to do this before recopying the files to their final 
locations.  I can see people seeing this "double copy" process as being 
unnecessary, but it does allow you to generate your plist dynamically.
An alternative would simply to see if you would install over a file _while 
installing_ and be able to stop/warn the user if that happens.  In rpm 
this is automatic.  This isn't contemplated for the reasons you state with 
the ports.

[snip]
> Since it's not in -current, that's not the right list to listen
> to. You want the libh list. You might also want to check out the
> OpenPorts (I think that's the name) project, which is a port/package
> system which isn't tied to a specific OS distribution.

Ok. Thanks for the pointers.  rpm isn't tied to a specific distribution 
either, but it's fair to say that some of the critisms you mention are 
points where it is weak.  I'll have to see how openports works.

Thanks for your time.  I'm surprised not to see many comments about this 
topic on -questions or perhaps most people here manage to keep their 
system a little more "stable" than mine.

Regards,

Simon
-- 
Simon J Mudd,   Tel: +34-91-408 4878,  Mobile: +34-605-085 219
Madrid, Spain.  email: sjmudd@pobox.com,  Postfix RPM Packager


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0111261925480.1524-100000>