Merge ~racb/git-ubuntu:core24.v2 into git-ubuntu:main

Proposed by Robie Basak
Status: Merged
Merge reported by: Robie Basak
Merged at revision: 0e4b05960a2981c1c81f9f7a206406fc36974032
Proposed branch: ~racb/git-ubuntu:core24.v2
Merge into: git-ubuntu:main
Diff against target: 380 lines (+84/-64)
21 files modified
bin/self-test (+9/-3)
gitubuntu/importer.py (+1/-1)
snap-wrappers/wrappers/arch-specific (+1/-1)
snap-wrappers/wrappers/dch (+1/-1)
snap-wrappers/wrappers/dpkg-mergechangelogs (+1/-1)
snap-wrappers/wrappers/dpkg-parsechangelog (+1/-1)
snap-wrappers/wrappers/dpkg-source (+1/-1)
snap-wrappers/wrappers/experimental (+1/-1)
snap-wrappers/wrappers/gbp (+1/-1)
snap-wrappers/wrappers/git-ubuntu (+1/-1)
snap-wrappers/wrappers/merge-changelogs (+1/-1)
snap-wrappers/wrappers/pristine-bz2 (+1/-1)
snap-wrappers/wrappers/pristine-gz (+1/-1)
snap-wrappers/wrappers/pristine-tar (+1/-1)
snap-wrappers/wrappers/pristine-xz (+1/-1)
snap-wrappers/wrappers/quilt (+1/-1)
snap-wrappers/wrappers/reconstruct-changelog (+1/-1)
snap-wrappers/wrappers/self-test (+1/-1)
snap-wrappers/wrappers/ssh (+1/-1)
snap.sh (+5/-2)
snap/snapcraft.yaml (+52/-41)
Reviewer Review Type Date Requested Status
Server Team CI bot continuous-integration Approve
Canonical Server Reporter Pending
Review via email: mp+475009@code.launchpad.net

This proposal supersedes a proposal from 2024-10-14.

Description of the change

This is likely to fail CI, since I think CI is hardcoded to Focal-ness. I tested this locally using a fresh Noble VM using the same hooks that CI uses. Before landing, I intend to switch CI over from Focal to Noble, but that of course will cause CI for anything prior to this branch merged to fail. So I'll wait to do this until just before merging. Please review first!

It doesn't seem worth parameterising this in CI for an event that occurs not more than once every two years (four in this case).

