Backport "CI: Fix more issues introduced by the removal of the extract-source job"

This backports merge request kernel-team/linux!1675

For debian/6.1/bookworm, keep using genorig.py to generate the orig
tarball.
This commit is contained in:
Ben Hutchings 2025-11-01 22:54:08 +01:00
parent 6105de0bfa
commit 846475e25d
2 changed files with 63 additions and 23 deletions

3
debian/changelog vendored
View file

@ -2,6 +2,9 @@ linux (6.1.153-2) UNRELEASED; urgency=medium
* d/b/genorig.py, d/rules, d/salsa-ci.yml: Put orig tarballs directly in ..
* d/salsa-ci.yml: Adjust filenames to allow source package name suffix
* d/salsa-ci.yml: Fix cache configuration for build job
* d/salsa-ci.yml: Move orig tarball generation to a separate job again
* d/salsa-ci.yml: Restore lintian checking of source package
-- Ben Hutchings <benh@debian.org> Sat, 01 Nov 2025 22:50:11 +0100

83
debian/salsa-ci.yml vendored
View file

@ -18,6 +18,7 @@ variables:
# Add stages for signed packages
stages:
- provisioning
- build
- publish
- test
@ -25,17 +26,67 @@ stages:
- build-signed
- test-signed
orig:
stage: provisioning
image: $SALSA_CI_IMAGES_BASE
cache:
key: "orig-${RELEASE}"
paths:
- orig
extends:
- .artifacts-default-expire
except:
variables:
- $CI_COMMIT_TAG != null
script:
# Move orig tarball cache
- |
if [ -d orig ]; then
mv orig/* ..
rmdir orig
fi
# Install dpkg-parsechangelog and dependencies of genorig.py
- apt-get update
- |
eatmydata apt-get install --no-install-recommends -y \
dpkg-dev \
git \
gpg \
gpgv \
python3 \
python3-debian
- source=$(dpkg-parsechangelog -SSource)
- version=$(dpkg-parsechangelog -SVersion)
- upstream_version=$(echo $version | sed 's/-[^-]*$//')
# We could use origtargz to download a tarball fom the archive if
# available or run uscan if not, but uscan is currently
# excessively slow for us (bug #1003251).
- |
if ! [ -f ../${source}_${upstream_version}.orig.tar.xz ]; then
debian/bin/genorig.py https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
fi
# Move orig tarballs back to where GitLab wants them
- mkdir orig
- mv ../*.orig.tar.* orig
# Our modified build jobs
build:
timeout: 3 hours
cache:
key: "orig-${RELEASE}"
paths:
- orig
key: "build-${BUILD_ARCH}_${HOST_ARCH}"
paths:
- .ccache
- key: "orig-${RELEASE}"
paths:
- orig
policy: pull
- key: "build-${BUILD_ARCH}_${HOST_ARCH}"
paths:
- .ccache
needs:
- job: orig
extends:
- .build-definition
except:
@ -53,14 +104,11 @@ build:
rmdir orig
fi
# Install dependencies of gencontrol.py, genorig.py, and debian/rules orig
# Install dependencies of gencontrol.py and debian/rules orig
- apt-get update
- |
eatmydata apt-get install --no-install-recommends -y \
debhelper \
git \
gpg \
gpgv \
kernel-wedge \
python3 \
python3-debian \
@ -72,13 +120,7 @@ build:
- version=$(dpkg-parsechangelog -SVersion)
- upstream_version=$(echo $version | sed 's/-[^-]*$//')
# Merge upstream source. We could use origtargz to download a
# tarball fom the archive if available or run uscan if not, but
# uscan is currently excessively slow for us (bug #1003251).
- |
if ! [ -f ../${source}_${upstream_version}.orig.tar.xz ]; then
debian/bin/genorig.py https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
fi
# Merge upstream source
- debian/rules orig
# Fudge source version and distribution *before* gencontrol.py
@ -99,12 +141,7 @@ build:
# Put packed source in artifacts
- dpkg-buildpackage -uc -us -S -sa -d
- mkdir -p ${WORKING_DIR}
- cp ../${source}_${upstream_version}.orig.tar.xz ${WORKING_DIR}
- mv ../${source}_${version}.dsc ../${source}_${version}.debian.tar.xz ${WORKING_DIR}
# Move orig tarballs back to where GitLab wants them
- mkdir ${CI_PROJECT_DIR}/orig
- cp -v ${WORKING_DIR}/*.orig.tar.* ${CI_PROJECT_DIR}/orig
- mv ../${source}_${upstream_version}.orig.tar.xz ../${source}_${version}.dsc ../${source}_${version}.debian.tar.xz ../${source}_${version}_source.buildinfo ../${source}_${version}_source.changes ${WORKING_DIR}
- chown -R 'salsa-ci:' ${WORKING_DIR} ${CCACHE_DIR}