Univention Bugzilla – Bug 36381
Ensure that all i386 packages have been built for amd64
Last modified: 2019-03-11 16:31:02 CET
We should also add a test case which checks whether every i386 package has been build for amd64 and vice versa. +++ This bug was initially created as a clone of Bug #36369 +++ Create a jenkins test that is based on/similar to the script attached to bug #35387. It should check all repos and compare package versions. The test has to fail if a lower package version number is found in a newer UCS release. +++ This bug was initially created as a clone of Bug #35387 +++ Package which have only seen NMUs between squeeze and wheezy will usually have a version number smaller than the version in 3.2. The reason is our internal build stamp which appended during build. Example: strace in wheezy has version 4.5.20-2.3 in wheezy and had 4.5.20-2 in squeeze. Due to our internal build stamp the package in UCS 3.2 uses 4.5.20-2.11.201104221439 which is higher than the wheezy version. Consequently the package is kept back. All version numbers in 4.0 and 3.2 need to be compared with a script and the version numbers adjusted and the packages rebuilt, e.g. as done in patches/strace/4.0-0-0-ucs/4.5.20-2.3/bump-version.patch (It must be ensured that he version in jessie is still higher!)
Created attachment 6276 [details] Check APT repository for consistent packages Since several week now I use the attached script to find inconsistencies in our build system, as it's currently doesn't handle the case of multiple build bots per architecture: the overwrite each others files so new builds get lost several times of the week. The attaches script currently only checks ucs_4.0-0 by reading the all files from apt/ucs_4.0-0 and packages/ucs_4.0-0. It complains if packages are missing for some architecture or are out-of-sync. It also checks that for each binary package only one version exists (and not multiple versions due to the build system bug). Use the --fast option which disables reading the Debian version by using "dpkg -I" instead of getting it from the file name (which doesn't include an epoch)
The script generates a lot of the following lines for various packages: ERROR:root:Info out-of-sync: erlang-et 19.2.1+dfsg-2+deb9u2 amd64 WARNING:root:Missing index file: [Errno 2] No such file or directory: '/var/univention/buildsystem2/packages/ucs_4.4-0/source/ucs-test_9.0.2-11A~4.4.0.201903111121.dsc.sources'
Also with the script from https://hutten.knut.univention.de/mediawiki/index.php/Philipp_memo/Release#Pre_release : fbest@omar: /var/univention/buildsystem2/apt/ucs_4.4-0 $ ~phahn/bin/repo-check-duplicate-debs2 INFO:bin:Scanning binary packages... INFO:src:Scanning source packages... Traceback (most recent call last): File "/home/phahn/bin/repo-check-duplicate-debs2", line 328, in <module> checker.main() File "/home/phahn/bin/repo-check-duplicate-debs2", line 71, in main self.find_src(path) File "/home/phahn/bin/repo-check-duplicate-debs2", line 158, in find_src section = self.section(pkg['Section']) File "/usr/lib/python2.7/dist-packages/debian/deb822.py", line 247, in __getitem__ value = self.__dict[key] KeyError: 'Section'
(In reply to Florian Best from comment #3) <https://hutten.knut.univention.de/mediawiki/index.php/Philipp_memo/Release#Pre_release> ... > fbest@omar: /var/univention/buildsystem2/apt/ucs_4.4-0 $ > ~phahn/bin/repo-check-duplicate-debs2 Use option "-s"!