Skip site navigation (1)Skip section navigation (2)
Date:      29 Dec 2001 09:25:54 +0200
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        "James E. Housley" <jeh@FreeBSD.org>
Cc:        Mikhail Teterin <mi@aldan.algebra.com>, joseph@randomnetworks.com, lioux@FreeBSD.org, ports@FreeBSD.org
Subject:   Re: cvs commit: ports/www Makefile ports/www/frontpage-es  Makefiledistinfo pkg-comment
Message-ID:  <1009610598.225.7.camel@notebook>
In-Reply-To: <3C2D18FB.855F80EC@FreeBSD.org>
References:  <200112282206.fBSM6kf36064@aldan.algebra.com> <1009581412.225.2.camel@notebook>  <3C2D18FB.855F80EC@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-msuZQtp4TR7Kt6wlPNki
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sat, 2001-12-29 at 03:14, James E. Housley wrote:
> Maxim Sobolev wrote:
> >=20
> > On Sat, 2001-12-29 at 00:06, Mikhail Teterin wrote:
> > >
> > > That's a bit off-topic, Max, please, don't change the subject. The po=
rts
> > > quality is the primary target. The  wide choice of pre-built packages=
 --
> > > the secondary.  It seems,  the quality  of the  ports collection  can=
 be
> > > improved  by merging  the  frontpage-<slave> ports  into one  (frontp=
age
> > > itself), even if  that means there will be no  prebuilt packages for =
the
> > > slaves for some time.
> >=20
> > Look, you are complaining that there is no way to build several packags
> > from one port with "options", but don't provide any reasonable way it
> > could be improved. Replacing several frontpage-foo ports with one port
> > with "options" doesn't count, because it's worse than the current setup
> > when pre-built packages are considered. I don't see why you think that
> > pre-built packages are "the secondary". If the maintainer(s) feel
> > comfortable maintaining N ports - so be it, it's his/their business, no=
t
> > yours.
> >=20
>=20
> For this specific case, a single port with multiple laguages, I have a
> concept for a solution.  It is still rough and I don't have any patches
> for bento's scripts yet.  I will use the www/frontpage-* as an example
> here.
>=20
> * If in www/frontpage "make -UBATCH" is done, ie not in BATCH mode then
> a dialog will pop-up for language selection.
>=20
> * If in www/frontpage "make -DBUILD_LANGUAGE=3Dar" then the proper pieces
> for arabic will be included, including PKGNAMEPREFIX.
>=20
> * A new variable will be added to www/frontpage/Makefile for the
> specifying the languages to be built.  "LANGUAGES=3D ar de ex fr he it ja
> ko nl pt sv th zh"  The scripts on bento would be modified so that if
> the variable LANGUAGES existed then it would build a package for that
> port, settting BUILD_LANGUAGE to each value in the array.  I suppose
> there would need to be away to say build an english version with out an
> extension.
>=20
> There might need to be another variable added to the package .tgz file
> with information about the language or what ever.
>=20
> After this is done, I would imagine the next step would be to generalize
> this into a second set of variable that could be used to build common
> variations of some of the ports.  For example www/php4 by default builds
> with MySQL support.  We could create another standard variation that
> includes XML support.
>=20
> Probably the best example of this would be *+ipv6.  We would have bento
> automatically build the +ipv6 variations of ports.  If the variable
> IPV6_ALSO=3DYES then a second copy for the port would be built with
> -DWITH_IPV6.  That would then allow the combining www/apache13 and
> www/apache13+ipv6; www/mozilla and www/mozilla+ipv6 and probably
> others.  WITH_IPV6 would probably be worth adding to /etc/make.conf.
>=20
> This is rough and has absolutely no code, but it is a place to start
> discussions.

Yes, I think that something like that would be useful, but for this
proposal to be practically useable there should be a way for bento
scripts to do auto-discovery of the available options for each port,
otherwise there will be too much trouble each time some new option is
introduced. Following is how I see it:

1. Each port that supports "options" declares variable PORTOPTIONS in
its Makefile, which is the list of all supported build-time options. For
example:

PORTOPTIONS=3D	WITH_FOO WITHOUT_BAR

The Makefile obviously should recognize those options, enable/disable
approprite features, set sensible PKGNAMESUFFIXes, etc.

2. When building packages on bento, the script tests if the PORTOPTIONS
is defined and if yes, then repeats the build of the port several times
(3 times in the example above - first without any options, second with
WITH_FOO defined and third - with WITHOUT_BAR). As a result, there
should be 3 packages with different suffixes.

This is a quite "raw" proposal just off the top of the top of my head
and I know that there are several drawbacks - for example there is no
way to separate those options that are mutually exclusive from those
that aren't. Also, ideally there should be a way to automatically
present user with a dialog to select from the list of available options.

-Maxim

--=-msuZQtp4TR7Kt6wlPNki
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org

iD8DBQA8LW9moNu5t4iCBa8RAqpRAJ0VcWEksZ3v5zG6rK7yTyU0Umj8zwCdHlzo
V7NK16xpd9lI8T/h0u13U0s=
=Def1
-----END PGP SIGNATURE-----

--=-msuZQtp4TR7Kt6wlPNki--



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1009610598.225.7.camel>