Merge ~danilogondolfo/ubuntu/+source/diffoscope:merge_mantic_1 into ubuntu/+source/diffoscope:debian/sid

Proposed by Danilo Egea Gondolfo
Status: Needs review
Proposed branch: ~danilogondolfo/ubuntu/+source/diffoscope:merge_mantic_1
Merge into: ubuntu/+source/diffoscope:debian/sid
Diff against target: 68 lines (+23/-1)
3 files modified
debian/changelog (+17/-0)
debian/control (+2/-1)
tests/comparators/test_arsc.py (+4/-0)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
git-ubuntu import Pending
Review via email: mp+446001@code.launchpad.net
To post a comment you must log in.
5004342... by Danilo Egea Gondolfo

Mark new test_arsc.py::test_differences xfail on
armhf, it passes locally but fails on the infrastructure,
pending further investigation

337450e... by Danilo Egea Gondolfo

Update maintainer

bf6c618... by Danilo Egea Gondolfo

Changelog

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Hi Danilo,

Did you follow the process described in https://github.com/canonical/ubuntu-maintainers-handbook/blob/main/PackageMerging.md?

If so, would you mind also pushing the tags generated through that merge process?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

While this misses the old delta as well, it is trivial enough (not like sudo) to have a look.

You link to LP: #2026151 which tracks the test failures in Ubuntu Infra - thanks!
Thanks for also retrying "The patch is still present because it's still failing on armhf."

* Changelog:
  - [+] changelog entry correct version and targeted codename
  - [+] changelog entries correct
  - [+] bug references correct
  - [+] update-maintainer has been run

* Merge - Indirect Changes:
  - [+] no upstream (=debian in this case) changes that need adaptation
  - [+] no further upstream version to consider
  - [+] debian changes look safe

* Merge - Old Delta:
  - [n/a] dropped changes are ok to be dropped
  - [+] nothing else to drop

* New Delta:
  - [+] no new patches added

* Git/Maintenance
  - [n/a] testcases added or not needed for this
  - [+] commits are properly split (more important on -dev than on SRUs)

