2007/9/27, Allan McRae <[EMAIL PROTECTED]>: > I have been thinking about how this should be done without creating a > custom parser for the last few days. > > What I see is two cases for the use of split packages > 1) Splitting build output - e.g. gcc and gcc-libs > 2) Allowing the same package to be built with different configuration > options. e.g ettercap and ettercap-gtk > > > For 1), how about adding a package() function but only if needed. I.e. > most of the time the moving of files occurs as usual in the build() > function and no package function would be used. If there is a package > function present, then the makepkg will know we a packaging two (or > more) packages at once. The naming could be automatically done by using > and extra directory level. > > E.g for gcc we could have the package function move files into : > > pkg/main > pkg/libs > pkg/fortran > pkg/objc > > makepkg would recognize pkg/main as the primary package and create > gcc-4.1.2-2-i686.pkg.tar.gz. The other directories would have their > names based on the folder. I.e the files in libs would become > gcc-libs-4.1.2-2-i686.pkg.tar.gz. > > > For 2), the whole package would require a rebuild anyway. So how about > using command line arguments. > > E.g. for ettercap we could have "makepkg" make the default (ncurses) > interface and "makepkg gtk" make the gtk interface. The package naming > would just have the command line parameter added. > > E.g for packages with no sensible default (e.g. configuring using mysql > instead of postgres) "makepkg" would print an error message and "makepkg > foo" would build the appropriate package. > > In bash, this could be easily implemented using if/case statements. > > > The points I like about this idea are > a) It requires no custom parser like using build("foo") would > b) It involves only adding 1 extra function to split packages anyway. > I.e. makepkg does not have to deal with many build_libs, build_docs, > build_foo function names. > c) when no package function or command line options is specified, > current package builds will still work. > d) I don't think it would be too hard to implement > > > Let me know if I haven't expressed my ideas clearly enough... >
You won the "Best idea in the whole thread" prize from me! :-) -- Roman Kyrylych (Роман Кирилич) _______________________________________________ arch mailing list arch@archlinux.org http://archlinux.org/mailman/listinfo/arch