]> andersk Git - config-package-dev.git/blobdiff - check-files.mk
Release config-package-dev 4.14, and update maintainer and uploaders.
[config-package-dev.git] / check-files.mk
index e7e2ca6d24cc41fb34a99b1b92b6f4edbdd9902f..3675f13ad9826e88f4f9064af3e98e9f86601ca5 100644 (file)
@@ -38,8 +38,7 @@ include /usr/share/cdbs/1/rules/divert.mk
 
 DEB_CHECK_FILES_TMPDIR = debian/check_file_copies
 
-debian_check_files_source = $(if $(DEB_CHECK_FILES_SOURCE_$(1)),$(DEB_CHECK_FILES_SOURCE_$(1)),$(1))
-debian_check_files_check = $(call divert_files_replace_name,$(call debian_check_files_source,$(1)))
+debian_check_files_source = $(if $(DEB_CHECK_FILES_SOURCE_$(1)),$(DEB_CHECK_FILES_SOURCE_$(1)),$(call divert_files_replace_name,$(1)))
 
 debian_check_files = $(patsubst %,$(DEB_CHECK_FILES_TMPDIR)%,$(1))
 undebian_check_files = $(patsubst $(DEB_CHECK_FILES_TMPDIR)%,%,$(1))
@@ -59,21 +58,23 @@ $(call debian_check_files,%): $(call debian_check_files_tmp,%)
 #
 # There is some wrangling here because the formats of these sources differ.
 $(call debian_check_files_tmp,%): target = $(call undebian_check_files_tmp,$@)
-$(call debian_check_files_tmp,%): name = $(call debian_check_files_check,$(target))
+$(call debian_check_files_tmp,%): name = $(call debian_check_files_source,$(target))
 $(call debian_check_files_tmp,%): truename = $(shell /usr/sbin/dpkg-divert --truename $(name))
-$(call debian_check_files_tmp,%): package = $(shell dpkg -S $(name) | grep -v "^diversion by" | cut -f1 -d:)
+$(call debian_check_files_tmp,%): package = $(shell LC_ALL=C dpkg -S $(name) | sed -n '/^diversion by /! s/: .*$$// p')
 $(call debian_check_files_tmp,%): $(truename)
-       [ -n $(package) ]
+       [ -n "$(package)" ]
        mkdir -p $(@D)
        cp "$(truename)" $@
        set -e; \
+       md5sums="$$(dpkg-query --control-path $(package) md5sums 2>/dev/null)" || \
+           md5sums=/var/lib/dpkg/info/$(package).md5sums; \
        md5=$$(dpkg-query --showformat='$${Conffiles}\n' --show $(package) | \
            sed -n 's,^ $(name) \([0-9a-f]*\)$$,\1  $@, p'); \
        if [ -n "$$md5" ]; then \
            echo "$$md5" | md5sum -c; \
-       elif [ -e /var/lib/dpkg/info/$(package).md5sums ]; then \
+       elif [ -e "$$md5sums" ]; then \
            md5=$$(sed -n 's,^\([0-9a-f]*\)  $(patsubst /%,%,$(name))$$,\1  $@, p' \
-               /var/lib/dpkg/info/$(package).md5sums); \
+               "$$md5sums"); \
            [ -n "$$md5" ] && echo "$$md5" | md5sum -c; \
        else \
            echo "config-package-dev: warning: $(package) does not include md5sums!"; \
This page took 0.083385 seconds and 4 git commands to generate.