* Build/Test (on the PPA I found from your bug):
  - [+] build is ok
  - [+] verified PPA package installs/uninstalls
  - [+] autopkgtest is fine (based on you testing the fix, I haven't seen it)
  - [+] sanity checks test fine

review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Sponsored with VCS tags, so next time out of git-ubuntu it will come with split git history \o/

$ dput ubuntu diffoscope_243ubuntu1_source.changes
Uploading diffoscope using ftp to ubuntu (host: upload.ubuntu.com; directory: /ubuntu)
running checksum: verify checksums before uploading
running updatemaintainer: Stop if ubuntu changes are without ubuntu maintainer.
running placeholderbug: Stop if using common placeholder numbers as bug reference.
running releasemismatch: Warn about mismatching suffixesg e.g. focal with a XX.YY not being 20.04
running check-debs: makes sure the upload contains a binary package
running required-fields: check whether a field is present and non-empty in the changes file
running gpg: check GnuPG signatures before the upload
running gitubuntu: Warn if uploading without git-ubuntu Vcs-* entries.
running badauthor: Stop if uploading with root@ or ubuntu@ email adresses.
running ppaforppaonly: Stop uploads to the archive with or to ppa without ~ppa suffix.
running nobug: Stop if uploading without any bug reference.
running suite-mismatch: check the target distribution for common errors
running supported-distribution: check whether the target distribution is currently supported (using distro-info)
{'allowed': ['release', 'proposed', 'backports', 'security'], 'known': ['release', 'proposed', 'updates', 'backports', 'security']}
Uploading diffoscope_243ubuntu1.dsc
Uploading diffoscope_243ubuntu1.tar.xz
Uploading diffoscope_243ubuntu1_source.buildinfo
Uploading diffoscope_243ubuntu1_source.changes

Revision history for this message
Danilo Egea Gondolfo (danilogondolfo) wrote :

Thank you, Christian.

I'm not sure what happened, but the build is failing because some binary files used by some tests are missing.

See https://git.launchpad.net/ubuntu/+source/diffoscope/commit/?id=5cdc4d6a9ceea850be325ddf933b6bd5226108cf

The diff between ubuntu/devel and debian/sid now contains this:

diff --git a/tests/data/elfmix2.a b/tests/data/elfmix2.a
deleted file mode 100644
index c0269b7..0000000
Binary files a/tests/data/elfmix2.a and /dev/null differ
diff --git a/tests/data/test1.a b/tests/data/test1.a
deleted file mode 100644
index 501ca17..0000000
Binary files a/tests/data/test1.a and /dev/null differ
diff --git a/tests/data/test1.o b/tests/data/test1.o
deleted file mode 100644
index a94647d..0000000
Binary files a/tests/data/test1.o and /dev/null differ
diff --git a/tests/data/test2.a b/tests/data/test2.a
deleted file mode 100644
index 4d6f65a..0000000
Binary files a/tests/data/test2.a and /dev/null differ
diff --git a/tests/data/test2.o b/tests/data/test2.o
deleted file mode 100644
index 1e0bb82..0000000
Binary files a/tests/data/test2.o and /dev/null differ

They are not present in the tarball you uploaded. Those deletions are not part of my MP.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

That is indeed odd, maybe a weird interaction due to being a native package plus delta.
I'll have a look ...

Yep I see the delta you mentioned.
But the directory I had when building that did not :-/?

Double checked the .dsc and .changes of the upload and they indeed had that unintended change.
While I can't yet think of how that was caused I know how to fix this up.

It also didn't map the import to the pushed VCS tags. So my theory really is going towards some unexpected interaction. Sorry @Danilo for this extra step, I'll upload a fixed version.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Download full text (5.0 KiB)

Yep, I can at least reproduce this issue.

What I uploaded was correct on disk and in git:

https://git.launchpad.net/~paelzer/ubuntu/+source/diffoscope/diff/?h=danilogondolfo_merge_mantic_1&id=bf6c6188d944806b516aabe65bf328d906768336&id2=202ad0b6515ef427291d5747406809c3fc11cc91

I recreated a branch meant to amend this issue.
https://git.launchpad.net/~paelzer/ubuntu/+source/diffoscope/diff/?h=fix-lost-test-files-mantic&id=0dd920ae38eb33c141858e0cd1d5ecaa0266ce1a&id2=202ad0b6515ef427291d5747406809c3fc11cc91

But as expected, other than the changelog diff that is the same.
Yet on buildpackage from that tree and checking debdiff I see:
...
Binary files /tmp/JqU_4VSXKy/diffoscope-243/tests/data/elfmix2.a and /tmp/tbGODW93AS/diffoscope-243ubuntu2/tests/data/elfmix2.a differ
Binary files /tmp/JqU_4VSXKy/diffoscope-243/tests/data/test1.a and /tmp/tbGODW93AS/diffoscope-243ubuntu2/tests/data/test1.a differ
Binary files /tmp/JqU_4VSXKy/diffoscope-243/tests/data/test1.o and /tmp/tbGODW93AS/diffoscope-243ubuntu2/tests/data/test1.o differ
Binary files /tmp/JqU_4VSXKy/diffoscope-243/tests/data/test2.a and /tmp/tbGODW93AS/diffoscope-243ubuntu2/tests/data/test2.a differ
Binary files /tmp/JqU_4VSXKy/diffoscope-243/tests/data/test2.o and /tmp/tbGODW93AS/diffoscope-243ubuntu2/tests/data/test2.o differ

I feel that this is either
a) something super weird proud to eventually have understood
b) something super embarrassing that I've forgotten about native packages and overlook now just waiting on my to facepalm hard

Well either way, it is not in there:
$ cd $(mktemp -d); pull-debian-source diffoscope &>/dev/null; tar tf diffoscope_243.tar.xz | grep elfmix2.a
diffoscope-243/tests/data/elfmix2.a
$ cd $(mktemp -d); pull-lp-source diffoscope &>/dev/null; tar tf diffoscope_243ubuntu1.tar.xz | grep elfmix2.a

