[pacman-dev] [PATCH] makepkg: allow overriding pkgver and pkgrel in split packages
Fixing a single package within a split package requires the overriding or pkgrel. In very rare (but existing) cases, it is useful to override pkgver. Partial fix for FS#15955. Signed-off-by: Allan McRae <allan@archlinux.org> --- PKGBUILD-split.proto | 2 ++ doc/PKGBUILD.5.txt | 6 +++--- scripts/makepkg.sh.in | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/PKGBUILD-split.proto b/PKGBUILD-split.proto index 11ceff2..2d772d5 100644 --- a/PKGBUILD-split.proto +++ b/PKGBUILD-split.proto @@ -34,6 +34,8 @@ build() { package_pkg1() { # options and directives that can be overridden + pkgver= + pkgrel= pkgdesc="" license=() groups=() diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index 435a148..611a314 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -275,9 +275,9 @@ name of the split package. All options and directives for the split packages default to the global values given within the PKGBUILD. However, some of these can be overridden within each split -package's packaging function. The following variables can be overridden: `pkgdesc`, -`license`, `groups`, `depends`, `optdepends`, `provides`, `conflicts`, `replaces`, -`backup`, `options`, `install` and `changelog`. +package's packaging function. The following variables can be overridden: `pkgver`, +`pkgrel`, `pkgdesc`, `license`, `groups`, `depends`, `optdepends`, +`provides`, `conflicts`, `replaces`, `backup`, `options`, `install` and `changelog`. An optional global directive is available when building a split package: diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index d80e115..2500638 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -46,8 +46,9 @@ pkgdir="$startdir/pkg" packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge') other_options=('ccache' 'distcc' 'makeflags' 'force') -splitpkg_overrides=('pkgdesc' 'license' 'groups' 'depends' 'optdepends' 'provides' \ - 'conflicts' 'replaces' 'backup' 'options' 'install' 'changelog') +splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'license' 'groups' \ + 'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \ + 'backup' 'options' 'install' 'changelog') readonly -a packaging_options other_options splitpkg_overrides # Options -- 1.6.4.4
On Sun, Oct 11, 2009 at 2:35 PM, Allan McRae <allan@archlinux.org> wrote:
Fixing a single package within a split package requires the overriding or pkgrel. In very rare (but existing) cases, it is useful to override pkgver. Partial fix for FS#15955.
Signed-off-by: Allan McRae <allan@archlinux.org> --- PKGBUILD-split.proto | 2 ++ doc/PKGBUILD.5.txt | 6 +++--- scripts/makepkg.sh.in | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/PKGBUILD-split.proto b/PKGBUILD-split.proto index 11ceff2..2d772d5 100644 --- a/PKGBUILD-split.proto +++ b/PKGBUILD-split.proto @@ -34,6 +34,8 @@ build() {
package_pkg1() { # options and directives that can be overridden + pkgver= + pkgrel= pkgdesc="" license=() groups=() diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index 435a148..611a314 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -275,9 +275,9 @@ name of the split package.
All options and directives for the split packages default to the global values given within the PKGBUILD. However, some of these can be overridden within each split -package's packaging function. The following variables can be overridden: `pkgdesc`, -`license`, `groups`, `depends`, `optdepends`, `provides`, `conflicts`, `replaces`, -`backup`, `options`, `install` and `changelog`. +package's packaging function. The following variables can be overridden: `pkgver`, +`pkgrel`, `pkgdesc`, `license`, `groups`, `depends`, `optdepends`, +`provides`, `conflicts`, `replaces`, `backup`, `options`, `install` and `changelog`.
An optional global directive is available when building a split package:
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index d80e115..2500638 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -46,8 +46,9 @@ pkgdir="$startdir/pkg"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge') other_options=('ccache' 'distcc' 'makeflags' 'force') -splitpkg_overrides=('pkgdesc' 'license' 'groups' 'depends' 'optdepends' 'provides' \ - 'conflicts' 'replaces' 'backup' 'options' 'install' 'changelog') +splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'license' 'groups' \ + 'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \ + 'backup' 'options' 'install' 'changelog') readonly -a packaging_options other_options splitpkg_overrides
# Options -- 1.6.4.4
Hello Allan! I don't know whether it works fully, because I didn't test it in hard way, but thanks this feature, it seems fine. What about arch overriding ? Do you work on it, or can a patch be sent to you ? Best Regards, Laszlo Papp
Laszlo Papp wrote:
On Sun, Oct 11, 2009 at 2:35 PM, Allan McRae <allan@archlinux.org> wrote:
Fixing a single package within a split package requires the overriding or pkgrel. In very rare (but existing) cases, it is useful to override pkgver. Partial fix for FS#15955.
Signed-off-by: Allan McRae <allan@archlinux.org> --- PKGBUILD-split.proto | 2 ++ doc/PKGBUILD.5.txt | 6 +++--- scripts/makepkg.sh.in | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/PKGBUILD-split.proto b/PKGBUILD-split.proto index 11ceff2..2d772d5 100644 --- a/PKGBUILD-split.proto +++ b/PKGBUILD-split.proto @@ -34,6 +34,8 @@ build() {
package_pkg1() { # options and directives that can be overridden + pkgver= + pkgrel= pkgdesc="" license=() groups=() diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index 435a148..611a314 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -275,9 +275,9 @@ name of the split package.
All options and directives for the split packages default to the global values given within the PKGBUILD. However, some of these can be overridden within each split -package's packaging function. The following variables can be overridden: `pkgdesc`, -`license`, `groups`, `depends`, `optdepends`, `provides`, `conflicts`, `replaces`, -`backup`, `options`, `install` and `changelog`. +package's packaging function. The following variables can be overridden: `pkgver`, +`pkgrel`, `pkgdesc`, `license`, `groups`, `depends`, `optdepends`, +`provides`, `conflicts`, `replaces`, `backup`, `options`, `install` and `changelog`.
An optional global directive is available when building a split package:
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index d80e115..2500638 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -46,8 +46,9 @@ pkgdir="$startdir/pkg"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge') other_options=('ccache' 'distcc' 'makeflags' 'force') -splitpkg_overrides=('pkgdesc' 'license' 'groups' 'depends' 'optdepends' 'provides' \ - 'conflicts' 'replaces' 'backup' 'options' 'install' 'changelog') +splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'license' 'groups' \ + 'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \ + 'backup' 'options' 'install' 'changelog') readonly -a packaging_options other_options splitpkg_overrides
# Options -- 1.6.4.4
Hello Allan!
I don't know whether it works fully, because I didn't test it in hard way, but thanks this feature, it seems fine.
What about arch overriding ? Do you work on it, or can a patch be sent to you ?
It is a lot harder to override arch. I have a partially working patch that I am finishing. Allan
participants (2)
-
Allan McRae
-
Laszlo Papp