Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openai-codex for openSUSE:Factory checked in at 2026-10-18 19:22:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openai-codex (Old) and /work/SRC/openSUSE:Factory/.openai-codex.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openai-codex" Sun Oct 18 19:22:56 2026 rev:22 rq:1385608 version:0.163.0 Changes: -------- --- /work/SRC/openSUSE:Factory/openai-codex/openai-codex.changes 2026-10-16 20:14:03.600189753 +0200 +++ /work/SRC/openSUSE:Factory/.openai-codex.new.3698736/openai-codex.changes 2026-10-18 19:24:08.147777305 +0200 @@ -1,0 +2,11 @@ +Sat Oct 17 13:25:42 UTC 2026 - Pavel Dostál <[email protected]> + +- Ship a complete Codex package so the daemon, started by default + since 0.157.0, works instead of failing with "this CLI has no + complete local package" (gh#openai/codex#48050): + * install the binary, codex-package.json and the rg/bwrap helpers + below /usr/libexec/codex, with /usr/bin/codex a symlink to it + * codex-disable-daemon-auto-update.patch: the daemon does not + replace the packaged binary with an upstream download by default + +------------------------------------------------------------------- New: ---- codex-disable-daemon-auto-update.patch ----------(New B)---------- New: below /usr/libexec/codex, with /usr/bin/codex a symlink to it * codex-disable-daemon-auto-update.patch: the daemon does not replace the packaged binary with an upstream download by default ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openai-codex.spec ++++++ --- /var/tmp/diff_new_pack.LReIuy/_old 2026-10-18 19:24:09.251823118 +0200 +++ /var/tmp/diff_new_pack.LReIuy/_new 2026-10-18 19:24:09.252823159 +0200 @@ -124,6 +124,8 @@ Patch3: codex-bump-gix-0.88.patch # PATCH-FIX-OPENSUSE codex-gix-error-anyhow.patch [email protected] -- adapt codex-git-utils to the gix 0.88 gix-error API (boo#1285151) Patch4: codex-gix-error-anyhow.patch +# PATCH-FIX-OPENSUSE codex-disable-daemon-auto-update.patch [email protected] -- distribution policy: the managed daemon must not replace the packaged binary with an upstream download +Patch5: codex-disable-daemon-auto-update.patch BuildRequires: cargo BuildRequires: cargo-packaging >= 1.2.0 BuildRequires: cmake @@ -277,13 +279,39 @@ echo "cannot find the built codex binary" >&2 exit 1 fi -install -D -m 0755 "$targetdir/release/codex" %{buildroot}%{_bindir}/codex +# The daemon (daemon_auto_start, on by default) needs a complete Codex package: +# codex-package.json beside bin/, codex-resources/ and codex-path/ (see +# scripts/codex_package/layout.py, app-server-daemon/src/prepare_install.rs). +# rg and bwrap must be real files inside it, so they wrap the system binaries; +# codex-code-mode-host is not built (Patch0 drops v8) but the layout requires it. +pkgdir=%{_libexecdir}/codex +install -D -m 0755 "$targetdir/release/codex" %{buildroot}$pkgdir/bin/codex +install -d %{buildroot}$pkgdir/codex-resources %{buildroot}$pkgdir/codex-path +printf '#!/bin/sh\necho "codex-code-mode-host is not built in this package" >&2\nexit 1\n' > %{buildroot}$pkgdir/bin/codex-code-mode-host +printf '#!/bin/sh\nexec %{_bindir}/bwrap "$@"\n' > %{buildroot}$pkgdir/codex-resources/bwrap +printf '#!/bin/sh\nexec %{_bindir}/rg "$@"\n' > %{buildroot}$pkgdir/codex-path/rg +chmod 0755 %{buildroot}$pkgdir/bin/codex-code-mode-host %{buildroot}$pkgdir/codex-resources/bwrap %{buildroot}$pkgdir/codex-path/rg +# The target must equal the daemon's platform_target(): the compiler's host triple. +target=$(rustc -vV | sed -n 's/^host: //p') +cat > %{buildroot}$pkgdir/codex-package.json <<EOF +{ + "layoutVersion": 1, + "version": "%{version}", + "target": "$target", + "variant": "codex", + "entrypoint": "bin/codex", + "resourcesDir": "codex-resources", + "pathDir": "codex-path" +} +EOF +install -d %{buildroot}%{_bindir} +ln -s ../libexec/codex/bin/codex %{buildroot}%{_bindir}/codex # The unbundling is silent when it regresses: bzip2-sys falls back to its own # copy when pkg-config fails, and the two env vars in %%build are easy to lose. # Fail the build instead. for lib in libbz2.so libzstd.so libonig.so libsqlite3.so; do - readelf -d %{buildroot}%{_bindir}/codex | grep -q "NEEDED.*$lib" || { + readelf -d %{buildroot}$pkgdir/bin/codex | grep -q "NEEDED.*$lib" || { echo "ERROR: $lib is not a DT_NEEDED of codex - it got bundled again" >&2 exit 1 } @@ -330,6 +358,7 @@ %license LICENSE NOTICE %doc README.md CHANGELOG.md docs/ %{_bindir}/codex +%{_libexecdir}/codex/ %files bash-completion %dir %{_datadir}/bash-completion ++++++ codex-disable-daemon-auto-update.patch ++++++ From: Martin Pluskal <[email protected]> Subject: Do not self-update the managed daemon from chatgpt.com by default The packaged app-server daemon (daemon_auto_start, on by default since 0.157.0) spawns an updater that, five minutes after start and then hourly, downloads https://chatgpt.com/codex/install.sh, runs it, and swaps the RPM-installed binary for an upstream prebuilt in ~/.codex/packages/app-server-daemon. Updates come from the package manager here, so default the daemon updater to off; users who want it can set updater.autoUpdateEnabled = true in ~/.codex/app-server-daemon/settings.json. Downstream-only distribution policy, not suitable for upstream submission. --- a/codex-rs/app-server-daemon/src/settings.rs +++ b/codex-rs/app-server-daemon/src/settings.rs @@ -29,7 +29,7 @@ Self { remote_control_enabled: false, feature_overrides: BTreeMap::new(), - auto_update_enabled: true, + auto_update_enabled: false, update_interval_minutes: DEFAULT_UPDATE_INTERVAL_MINUTES, shutdown_grace_seconds: DEFAULT_SHUTDOWN_GRACE_SECONDS, } @@ -85,7 +85,7 @@ } fn default_auto_update_enabled() -> bool { - true + false } fn default_update_interval_minutes() -> u32 {
