Compare commits

...

10 Commits

Author SHA1 Message Date
James Pace dba1dcd682 Add changelog for 'my' release. 2022-12-27 09:24:31 -05:00
James Pace 537f11417b Add ci instructions. 2022-12-27 09:24:22 -05:00
James Pace 589f119c24 boot config should be looking in /boot for kernel and initrd. 2022-12-26 16:01:50 -05:00
Simon McVittie ba50228619 Release to unstable 2022-12-06 11:11:24 +00:00
Simon McVittie 0f32888091 Skip test-sysroot.js on s390x
Mitigates: #1025532
2022-12-06 11:08:51 +00:00
Simon McVittie b1232248f8 Release to unstable 2022-11-25 10:54:35 +00:00
Simon McVittie 66af7e8f1b Update changelog 2022-11-25 10:54:27 +00:00
Simon McVittie e9885d87f9 d/rules: Update for removal of libreaddir-rand.so LD_PRELOAD module 2022-11-25 10:54:05 +00:00
Simon McVittie c2f4eb5352 Add patch from Luca Bruno to fix FTBFS with current gpgme Debian packages 2022-11-25 10:54:05 +00:00
Simon McVittie b954e1db9a d/libostree-1-1.symbols: Update 2022-11-25 10:54:05 +00:00
13 changed files with 315 additions and 7 deletions

24
debian/changelog vendored
View File

