On 2012-06-16 17:49, Matthew Seaman wrote: > On 16/06/2012 15:53, Baptiste Daroussin wrote: >> What could be added is a UNIQUENAMESUFFIX to be able to have a finer grain >> name. > > That's certainly possible, but I was thinking about your plans to create > sub-packages. As I understand it, you'll be building and installing > each port into a staging area, and then creating a number of different > packages from what's in the staging area. > > So for a port foo, you might create: > > foo-0.99 --- the foo application and libfoo.so.0 shared > library > foo-docs-0.99 --- documentation > foo-examples-0.99 --- example configurations etc. > foo-devlibs-0.99 --- *.h headers, libfoo.a static lib, profiling > libs and other things useful for developers. > > > and so forth. So these are distinct packages all from one port with its > own UNIQUENAME and hence all using that port's OPTIONS settings, and all > built in one block. > > Having UNIQUENAMESUFFIX for docs, examples, devlibs etc. would imply all > of those are entirely separate ports, like the way bacula and > bacula-docs are handled at the moment. >
This looks like most RPM packages are build but with one major difference With one RPM spec file you can build foo, foo-docs, foo-devlibs and foo-examples in one build and get 4 rpm's in one run. With the ports infrastructure we have to run several builds one for foo, one for foo-devlibs and maybe one for foo-docs if docs are generated. Here we can take bacula, pgsql or mysql as example. To build the server and the client the build is done twice and only different files are taken to crate the package. Unless the ports infrastructure can build several packages from one port in one run this looks for me very impractical and time consuming. Also DEPENDENCY handling can become a real mess if a port needs foo, foo-devlibs , bar, bar-devlibs ... to build. Even this writeup looks critical I think I like the idea to split the packages if pkg has also the ability to search for packages like 'yum search' or apt .. I always smiled if I read Linux $fillInDistro has x thousands packages and if you look seriously divide the amount by 3 or 4 to get a real number. I suspect FreeBSD will be hit easily 50.000 packages with this split. How much additional time will take to do a full portstree build ?? > I can see there will need to be some sort of SUBPACKAGESUFFIXES variable > and associated gubbins in the ports makefiles, to do that, > plus something like tagging the entries in pkg-plist to identify which > sub-package they should belong to. > > Trying to mix that with UNIQUENAMESUFFIXes would get pretty complicated. > Not to mention the question of foo-devel -- is that the devel > sub-package of the foo port, or a separate foo-devel port?[*] > [*] Hmmm... maybe sub-packages suffixes should use a different > separator: foo-0.99, foo--docs-0.99, foo--examples-0.99 > foo--devlibs-0.99 (?) > Looks silly but you have more then the '-' (_ + %) for example foo+docs, foo__docs, foo%docs -- Regards, olli _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"