Allan McRae wrote:
Cedric Staniewski wrote:
Allan McRae wrote:
Add a check that the package does not contain references to the folder it was built in.
Fixes FS#14751
Signed-off-by: Allan McRae <allan@archlinux.org> --- scripts/makepkg.sh.in | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 820d81f..a5b8f87 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -971,6 +971,12 @@ check_package() { warning "$(gettext "Invalid backup entry : %s")" "$file" fi done + + # check for references to the build directory + grep -R "${srcdir}" "${pkgdir}" &>/dev/null + if [ $? -eq 0 ]; then + warning "$(gettext "Package contains reference to %s")" "\$srcdir" + fi }
create_package() {
I wonder why you do not use
if grep -R "${srcdir}" "${pkgdir}" &>/dev/null; then
Is there a special cause for that or is it only for cosmetic reasons? Thanks.
No reason.... I was going to adjust my patch to this syntax. However, I have discovered, the patch causes makepkg to halt if there are no files in ${pkgdir}. This is entirely possible with something like "meta-packages" which just contain a list of deps. So I am going to need to use some sort of "grep ... || ret=" syntax anyway.
Allan
I tried to reproduce this, but was not able to do so. Patch: ----------------- diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 8812407..4bcb6b2 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -947,9 +947,7 @@ check_package() { done # check for references to the build directory - local ret=0 - grep -R "${srcdir}" "${pkgdir}" &>/dev/null || ret=1 - if [ $ret -eq 0 ]; then + if grep -R "${srcdir}" "${pkgdir}" &>/dev/null; then warning "$(gettext "Package contains reference to %s")" "\$srcdir" fi } ----------------- PKGBUILD: ----------------- pkgname=dummy pkgver=1 pkgrel=1 pkgdesc="A dummy package" arch=('any') url="http://dummy.xyz" license=('GPL') build() { echo nothing to see here #echo "$srcdir" > "$pkgdir/bla" } ------------------ Anyway... never mind.