standard dependancy system
Kai-Uwe Behrmann
ku.b at gmx.de
Sun Nov 25 03:44:37 PST 2007
> Date: Sat, 24 Nov 2007 11:27:39 -0800
> From: "Bastian, Waldo" <waldo.bastian at intel.com>
> To: "Stanislav Brabec" <sbrabec at suse.cz>, "Patryk Zawadzki"
> <patrys at pld-linux.org>
> Cc: xdg at lists.freedesktop.org, Thomas Leonard <talex5 at gmail.com>
> Message-ID:
> <1B47D24854C7BC4FA8DA28BEBB59B0BA02A19F57 at orsmsx419.amr.corp.intel.com>
> > I do it as well (sometimes). But I doubt that anybody from distro
> > maintainers read each line of config.log for each update of each
> package
> > to verify, that all features were included.
>
> Which is funny in a really sad kind of way, because you would think that
> any company whose main business it is to compile other people's software
> would try a little bit harder to get consistent results.
>
> Cheers,
> Waldo
Agreed. Let me extend this aspect even further.
Is a package featuring a plug-in system still the same when not delivered
with its plug-ins? Should at least the name say that it is not complete?
Who decides about this? Should'nt the original maintainer have a last
say?
Scenarios:
Users, IMHO, should get informed about missing features and get the
package compiled and running. It is up to the maintainer to find ways how
to present a feature summary. Many packages adapt to a style in printing
out a short informational feature/dependency summary at end of a configure
run.
It is the users responsibility to ignore missing features, like for
instance missed plug-ins.
Distributors should be forceable to meet quite other standards.
Dependencies and belonging features should eighter be ignoreable or die
hard.
Sometimes packagers even figure out the switch to disable important
features. They dont know if this is intended or not.
Even functionality can suffer. Compiled binaries may render incompatible
on other machines, because some distribution requirements where not meet.
These may be my personal opinions. Even though I would like to enforce
them through all stages of software development and ditribution.
Of course I can understand that distributors do not know much about each
of hundreds of packages. Sometimes even a original maintainer has problems
to know about all sides of a package ;-)
Anyway a package modified to some extend is acceptable. If a certian
border is crossed, the package should not any longer bear the original
name. It becomes derived or whatever called software package and should
clearly express this in a appended name.
Proposal:
To help distinguishing for user versus distribuor usage, I'd propose a
configure switch marking.
This allowes to know about the intention what is a appropriate change
for distributors.
configure --help should then show something like:
--prefix=[/to/your/like]
NOT FOR DISTRIBUTORS
Dont use below switches or distribute the package with a appropriate
modified package name
--disable-feature-A
--disable-feature-B
END OF END DISTRIBUTORS DISALLOWED SWITCHES
--enable-debug debug version [default disable]
--disable-dependency-tracking no dependencies [default check]
--help
Is this practical?
The disadvantage is that configure can not automatically detect that it is
in distribution mode, or if manually invoked and its status lines get a
chance that they are really read.
Is there a standard variable showing that configure runs automatically?
Alternatively a last user query can be required in case of non
distribution allowed options where triggered. A automatic system should be
incapable to type YES/NO in the command line if configure requires command
line input.
kind regards
Kai-Uwe Behrmann
--
developing for colour management
www.behrmann.name + www.oyranos.org
More information about the xdg
mailing list