[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Working on debian developer's reference and "best packaging practices"



On Fri, May 10, 2002 at 11:25:33AM +1000, Anthony Towns wrote:
> > For
> > example, when talking about shared and static libraries, there may be
> > exceptional cases where both the shared library and the development
> > parts (headers and static library) live in the same package.  Then one
> > would say something like "Source packages providing shared libraries
> > SHOULD produce a binary package containing the shared library and
> > another binary package containing the development files (headers and
> > statically compiled library).  The shared library MUST be compiled
> > with the -fPIC option and the static library MUST NOT be compiled with
> > this option.  ..."  (Please don't correct me on details here -- I
> > haven't checked them up and that's not the point.)
> 
> Which is to say that if I demonstrate that your "MUST" or "MUST NOT"
> could happen to have exceptions, that you're not going to listen, and
> thus I've got no way of usefully demonstrating my point, which is that
> almost every "MUST" you might choose will have some sort of exception,
> and thus should be a SHOULD.
> 
> In the above, for example, the xlibs-pic package provides static libraries
> that are compiled with -fPIC, making your MUST NOT inappropriate.

So, assuming that this is correct behaviour, we have to use a SHOULD
NOT at this point, not a MUST NOT.  Why would we argue with that?

> > So here, the "SHOULD" means that it must behave in this way unless
> > there are exceptional circumstances, and the "MUST" means that there
> > are no exceptions.  I may be wrong in the details of this specific
> > case, but this is the way I am thinking.
> 
> I completely understand the distinction you're trying to make, I just
> think you'll find that there aren't many situations where "MUST" is
> appropriate, and that there aren't any where it's particularly useful.

As crude examples:

"A package name MUST consist of [list permissible characters] and
contain at least one letter.  A package name MUST have at least two
characters in it."

"Filenames MUST be unique within a distribution, unless they are
handled using either Conflicts or dpkg-divert."  (And there may well
be other ways out, but I can't think of them offhand.  You get the
idea.)

"debian/rules MUST contain the following targets: ....  debian/rules
MAY contain the following additional targets with meanings specified
below: ....  debian/rules MAY contain other targets in addition to
these."

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

      Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London
              website: http://www.maths.qmul.ac.uk/~jdg/
   Debian GNU/Linux Developer, see: http://people.debian.org/~jdg/
     Visit http://www.thehungersite.com/ to help feed the hungry


-- 
To UNSUBSCRIBE, email to debian-policy-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: