Merge remote-tracking branch 'mvo/feature/apt-ftparchive-srccache2' into debian/sid
authorMichael Vogt <mvo@debian.org>
Wed, 7 May 2014 16:10:01 +0000 (18:10 +0200)
committerMichael Vogt <mvo@debian.org>
Wed, 7 May 2014 16:10:01 +0000 (18:10 +0200)
1  2 
test/integration/framework

@@@ -128,7 -128,10 +128,10 @@@ dpkgcheckbuilddeps() 
  }
  gdb() {
        echo "gdb: run »$*«"
-       APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${LIBRARYPATH} command gdb ${BUILDDIRECTORY}/$1 --args "$@"
+       CMD="$1"
+       shift
+       APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${LIBRARYPATH} command gdb ${BUILDDIRECTORY}/$CMD --args ${BUILDDIRECTORY}/$CMD "$@"
  }
  gpg() {
        # see apt-key for the whole trickery. Setup is done in setupenvironment
@@@ -190,13 -193,7 +193,13 @@@ setupenvironment() 
        touch var/lib/dpkg/available
        mkdir -p usr/lib/apt
        ln -s ${METHODSDIR} usr/lib/apt/methods
 -      ln -s ${BUILDDIRECTORY}/../../debian/apt.conf.autoremove etc/apt/apt.conf.d/01autoremove
 +        # use the autoremove from the BUILDDIRECTORY if its there, otherwise
 +        # system
 +        if [ -e ${BUILDDIRECTORY}/../../debian/apt.conf.autoremove ]; then
 +          ln -s ${BUILDDIRECTORY}/../../debian/apt.conf.autoremove etc/apt/apt.conf.d/01autoremove
 +        else
 +          ln -s /etc/apt/apt.conf.d/01autoremove etc/apt/apt.conf.d/01autoremove
 +        fi
        cd ..
        local PACKAGESFILE=$(echo "$(basename $0)" | sed -e 's/^test-/Packages-/' -e 's/^skip-/Packages-/')
        if [ -f "${TESTDIRECTORY}/${PACKAGESFILE}" ]; then
@@@ -885,20 -882,6 +888,20 @@@ rewritesourceslist() 
        done
  }
  
 +# wait for up to 10s for a pid file to appear to avoid possible race
 +# when a helper is started and dosn't write the PID quick enough
 +waitforpidfile() {
 +        local PIDFILE="$1"
 +        for i in $(seq 10); do
 +                if test -s "$PIDFILE"; then
 +                        return 0
 +                fi
 +                sleep 1
 +        done
 +        msgdie "waiting for $PIDFILE failed"
 +        return 1
 +}
 +
  changetowebserver() {
        if [ "$1" != '--no-rewrite' ]; then
                rewritesourceslist 'http://localhost:8080/'
                        cat $LOG
                        false
                fi
 +                waitforpidfile aptwebserver.pid
                local PID="$(cat aptwebserver.pid)"
                if [ -z "$PID" ]; then
                        msgdie 'Could not fork aptwebserver successfully'
@@@ -940,11 -922,7 +943,11 @@@ accept = 443
  connect = 8080
  " > ${TMPWORKINGDIRECTORY}/stunnel.conf
        stunnel4 "${TMPWORKINGDIRECTORY}/stunnel.conf"
 +        waitforpidfile "${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid"
        local PID="$(cat ${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid)"
 +        if [ -z "$PID" ]; then
 +              msgdie 'Could not fork stunnel4 successfully'
 +      fi
        addtrap 'prefix' "kill ${PID};"
        rewritesourceslist 'https://localhost:4433/'
  }