mirror of
https://github.com/moparisthebest/pacman
synced 2025-03-03 02:41:53 -05:00
makepkg: implement creation of split packages
Adds the ability to create multiple packages from one PKGBUILD Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
21b8a5418d
commit
e946ee7745
@ -67,6 +67,7 @@ LOGGING=0
|
|||||||
SOURCEONLY=0
|
SOURCEONLY=0
|
||||||
IGNOREARCH=0
|
IGNOREARCH=0
|
||||||
HOLDVER=0
|
HOLDVER=0
|
||||||
|
SPLITPKG=0
|
||||||
|
|
||||||
# Forces the pkgver of the current PKGBUILD. Used by the fakeroot call
|
# Forces the pkgver of the current PKGBUILD. Used by the fakeroot call
|
||||||
# when dealing with svn/cvs/etc PKGBUILDs.
|
# when dealing with svn/cvs/etc PKGBUILDs.
|
||||||
@ -1565,6 +1566,10 @@ if [ "$GENINTEG" = "1" ]; then
|
|||||||
exit 0 # $E_OK
|
exit 0 # $E_OK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${#pkgname[@]}" -gt "1" ]; then
|
||||||
|
SPLITPKG=1
|
||||||
|
fi
|
||||||
|
|
||||||
# check for no-no's in the build script
|
# check for no-no's in the build script
|
||||||
if [ -z "$pkgname" ]; then
|
if [ -z "$pkgname" ]; then
|
||||||
error "$(gettext "%s is not allowed to be empty.")" "pkgname"
|
error "$(gettext "%s is not allowed to be empty.")" "pkgname"
|
||||||
@ -1653,17 +1658,29 @@ fi
|
|||||||
|
|
||||||
# Run the bare minimum in fakeroot
|
# Run the bare minimum in fakeroot
|
||||||
if [ "$INFAKEROOT" = "1" ]; then
|
if [ "$INFAKEROOT" = "1" ]; then
|
||||||
if [ "$REPKG" = "0" ]; then
|
if [ "$SPLITPKG" = "0" ]; then
|
||||||
if [ "$(type -t package)" != "function" ]; then
|
if [ "$REPKG" = "0" ]; then
|
||||||
run_build
|
if [ "$(type -t package)" != "function" ]; then
|
||||||
else
|
run_build
|
||||||
run_package
|
else
|
||||||
|
run_package
|
||||||
|
fi
|
||||||
|
tidy_install
|
||||||
fi
|
fi
|
||||||
tidy_install
|
create_package
|
||||||
|
else
|
||||||
|
for pkg in ${pkgname[@]}; do
|
||||||
|
pkgdir="$pkgdir/$pkg"
|
||||||
|
mkdir -p "$pkgdir"
|
||||||
|
backup_package_variables
|
||||||
|
run_package $pkg
|
||||||
|
tidy_install
|
||||||
|
create_package $pkg
|
||||||
|
restore_package_variables
|
||||||
|
pkgdir="${pkgdir%/*}"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
create_package
|
|
||||||
|
|
||||||
msg "$(gettext "Leaving fakeroot environment.")"
|
msg "$(gettext "Leaving fakeroot environment.")"
|
||||||
exit 0 # $E_OK
|
exit 0 # $E_OK
|
||||||
fi
|
fi
|
||||||
@ -1747,18 +1764,32 @@ else
|
|||||||
|
|
||||||
# if we are root or if fakeroot is not enabled, then we don't use it
|
# if we are root or if fakeroot is not enabled, then we don't use it
|
||||||
if [ "$(check_buildenv fakeroot)" != "y" -o $EUID -eq 0 ]; then
|
if [ "$(check_buildenv fakeroot)" != "y" -o $EUID -eq 0 ]; then
|
||||||
if [ "$REPKG" = "0" ]; then
|
if [ "$SPLITPKG" = "0" ]; then
|
||||||
|
if [ "$REPKG" = "0" ]; then
|
||||||
|
devel_update
|
||||||
|
run_build
|
||||||
|
if [ "$(type -t package)" == "function" ]; then
|
||||||
|
run_package
|
||||||
|
fi
|
||||||
|
tidy_install
|
||||||
|
fi
|
||||||
|
create_package
|
||||||
|
else
|
||||||
devel_update
|
devel_update
|
||||||
run_build
|
run_build
|
||||||
if [ "$(type -t package)" == "function" ]; then
|
for pkg in ${pkgname[@]}; do
|
||||||
run_package
|
pkgdir="$pkgdir/$pkg"
|
||||||
fi
|
mkdir -p "$pkgdir"
|
||||||
tidy_install
|
backup_package_variables
|
||||||
|
run_package $pkg
|
||||||
|
tidy_install
|
||||||
|
create_package $pkg
|
||||||
|
restore_package_variables
|
||||||
|
pkgdir="${pkgdir%/*}"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
create_package
|
|
||||||
else
|
else
|
||||||
if [ "$(type -t package)" == "function" ]; then
|
if [ "$(type -t package)" == "function" -o "$SPLITPKG" = "1" ]; then
|
||||||
devel_update
|
devel_update
|
||||||
run_build
|
run_build
|
||||||
cd "$startdir"
|
cd "$startdir"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user