mirror of
https://github.com/moparisthebest/pacman
synced 2024-08-13 17:03:46 -04:00
makepkg: remove support for PKGBUILDs without a package() function
Not having a package() function means all building occurs as root and repackaging can lose permissions. Given the use of package() functions has been around for years and we deprecated not having one in pacman-4.1, we can remove support for PKGBUILDs without package() functions altogether. However, keep PKGBUILDs that have neither a build() or package() function working. Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
3b4e74cb3b
commit
dece66ac18
@ -2240,7 +2240,12 @@ check_sanity() {
|
|||||||
ret=1
|
ret=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( ${#pkgname[@]} > 1 )); then
|
if (( ${#pkgname[@]} == 1 )); then
|
||||||
|
if have_function build && ! ( have_function package || have_function package_${pkgname}); then
|
||||||
|
error "$(gettext "Missing %s function in %s")" "package()" "$BUILDFILE"
|
||||||
|
ret=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
for i in ${pkgname[@]}; do
|
for i in ${pkgname[@]}; do
|
||||||
if ! have_function package_${i}; then
|
if ! have_function package_${i}; then
|
||||||
error "$(gettext "Missing %s function for split package '%s'")" "package_$i()" "$i"
|
error "$(gettext "Missing %s function for split package '%s'")" "package_$i()" "$i"
|
||||||
@ -2873,17 +2878,7 @@ if (( INFAKEROOT )); then
|
|||||||
if (( ! SPLITPKG )); then
|
if (( ! SPLITPKG )); then
|
||||||
pkgdir="$pkgdirbase/$pkgname"
|
pkgdir="$pkgdirbase/$pkgname"
|
||||||
mkdir "$pkgdir"
|
mkdir "$pkgdir"
|
||||||
if (( ! PKGFUNC )); then
|
if (( PKGFUNC )); then
|
||||||
if (( ! REPKG )); then
|
|
||||||
if (( BUILDFUNC )); then
|
|
||||||
run_build
|
|
||||||
(( CHECKFUNC )) && run_check
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
warning "$(gettext "Repackaging without the use of a %s function is deprecated.")" "package()"
|
|
||||||
plain "$(gettext "File permissions may not be preserved.")"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
run_package
|
run_package
|
||||||
fi
|
fi
|
||||||
tidy_install
|
tidy_install
|
||||||
@ -2900,10 +2895,6 @@ fi
|
|||||||
fullver=$(get_full_version)
|
fullver=$(get_full_version)
|
||||||
msg "$(gettext "Making package: %s")" "$pkgbase $fullver ($(date))"
|
msg "$(gettext "Making package: %s")" "$pkgbase $fullver ($(date))"
|
||||||
|
|
||||||
if (( !PKGFUNC && !SPLITPKG )); then
|
|
||||||
warning "$(gettext "Using a %s without a %s function is deprecated.")" "$BUILDSCRIPT" "package()"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if we are creating a source-only package, go no further
|
# if we are creating a source-only package, go no further
|
||||||
if (( SOURCEONLY )); then
|
if (( SOURCEONLY )); then
|
||||||
if [[ -f $SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT} ]] \
|
if [[ -f $SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT} ]] \
|
||||||
@ -2981,14 +2972,7 @@ cd_safe "$srcdir"
|
|||||||
|
|
||||||
if (( NOEXTRACT && ! VERIFYSOURCE )); then
|
if (( NOEXTRACT && ! VERIFYSOURCE )); then
|
||||||
warning "$(gettext "Using existing %s tree")" "src/"
|
warning "$(gettext "Using existing %s tree")" "src/"
|
||||||
elif (( REPKG )); then
|
elif (( !REPKG )); then
|
||||||
if (( ! PKGFUNC && ! SPLITPKG )) \
|
|
||||||
&& { [[ ! -d $pkgdirbase ]] || dir_is_empty "$pkgdirbase"; }; then
|
|
||||||
error "$(gettext "The package directory is empty, there is nothing to repackage!")"
|
|
||||||
plain "$(gettext "Aborting...")"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
download_sources
|
download_sources
|
||||||
check_source_integrity
|
check_source_integrity
|
||||||
(( VERIFYSOURCE )) && exit 0 # $E_OK
|
(( VERIFYSOURCE )) && exit 0 # $E_OK
|
||||||
@ -3002,8 +2986,8 @@ if (( NOBUILD )); then
|
|||||||
msg "$(gettext "Sources are ready.")"
|
msg "$(gettext "Sources are ready.")"
|
||||||
exit 0 #E_OK
|
exit 0 #E_OK
|
||||||
else
|
else
|
||||||
# check for existing pkg directory; don't remove if we are repackaging
|
# clean existing pkg directory
|
||||||
if [[ -d $pkgdirbase ]] && (( ! REPKG || PKGFUNC || SPLITPKG )); then
|
if [[ -d $pkgdirbase ]]; then
|
||||||
msg "$(gettext "Removing existing %s directory...")" "pkg/"
|
msg "$(gettext "Removing existing %s directory...")" "pkg/"
|
||||||
rm -rf "$pkgdirbase"
|
rm -rf "$pkgdirbase"
|
||||||
fi
|
fi
|
||||||
@ -3027,9 +3011,6 @@ else
|
|||||||
mkdir -p "$pkgdir"
|
mkdir -p "$pkgdir"
|
||||||
if (( PKGFUNC )); then
|
if (( PKGFUNC )); then
|
||||||
run_package
|
run_package
|
||||||
elif (( REPKG )); then
|
|
||||||
warning "$(gettext "Repackaging without the use of a %s function is deprecated.")" "package()"
|
|
||||||
plain "$(gettext "File permissions may not be preserved.")"
|
|
||||||
fi
|
fi
|
||||||
tidy_install
|
tidy_install
|
||||||
create_package
|
create_package
|
||||||
@ -3038,7 +3019,7 @@ else
|
|||||||
run_split_packaging
|
run_split_packaging
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if (( ! REPKG && ( PKGFUNC || SPLITPKG ) )); then
|
if (( ! REPKG )); then
|
||||||
(( BUILDFUNC )) && run_build
|
(( BUILDFUNC )) && run_build
|
||||||
(( CHECKFUNC )) && run_check
|
(( CHECKFUNC )) && run_check
|
||||||
cd_safe "$startdir"
|
cd_safe "$startdir"
|
||||||
|
Loading…
Reference in New Issue
Block a user