Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Feb 2003 22:17:40 +0100
From:      Clement Laforet <sheepkiller@cultdeadsheep.org>
To:        Michael Nottebrock <michaelnottebrock@gmx.net>
Cc:        ports@freebsd.org
Subject:   Re: Ports-options and packages
Message-ID:  <20030223221740.0e82c7ec.sheepkiller@cultdeadsheep.org>
In-Reply-To: <200302231939.38539.michaelnottebrock@gmx.net>
References:  <200302231547.16715.michaelnottebrock@gmx.net> <20030223175622.37df1a27.sheep.killer@cultdeadsheep.org> <200302231939.38539.michaelnottebrock@gmx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 23 Feb 2003 19:39:38 +0100
Michael Nottebrock <michaelnottebrock@gmx.net> wrote:

> On Sunday 23 February 2003 17:56, you wrote:
> 
> > Hi,
> >
> > First of all, I think that default options are maintainer's choice. Stop
> > me if I'm wrong, but it should be a nightmare to maintain a such system.
> 
> I honestly don't know, that's why I was asking the question on the mailing 
> list - maybe people are already coming up with something clever.

Ok...
I've done the stuff to test your idea :-)
That's just for building...
Dependencies, INDEX file etc. are bigger problems I think...

Here the stuff :

In ports Makefile :
# Available packages
PACK_AVAIL=     default PG MYSQL
# Specific options        
PG=             WITHOUT_MYSQL=YES PKGNAMESUFFIX=-pq
MYSQL=          WITHOUT_PGSQL=YES PKGNAMESUFFIX=-mysql

in bsd.ports.mk (quite dirty):

all-packages:
        @for template in ${PACK_AVAIL}; do\
                echo $${template}; \
                value=`egrep ^$${template}= Makefile | sed "s/^$${template}=\(.*\)/\1/"`; \
                echo $${value};\
                ${MAKE} $${value} package clean; \
        done


output :

[root@lucifer|(500)| mod_accounting-test]# make all-packages
default
===>  Extracting for mod_accounting-0.5
>> Checksum OK for mod_accounting-0.5.tar.gz.
===>   mod_accounting-0.5 depends on file: /usr/local/sbin/apxs - found
===>   mod_accounting-0.5 depends on shared library: pq.3 - found
===>   mod_accounting-0.5 depends on shared library: mysqlclient.10 - found
===>  Patching for mod_accounting-0.5
===>  Applying FreeBSD patches for mod_accounting-0.5
===>  Configuring for mod_accounting-0.5
===>  Building for mod_accounting-0.5
<SNIP>
===>   Registering installation for mod_accounting-0.5
===>  Building package for mod_accounting-0.5
Creating package /usr/ports/packages/All/mod_accounting-0.5.tgz
Registering depends: postgresql-7.3.1 gettext-0.11.5_1 libgnugetopt-1.2 libiconv-1.8_2 mysql-client-3.23.55 expat-1.95.6_1.
Creating gzip'd tar ball in '/usr/ports/packages/All/mod_accounting-0.5.tgz'
===>  Cleaning for libiconv-1.8_2
<SNIP>
===>  Deinstalling for mod_accounting-0.5
===>  If you do not plan on reinstalling mod_accounting, you must manually remove
===> references to it in httpd.conf.
PG
WITHOUT_MYSQL=YES PKGNAMESUFFIX=-pq
===>  Extracting for mod_accounting-pq-0.5
>> Checksum OK for mod_accounting-0.5.tar.gz.
===>   mod_accounting-pq-0.5 depends on file: /usr/local/sbin/apxs - found
===>   mod_accounting-pq-0.5 depends on shared library: pq.3 - found
===>  Patching for mod_accounting-pq-0.5
===>  Applying FreeBSD patches for mod_accounting-pq-0.5
===>  Configuring for mod_accounting-pq-0.5
===>  Building for mod_accounting-pq-0.5
<SNIP>
===>   Registering installation for mod_accounting-pq-0.5
===>  Building package for mod_accounting-pq-0.5
Creating package /usr/ports/packages/All/mod_accounting-pq-0.5.tgz
Registering depends: postgresql-7.3.1 gettext-0.11.5_1 libgnugetopt-1.2 libiconv-1.8_2 expat-1.95.6_1.
Creating gzip'd tar ball in '/usr/ports/packages/All/mod_accounting-pq-0.5.tgz'
===>  Cleaning for libiconv-pq-1.8_2
===>  Cleaning for postgresql-pq-7.3.2_1
===>  Cleaning for gettext-pq-0.11.5_1
<SNIP>
MYSQL
WITHOUT_PGSQL=YES PKGNAMESUFFIX=-mysql
===>  Extracting for mod_accounting-mysql-0.5
>> Checksum OK for mod_accounting-0.5.tar.gz.
===>   mod_accounting-mysql-0.5 depends on file: /usr/local/sbin/apxs - found
===>   mod_accounting-mysql-0.5 depends on shared library: mysqlclient.10 - found
===>  Patching for mod_accounting-mysql-0.5
===>  Applying FreeBSD patches for mod_accounting-mysql-0.5
===>  Configuring for mod_accounting-mysql-0.5
===>  Building for mod_accounting-mysql-0.5
<SNIP>
===>   Registering installation for mod_accounting-mysql-0.5
===>  Building package for mod_accounting-mysql-0.5
Creating package /usr/ports/packages/All/mod_accounting-mysql-0.5.tgz
Registering depends: mysql-client-3.23.55.
Creating gzip'd tar ball in '/usr/ports/packages/All/mod_accounting-mysql-0.5.tgz'
===>  Cleaning for mysql-client-mysql-3.23.55
===>  Cleaning for libtool-mysql-1.3.4_4
===>  Cleaning for expat-mysql-1.95.6_1
===>  Cleaning for apache-mysql-1.3.27_4
===>  Cleaning for mod_accounting-mysql-0.5
===>  Deinstalling for mod_accounting-mysql-0.5
===>  If you do not plan on reinstalling mod_accounting, you must manually remove
===> references to it in httpd.conf.
[root@lucifer|(501)| mod_accounting-test]# ls /usr/ports/packages/www/mod_accounting-*
/usr/ports/packages/www/mod_accounting-0.5.tgz
/usr/ports/packages/www/mod_accounting-mysql-0.5.tgz
/usr/ports/packages/www/mod_accounting-pq-0.5.tgz


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?20030223221740.0e82c7ec.sheepkiller>