.gear/rules | 4 + .../tags/ecd00a3e1977c9193ea0b27669234fa5669dfe7c | 80 +++++ .gear/tags/list | 3 + .gear/upstream/remotes | 3 + ostree.spec | 337 +++++++++++++++++++++ src/boot/grub2/ostree-grub-generator | 7 +- src/switchroot/ostree-prepare-root.c | 21 +- 7 files changed, 449 insertions(+), 6 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 00000000..8a79383f --- /dev/null +++ b/.gear/rules @@ -0,0 +1,4 @@ +tar: v@version@:. +diff: v@version@:. . name=@name@-@version@.patch +tar: libglnx:. name=libglnx +tar: bsdiff:. name=bsdiff diff --git a/.gear/tags/ecd00a3e1977c9193ea0b27669234fa5669dfe7c b/.gear/tags/ecd00a3e1977c9193ea0b27669234fa5669dfe7c new file mode 100644 index 00000000..5a39d8ca --- /dev/null +++ b/.gear/tags/ecd00a3e1977c9193ea0b27669234fa5669dfe7c @@ -0,0 +1,80 @@ +object 29106eb93946775627872111169b1b8d10b180c5 +type commit +tag v2023.2 +tagger Colin Walters 1679505128 -0400 + +Release 2023.2 + +NOTE: As usual, some of these commits are actually for the Rust bindings, +which are versioned and released separately. + +Though speaking of bindings in general, +there's a lot of cleanup that landed to the annotations around +nullability in general, which should improve ergonomics. These +changes will be reflected in a future release of the Rust bindings +specifically too. + +Otherwise, we have some small tweaks and improvements in various places, +from a performance improvement in commits to test suite fixes. + +A notable thing that landed here is fixes for recent GLibs introducing +warnings around unset `standard::size`. + +Thanks to all contributors! + +``` +Colin Walters (18): + Add `sysroot.bootprefix` option + deploy: Use `semodule --refresh` if available + configure: post-release version bump + Release rust/ bindings 0.17.1 + rust-bindings: Regenerate for 2023.1 + rust-bindings: `Sysroot` is `Send` + itest-pull-space: Use mkfs.ext4, align to at least 512b + tests: Set size on fileinfo + Enable `trust_return_value_nullability` + Add docs and fix annotations for ostree-repo-file.c + rust: Bump semver + lib: Fix two nullable annotations + repo: Fix nullability for remote options + rust: Renerate bindings + Revert "repo: Fix nullability for remote options" + rust-bindings: Regenerate + Release 2023.2 + configure: post-release version bump + +Corentin Noël (3): + build: Do not include private headers in the introspection + libostree: Ignore new_and_connect in the introspection + libostree: Enhance the annotation coverage + +Evan Anderson (1): + core: Ensure glib standard::size attribute is always set + +Jonathan Lebon (1): + ci: update for new kolaTestIso() + +Philip Withnall (1): + lib/fetcher-util: Wake up main context when a request is complete + +Seppo Yli-Olli (1): + Increase buffer size for create_regular_tmpfile_linkable_with_content + +Simon McVittie (5): + tests: Ensure non-root users have access to libcap tools + ostree_raw_file_to_content_stream: Make size default to 0 + _ostree_zlib_file_header_new: Default size to 0 + write_content_object: Don't assume file info has standard::size + Use g_steal_fd() in preference to glnx_steal_fd() + +Timothée Ravier (1): + docs: Use upstream theme & update to 0.4.1 + +dependabot[bot] (1): + build(deps): bump libglnx from `4e44fd9` to `07e3e49` +-----BEGIN SSH SIGNATURE----- +U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAg5CRAd4pqfdf6DWMgvDhrcq1x8Q +gQPSQHIoZaiiRTt68AAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 +AAAAQJGTvsjNISYt6gOheoejoo2Znn3j11juGWFABJycsMqXxSBRQ7NXOZWJvctyleHVX+ +QrLs/Wa0KPgo91tMoenwg= +-----END SSH SIGNATURE----- diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 00000000..cf4b0fb7 --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1,3 @@ +07e3e49d3e47dfd4265ffb5495111439131715ca libglnx +b817e9491cf7b8699c8462ef9e2657ca4ccd7667 bsdiff +ecd00a3e1977c9193ea0b27669234fa5669dfe7c v2023.2 diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes new file mode 100644 index 00000000..9b046b60 --- /dev/null +++ b/.gear/upstream/remotes @@ -0,0 +1,3 @@ +[remote "upstream"] + url = https://github.com/ostreedev/ostree.git + fetch = +refs/heads/*:refs/remotes/upstream/* diff --git a/ostree.spec b/ostree.spec new file mode 100644 index 00000000..e112a4b3 --- /dev/null +++ b/ostree.spec @@ -0,0 +1,337 @@ +%def_disable check +%{!?_systemdgeneratordir: %global _systemdgeneratordir /lib/systemd/system-generators} +%define _libexecdir %_usr/libexec +%def_with tests +%def_with ed25519 + +Name: ostree +Version: 2023.2 +Release: alt1.1 + +Summary: Linux-based operating system develop/build/deploy tool +License: LGPLv2+ +Group: Development/Other +Url: https://github.com/ostreedev/ostree + +Vcs: https://github.com/ostreedev/ostree.git +Source: %name-%version.tar +# Note! Always use HEAD!! +# Source1-url: https://github.com/GNOME/libglnx/archive/master.zip +Source1: libglnx.tar +# Source2-url: https://github.com/mendsley/bsdiff/archive/master.zip +Source2: bsdiff.tar + +Patch1: %name-%version.patch + +Requires: libostree = %EVR +Requires: %_bindir/gpg2 + +BuildRequires(pre): rpm-macros-systemd + +# Core requirements +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.66.0 +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(libcurl) >= 7.29.0 +BuildRequires: pkgconfig(libcrypto) >= 1.0.1 +# The tests still require soup +BuildRequires: pkgconfig(libsoup-2.4) >= 2.39.1 +BuildRequires: libattr-devel +# The tests require attr +BuildRequires: attr +# Extras +BuildRequires: pkgconfig(libarchive) >= 2.8.0 +BuildRequires: pkgconfig(liblzma) >= 5.0.5 +BuildRequires: pkgconfig(libselinux) >= 2.1.13 +BuildRequires: pkgconfig(mount) +BuildRequires: pkgconfig(fuse) +BuildRequires: pkgconfig(e2p) +BuildRequires: libcap-devel +BuildRequires: pkgconfig(gpgme) >= 1.1.8 pkgconfig(gpg-error) +%{?_with_ed25519:BuildRequires: pkgconfig(libsodium) >= 1.0.14} +BuildRequires: pkgconfig(libsystemd) pkgconfig(systemd) +BuildRequires: /usr/bin/g-ir-scanner +BuildRequires: dracut +BuildRequires: bison + +#BuildRequires: libavahi-glib-devel libgjs-devel + +# For docs +BuildRequires: gtk-doc +BuildRequires: xsltproc docbook-style-xsl + +%description +libostree is a shared library designed primarily for +use by higher level tools to manage host systems (e.g. rpm-ostree), +as well as container tools like flatpak and the atomic CLI. + +%package grub2 +Summary: GRUB2 integration for OSTree +Group: System/Configuration/Boot and Init +%ifnarch aarch64 %arm +Requires: grub2 +%else +Requires: grub2-efi +%endif +Requires: %name + +%description grub2 +GRUB2 integration for OSTree + +%package tests +Summary: Tests for the %name package +Group: Development/Other +Requires: %name = %EVR + +%description tests +This package contains tests that can be used to verify +the functionality of the installed %name package. + +%package -n lib%name +Summary: Library files of %name +Group: System/Libraries +License: LGPLv2 + +%description -n lib%name +Library files of %name. + +%package -n lib%name-devel +Summary: Library and header files of %name +Group: Development/C +License: LGPLv2 +Requires: lib%name = %version-%release + +%description -n lib%name-devel +Development package containing library and header files of %name. + +%package -n lib%name-devel-doc +Summary: Development documentation for lib%name +Group: Development/Documentation +BuildArch: noarch + +%description -n lib%name-devel-doc +This package contains development documentation for lib%name. + +%prep +%setup -a1 -a2 +%patch1 -p1 +%ifarch %e2k +# patch against paranoid -Werror +sed -i "/-Werror=/d" configure.ac +%endif +%__subst 's|$(prefix)\(/lib/tmpfiles.d\)|\1|g' Makefile-boot.am + +%build +NOCONFIGURE=1 sh -x ./autogen.sh + +%configure --disable-silent-rules \ + --with-selinux \ + --with-curl \ + --with-openssl \ + %{?_with_ed25519:--with-ed25519-libsodium} \ + --enable-gtk-doc \ + --enable-trivial-httpd-cmdline \ + --with-builtin-grub2-mkconfig \ + --without-grub2-mkconfig-path \ + %{?with_tests:--enable-installed-tests=exclusive} \ + --with-dracut=yesbutnoconf + +# --with-dracut \ + +# hack to fix missed dirname declaration +#echo "#include " >>config.h + +%make_build + +%install +%makeinstall_std + +%check +%make check + +# Needed to enable the service at compose time currently +%post +%systemd_post ostree-remount.service + +%preun +%systemd_preun ostree-remount.service + +%files +%doc COPYING README.md +#%_sysconfdir/grub.d/15_ostree +%_bindir/%name +%_bindir/rofiles-fuse +%_datadir/%name +%_datadir/bash-completion/completions/%name +#%_sysconfdir/dracut.conf.d/* +%prefix/lib/dracut/modules.d/* +%_systemdgeneratordir/ostree-system-generator +%_unitdir/ostree-* +%_tmpfilesdir/*.conf +%_libexecdir/lib%name +%_prefix/lib/%name +%_man1dir/* +%_man5dir/ostree* +#%exclude %_sysconfdir/grub.d/*ostree +#%exclude %_libexecdir/lib%name/grub2* +%exclude %_libexecdir/lib%name/ostree-trivial-httpd + +#%files grub2 +#%_sysconfdir/grub.d/*ostree +#%_libexecdir/lib%name/grub2* + +%if_with tests +%files tests +#%_libexecdir/installed-tests +#%_datadir/installed-tests +%_libexecdir/libostree/ostree-trivial-httpd +%endif + +%files -n lib%name +%_libdir/*.so.* +%_typelibdir/*.typelib + +%files -n lib%name-devel +%_includedir/ostree-1 +%_libdir/*.so +%_pkgconfigdir/*.pc +%_girdir/*.gir + +%files -n lib%name-devel-doc +%_datadir/gtk-doc/html/%name + +%changelog +* Tue Mar 28 2023 Ilya Kurdyukov 2023.2-alt1.1 +- Fixed build for Elbrus + +* Fri Mar 24 2023 Alexey Shabalin 2023.2-alt1 +- 2023.2 + +* Wed Jan 11 2023 Alexey Shabalin 2022.7-alt1 +- 2022.7 + +* Sat Jul 30 2022 Alexey Shabalin 2022.5-alt1 +- 2022.5 + +* Wed Jun 15 2022 Alexey Shabalin 2022.4-alt1 +- 2022.4 + +* Mon Mar 28 2022 Alexey Shabalin 2022.2-alt2 +- build with ed25519 sign support (ALT#42271) + +* Wed Mar 23 2022 Alexey Shabalin 2022.2-alt1 +- 2022.2 + +* Tue Jan 11 2022 Alexey Shabalin 2022.1-alt1 +- 2022.1 +- define /usr/libexec as %%_libexecdir +- update BR +- add tests package +- build --with-dracut=xyesbutnoconf +- build without avahi support + +* Wed Nov 24 2021 Andrey Sokolov 2021.6-alt1 +- 2021.6 + +* Tue Oct 05 2021 Andrey Sokolov 2021.3-alt3 +- mount readonly /bin, /sbin, /lib, /lib64, /libx32 + +* Fri Jul 30 2021 Andrey Sokolov 2021.3-alt2 +- add ignition support to grub.cfg generator + +* Thu Jul 22 2021 Andrey Sokolov 2021.3-alt1 +- GRUB2 configuration file generation using built-in script +- set GRUB timeout to 5 + +* Fri Jul 09 2021 Andrey Sokolov 2021.2-alt2 +- add trivial-httpd command + +* Tue Jul 06 2021 Andrey Sokolov 2021.2-alt1 +- 2021.2 +- remove unused file import.info + +* Fri Jul 02 2021 Andrey Sokolov 2020.8-alt2 +- add dracut module + +* Sun Jan 17 2021 Yuri N. Sedunov 2020.8-alt1 +- 2020.8 + +* Thu Jun 25 2020 Yuri N. Sedunov 2020.3-alt1 +- 2020.3 + +* Mon Dec 16 2019 Yuri N. Sedunov 2019.6-alt1 +- 2019.6 + +* Sun Nov 03 2019 Yuri N. Sedunov 2019.5-alt1 +- 2019.5 + +* Tue Apr 30 2019 Yuri N. Sedunov 2019.2-alt1 +- 2019.2 + +* Mon Jan 14 2019 Yuri N. Sedunov 2019.1-alt1 +- 2019.1 + +* Thu Nov 29 2018 Yuri N. Sedunov 2018.9-alt1 +- updated to v2018.9-10-g05e8c7ef + +* Fri Sep 14 2018 Yuri N. Sedunov 2018.8-alt1 +- updated to v2018.8-7-ge4e6d85e + +* Wed Aug 29 2018 Yuri N. Sedunov 2018.7-alt2 +- rebuilt with openssl-1.1 + +* Mon Jul 23 2018 Yuri N. Sedunov 2018.7-alt1 +- updated to v2018.7-2-g93da568 +- some spec cleanup + +* Fri Jun 08 2018 Vitaly Lipatov 2018.5-alt2 +- enable gtk-doc build +- enable build with libcurl, openssl, selinux + +* Fri Jun 08 2018 Vitaly Lipatov 2018.5-alt1 +- new version (2018.5) with rpmgs script + +* Sat Feb 24 2018 Vitaly Lipatov 2018.2-alt1 +- new version 2018.2 (with rpmrb script) + +* Wed Feb 07 2018 Vitaly Lipatov 2018.1-alt1 +- new version 2018.1 (with rpmrb script) + +* Sun Dec 24 2017 Vitaly Lipatov 2017.14-alt1 +- new version 2017.14 (with rpmrb script) + +* Sat Dec 09 2017 Vitaly Lipatov 2017.13-alt1 +- new version 2017.13 (with rpmrb script) + +* Sun Oct 08 2017 Vitaly Lipatov 2017.12-alt1 +- new version 2017.12 (with rpmrb script) + +* Sat Oct 07 2017 Vitaly Lipatov 2017.11-alt1 +- new version 2017.11 (with rpmrb script) + +* Sat Jul 22 2017 Vitaly Lipatov 2017.8-alt1 +- new version 2017.8 (with rpmrb script) + +* Tue May 09 2017 Vitaly Lipatov 2017.5-alt1 +- new version 2017.5 (with rpmrb script) + +* Wed Mar 15 2017 Vitaly Lipatov 2017.3-alt1 +- new version 2017.3 (with rpmrb script) + +* Sun Jan 29 2017 Vitaly Lipatov 2017.1-alt1 +- new version 2017.1 (with rpmrb script) + +* Tue Jan 03 2017 Vitaly Lipatov 2016.15-alt1 +- new version 2016.15 (with rpmrb script) + +* Mon Dec 05 2016 Vitaly Lipatov 2016.12-alt1 +- new version 2016.12 (with rpmrb script) + +* Sat Sep 24 2016 Vitaly Lipatov 2016.10-alt1 +- new version 2016.10 (with rpmrb script) + +* Sat Sep 24 2016 Vitaly Lipatov 2016.8-alt1 +- new version (2016.8) with rpmgs script + +* Fri Apr 26 2013 Igor Vlasenko 2013.2-alt1_1 +- initial fc import + diff --git a/src/boot/grub2/ostree-grub-generator b/src/boot/grub2/ostree-grub-generator index d1436b65..aad4318b 100644 --- a/src/boot/grub2/ostree-grub-generator +++ b/src/boot/grub2/ostree-grub-generator @@ -100,7 +100,12 @@ populate_header() cat >> ${new_grub2_cfg} <