Bug#877813: reprotest: regression between 0.7.1 and 0.7.2

gregor herrmann gregoa at debian.org
Thu Oct 5 22:38:05 UTC 2017


On Thu, 05 Oct 2017 22:16:00 +0000, Ximin Luo wrote:

> gregor herrmann:
> > [..]> dpkg-buildpackage: error: fakeroot not found, either install the fakeroot
> > package, specify a command with the -r option, or run this as root
> > [..]
> > 
> > This seems to be related to the "sudo" use in the output above (or
> > the funny output in the first line?), or
> > 
> >   * Improve the dsc+schroot preset to run builds as non-root.
> > 
> > in the changelog, or 62416ab in git.
> > 
> > After that, my python knowledge and domain knowledge ends; but
> > unfortunately this means that reprotest 0.7.2 is unusable for me.
> > 

> Hi gregor, does it work if log into your "default" schroot and
> install the "fakeroot" package?

Thanks for your super-fast reply.

Unfortunately, the answer is no:

After installing fakeroot in the schroot chroot and upgrading
reprotest again to 0.7.2 the result is -- hm, well different than
before. The first build succeeds, the second aborts with

package 1:

#v+
dpkg-buildpackage: info: binary-only upload (no source included)
copying /tmp/autopkgtest.uaX6su/artifacts-control/ back from virtual server's /tmp/tmp0i8yh6gh/control
build "experiment-1": vary environment, FIX build_path, FIX user_group, vary fileordering, vary home, vary kernel, vary locales, vary exec_path, vary time, vary timezone, vary umask
copying . over to virtual server's /tmp/autopkgtest.uaX6su/build-experiment-1/
starting build with source directory: /tmp/autopkgtest.uaX6su/build-experiment-1/, artifact pattern: ./../*.deb
Note, using directory './.' to get the build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
executing: if ( mv /tmp/autopkgtest.uaX6su/build-experiment-1/ /tmp/autopkgtest.uaX6su/const_build_path && mv /tmp/autopkgtest.uaX6su/const_build_path/ /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ && mkdir -p /tmp/autopkgtest.uaX6su/const_build_path/ && disorderfs --shuffle-dirents=yes /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ /tmp/autopkgtest.uaX6su/const_build_path/ && umask 0002 && export REPROTEST_BUILD_PATH=/tmp/autopkgtest.uaX6su/const_build_path/ && export REPROTEST_UMASK=$(umask) && faketime +373days+7hours+13minutes linux32 sh -ec 'cd "$REPROTEST_BUILD_PATH"; unset REPROTEST_BUILD_PATH; umask "$REPROTEST_UMASK"; unset REPROTEST_UMASK; 
        if [ "$(id -u)" = 0 ]; then
            sudo -E -u "$LOGNAME" sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        else
            sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        fi
        ' ); then
    ( __c=0; export PATH="/tmp/autopkgtest.uaX6su/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path /tmp/autopkgtest.uaX6su/build-experiment-1/ || __c=$?; exit $__c; );
else
    __x=$?;
    if ( __c=0; export PATH="/tmp/autopkgtest.uaX6su/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path /tmp/autopkgtest.uaX6su/build-experiment-1/ || __c=$?; exit $__c; ); then exit $__x; else
        echo >&2; "cleanup failed with exit code $?"; exit $__x;
    fi;
fi

disorderfs: shuffling dirents
disorderfs: reversing dirents
sudo: Î޷¨½âÎöÖ÷»ú£ºjadzia
tail: Î޷¨´ò¿ª'debian/changelog' ¶ÁȡÊý¾: ȨÏ޲»¹»
dpkg-buildpackage: erreur: fin de debian/changelog a produit une erreur de sortie de type 1
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 720, in run
    return 0 if check_func(*check_args) else 1
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 332, in check
    local_dists = [proc.send(nv) for nv in zip(bnames, build_variations)]
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 332, in <listcomp>
    local_dists = [proc.send(nv) for nv in zip(bnames, build_variations)]
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 298, in corun_builds
    bctx.run_build(testbed, build, artifact_pattern, testbed_build_pre)
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 186, in run_build
    kind='build')
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 61, in check_exec2
    adtlog.AutopkgtestError)
  File "/usr/lib/python3/dist-packages/reprotest/lib/adt_testbed.py", line 370, in bomb
    raise _type(m)
reprotest.lib.adtlog.AutopkgtestError: "sh -ec if ( mv /tmp/autopkgtest.uaX6su/build-experiment-1/ /tmp/autopkgtest.uaX6su/const_build_path && mv /tmp/autopkgtest.uaX6su/const_build_path/ /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ && mkdir -p /tmp/autopkgtest.uaX6su/const_build_path/ && disorderfs --shuffle-dirents=yes /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ /tmp/autopkgtest.uaX6su/const_build_path/ && umask 0002 && export REPROTEST_BUILD_PATH=/tmp/autopkgtest.uaX6su/const_build_path/ && export REPROTEST_UMASK=$(umask) && faketime +373days+7hours+13minutes linux32 sh -ec 'cd "$REPROTEST_BUILD_PATH"; unset REPROTEST_BUILD_PATH; umask "$REPROTEST_UMASK"; unset REPROTEST_UMASK; 
        if [ "$(id -u)" = 0 ]; then
            sudo -E -u "$LOGNAME" sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        else
            sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        fi
        ' ); then
    ( __c=0; export PATH="/tmp/autopkgtest.uaX6su/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path /tmp/autopkgtest.uaX6su/build-experiment-1/ || __c=$?; exit $__c; );
else
    __x=$?;
    if ( __c=0; export PATH="/tmp/autopkgtest.uaX6su/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path-before-disorderfs/ /tmp/autopkgtest.uaX6su/const_build_path/ || __c=$?; mv /tmp/autopkgtest.uaX6su/const_build_path /tmp/autopkgtest.uaX6su/build-experiment-1/ || __c=$?; exit $__c; ); then exit $__x; else
        echo >&2; "cleanup failed with exit code $?"; exit $__x;
    fi;
fi
" failed with status 1
#v-

package 2:

#v+
dpkg-buildpackage: info: binary-only upload (no source included)
copying /tmp/autopkgtest.ESTMWe/artifacts-control/ back from virtual server's /tmp/tmpisswk1hj/control
build "experiment-1": vary environment, FIX build_path, FIX user_group, vary fileordering, vary home, vary kernel, vary locales, vary exec_path, vary time, vary timezone, vary umask
copying . over to virtual server's /tmp/autopkgtest.ESTMWe/build-experiment-1/
starting build with source directory: /tmp/autopkgtest.ESTMWe/build-experiment-1/, artifact pattern: ./../*.deb
Note, using directory './.' to get the build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
executing: if ( mv /tmp/autopkgtest.ESTMWe/build-experiment-1/ /tmp/autopkgtest.ESTMWe/const_build_path && mv /tmp/autopkgtest.ESTMWe/const_build_path/ /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ && mkdir -p /tmp/autopkgtest.ESTMWe/const_build_path/ && disorderfs --shuffle-dirents=yes /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ /tmp/autopkgtest.ESTMWe/const_build_path/ && umask 0002 && export REPROTEST_BUILD_PATH=/tmp/autopkgtest.ESTMWe/const_build_path/ && export REPROTEST_UMASK=$(umask) && faketime +373days+7hours+13minutes linux32 sh -ec 'cd "$REPROTEST_BUILD_PATH"; unset REPROTEST_BUILD_PATH; umask "$REPROTEST_UMASK"; unset REPROTEST_UMASK; 
        if [ "$(id -u)" = 0 ]; then
            sudo -E -u "$LOGNAME" sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        else
            sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        fi
        ' ); then
    ( __c=0; export PATH="/tmp/autopkgtest.ESTMWe/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path /tmp/autopkgtest.ESTMWe/build-experiment-1/ || __c=$?; exit $__c; );
else
    __x=$?;
    if ( __c=0; export PATH="/tmp/autopkgtest.ESTMWe/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path /tmp/autopkgtest.ESTMWe/build-experiment-1/ || __c=$?; exit $__c; ); then exit $__x; else
        echo >&2; "cleanup failed with exit code $?"; exit $__x;
    fi;
fi

disorderfs: shuffling dirents
disorderfs: reversing dirents
sudo: impossible de déterminer le nom de l'hôte jadzia
tail: no se puede abrir 'debian/changelog' para lectura: Permiso denegado
dpkg-buildpackage: error: tail of debian/changelog gave error exit status 1
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 720, in run
    return 0 if check_func(*check_args) else 1
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 332, in check
    local_dists = [proc.send(nv) for nv in zip(bnames, build_variations)]
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 332, in <listcomp>
    local_dists = [proc.send(nv) for nv in zip(bnames, build_variations)]
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 298, in corun_builds
    bctx.run_build(testbed, build, artifact_pattern, testbed_build_pre)
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 186, in run_build
    kind='build')
  File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 61, in check_exec2
    adtlog.AutopkgtestError)
  File "/usr/lib/python3/dist-packages/reprotest/lib/adt_testbed.py", line 370, in bomb
    raise _type(m)
reprotest.lib.adtlog.AutopkgtestError: "sh -ec if ( mv /tmp/autopkgtest.ESTMWe/build-experiment-1/ /tmp/autopkgtest.ESTMWe/const_build_path && mv /tmp/autopkgtest.ESTMWe/const_build_path/ /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ && mkdir -p /tmp/autopkgtest.ESTMWe/const_build_path/ && disorderfs --shuffle-dirents=yes /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ /tmp/autopkgtest.ESTMWe/const_build_path/ && umask 0002 && export REPROTEST_BUILD_PATH=/tmp/autopkgtest.ESTMWe/const_build_path/ && export REPROTEST_UMASK=$(umask) && faketime +373days+7hours+13minutes linux32 sh -ec 'cd "$REPROTEST_BUILD_PATH"; unset REPROTEST_BUILD_PATH; umask "$REPROTEST_UMASK"; unset REPROTEST_UMASK; 
        if [ "$(id -u)" = 0 ]; then
            sudo -E -u "$LOGNAME" sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        else
            sh -ec '"'"'dpkg-buildpackage --no-sign -b'"'"';
        fi
        ' ); then
    ( __c=0; export PATH="/tmp/autopkgtest.ESTMWe/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path /tmp/autopkgtest.ESTMWe/build-experiment-1/ || __c=$?; exit $__c; );
else
    __x=$?;
    if ( __c=0; export PATH="/tmp/autopkgtest.ESTMWe/bin:$PATH" || __c=$?; fusermount -u /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; rmdir /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path-before-disorderfs/ /tmp/autopkgtest.ESTMWe/const_build_path/ || __c=$?; mv /tmp/autopkgtest.ESTMWe/const_build_path /tmp/autopkgtest.ESTMWe/build-experiment-1/ || __c=$?; exit $__c; ); then exit $__x; else
        echo >&2; "cleanup failed with exit code $?"; exit $__x;
    fi;
fi
" failed with status 1
#v-

> I am not sure why it is not installed there already - I have it installed in my unstable-amd64-sbuild chroot.

Well, fakeroot is neither essential nor build-essential.
Besides that, my gut feeling (which may be very wrong) is more that
the problem is more in the sudo corner.
 
> It would be easy enough to have reprotest install it automatically,
> but I'm not sure that's the best solution since another tool is
> already supposed to take care of that.

Which one?


Cheers,
gregor


-- 
 .''`.  https://info.comodo.priv.at/ - Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Pink Floyd: Empty Spaces
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: Digital Signature
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20171006/9e1f526a/attachment.sig>


More information about the Reproducible-builds mailing list