From bfe9b56e1fe3a0c17fa535acf8d29bbe318c0b8a Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sun, 1 Feb 2015 21:59:02 +1000 Subject: libmakepkg: move package checking out of tidy_install Signed-off-by: Allan McRae --- scripts/Makefile.am | 6 ++-- scripts/libmakepkg/.gitignore | 5 +-- scripts/libmakepkg/lint_package.sh.in | 38 ++++++++++++++++++++++ .../libmakepkg/lint_package/build_references.sh.in | 36 ++++++++++++++++++++ .../libmakepkg/lint_package/missing_backup.sh.in | 36 ++++++++++++++++++++ scripts/libmakepkg/tidy.sh.in | 5 --- scripts/libmakepkg/tidy/build_references.sh.in | 36 -------------------- scripts/libmakepkg/tidy/missing_backup.sh.in | 36 -------------------- scripts/makepkg.sh.in | 2 ++ scripts/po/POTFILES.in | 6 ++-- 10 files changed, 123 insertions(+), 83 deletions(-) create mode 100644 scripts/libmakepkg/lint_package.sh.in create mode 100644 scripts/libmakepkg/lint_package/build_references.sh.in create mode 100644 scripts/libmakepkg/lint_package/missing_backup.sh.in delete mode 100644 scripts/libmakepkg/tidy/build_references.sh.in delete mode 100644 scripts/libmakepkg/tidy/missing_backup.sh.in diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 4745b6e0..57468f93 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -41,6 +41,7 @@ LIBRARY = \ libmakepkgdir = $(datarootdir)/makepkg LIBMAKEPKGDIRS = \ + lint_package \ tidy \ util @@ -49,12 +50,13 @@ LIBMAKEPKG = \ libmakepkg/util/option.sh LIBMAKEPKG_IN = \ + libmakepkg/lint_package.sh \ + libmakepkg/lint_package/build_references.sh \ + libmakepkg/lint_package/missing_backup.sh \ libmakepkg/tidy.sh \ - libmakepkg/tidy/build_references.sh \ libmakepkg/tidy/docs.sh \ libmakepkg/tidy/emptydirs.sh \ libmakepkg/tidy/libtool.sh \ - libmakepkg/tidy/missing_backup.sh \ libmakepkg/tidy/optipng.sh \ libmakepkg/tidy/purge.sh \ libmakepkg/tidy/staticlibs.sh \ diff --git a/scripts/libmakepkg/.gitignore b/scripts/libmakepkg/.gitignore index 7072d8b9..6101db46 100644 --- a/scripts/libmakepkg/.gitignore +++ b/scripts/libmakepkg/.gitignore @@ -1,9 +1,10 @@ +lint_package.sh +lint_package/build_references.sh +lint_package/missing_backup.sh tidy.sh -tidy/build_references.sh tidy/docs.sh tidy/emptydirs.sh tidy/libtool.sh -tidy/missing_backup.sh tidy/optipng.sh tidy/purge.sh tidy/staticlibs.sh diff --git a/scripts/libmakepkg/lint_package.sh.in b/scripts/libmakepkg/lint_package.sh.in new file mode 100644 index 00000000..c2d3e322 --- /dev/null +++ b/scripts/libmakepkg/lint_package.sh.in @@ -0,0 +1,38 @@ +#!/bin/bash +# +# lint_package.sh - functions for checking for packaging errors +# +# Copyright (c) 2015 Pacman Development Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +[ -n "$LIBMAKEPKG_LINT_PACKAGE_SH" ] && return +LIBMAKEPKG_LINT_PACKAGE_SH=1 + +LIBRARY=${LIBRARY:-'@libmakepkgdir@'} + +source "$LIBRARY/util/message.sh" + +for lib in "$LIBRARY/lint_package/"*.sh; do + source "$lib" +done + +lint_package() { + cd_safe "$pkgdir" + msg "$(gettext "Checking for packaging issue...")" + + warn_missing_backup + warn_build_references +} diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in new file mode 100644 index 00000000..f6de2900 --- /dev/null +++ b/scripts/libmakepkg/lint_package/build_references.sh.in @@ -0,0 +1,36 @@ +#!/bin/bash +# +# build_references.sh - Warn about files containing references to build directories +# +# Copyright (c) 2013-2015 Pacman Development Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +[ -n "$LIBMAKEPKG_LINT_PACKAGE_BUILD_REFERENCES_SH" ] && return +LIBMAKEPKG_LINT_PACKAGE_BUILD_REFERENCES_SH=1 + +LIBRARY=${LIBRARY:-'@libmakepkgdir@'} + +source "$LIBRARY/util/message.sh" + + +warn_build_references() { + if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I "${srcdir}" ; then + warning "$(gettext "Package contains reference to %s")" "\$srcdir" + fi + if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I "${pkgdirbase}" ; then + warning "$(gettext "Package contains reference to %s")" "\$pkgdir" + fi +} diff --git a/scripts/libmakepkg/lint_package/missing_backup.sh.in b/scripts/libmakepkg/lint_package/missing_backup.sh.in new file mode 100644 index 00000000..d1008749 --- /dev/null +++ b/scripts/libmakepkg/lint_package/missing_backup.sh.in @@ -0,0 +1,36 @@ +#!/bin/bash +# +# missing_backup.sh - Warn about missing files in the backup array +# +# Copyright (c) 2013-2015 Pacman Development Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +[ -n "$LIBMAKEPKG_LINT_PACKAGE_MISSING_BACKUP_SH" ] && return +LIBMAKEPKG_LINT_PACKAGE_MISSING_BACKUP_SH=1 + +LIBRARY=${LIBRARY:-'@libmakepkgdir@'} + +source "$LIBRARY/util/message.sh" + + +warn_missing_backup() { + local file + for file in "${backup[@]}"; do + if [[ ! -f $file ]]; then + warning "$(gettext "%s entry file not in package : %s")" "backup" "$file" + fi + done +} diff --git a/scripts/libmakepkg/tidy.sh.in b/scripts/libmakepkg/tidy.sh.in index 483afcbf..b8c2965c 100644 --- a/scripts/libmakepkg/tidy.sh.in +++ b/scripts/libmakepkg/tidy.sh.in @@ -47,11 +47,6 @@ tidy_install() { tidy_staticlibs tidy_emptydirs - # warn about packaging issues - # TODO: move these to another module - warn_missing_backup - warn_build_references - # options that reduce file sizes tidy_zipman tidy_strip diff --git a/scripts/libmakepkg/tidy/build_references.sh.in b/scripts/libmakepkg/tidy/build_references.sh.in deleted file mode 100644 index 2611869a..00000000 --- a/scripts/libmakepkg/tidy/build_references.sh.in +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# -# build_references.sh - Warn about files containing references to build directories -# -# Copyright (c) 2013-2015 Pacman Development Team -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -[ -n "$LIBMAKEPKG_TIDY_BUILD_REFERENCES_SH" ] && return -LIBMAKEPKG_TIDY_BUILD_REFERENCES_SH=1 - -LIBRARY=${LIBRARY:-'@libmakepkgdir@'} - -source "$LIBRARY/util/message.sh" - - -warn_build_references() { - if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I "${srcdir}" ; then - warning "$(gettext "Package contains reference to %s")" "\$srcdir" - fi - if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I "${pkgdirbase}" ; then - warning "$(gettext "Package contains reference to %s")" "\$pkgdir" - fi -} diff --git a/scripts/libmakepkg/tidy/missing_backup.sh.in b/scripts/libmakepkg/tidy/missing_backup.sh.in deleted file mode 100644 index fae04a27..00000000 --- a/scripts/libmakepkg/tidy/missing_backup.sh.in +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# -# missing_backup.sh - Warn about missing files in the backup array -# -# Copyright (c) 2013-2015 Pacman Development Team -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -[ -n "$LIBMAKEPKG_TIDY_MISSING_BACKUP_SH" ] && return -LIBMAKEPKG_TIDY_MISSING_BACKUP_SH=1 - -LIBRARY=${LIBRARY:-'@libmakepkgdir@'} - -source "$LIBRARY/util/message.sh" - - -warn_missing_backup() { - local file - for file in "${backup[@]}"; do - if [[ ! -f $file ]]; then - warning "$(gettext "%s entry file not in package : %s")" "backup" "$file" - fi - done -} diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index c01e9399..f47dc358 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2891,6 +2891,7 @@ run_split_packaging() { backup_package_variables run_package $pkgname tidy_install + lint_package create_package create_debug_package restore_package_variables @@ -3348,6 +3349,7 @@ if (( INFAKEROOT )); then run_package fi tidy_install + lint_package create_package create_debug_package else diff --git a/scripts/po/POTFILES.in b/scripts/po/POTFILES.in index 007227a6..b25e53b6 100644 --- a/scripts/po/POTFILES.in +++ b/scripts/po/POTFILES.in @@ -8,11 +8,13 @@ scripts/pacman-key.sh.in scripts/pacman-optimize.sh.in scripts/pkgdelta.sh.in scripts/repo-add.sh.in -scripts/libmakepkg/tidy/build_references.sh.in +scripts/libmakepkg/lint_package.sh.in +scripts/libmakepkg/lint_package/build_references.sh.in +scripts/libmakepkg/lint_package/missing_backup.sh.in +scripts/libmakepkg/tidy.sh.in scripts/libmakepkg/tidy/docs.sh.in scripts/libmakepkg/tidy/emptydirs.sh.in scripts/libmakepkg/tidy/libtool.sh.in -scripts/libmakepkg/tidy/missing_backup.sh.in scripts/libmakepkg/tidy/optipng.sh.in scripts/libmakepkg/tidy/purge.sh.in scripts/libmakepkg/tidy/staticlibs.sh.in -- cgit v1.2.3-70-g09d2