FS#7144 - [patch] enhance makepkg to make multiple packages
Attached to Project:
Pacman
Opened by crc32 (crc64) - Sunday, 13 May 2007, 05:04 GMT
Last edited by Dan McGee (toofishes) - Saturday, 17 January 2009, 17:07 GMT
Opened by crc32 (crc64) - Sunday, 13 May 2007, 05:04 GMT
Last edited by Dan McGee (toofishes) - Saturday, 17 January 2009, 17:07 GMT
|
Details
This patches makepkg so that it can create multiple .pkg
files from a single PKGBUILD.
makepkg.patch - patch based on cvs revision 1.72 PKGBUILD - sample PKGBUILD makepkg - the complete file for anyone who wish to test this |
This task depends upon
Closed by Dan McGee (toofishes)
Saturday, 17 January 2009, 17:07 GMT
Reason for closing: Implemented
Additional comments about closing: See commit 3d49d88009341
Saturday, 17 January 2009, 17:07 GMT
Reason for closing: Implemented
Additional comments about closing: See commit 3d49d88009341
oops... looks like attached the patch twice.
this is the complete makepkg with the patch applied
I would really love to see makepkg support multiple pkgs whether it's in the form of my suggested patch or another.
Perhaps we can discuss more on the syntax? I think I can help.
As for the syntax, I can't say I can think of anything better. However, let me throw this one out there for consideration: if all the (4 or 5) ndiswrapper modules could be built in one package, that'd be great.
See the attached file (how I'd redo the same PKGBUILD).
I was thinking that some sort of separate "build_foo" might be nice for given sub packages, but that would require either additional extraction of the source, or cleanup after each build
I'm wondering though about patches that are in the form of tar.gz. How would makepkg selectively apply tar.gz patches only for pkg that require them?
Btw, in my sample PKGBUILD, I've ordered it such that ndiswrapper-utils precedes ndiswrapper. This is so that the "makepkg -i" command works. Otherwise pacman will complain about unresolved deps. I guess we could enhance makepkg to sort the pkgs in the order that pacman expects.
The bigger question though is that for the ndisPKGBUILD sample, what would be the correct behavior during "makepg -i"? Perhaps makepkg should not install any pkgs that have a corresponding "build_foo"?
Thoughts?
As for -i behavior, I would assume it would check the subpackages for deps first, and use them if found.
Oh btw, nice touch. I like it. +1 from me.
> Perhaps makepkg should not install any pkgs that have a corresponding "build_foo"?
Ummm... I guess my question really is about what happens when the sub-packages provides the same module.
Silly me for incorrectly assuming that "ndiswrapper-ck" and "ndiswrapper-suspend2" provides "ndiswrapper".
See attached PKGBUILD that builds kernel26 and kernel26suspend2.
Is this useful for package maintainers?
Or is the syntax so convoluted that maintainers would prefer to maintain separate PKGBUILDs?
> This is so that the "makepkg -i" command works. Otherwise pacman will complain about unresolved deps.
Hmmm... I can't seem to duplicate this problem anymore. Strange.
Pacman installs the packages correctly even if I place ndiswrapper before utils.
So I guess my original patch can be considered complete.