To post a comment you must log in.
Revision history for this message
Server Team CI bot (server-team-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:cab5296d075c3a959317097c264eba33bc9bc6c1
https://jenkins.canonical.com/server-team/job/git-ubuntu-ci/55/
Executed test runs:
    SUCCESS: VM Setup
    FAILED: Build

Click here to trigger a rebuild:
https://jenkins.canonical.com/server-team/job/git-ubuntu-ci/55//rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Robie Basak (racb) wrote :

I realised I'd left "wip: snap: temporarily disable deb tests" so I dropped that, pushed a new branch core24.v2, and superseded the old MP. This way the old branch is preserved as that's the one that users are testing via latest/edge/core24. This change won't invalidate their tests though, and I'll make sure the same tests but deb-based are also passing before landing this.

Revision history for this message
Server Team CI bot (server-team-bot) wrote :

FAILED: Continuous integration, rev:0e4b05960a2981c1c81f9f7a206406fc36974032
https://jenkins.canonical.com/server-team/job/git-ubuntu-ci/56/
Executed test runs:
    SUCCESS: VM Setup
    FAILED: Build

Click here to trigger a rebuild:
https://jenkins.canonical.com/server-team/job/git-ubuntu-ci/56//rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Robie Basak (racb) wrote :

> I'll make sure the same tests but deb-based are also passing before landing this.

I confirmed that the tests still pass with this branch (0e4b059) with the deb build self-test invocation restored.

Revision history for this message
Server Team CI bot (server-team-bot) wrote :

PASSED: Continuous integration, rev:0e4b05960a2981c1c81f9f7a206406fc36974032
https://jenkins.canonical.com/server-team/job/git-ubuntu-ci/57/
Executed test runs:
    SUCCESS: VM Setup
    SUCCESS: Build
    SUCCESS: VM Reset
    SUCCESS: Unit Tests
    IN_PROGRESS: Declarative: Post Actions

Click here to trigger a rebuild:
https://jenkins.canonical.com/server-team/job/git-ubuntu-ci/57//rebuild

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/bin/self-test b/bin/self-test
index e7ae13a..a0b33b4 100755
--- a/bin/self-test
+++ b/bin/self-test
@@ -1,4 +1,5 @@
1#!/bin/bash1#!/bin/bash --noprofile --norc
2unset command_not_found_handle
23
3function die() {4function die() {
4 echo "Error: ${*}" 1>&25 echo "Error: ${*}" 1>&2
@@ -127,8 +128,8 @@ if [ -z "$TEST_SYSTEM_TREE" ]; then
127 then128 then
128 echo "pip3 found all required dependencies"129 echo "pip3 found all required dependencies"
129 else130 else
130 echo "pip check failed; self test will fail"131 echo "pip check failed but ignoring due to LP: #2084358"
131 retval=1132 # retval=1
132 fi133 fi
133fi134fi
134135
@@ -196,4 +197,9 @@ else
196 retval=1197 retval=1
197fi198fi
198199
200if [ "$retval" -eq 0 ]; then
201 echo "Overall self-test: PASS"
202else
203 echo "Overall self-test: FAIL"
204fi
199exit ${retval}205exit ${retval}
diff --git a/gitubuntu/importer.py b/gitubuntu/importer.py
index a50c3e6..0a51b38 100644
--- a/gitubuntu/importer.py
+++ b/gitubuntu/importer.py
@@ -796,9 +796,9 @@ def import_orig(repo, dsc, namespace, version, dist):
796 raise GitUbuntuImportOrigError('Unable to find tarball: '796 raise GitUbuntuImportOrigError('Unable to find tarball: '
797 '%s' % [p for p in orig_paths if not os.path.exists(p)])797 '%s' % [p for p in orig_paths if not os.path.exists(p)])
798798
799 oldcwd = os.getcwd()
799 try:800 try:
800 with repo.pristine_tar_branches(dist, namespace):801 with repo.pristine_tar_branches(dist, namespace):
801 oldcwd = os.getcwd()
802 # gbp does not support running from arbitrary git trees or802 # gbp does not support running from arbitrary git trees or
803 # working directories803 # working directories
804 # https://github.com/agx/git-buildpackage/pull/16804 # https://github.com/agx/git-buildpackage/pull/16
diff --git a/snap-wrappers/wrappers/arch-specific b/snap-wrappers/wrappers/arch-specific
index 3adc943..aab4bea 100644
--- a/snap-wrappers/wrappers/arch-specific
+++ b/snap-wrappers/wrappers/arch-specific
@@ -18,4 +18,4 @@ case "$SNAP_ARCH" in
18 ;;18 ;;
19esac19esac
2020
21export PERL5LIB="$SNAP/usr/share/perl5:$SNAP/usr/share/perl/5.30:$SNAP/usr/lib/$triplet/perl-base:$SNAP/usr/lib/$triplet/perl/5.30.0:$SNAP/usr/lib/$triplet/perl5/5.30"21export PERL5LIB="$SNAP/usr/share/perl5:$SNAP/usr/share/perl/5.38:$SNAP/usr/lib/$triplet/perl-base:$SNAP/usr/lib/$triplet/perl/5.38:$SNAP/usr/lib/$triplet/perl5/5.38"
diff --git a/snap-wrappers/wrappers/dch b/snap-wrappers/wrappers/dch
index ebac1a5..012a99b 100755
--- a/snap-wrappers/wrappers/dch
+++ b/snap-wrappers/wrappers/dch
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/dpkg-mergechangelogs b/snap-wrappers/wrappers/dpkg-mergechangelogs
index 7974915..0d942e4 100755
--- a/snap-wrappers/wrappers/dpkg-mergechangelogs
+++ b/snap-wrappers/wrappers/dpkg-mergechangelogs
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/dpkg-parsechangelog b/snap-wrappers/wrappers/dpkg-parsechangelog
index 7f92bdd..473d815 100755
--- a/snap-wrappers/wrappers/dpkg-parsechangelog
+++ b/snap-wrappers/wrappers/dpkg-parsechangelog
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/dpkg-source b/snap-wrappers/wrappers/dpkg-source
index 203bc37..f63daff 100755
--- a/snap-wrappers/wrappers/dpkg-source
+++ b/snap-wrappers/wrappers/dpkg-source
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/experimental b/snap-wrappers/wrappers/experimental
index 78be239..8b77a8e 100755
--- a/snap-wrappers/wrappers/experimental
+++ b/snap-wrappers/wrappers/experimental
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/gbp b/snap-wrappers/wrappers/gbp
index 453ceca..0e29acf 100755
--- a/snap-wrappers/wrappers/gbp
+++ b/snap-wrappers/wrappers/gbp
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/git-ubuntu b/snap-wrappers/wrappers/git-ubuntu
index 0f2c241..318dab8 100755
--- a/snap-wrappers/wrappers/git-ubuntu
+++ b/snap-wrappers/wrappers/git-ubuntu
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/merge-changelogs b/snap-wrappers/wrappers/merge-changelogs
index 4823e70..fb505f1 100755
--- a/snap-wrappers/wrappers/merge-changelogs
+++ b/snap-wrappers/wrappers/merge-changelogs
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/pristine-bz2 b/snap-wrappers/wrappers/pristine-bz2
index e6f10c7..1d01dca 100755
--- a/snap-wrappers/wrappers/pristine-bz2
+++ b/snap-wrappers/wrappers/pristine-bz2
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/pristine-gz b/snap-wrappers/wrappers/pristine-gz
index 3876e7a..fa441c3 100755
--- a/snap-wrappers/wrappers/pristine-gz
+++ b/snap-wrappers/wrappers/pristine-gz
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/pristine-tar b/snap-wrappers/wrappers/pristine-tar
index 2b163a9..e25ef2f 100755
--- a/snap-wrappers/wrappers/pristine-tar
+++ b/snap-wrappers/wrappers/pristine-tar
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/pristine-xz b/snap-wrappers/wrappers/pristine-xz
index 4250bbb..334397c 100755
--- a/snap-wrappers/wrappers/pristine-xz
+++ b/snap-wrappers/wrappers/pristine-xz
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/quilt b/snap-wrappers/wrappers/quilt
index 55a9bd1..12646c7 100755
--- a/snap-wrappers/wrappers/quilt
+++ b/snap-wrappers/wrappers/quilt
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/reconstruct-changelog b/snap-wrappers/wrappers/reconstruct-changelog
index cd1bcad..54be9f0 100755
--- a/snap-wrappers/wrappers/reconstruct-changelog
+++ b/snap-wrappers/wrappers/reconstruct-changelog
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/self-test b/snap-wrappers/wrappers/self-test
index 9a37958..7495f89 100755
--- a/snap-wrappers/wrappers/self-test
+++ b/snap-wrappers/wrappers/self-test
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap-wrappers/wrappers/ssh b/snap-wrappers/wrappers/ssh
index 0cc8986..79ca149 100755
--- a/snap-wrappers/wrappers/ssh
+++ b/snap-wrappers/wrappers/ssh
@@ -1,4 +1,4 @@
1#!/snap/git-ubuntu/current/bin/bash1#!/snap/git-ubuntu/current/usr/bin/sh
22
3. "$SNAP/wrappers/arch-specific"3. "$SNAP/wrappers/arch-specific"
44
diff --git a/snap.sh b/snap.sh
index bf7b689..7817f56 100644
--- a/snap.sh
+++ b/snap.sh
@@ -27,6 +27,7 @@ sudo apt-get install -y --no-install-recommends \
27 apt-utils \27 apt-utils \
28 devscripts \28 devscripts \
29 equivs \29 equivs \
30 fakeroot \
30 python3 \31 python3 \
31 python3-yaml32 python3-yaml
32sudo snap install --classic snapcraft33sudo snap install --classic snapcraft
@@ -47,7 +48,7 @@ mk-build-deps
47# --allow-downgrades is helpful for development of this script because it48# --allow-downgrades is helpful for development of this script because it
48# ensures that the build dependency package gets updated regardless of the49# ensures that the build dependency package gets updated regardless of the
49# previous version used. In production it is a no-op.50# previous version used. In production it is a no-op.
50sudo apt-get install -y --allow-downgrades ./git-ubuntu-build-deps_${deb_version}_all.deb51sudo apt-get install -y --allow-downgrades --no-install-recommends ./git-ubuntu-build-deps_${deb_version}_all.deb
51debian/rules build52debian/rules build
52fakeroot debian/rules binary53fakeroot debian/rules binary
5354
@@ -101,4 +102,6 @@ with open('snap/snapcraft.yaml', 'w') as f:
101EOT102EOT
102103
103# Build the snap itself104# Build the snap itself
104snapcraft --destructive-mode105# Using sudo as a workaround for
106# https://github.com/canonical/snapcraft/issues/5113
107sudo snapcraft --destructive-mode
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index ec194d2..1d57584 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -4,7 +4,7 @@ summary: Ubuntu development git tooling
4description: Maintain an Ubuntu source package in a git tree4description: Maintain an Ubuntu source package in a git tree
5confinement: classic5confinement: classic
6grade: stable6grade: stable
7base: core207base: core24
88
9environment:9environment:
10 DPKG_DATADIR: "$SNAP/usr/share/dpkg"10 DPKG_DATADIR: "$SNAP/usr/share/dpkg"
@@ -33,65 +33,68 @@ apps:
3333
34parts:34parts:
35 git-ubuntu:35 git-ubuntu:
36 build-attributes: [enable-patchelf]
36 plugin: nil37 plugin: nil
37 override-prime: |38 # bash chmod is a workaround for
38 snapcraftctl prime39 # https://github.com/canonical/snapcraft/issues/5114
39 ln -s mawk usr/bin/awk40 override-stage: |
41 craftctl default
42 chmod 755 bin/bash
40 stage:43 stage:
41 # Remove etc/rmt due to:44 # Remove etc/rmt due to:
42 # The store was unable to accept this snap.45 # The store was unable to accept this snap.
43 # - package contains external symlinks: etc/rmt46 # - package contains external symlinks: etc/rmt
44 - -etc/rmt47 - -etc/rmt
45 stage-packages:48 stage-packages:
46 - perl-base49 - awk
47 - git-ubuntu50 - bash
51 - bzip2
52 - coreutils
53 - dash
48 - debian-keyring54 - debian-keyring
55 - dpkg
56 - dpkg-dev
57 - findutils
49 - git58 - git
50 - git-buildpackage59 - git-buildpackage
60 - git-ubuntu
61 - gpgv
62 - grep
63 - gzip
64 - libpython3-stdlib
65 - libpython3.12-minimal
66 - libpython3.12-stdlib
67 - mawk
68 - perl-base
51 - pristine-tar69 - pristine-tar
52 - pylint70 - pylint
53 - quilt
54 - ubuntu-dev-tools
55 - ubuntu-keyring
56 - libpython3-stdlib
57 - libpython3.8-stdlib
58 - libpython3.8-minimal
59 - python3-pip
60 - python3-setuptools
61 - python3-wheel
62 - python3-venv
63 - python3-minimal
64 - python3-distutils
65 - python3-pkg-resources
66 - python3.8-minimal
67 - python3-six
68 - python3-chardet
69 - python3-oauthlib
70 - python3-cffi-backend
71 - python3-attr71 - python3-attr
72 - python3-more-itertools72 - python3-cairo # required by python3-gi
73 - python3-cffi-backend
74 - python3-chardet
73 - python3-cryptography # required by python3-secretstorage75 - python3-cryptography # required by python3-secretstorage
74 - python3-gi # required by python3-secretstorage76 - python3-gi # required by python3-secretstorage
75 - python3-cairo # required by python3-gi77 - python3-minimal
78 - python3-more-itertools
79 - python3-oauthlib
80 - python3-pbr # required by python3-tenacity
81 - python3-pip
82 - python3-pkg-resources
76 - python3-secretstorage83 - python3-secretstorage
77 - python3-testresources84 - python3-setuptools
85 - python3-six
78 - python3-tenacity86 - python3-tenacity
79 - python3-pbr # required by python3-tenacity87 - python3-testresources
80 - grep88 - python3-venv
81 - coreutils89 - python3-wheel
82 - gzip90 - python3.12-minimal
83 - bzip291 - quilt
84 - xz-utils
85 - tar
86 - sed92 - sed
87 - bash93 - tar
94 - ubuntu-dev-tools
95 - ubuntu-keyring
88 - util-linux96 - util-linux
89 - awk97 - xz-utils
90 - mawk
91 - findutils
92 - dpkg
93 - dpkg-dev
94 - gpgv
95 wrappers:98 wrappers:
96 source: snap-wrappers/99 source: snap-wrappers/
97 plugin: dump100 plugin: dump
@@ -108,3 +111,11 @@ parts:
108 wrappers/pristine-gz: usr/local/bin/pristine-gz111 wrappers/pristine-gz: usr/local/bin/pristine-gz
109 wrappers/pristine-bz2: usr/local/bin/pristine-bz2112 wrappers/pristine-bz2: usr/local/bin/pristine-bz2
110 wrappers/dch: usr/local/bin/dch113 wrappers/dch: usr/local/bin/dch
114 awk-symlink:
115 plugin: nil
116 override-stage: |
117 craftctl default
118 mkdir -p usr/bin
119 ln -s mawk usr/bin/awk
120 prime:
121 - usr/bin/awk

Subscribers

People subscribed via source and target branches