I imported your noble debdiff and pushed to this branch: https://code.launchpad.net/~ahasenack/ubuntu/+source/lxc/+git/lxc/+ref/noble- lxc-drop-devel-2039873
If you run "git ubuntu clone lxc; cd lxc; git ubuntu remote add ahasenack; git checkout noble-lxc-drop-devel-2039873" you should have a local copy. Or if using just git, not git-ubuntu, follow the instructions from the URL above. Regarding the new d/t/build dep8 test: """ d/t/control: Tests: build Restrictions: allow-stderr superficial d/t/build: #!/bin/sh # autopkgtest check: very basic checks to ensure that LXC package is in a good shape set -eux # ensure that LXC_DEVEL is 0 grep "LXC_DEVEL" meson.build | grep 0 """ a) being marked as superficial won't block a migration if it fails (IIRC: at least, it's definitely not a hard error). And we do want this to "stop the line" if it fails, right? b) it's checking something from the source code, which could be later changed via d/rules during build. What I mean is that this is not the place users will get the value of LXC_DEVEL from. We should be checking the include file that gets installed on the user's system, either via grep, or preferably a small C program that includes that version.h file and checks the value of LXC_DEVEL. c) A DEP8 test is awesome, thanks for that. But it might too close to a release for such a check. Imagine an SRU gets sponsored, then reviewed, then accepted, and then we get the DEP8 result that says "oops, LXC_DEVEL=1 is leaking again". How about also checking it during package build? I won't block the upload on this, though, but it would be good to have I think, even if later. What are your thoughts on (a) and (b)? -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to lxc in Ubuntu. https://bugs.launchpad.net/bugs/2039873 Title: liblxc-dev was built with LXC_DEVEL=1 in Ubuntu 22.04 and later releases Status in lxc package in Ubuntu: Confirmed Status in lxc source package in Jammy: New Status in lxc source package in Mantic: New Status in lxc source package in Noble: Confirmed Bug description: [ Impact ] LXC 5.0.0 was built with LXC_DEVEL=1 set for Jammy. But for release build we should have LXC_DEVEL=0. LXC_DEVEL is a variable that appears in the /usr/include/lxc/version.h and then can be (and actually it is) used by other projects to detect if liblxc-dev is a development build or stable. Having LXC_DEVEL=1 makes problems for the users who want to build projects those are depend on liblxc from source (for example, LXD, go-lxc: https://github.com/canonical/lxd/pull/12420). Q: Why it was not a problem for so long? A: Because LXC API was stable for a long time, but recently we have extended liblxc API (https://github.com/lxc/lxc/pull/4260) and dependant package go-lxc was updated too (https://github.com/lxc/go-lxc/pull/166). This change was developed properly to be backward compatible with the old versions of liblxc. But, there is a problem. If LXC_DEVEL=1 then the macro check VERSION_AT_LEAST (https://github.com/lxc/go-lxc/blob/ccae595aa49e779f7ecc9250329967aa546acd31/lxc-binding.h#L7) is disabled. That's why we should *not* have LXC_DEVEL=1 for *any* release build of LXC. [ Test Plan ] Install liblxc-dev package and check /usr/include/lxc/version.h file LXC_DEVEL should be 0 [ Where problems could occur ] Theoretically, build of a software which depends on liblxc-dev may start to fail if it assumes that LXC_DEVEL is 1. [ Other Info ] - To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/2039873/+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