From 11e36e834b4cfc470c730c261524c24bf65e2bbc Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 28 May 2015 11:37:00 +0000 Subject: [PATCH] rpmdist.mk: Make rpm-[un]install work on Debian Make rpm-install and rpm-uninstall work on Debian, sort of. Signed-off-by: Jan Lindemann --- Makefile | 1 + make/rpmdist.mk | 28 ++++++++++++++++------------ scripts/dpm.sh | 9 +++++---- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index dbdbe9b2..ceee960c 100644 --- a/Makefile +++ b/Makefile @@ -53,3 +53,4 @@ SYMBOLS: $(LIB_A) check_symversion: $(symversion) | diff SYMBOLS - | sed '/^ /dev/null 2>&1 ; then \ + if ! $(RPM) -q `basename $$p | $(SED) "s/[._]$(RPM_ARCH)\.$(RPM_SUFFIX)//; s/_\([0-9.-]\+\)$$/-\1/"` > /dev/null 2>&1 ; then \ echo + installing $$p ;\ - sudo /bin/rpm -U $$p; \ + sudo $(RPM) -U $$p; \ fi; \ done touch $@ -rpmupdate.dist: $(DIST_PCKG_RPM) - @set -e; for p in $^; do \ - echo + updating $$p ;\ - sudo /bin/rpm -U --replacepkgs --replacefiles $$p; \ - done - touch $@ +#rpmupdate.dist: $(DIST_PCKG_RPM) +# @set -e; for p in $^; do \ +# echo + updating $$p ;\ +# sudo /bin/rpm -U --replacepkgs --replacefiles $$p; \ +# done +# touch $@ rpmuninstall.dist: @set -e; for s in devel run; do \ - if /bin/rpm -q $(RPM_PROJECT)-$$s > /dev/null 2>&1 ; then \ + if $(RPM) -q $(RPM_PROJECT)-$$s > /dev/null 2>&1 ; then \ echo + removing $(RPM_PROJECT)-$$s ;\ - sudo /bin/rpm -e $(RPM_PROJECT)-$$s --nodeps --allmatches; \ + sudo $(RPM) -e $(RPM_PROJECT)-$$s --nodeps --allmatches; \ fi; \ done rm -f rpminstall.dist diff --git a/scripts/dpm.sh b/scripts/dpm.sh index 1ae96ddf..d60c2571 100644 --- a/scripts/dpm.sh +++ b/scripts/dpm.sh @@ -34,7 +34,8 @@ cmd_update() cmd_erase() { - $dpkg -r $1 + #$dpkg -r $1 + $dpkg --purge $1 } cmd_query() @@ -46,9 +47,9 @@ cmd_query() local p=`echo $1 | sed 's/-[0-9.-]\+$//'` local v=`echo $1 | sed "s/$p-*//"` - local ip=`dpkg-query -W -f '${Package}' $p` - [ $? != 0 ] && exit 1 - local iv=`dpkg-query -W -f '${Version}' $p` + local ip=`dpkg-query -W -f '${Package}' $p >/dev/null 2>&1` + [ $? != 0 -o -z "$ip" ] && exit 1 + local iv=`dpkg-query -W -f '${Version}' $p >/dev/null 2>&1` [ "$v" ] && { [ "$v" != "$iv" ] && { echo "tried $1, installed version is $iv" >&2