On 08/02/2014 09:37, John Marino wrote:
> Your "solution" causes multiple issues for others, and for what benefit?
>  The libraries are not packaged individually.  You would need to split
> up every GCC package into at least two packages, and then change the
> infrastructure to add the compiler as the build dependency and the
> libraries as a run dependency.  I do not see the library dependencies
> getting whittled down to 5 - 15 separate packages though.  That is way
> too much of a maintenance headache.
> 
> But the fact that you don't use use specific libraries is irrelevant.
> The needs of the entire tree is what is being considered, as well as the
> amount of work the maintainers are willing to do.  GCC x 5 is a set of
> monster packages that I don't see a bunch of people clamoring to take over.

In fact, this /is/ the plan.  This is exactly the sort of thing we want
to achieve by implementing sub-packages.  However, in the case of
dependencies on compiler toolchains, this shouldn't require massive
interventions in the ports tree.  If we create separate
gcc-c++11-runtime or clang-objc-runtime or whatever other combination
sub-packages, then it should be mostly a case of updating
/usr/ports/Mk/Uses/compiler.mk so that it registers a BUILD_DEPENDS on
the entire toolchain, and a RUN_DEPENDS on just the appropriate runtime
sub-package.

There are various other obvious sub-packaging chunks like separating out
documentation and examples, and various files that are now added to
packages due to options settings.  So it's going to be another sweeping
change across the ports, perhaps not quite so all-encompassing as the
current switch to staging, but similar.  (Staging is actually a
prerequisite to introducing sub-packages; the other requirement is
obsoleting the old pkg_tools, as they can't deal with this.)

Other than getting over the hump of implementing all this, will this
result in a massively increased workload for port maintainers?  It
shouldn't.  Essentially one port will now generate several sub-packages
instead of one package.  This will be automatic: just dividing up the
files from staging into different pkg tarballs according to tags given
in pkg-plist.  Tags which frequently already exist according to
OPTIONS_SUB.  It also means that in a lot of cases we will be compiling
all the different optional parts of a port regularly, so problems with
obscure parts should come to light more quickly.  Also the oft repeated
complaint that lang/php5 doesn't enable mod_php5 by default: that goes away.

        Cheers,

        Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to