Bug 36381 - Ensure that all i386 packages have been built for amd64
Ensure that all i386 packages have been built for amd64
Status: NEW
Product: UCS Test
Classification: Unclassified
Component: General
unspecified
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS maintainers
:
Depends on: 36369
Blocks:
  Show dependency treegraph
 
Reported: 2014-11-01 15:36 CET by Stefan Gohmann
Modified: 2019-03-11 16:31 CET (History)
3 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Check APT repository for consistent packages (4.50 KB, text/plain)
2014-11-03 07:25 CET, Philipp Hahn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2014-11-01 15:36:43 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!)
Comment 1 Philipp Hahn univentionstaff 2014-11-03 07:25:43 CET
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)
Comment 2 Florian Best univentionstaff 2019-03-11 13:08:19 CET
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'
Comment 3 Florian Best univentionstaff 2019-03-11 13:32:34 CET
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'
Comment 4 Philipp Hahn univentionstaff 2019-03-11 16:31:02 CET
(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"!