@ -1,3 +1,27 @@
ostree (2022.7-j7s1) j7s-os; urgency=medium
* boot config should be looking in /boot for kernel and initrd.
-- James Pace <jpace121@gmail.com> Tue, 27 Dec 2022 13:51:36 +0000
ostree (2022.7-2) unstable; urgency=medium
* Skip test-sysroot.js on s390x (Mitigates: #1025532)
-- Simon McVittie <smcv@debian.org> Tue, 06 Dec 2022 11:11:05 +0000
ostree (2022.7-1) unstable; urgency=medium
* New upstream release
* d/copyright: Update
* d/libostree-1-1.symbols: Update
* Update Lintian overrides
* d/p/configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch:
Add patch from Luca Bruno to fix FTBFS with current gpgme Debian packages
* d/rules: Update for removal of libreaddir-rand.so LD_PRELOAD module
-- Simon McVittie <smcv@debian.org> Fri, 25 Nov 2022 10:54:28 +0000
ostree (2022.6-1) unstable; urgency=medium
* New upstream release

View File

@ -44,6 +44,7 @@ libostree-1.so.1 libostree-1-1 #MINVER#
LIBOSTREE_2022.2@LIBOSTREE_2022.2 2022.2
LIBOSTREE_2022.4@LIBOSTREE_2022.4 2022.4
LIBOSTREE_2022.5@LIBOSTREE_2022.5 2022.5
LIBOSTREE_2022.7@LIBOSTREE_2022.7 2022.7
ostree_async_progress_copy_state@LIBOSTREE_2019.6 2019.6
ostree_async_progress_finish@LIBOSTREE_2016.3 2016.4
ostree_async_progress_get@LIBOSTREE_2017.6 2017.6
@ -167,7 +168,9 @@ libostree-1.so.1 libostree-1-1 #MINVER#
ostree_kernel_args_append_if_missing@LIBOSTREE_2022.5 2022.5
ostree_kernel_args_append_proc_cmdline@LIBOSTREE_2019.3 2019.3
ostree_kernel_args_cleanup@LIBOSTREE_2019.3 2019.3
ostree_kernel_args_contains@LIBOSTREE_2022.7 2022.7
ostree_kernel_args_delete@LIBOSTREE_2019.3 2019.3
ostree_kernel_args_delete_if_present@LIBOSTREE_2022.7 2022.7
ostree_kernel_args_delete_key_entry@LIBOSTREE_2019.3 2019.3
ostree_kernel_args_free@LIBOSTREE_2019.3 2019.3
ostree_kernel_args_from_string@LIBOSTREE_2019.3 2019.3
@ -469,6 +472,7 @@ libostree-1.so.1 libostree-1-1 #MINVER#
ostree_sysroot_get_type@LIBOSTREE_2016.3 2016.4
ostree_sysroot_init_osname@LIBOSTREE_2016.4 2016.4
ostree_sysroot_initialize@LIBOSTREE_2020.1 2020.1
ostree_sysroot_initialize_with_mount_namespace@LIBOSTREE_2022.7 2022.7
ostree_sysroot_is_booted@LIBOSTREE_2020.1 2020.1
ostree_sysroot_load@LIBOSTREE_2016.3 2016.4
ostree_sysroot_load_if_changed@LIBOSTREE_2016.4 2016.4

View File

@ -0,0 +1,90 @@
From: Luca BRUNO <luca.bruno@coreos.com>
Date: Thu, 24 Nov 2022 16:39:35 +0000
Subject: configure: use pkg-config with newer gpgme and gpg-error
This tweaks autoconf logic in order to use pkg-config for gpgme
and gpg-error when available.
Recent versions of gpgme directly provide threaded support, and
gpg-error started shipping a .pc file. Thus on recent distributions
it is possible to directly use pkg-config for both. On older
environments, the legacy logic is kept in place.
Forwarded: https://github.com/ostreedev/ostree/pull/2789
---
configure.ac | 25 +++++++++++++++++++------
src/libostree/ostree-repo.c | 2 ++
2 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 84c02b2..60d68c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -211,18 +211,25 @@ m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [
])
AM_CONDITIONAL(BUILDOPT_INTROSPECTION, test "x$found_introspection" = xyes)
-LIBGPGME_DEPENDENCY="1.1.8"
+LIBGPGME_DEPENDENCY="1.8.0"
+LIBGPGME_PTHREAD_DEPENDENCY="1.1.8"
AC_ARG_WITH(gpgme,
AS_HELP_STRING([--with-gpgme], [Use gpgme @<:@default=yes@:>@]),
[], [with_gpgme=yes])
AS_IF([test x$with_gpgme != xno], [
- PKG_CHECK_MODULES(OT_DEP_GPGME, gpgme-pthread >= $LIBGPGME_DEPENDENCY, have_gpgme=yes, [
+ have_gpgme=yes
+ PKG_CHECK_MODULES([OT_DEP_GPGME], gpgme >= $LIBGPGME_DEPENDENCY, [], have_gpgme=no)
+ PKG_CHECK_MODULES([OT_DEP_GPG_ERROR], [gpg-error], [], have_gpgme=no)
+ ]
+)
+AS_IF([test x$with_gpgme != xno -a x$have_gpgme != xyes], [
+ PKG_CHECK_MODULES(OT_DEP_GPGME, gpgme-pthread >= $LIBGPGME_PTHREAD_DEPENDENCY, have_gpgme=yes, [
m4_ifdef([AM_PATH_GPGME_PTHREAD], [
- AM_PATH_GPGME_PTHREAD($LIBGPGME_DEPENDENCY, have_gpgme=yes, have_gpgme=no)
+ AM_PATH_GPGME_PTHREAD($LIBGPGME_PTHREAD_DEPENDENCY, have_gpgme=yes, have_gpgme=no)
],[ have_gpgme=no ])
])
AS_IF([ test x$have_gpgme = xno ], [
- AC_MSG_ERROR([Need GPGME_PTHREAD version $LIBGPGME_DEPENDENCY or later])
+ AC_MSG_ERROR([Need GPGME_PTHREAD version $LIBGPGME_PTHREAD_DEPENDENCY or later])
])
OSTREE_FEATURES="$OSTREE_FEATURES gpgme"
PKG_CHECK_MODULES(OT_DEP_GPG_ERROR, [gpg-error], [], [
@@ -234,10 +241,16 @@ dnl to link to it directly.
])
OT_DEP_GPGME_CFLAGS="${OT_DEP_GPGME_CFLAGS} ${OT_DEP_GPG_ERROR_CFLAGS}"
OT_DEP_GPGME_LIBS="${OT_DEP_GPGME_LIBS} ${OT_DEP_GPG_ERROR_LIBS}"
- ],
+ ]
+)
+AS_IF([test x$with_gpgme != xno -a x$have_gpgme != xyes],
+ [AC_MSG_ERROR([Need GPGME_PTHREAD and GPG_ERROR])]
+)
+AS_IF([test x$have_gpgme = xyes],
+ [ OSTREE_FEATURES="$OSTREE_FEATURES gpgme" ],
[
AC_DEFINE([OSTREE_DISABLE_GPGME], 1, [Define to disable internal GPGME support])
- with_gpgme=no
+ have_gpgme=no
]
)
AM_CONDITIONAL(USE_GPGME, test "x$have_gpgme" = xyes)
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index 7bdb3c4..f3a3e03 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -2528,6 +2528,7 @@ out:
#endif /* OSTREE_DISABLE_GPGME */
}
+#ifndef OSTREE_DISABLE_GPGME
static gboolean
_ostree_repo_gpg_prepare_verifier (OstreeRepo *self,
const gchar *remote_name,
@@ -2537,6 +2538,7 @@ _ostree_repo_gpg_prepare_verifier (OstreeRepo *self,
OstreeGpgVerifier **out_verifier,
GCancellable *cancellable,
GError **error);
+#endif /* OSTREE_DISABLE_GPGME */
/**
* ostree_repo_remote_get_gpg_keys:

View File

@ -0,0 +1,33 @@
From: James Pace <jpace121@gmail.com>
Date: Mon, 26 Dec 2022 13:20:09 -0500
Subject: Boot config should be looking in /boot.
---
src/libostree/ostree-sysroot-deploy.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
index 26b07080..8e86d296 100644
--- a/src/libostree/ostree-sysroot-deploy.c
+++ b/src/libostree/ostree-sysroot-deploy.c
@@ -2032,7 +2032,7 @@ install_deployment_kernel (OstreeSysroot *sysroot,
g_autofree char *version_key = g_strdup_printf ("%d", n_deployments - ostree_deployment_get_index (deployment));
ostree_bootconfig_parser_set (bootconfig, OSTREE_COMMIT_META_KEY_VERSION, version_key);
- g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", kernel_layout->kernel_namever, NULL);
+ g_autofree char * boot_relpath = g_strconcat ("/boot/", bootcsumdir, "/", kernel_layout->kernel_namever, NULL);
ostree_bootconfig_parser_set (bootconfig, "linux", boot_relpath);
val = ostree_bootconfig_parser_get (bootconfig, "options");
@@ -2041,7 +2041,7 @@ install_deployment_kernel (OstreeSysroot *sysroot,
if (kernel_layout->initramfs_namever)
{
g_autofree char * initrd_boot_relpath =
- g_strconcat ("/", bootcsumdir, "/", kernel_layout->initramfs_namever, NULL);
+ g_strconcat ("/boot/", bootcsumdir, "/", kernel_layout->initramfs_namever, NULL);
ostree_bootconfig_parser_set (bootconfig, "initrd", initrd_boot_relpath);
if (overlay_initrds)
--
2.39.0

View File

@ -0,0 +1,30 @@
From: Simon McVittie <smcv@debian.org>
Date: Tue, 6 Dec 2022 10:59:33 +0000
Subject: test-sysroot: Skip on s390x by default
This test regularly fails on the buildds, but I cannot reproduce the
failure on a porterbox.
Bug: https://github.com/ostreedev/ostree/issues/2527
Bug-Debian: https://bugs.debian.org/1025532
Forwarded: not-needed
---
tests/test-sysroot.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/test-sysroot.js b/tests/test-sysroot.js
index d4f67ef..0855b3d 100755
--- a/tests/test-sysroot.js
+++ b/tests/test-sysroot.js
@@ -38,6 +38,11 @@ function libtestExec(shellCode) {
proc.wait_check(null);
}
+if (GLib.getenv('DEB_HOST_ARCH') === 's390x' && !GLib.getenv('DEB_ALLOW_FLAKY_TESTS')) {
+ print('1..0 # SKIP https://bugs.debian.org/1025532');
+ imports.system.exit(0);
+}
+
print('1..1')
libtestExec('setup_os_repository archive syslinux');

View File

@ -1 +1,4 @@
configure-use-pkg-config-with-newer-gpgme-and-gpg-error.patch
debian/Skip-test-pull-repeated-during-CI.patch
debian/test-sysroot-Skip-on-s390x-by-default.patch
debian/boot-config-should-be-looking-in-boot.patch

5
debian/rules vendored
View File

@ -73,16 +73,11 @@ override_dh_install:
:
dh_install
override_dh_makeshlibs:
# this is an LD_PRELOAD, not a real shared library
dh_makeshlibs -Xinstalled-tests/ostree/libreaddir-rand.so
override_dh_fixperms:
dh_fixperms -Xusr/libexec/installed-tests
ifneq ($(filter %-tests,$(binaries)),)
# debhelper >= 13.4 makes all of /usr/libexec executable, which is not
# quite right for installed-tests
chmod --changes u=rw,og=r debian/*-tests/usr/libexec/installed-tests/*/*.so
chmod --recursive --changes a+rX,u+w,og-w debian/*-tests/usr/libexec/installed-tests
endif

View File

@ -1,4 +1,9 @@
Tests: flaky
Tests: flaky-concurrency
Restrictions: flaky
Depends: gnome-desktop-testing, ostree-tests
Tests: flaky-sysroot
Architecture: s390x
Restrictions: flaky
Depends: gnome-desktop-testing, ostree-tests

0
debian/tests/flaky → debian/tests/flaky-concurrency vendored Normal file → Executable file
View File

12
debian/tests/flaky-sysroot vendored Normal file
View File

@ -0,0 +1,12 @@
#!/bin/sh
set -e
exec 2>&1
unset ftp_proxy
unset http_proxy
unset https_proxy
unset no_proxy
export DEB_ALLOW_FLAKY_TESTS=1
exec gnome-desktop-testing-runner libostree/test-sysroot.js.test

View File

@ -11,7 +11,9 @@ unset http_proxy
unset https_proxy
unset no_proxy
tests="$(gnome-desktop-testing-runner -l libostree | while read -r t; do
namespace=libostree/
tests="$(gnome-desktop-testing-runner -l "$namespace" | while read -r t; do
t="${t%% *}"
case "$t" in
@ -20,11 +22,24 @@ tests="$(gnome-desktop-testing-runner -l libostree | while read -r t; do
# https://github.com/ostreedev/ostree/issues/1620
continue
;;
(libostree/test-sysroot.js.test)
# https://bugs.debian.org/1025532
# https://github.com/ostreedev/ostree/issues/2527
if [ "${DEB_HOST_ARCH-}" = s390x ] || [ "$(uname -m)" = s390x ]; then
continue
fi
;;
esac
echo "$t"
done)"
if [ -z "$tests" ]; then
echo "Error: no installed-tests found matching $namespace" >&2
exit 1
fi
# Deliberately word-splitting
# shellcheck disable=SC2046
exec gnome-desktop-testing-runner $tests

View File

@ -0,0 +1,92 @@
---
- name: Setup container for building.
hosts: localhost
tags: setup
tasks:
- name: Create a container
containers.podman.podman_container:
name: ostree-debian-builder
image: docker.io/library/debian:bullseye
volume: "{{ playbook_dir | dirname }}:/project:Z"
command: 'sleep infinity'
state: started
- name: Add the container to inventory.
ansible.builtin.add_host:
name: ostree-debian-builder
ansible_connection: containers.podman.podman
ansible_user: root
ansible_python_interpreter: /usr/bin/python3
changed_when: false
- name: Get the basic depedencies.
delegate_to: ostree-debian-builder
raw: bash -c "apt update && apt install -y python3 build-essential devscripts"
- name: Build package.
hosts: ostree-debian-builder
tags: build
tasks:
- name: Make out of tree build directory.
ansible.builtin.tempfile:
state: directory
suffix: build
prefix: project
register: temp_file_loc
- name: Copy build files to location.
ansible.builtin.shell:
cmd: "cp -r /project {{ temp_file_loc.path }}/. "
- name: Install build dependencies.
ansible.builtin.shell:
chdir: "{{temp_file_loc.path }}/project"
cmd: |
apt update
mk-build-deps
apt install -y ./*.deb
- name: Call debuild.
ansible.builtin.shell:
chdir: "{{temp_file_loc.path }}/project"
cmd: |
export DEB_BUILD_OPTIONS=nocheck
debuild -us -uc -b
- name: Copy deb file back to the main directory.
ansible.builtin.shell:
cmd: "cp -r {{ temp_file_loc.path }}/*.deb /project/."
- name: Copy changes file back to the main directory.
ansible.builtin.shell:
cmd: "cp -r {{ temp_file_loc.path }}/*.changes /project/."
- name: Copy buildinfo file back to the main directory.
ansible.builtin.shell:
cmd: "cp -r {{ temp_file_loc.path }}/*.buildinfo /project/."
- name: Upload to packaging server.
hosts: packaging
tags: deploy
tasks:
- name: Copy packages to packaging server.
ansible.builtin.copy:
src: "{{ item }}"
dest: ~/public/apt/mini-dinstall/incoming/
with_fileglob: ../*.deb
- name: Ditto the changes files.
ansible.builtin.copy:
src: "{{ item }}"
dest: ~/public/apt/mini-dinstall/incoming/
with_fileglob: ../*.changes
register: copied_changes
- name: Ditto the buildinfo files.
ansible.builtin.copy:
src: "{{ item }}"
dest: ~/public/apt/mini-dinstall/incoming/
with_fileglob: ../*.buildinfo
register: copied_buildinfo
- name: Run mini-dinstall.
ansible.builtin.shell:
cmd: "mini-dinstall --batch"
- name: Cleanup
hosts: localhost
tags: cleanup
tasks:
- name: Stop the container.
containers.podman.podman_container:
name: ostree-debian-builder
state: absent

View File

@ -0,0 +1,5 @@
all:
hosts:
packaging:
ansible_host: packages.jpace121.net
ansible_user: packaging