Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: binnmu
X-Debbugs-Cc: grids...@packages.debian.org, m...@packages.debian.org, 
slas...@packages.debian.org, util-li...@packages.debian.org
Control: affects -1 + src:gridsite src:mutt src:slashem src:util-linux

Hi,

fakeroot bug #1023286 [1] is fixed now in unstable. Using the attached
script, I found four source packages that have non-root owned files for
amd64 and no files owned by a non-root user for i386. Rebuilding those
four source packages with fakeroot in unstable will fix this issue. I
didn't try the other three 32 bit architectures but assume that the
issue will be fixed there in the same way.

To prevent multi-arch:same version skews, gridsite and util-linux maybe have to
be rebuilt on ANY architecture?

Thanks!

cheers, josch

nmu gridsite_3.0.0~20180202git2fdbc6f-3+b4 . armel armhf i386 mipsel . unstable 
. -m "rebuild with fakeroot #1030638 fixed"
nmu mutt_2.2.9-1 . armel armhf i386 mipsel . unstable . -m "rebuild with 
fakeroot #1030638 fixed"
nmu slashem_0.0.7E7F3-10 . armel armhf i386 mipsel . unstable . -m "rebuild 
with fakeroot #1030638 fixed"
nmu util-linux_2.38.1-5 . armel armhf i386 mipsel . unstable . -m "rebuild with 
fakeroot #1030638 fixed"

[1] https://lists.debian.org/167595344742.2689605.6866779165899252490@localhost
#!/bin/sh

set -eu

if [ ! -e rootneeded.txt ]; then
        curl --silent 
https://trends.debian.net/rulesreqroot_unstable-packages.csv \
                | grep --invert-match ',adopted, fakeroot not needed' \
                | sed -ne 's/,.*//p' \
                | sort > rootneeded.txt
fi

if [ ! -e archany.txt ]; then
        apt-get indextargets --format '$(FILENAME)' 'Identifier: Sources' 
'Component: main' 'Origin: Debian' 'Suite: unstable' \
                | xargs /usr/lib/apt/apt-helper cat-file \
                | grep-dctrl --invert-match --exact-match --field Architecture 
all --no-field-names --show-field=Package \
                | sort > archany.txt
fi

comm -12 rootneeded.txt archany.txt > archanyrootneeded.txt

dlarchany() {
        arch="$1"
        while read -r src; do
                        echo "$src" >&2
                        mkdir tmp
                        apt-cache showsrc --only-source "$src" \
                                | grep-dctrl --show-field Binary 
--no-field-names '' \
                                | tr , '\n' \
                                | sort -u \
                                | while read -r bin; do
                                        [ -z "$bin" ] && continue
                                        # this fails if $bin is arch:all but we 
are not
                                        # interested in those anyways because 
those are built
                                        # on amd64
                                        env --chdir tmp apt-get download 
"$bin:$arch" >/dev/null || continue
                                        if dpkg-deb --fsys-tarfile tmp/*.deb \
                                                | tar tv \
                                                | grep --silent --invert-match 
' root/root '; then
                                                echo "$src"
                                                rm tmp/*.deb
                                                break
                                        fi
                                        rm tmp/*.deb
                                done
                        rmdir tmp
        done
}

dlarchany amd64 < archanyrootneeded.txt > nonrootownership_amd64.txt
dlarchany i386 < nonrootownership_amd64.txt > nonrootownership_i386.txt

comm -23 nonrootownership_amd64.txt nonrootownership_i386.txt

Reply via email to