cvs commit: ports/devel/linux-kmod-compat Makefile distinfo pkg-descr pkg-plist

Alexander Leidinger Alexander at Leidinger.net
Sat Feb 3 13:39:49 UTC 2007


Quoting Luigi Rizzo <rizzo at icir.org> (Fri, 2 Feb 2007 11:35:27 -0800):

> On Fri, Feb 02, 2007 at 07:37:55PM +0100, Pav Lucistnik wrote:
> > Luigi Rizzo píse v pá 02. 02. 2007 v 10:32 -0800:
> > > On Fri, Feb 02, 2007 at 07:19:05PM +0100, Pav Lucistnik wrote:
> ...
> > > > You can't do this. Now, the packages will contain nothing (read: be
> > > > useless).
> > > 
> > > at least for the time being it makes no sense to have a
> > > package built for this port, for a variety of reasons
> > > (code stability, licensing, etc). So i have put in pkg-descr
> > > only enough info to cleanup on deinstall.
> > > I am not sure it will _ever_ make sense to have this as a package,
> > > when the code becomes stable enough it should should probably
> > > become part of the kernel.
> > > 
> > > did i misunderstand something ?
> > 
> > Yes.
> > 
> > First, you break the Good Practices of port making.
> > 
> > Second, you deny your users a part of the general functionality of the
> > ports collection - ie. packages. Users will be unable to install binary
> 
> As i wrote, the developer of the code being ported (which happens
> to be me) has stated a few reasons why at this time he does not 
> want a package made of this port. This is entirely his right, and
> we have the NO_PACKAGE keyword exactly for this reasons.

What's the difference between installing it as a package instead of as
a port? From a high level point of view I don't see a difference. So
why do you allow to install as a port but not as a package?

> > package from the network, users will be unable to build a package on
> > their machines and mass-install it on their other computers. You have no
> > rollback on upgrade, if it should fail.
> > 
> > Plus, you're setting a false impression that other people can get away
> > with this in their ports.
> > 
> > Now there are methods to have the pkg-plist autogenerated. How hard it
> > would be?
> 
> As for auto-building the pkg-plist, it is not totally automated,
> at least judging from Sec. 7.5 of the handbook, and now i really
> don't have more time to spend on this exercise.  When the code being
> ported will be in a more stable state, as i said in the commit
> message, i will reconsider this option, but generating the pkg-plist
> from the port's Makefile, because this is the only thing that
> makes sense in this specific port (because just checking that
> no files are overwritten by others does not help - if someone stuffs
> in extra headers in the directory i installed, it may screw up
> what the compiler picks up on an #include)

Do I understand it right?
 - if there is other stuff than what you provide it may break
 - you don't want it to break
 - for this reason you want a automatic plist

If I did understand it right, an automatic plist is completely wrong.
You want a static plist in this case because the build cluster will
complain about additional stuff. Generating an initial static plist is
not hard (change the PREFIX to an empty place and run a "find /place
-type f -print | sort", after that it's only adding @dirrm for your own
directories), some new files after that can be done by hand (I assume
there will be not very much more files).

What you prevent by not providing a plist is:
 - easy deinstall with documented interfaces
 - regression testing on the ports build cluster
 - easy updates (with e.g. portupgrade there will be leftover files,
   now think what may happens if you remove a file in an update and
   the user just uses portupgrade...)

What you generate by not providing a plist:
 - a lot of mails from ports committers (you already noticed this)
   to you
 - a lot of mails from the ports build cluster (one for each run)
   to you
 - a lot of work for portmgr (they read the build failures and
   forward the mails to committers by hand to sort out false
   positives)
 - a lot of mails from users telling you about a bug because
   pkg_delete/pkg_deinstall don't remove the files

So in my eyes your life will be more easy with a plist.

Bye,
Alexander.

-- 
Nice tcsh prompt: set prompt = '[%B%m%b] %B%~%b%# '
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the cvs-ports mailing list