i took a look at the other focal packages and put my thoughts. RELEASE=focal TRIGGER=python2.7/2.7.18-1~20.04.4
release arch package version exitcode triggers requester ------- ------- --------------------- ---------------------------- -------- -------------------------- --------- focal i386 dbus-python 1.2.16-1build1 14 python2.7/2.7.18-1~20.04.4 Has always been giving the exit code 14 ever since glibc/2.31-0ubuntu6 back in 2020 In hints as force-badtest https://git.launchpad.net/~ubuntu-release/britney/+git/hints-ubuntu/tree/ubuntu-release?h=focal#n230 focal i386 libxml2 2.9.10+dfsg-5ubuntu0.20.04.6 12 python2.7/2.7.18-1~20.04.4 Has been failing since glibc/2.30-0ubuntu3 in 2019 In hints as force-badtest https://git.launchpad.net/~ubuntu-release/britney/+git/hints-ubuntu/tree/ubuntu-release?h=focal#n236 focal arm64 llvm-toolchain-7 1:7.0.1-12 4 python2.7/2.7.18-1~20.04.4 focal armhf llvm-toolchain-7 1:7.0.1-12 4 python2.7/2.7.18-1~20.04.4 focal ppc64el llvm-toolchain-7 1:7.0.1-12 4 python2.7/2.7.18-1~20.04.4 This package has just never passed on any of these architectures. I'm not sure why it's not passing. focal amd64 mercurial 5.3.1-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal arm64 mercurial 5.3.1-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal armhf mercurial 5.3.1-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal i386 mercurial 5.3.1-1ubuntu1 12 python2.7/2.7.18-1~20.04.4 focal ppc64el mercurial 5.3.1-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal s390x mercurial 5.3.1-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 Mentioned by Andreas already focal amd64 pam-python 1.0.7-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal arm64 pam-python 1.0.7-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal armhf pam-python 1.0.7-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal ppc64el pam-python 1.0.7-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 focal s390x pam-python 1.0.7-1ubuntu1 4 python2.7/2.7.18-1~20.04.4 Mentioned by Andreas already focal i386 python-debian 0.1.36ubuntu1.1 12 python2.7/2.7.18-1~20.04.4 Fails due to unmet dependencies since glibc/2.30-0ubuntu3. I didn't notice anything in the hints. focal i386 python-pbr 5.4.5-0ubuntu1 12 python2.7/2.7.18-1~20.04.4 Fails due to unmet dependencies since glibc/2.30-0ubuntu3. I didn't notice anything in the hints. focal amd64 python2.7 2.7.18-1~20.04.4 4 python2.7/2.7.18-1~20.04.4 focal arm64 python2.7 2.7.18-1~20.04.4 4 python2.7/2.7.18-1~20.04.4 focal armhf python2.7 2.7.18-1~20.04.4 4 python2.7/2.7.18-1~20.04.4 focal i386 python2.7 2.7.18-1~20.04.4 4 python2.7/2.7.18-1~20.04.4 focal ppc64el python2.7 2.7.18-1~20.04.4 4 python2.7/2.7.18-1~20.04.4 focal s390x python2.7 2.7.18-1~20.04.4 4 python2.7/2.7.18-1~20.04.4 Mentioned in the comment above - seems to be the same tests are failing in the Jammy results, but jammy passes the overall test. I'm not sure currently about this and would like to dig into it a little bit. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to python2.7 in Ubuntu. https://bugs.launchpad.net/bugs/2002043 Title: Python extension modules get built using wrong compiler flags with python2 Status in python2.7 package in Ubuntu: Invalid Status in python2.7 source package in Bionic: Won't Fix Status in python2.7 source package in Focal: Fix Committed Status in python2.7 source package in Jammy: Fix Committed Status in python2.7 source package in Kinetic: Invalid Status in python2.7 source package in Lunar: Invalid Status in python2.7 source package in Mantic: Invalid Bug description: [ Impact ] When compiling Python extensions using Python2, CFLAGS optimization flags are dropped. This behavior has been caused by our update in this patch http://archive.ubuntu.com/ubuntu/pool/universe/p/python2.7/python2.7_2.7.18-1~20.04.3.diff.gz which differs from upstream. The fix modifies the portion of code in Lib/distutils/sysconfig.py which gets the cflags from the environments, and includes the dropped OPT flag from get_config_vars(). [ Test Plan ] There will be 2 separate tests for this bug: * Ensuring no-change rebuilds are not changed * Ensuring local builds are not changed unless environment variable is set Test 1) No-change rebuilds To test that no-change rebuilds are not changed, the package python- stdlib-extensions will be built against the new python2.7, and confirm the compiler flags are not altered. This will be a manual test and visual inspection of the build logs. Test 2) Functional test 1. Create test container $ lxc launch ubuntu:jammy jammy-2002043 $ lxc shell jammy-2002043 2. Install required packages For Jammy # apt update -y && apt install -y python2 python-pip For Focal # apt update -y && apt install -y python2 python-setuptools gcc 3. Create test files # mkdir testprog # cd testprog # cat >setup.py <<EOL from setuptools import setup, Extension setup( name="test", ext_modules=[Extension("test", sources=["testmodule.c"])], zip_safe=False ) EOL # cat >testmodule.c <<EOL #include <stdio.h> int main(void) { printf("This is test program"); return 0; } EOL 4. Compile a test program # python2 setup.py build_ext --inplace 5. Check CFLAGS # python2 -c "import sysconfig; print(sysconfig.get_config_var('CFLAGS'))" -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -ffile-prefix-map=/build/python2.7-W40Ff2/python2.7-2.7.18=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security 6. Check the flags used to compile the test wheel # strings build/lib.linux-x86_64-2.7/test.so | grep -- -O GNU GIMPLE 11.4.0 -mtune=generic -march=x86-64 -g -g -g -g -O2 -fno-openmp -fno-openacc -fcf-protection=full -fno-strict-aliasing -fwrapv -fstack-protector-strong -ffat-lto-objects -fstack-protector-strong -fPIC -fltrans 7. Install fixed python Once updated, this will simply be an apt update && apt upgrade # add-apt-repository ppa:mitchdz/python2.7-optimization-flags -y # apt install -y python2.7 # dpkg -s python2.7 | grep Version: Version: 2.7.18-13ubuntu1.2~jammy9 8. Clean build # rm -rf build/ test.so 9. Enable opt-in environment variable # export APPLY_LP2002043_UBUNTU_CFLAGS_WORKAROUND="" 9. Rebuild with new python2.7 installed # python2 setup.py build_ext --inplace 10. Check build flags # strings build/lib.linux-x86_64-2.7/test.so | grep -- -O GNU GIMPLE 11.4.0 -mtune=generic -march=x86-64 -g -g -g -g -O2 -O2 -fno-openmp -fno-openacc -fcf-protection=full -fno-strict-aliasing -fwrapv -fstack-protector-strong -ffat-lto-objects -fstack-protector-strong -fPIC -fltrans GNU C17 11.4.0 -mtune=generic -march=x86-64 -g -g -O2 -fno-strict-aliasing -fwrapv -flto -flto -ffat-lto-objects -fstack-protector-strong -fPIC -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection [ Where problems could occur ] * Changing optimization flags can cause a myriad of unattended side effects, but the change being opt-in means the users should be aware a change is being made * The change is opt-in, so an informative message is printed to the console to spread awareness of the issue and how to use the workaround. A questionably made CI/CD system might see the new console output and flag it as a failure, so it is important to choose wording carefully. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/2002043/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp