Deep Freeze coming for Fedora 7 (and cvs branching coming too)

Toshio Kuratomi a.badger at gmail.com
Thu May 17 00:35:11 UTC 2007


On Wed, 2007-05-16 at 22:04 +0200, Patrice Dumas wrote:
> On Tue, May 15, 2007 at 04:43:13PM -0700, Toshio Kuratomi wrote:
> > 
> > Unless a guideline is marked as a "should" it is mandatory.  If you
> > disagree with something the guidelines say is a must, the proper thing
> > to do is to get the guideline changed.[1]_
> 
> For the static libraries, I voiced my concerns on fedora-packaging, Ralf
> responded without answering my arguments, I reresponded and nothing
> happened after that. Although there had been a big thread were my point
> appeared clearly, and more recently in another thread about static libs
> naming. Now I am tired to relaunch the subject just to have nobody 
> answering anything relevant, so I bypass the guidelines.
> 
The static-libs naming was resolved on list with no guidelines changes
needing to be made.

The static library thread basically came to the same place that we are
at here.  You have to follow the Guidelines.  The reasons that the
guidelines are written as they are is in Ralf's email and in this
current exchange.  By following the Guidelines you can help get them to
change.

Bypassing the guidelines as you are doing is just going to lead us to
Packaging Armageddon with each rule being violated by those that
disagree with it.  This has to stop.

> > For changelogs, the guidelines say: "Every time you make changes, that
> > is, whenever you increment the E-V-R of a package, add a changelog
> > entry."
> > This means you must write a changelog entry.  The reasons are given in
> > the guidelines [2]_.
> 
> Sometimes it is silly to add a changelog entry in that case I don't add
> a changelog entry, period. (You can have a look at my cvs commit entries
> for example see recent commit for the cernlib if you like ti understand
> why).
>  
Express an example of silliness and present a draft with the example as
something that should be allowed.  However, the attitude that there are
some changes that are too silly to be recorded in the changelog is
exactly why the people that voted for the changelog guideline voted for
it.  You are violating the spirit of the guideline as well as the letter
by not putting a changelog entry in and I think your draft, example, and
arguments will have to be very persuasive in order to make a change to
this guideline.

> > For static libraries, the guidelines recognize that there may be
> > instances where static libraries are desirable.  If you want to either
> > provide static libraries in a subpackage or to link against static
> > libraries you must ask FESCo for permission.  This check was written for
> > several reasons:
> > 
> > 1) static libraries are a security hazard and there is a strong desire
> > to keep the libraries from being linked into packages provided by
> > Fedora.  This check helps FESCo and the packaging committee enforce
> > this.
> 
> Moot for numerical libraries.
> 
> > 2) The Packaging Committee realized that there are packages that need to
> > contravene this policy but not how many.  If there are hundreds of
> > libraries in Fedora requesting to ship static libraries then the
> > guideline must be revised to accommodate them.  If it's only a dozen
> > then having exceptions for those packages is sufficient.
> 
> I always said that I agreed to report to FESCo that I ship a static lib,
> but that it was silly to ask FESCo when I know better, and I won't do it.
> 
Then you are not in compliance with the guidelines.  The Packaging
Committee itself has no teeth to enforce them.  FESCo will have to
decide if it wants to enforce the guidelines, delegate that power, or
let the guidelines be informational rather than binding.

> > 3) The Packaging Committee realized that this draft could be made better
> > if we could draft a statement that covered the valid cases without
> > letting packages without sufficient reasons in.  However we didn't have
> > a large enough sample of valid packages to be able to write that yet.
> > By having this reported we would be able to gather information on what
> > rule could be made to fit this.
> 
> There is at least the cernlib, the gsl, lapack, blas, and certainly
> netcdf, hdf.
> 
> Some packages have static libs because upstream doesn't provide a shared
> lib, like (packages I know because I maintain them) libnet10, libnet.
> It is quite unfortunate in that case but I have argued a lot of time why
> I think it is better not to introduce shared libs in fedora at that
> point.
> 
> > Deciding "not to bother FESCo" with this is not saving us time; it is
> > making it so someone down the line has to spend time finding which
> > packages are linking against static libraries without an exemption and
> > figure out what the proper fix is.
> 
> That's wrong. No package will ever link against static libs when there
> are shared libs. And I agree that static packages in -static packages 
> is right in most cases (I think that for the cernlib it is not right 
> so I made an exception for that lib, but this is a very specific case)
> so this is doubly wrong.
> 
Not true.  A Makefile can do whatever it wants.  A spec file is also
just a shell script when it comes down to it.

> > '''
> > The Packaging Guidelines are a collection of common issues and the
> > severity that should be placed on them. While these guidelines should
> > not be ignored, they should also not be blindly followed. If you think
> > that your package should be exempt from part of the Guidelines, please
> > bring the issue to the Fedora Packaging Committee.
> > '''
> 
> I did it without success.
No.  You did it without succeeding in getting the guidelines changed.
You have a minority opinion.  So you have to do some legwork to get the
majority to come over to your viewpoint.  The most effective way to do
that in this case is not to write arguments to the mailing list.  The
most effective way is to follow the guidelines and thereby amass a body
of packaging that supports your statements and shows what changes need
to be written into the guidelines.

You claim that the guidelines should be changed to allow numerical
libraries to ship static libs but I can honestly say that FESCo has not
been asked to allow one numerical library to ship a static library since
the guideline went into effect.  By bypassing the guidelines you're
making it so we are unaware of the problems with the guidelines and
denying us the data to change the guidelines to be better.

We've left a door wide open for you to effect a change.  Write a letter
that says "These are numerical libraries, ie, ones that [Distinguishing
features that make them relevant to this discussion].  As such they
should be allowed to (ship|link) a static library."  Take your list of
libraries from above and add them to the form letter.  Send it to FESCo
as a reply to "Plan for tomorrows (20070517) FESCO meeting" as an agenda
item like "Packages needing static libraries".  Then FESCo or the
Packaging Committee can evaluate the magnitude of the problem and
attempt to reword the guideline to accommodate them.

Once that's done, write another letter that says "These libraries have
no shared libraries upstream.  Thus they need to ship static libraries."
and repeat.

There are several things that can result from this:

1) Your reasons for thinking these libraries are special won't be seen
by FESCo so they'll be denied.  (Be sure to make your arguments
persuasive and descriptive and if possible show up for the meeting where
this is discussed :-)

2) FESCo will simply allow the libraries through without a fuss.  You're
neither better off nor worse off than before.

3) FESCo will not want to deal with this everytime a numerical library
is reviewed.  Seeing that you've extracted the important bits that
define a numerical library and why it is in need of static libraries,
they'll forward it on to the packaging committee to revise the
guidelines so they don't have to deal with approving libraries of these
types anymore.

Nobody likes to do more work than they have to.  Assuming your
description of what makes the libraries in question deserving of
shipping in static form is sufficient to show why and how the rules can
be amended to allow the kind of libraries you are requesting through, I
can't imagine that FESCo won't send the definition of numerical library
on to the Packaging Committee.  It is, after all, why the rules were
drafted the way they are.

-Toshio
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-maintainers/attachments/20070516/beb24dad/attachment.sig>


More information about the Fedora-maintainers mailing list