rpm-build/scripts/brp-check_contents.in
Arseny Maslennikov 6bfa4a28aa /usr/lib/rpm/functions: split away to rpmb-functions
In an environment created by `hsh --initroot-only`:
  $ for i in /usr/lib/rpm/*; do rpm -qf --qf='%{name}: '"$i"'\n' "$i"; done | grep '^rpm:'
  rpm: /usr/lib/rpm/0ldconfig.filetrigger
  rpm: /usr/lib/rpm/GROUPS
  rpm: /usr/lib/rpm/find-package
  rpm: /usr/lib/rpm/functions
  rpm: /usr/lib/rpm/macros.d
  rpm: /usr/lib/rpm/pdeath_execute
  rpm: /usr/lib/rpm/platform
  rpm: /usr/lib/rpm/posttrans-filetriggers
  rpm: /usr/lib/rpm/postupdate
  rpm: /usr/lib/rpm/rpmd
  rpm: /usr/lib/rpm/rpmdb_loadcvt
  rpm: /usr/lib/rpm/rpme
  rpm: /usr/lib/rpm/rpmi
  rpm: /usr/lib/rpm/rpmk
  rpm: /usr/lib/rpm/rpmpopt-4.13.0.1
  rpm: /usr/lib/rpm/rpmq
  rpm: /usr/lib/rpm/rpmu
  rpm: /usr/lib/rpm/rpmv

The `scripts/functions` file is provided from the rpm project in real
installations. Let's ensure scripts in this package use the functions
file from this package.
2024-03-03 23:38:10 +03:00

50 lines
1.6 KiB
Bash
Executable File

#!/bin/sh -e
#
# brp-check_contents - check contents of files in buildroot
#
# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
# All rights reserved.
#
# 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 <http://www.gnu.org/licenses/>.
. @RPMCONFIGDIR@/rpmb-functions
ValidateBuildRoot
cd "$RPM_BUILD_ROOT"
RPM_CHECK_CONTENTS_METHOD="${RPM_CHECK_CONTENTS_METHOD## }"
RPM_CHECK_CONTENTS_METHOD="${RPM_CHECK_CONTENTS_METHOD%% }"
: ${RPM_CHECK_CONTENTS_TOPDIR:=}
echo "Checking contents of files in $RPM_BUILD_ROOT/$RPM_CHECK_CONTENTS_TOPDIR ($RPM_CHECK_CONTENTS_METHOD)"
case "$RPM_CHECK_CONTENTS_METHOD" in
no|none|skip) exit 0 ;;
relaxed) report=Warning ;;
*) report=Fatal ;;
esac
[ -d "$RPM_BUILD_ROOT/$RPM_CHECK_CONTENTS_TOPDIR" ] || exit 0
bogus_re='/var/lib/(cache|lib|lock|log|nis|run|spool|www|yp)/'
if grep -Ere "$bogus_re" -- "$RPM_BUILD_ROOT/$RPM_CHECK_CONTENTS_TOPDIR"; then
$report "Contents of files listed above match pattern $bogus_re"
fi
# Run ancillary contents checks.
for f in @RPMCONFIGDIR@/*.check_contents; do
[ -f "$f" -a -x "$f" ] || continue
"$f"
done