#!/bin/sh -e # # brp-check_contents - check contents of files in buildroot # # Copyright (c) 2017 Dmitry V. Levin # 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 . . @RPMCONFIGDIR@/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