This made me realize that it is very selective, look at this:
$ rm ../diffoscope_243ubuntu2.tar.xz; ll tests/data/elfmix*; dpkg-buildpackage -S -nc -I -i -d -sa -v240ubuntu1 $(git ubuntu prepare-upload args); tar tf ../diffoscope_243ubuntu2.tar.xz | grep elfmix
-rw-rw-r-- 1 paelzer paelzer 5280 Jul 10 14:38 tests/data/elfmix1.not_a
-rw-rw-r-- 1 paelzer paelzer 5280 Jul 11 07:22 tests/data/elfmix2.a
-rw-rw-r-- 1 paelzer paelzer 199 Jul 10 14:38 tests/data/elfmix_disassembly_expected_diff
-rw-rw-r-- 1 paelzer paelzer 154 Jul 10 14:38 tests/data/elfmix_mach_o_expected_diff__text
-rw-rw-r-- 1 paelzer paelzer 95 Jul 10 14:38 tests/data/elfmix_src_c_expected_diff
-rw-rw-r-- 1 paelzer paelzer 170 Jul 10 14:38 tests/data/elfmix_x_obj_expected_diff
-rw-rw-r-- 1 paelzer paelzer 167 Jul 10 14:38 tests/data/elfmix_x_obj_objdump_expected_diff
...
diffoscope/tests/data/elfmix1.not_a
diffoscope/tests/data/elfmix_disassembly_expected_diff
diffoscope/tests/data/elfmix_mach_o_expected_diff__text
diffoscope/tests/data/elfmix_src_c_expected_diff
diffoscope/tests/data/elfmix_x_obj_expected_diff
diffoscope/tests/data/elfmix_x_obj_objdump_expected_diff

And that made me realize that all the files that are missing are .a and .o files.
That looks like a build cleanup stage removing them by accident.

So let me check the set of usual arguments, best candidates are those in rega...

Read more...

Unmerged commits

bf6c618... by Danilo Egea Gondolfo

Changelog

337450e... by Danilo Egea Gondolfo

Update maintainer

5004342... by Danilo Egea Gondolfo

Mark new test_arsc.py::test_differences xfail on
armhf, it passes locally but fails on the infrastructure,
pending further investigation

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 27f4f47..1f2b0b1 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,12 @@
6+diffoscope (243ubuntu1) mantic; urgency=medium
7+
8+ * Merge with Debian unstable (LP: #2025887). Remaining changes:
9+ - Mark new test_arsc.py::test_differences xfail on
10+ armhf, it passes locally but fails on the infrastructure,
11+ pending further investigation. See LP: #2026151
12+
13+ -- Danilo Egea Gondolfo <danilo.egea.gondolfo@canonical.com> Tue, 04 Jul 2023 18:56:40 +0100
14+
15 diffoscope (243) unstable; urgency=medium
16
17 [ Chris Lamb ]
18@@ -32,6 +41,14 @@ diffoscope (241) unstable; urgency=medium
19
20 -- Chris Lamb <lamby@debian.org> Fri, 21 Apr 2023 09:26:15 +0100
21
22+diffoscope (240ubuntu1) lunar; urgency=medium
23+
24+ * Mark new test_arsc.py::test_differences xfail on
25+ armhf, it passes locally but fails on the infrastructure,
26+ pending further investigation
27+
28+ -- Graham Inggs <ginggs@ubuntu.com> Wed, 12 Apr 2023 06:27:18 +0000
29+
30 diffoscope (240) unstable; urgency=medium
31
32 [ Holger Levsen ]
33diff --git a/debian/control b/debian/control
34index bdf15ad..8ee4caa 100644
35--- a/debian/control
36+++ b/debian/control
37@@ -1,7 +1,8 @@
38 Source: diffoscope
39 Section: devel
40 Priority: optional
41-Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
42+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
43+XSBC-Original-Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
44 Uploaders:
45 Chris Lamb <lamby@debian.org>,
46 Holger Levsen <holger@debian.org>,
47diff --git a/tests/comparators/test_arsc.py b/tests/comparators/test_arsc.py
48index f7c3cc2..10d88f7 100644
49--- a/tests/comparators/test_arsc.py
50+++ b/tests/comparators/test_arsc.py
51@@ -17,6 +17,7 @@
52 # along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
53
54 import pytest
55+import platform
56
57 from diffoscope.config import Config
58 from diffoscope.comparators.arsc import ArscFile
59@@ -50,6 +51,9 @@ def check_arsc_differences(differences, expected_diff):
60 assert expected_diff == differences[0].unified_diff
61
62
63+@pytest.mark.xfail(
64+ "arm" in platform.machine(), reason="fails on armhf infrastructure"
65+)
66 @skip_unless_tools_exist("aapt2")
67 def test_differences(differences):
68 expected_diff = get_data("arsc_expected_diff")

Subscribers

People subscribed via source and target branches