-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Another idea... let's call it "meta" or "virtual" packages...
Make empty packages that pull several dependencies using their Requires tags to make packagers' life
easier.
e.g.
Name: meta-c++-devel
Version: 1.0.0
Release: 1
Requires: make libtool autoconf automake gcc-c++
Requires: libstdc++ libstdc++-devel libgcc glibc-devel
(empty files, empty %setup, empty %build, empty %install)
Note that such a "meta" package should be arch-specific (not "noarch") because it could be that on
some architecture you need different packages than on others (e.g. an x86-optimized assembler would
be included in the "meta-c++-devel" package on x86 and x86_64, but not on ppc or s390).
That way, when packagers need to "BuildRequires" the C++ development environment for another
package, it's just a matter of:
Name: libfoo++
Version: 3.4.5
Release: 39
...
BuildRequires: meta-c++-devel
...
SUSE's y2pmbuild already partly offers that functionality by expanding "virtual" names in
"neededforbuild" to a set of real dependencies, but the issue with that approach is that it works
only when using y2pmbuild.
The solution above would work with any package manager (yast2, smart, yum, apt, ...) and with any
RPM building frontend (rpmbuild, y2pmbuild, abuild, ...), and could even easily "hide" the gory
details of what packages are required on 10.1, 10.0, on 9.3, ... to have a specific environment
(e.g. on SUSE < 9.2, it's "libjpeg" whereas on SUSE >= 9.2 it's "libjpeg libjpeg-devel").
Mauricio "netmask" Teixeira and I talked about that idea, as Mauricio told me that Connectiva has
that approach with so-called "task" packages (task-c++-devel, etc...).
They also use it to do the same as SUSE Linux' "selections" (*.sel files in yast2 repositories),
e.g. "task-mail-server", but that's a different story ;)
I could really use such a "meta-gnome-devel" package ;)))
cheers
- --
-o) Pascal Bleser http://linux01.gwdg.de/~pbleser/
/\\