1#!/bin/sh 2# 3# autogen.sh glue for hplip 4# 5# HPLIP used to have five or so different autotools trees. Upstream 6# has reduced it to two. Still, this script is capable of cleaning 7# just about any possible mess of autoconf files. 8# 9# BE CAREFUL with trees that are not completely automake-generated, 10# this script deletes all Makefile.in files it can find. 11# 12# Requires: automake 1.9, autoconf 2.57+ 13# Conflicts: autoconf 2.13 14set -e 15 16# Refresh GNU autotools toolchain. 17echo Cleaning autotools files... 18find -type d -name autom4te.cache -print0 | xargs -0 rm -rf \; 19find -type f \( -name missing -o -name install-sh -o -name mkinstalldirs \ 20 -o -name depcomp -o -name ltmain.sh -o -name configure \ 21 -o -name config.sub -o -name config.guess \ 22 -o -name Makefile.in \) -print0 | xargs -0 rm -f 23 24echo Running autoreconf... 25autoreconf --force --install 26 27# For the Debian package build 28test -d debian && { 29 # link these in Debian builds 30 rm -f config.sub config.guess 31 ln -s /usr/share/misc/config.sub . 32 ln -s /usr/share/misc/config.guess . 33 34 # refresh list of executable scripts, to avoid possible breakage if 35 # upstream tarball does not include the file or if it is mispackaged 36 # for whatever reason. 37 [ "$1" = "updateexec" ] && { 38 echo Generating list of executable files... 39 rm -f debian/executable.files 40 find -type f -perm +111 ! -name '.*' -fprint debian/executable.files 41 } 42 43 # Remove any files in upstream tarball that we don't have in the Debian 44 # package (because diff cannot remove files) 45 version=`dpkg-parsechangelog | awk '/Version:/ { print $2 }' | sed -e 's/-[^-]\+$//'` 46 source=`dpkg-parsechangelog | awk '/Source:/ { print $2 }' | tr -d ' '` 47 if test -r ../${source}_${version}.orig.tar.gz ; then 48 echo Generating list of files that should be removed... 49 rm -f debian/deletable.files 50 touch debian/deletable.files 51 [ -e debian/tmp ] && rm -rf debian/tmp 52 mkdir debian/tmp 53 ( cd debian/tmp ; tar -zxf ../../../${source}_${version}.orig.tar.gz ) 54 find debian/tmp/ -type f ! -name '.*' -print0 | xargs -0 -ri echo '{}' | \ 55 while read -r i ; do 56 if test -e "${i}" ; then 57 filename=$(echo "${i}" | sed -e 's#.*debian/tmp/[^/]\+/##') 58 test -e "${filename}" || echo "${filename}" >>debian/deletable.files 59 fi 60 done 61 rm -fr debian/tmp 62 else 63 echo Emptying list of files that should be deleted... 64 rm -f debian/deletable.files 65 touch debian/deletable.files 66 fi 67} 68 69exit 0 70