Skip to content

feat(swisscom-schweiz-ag-cdr-client): package the curaLINE Client - #64

Merged
markuslf merged 2 commits into
mainfrom
feat/curaline-client
Oct 29, 2026
Merged

markuslf merged 2 commits into
mainfrom
feat/curaline-client

Conversation

@markuslf

Copy link
Copy Markdown
Member

Packages the curaLINE Client of Swisscom (swisscom-schweiz-ag-cdr-client, plus -gui) for EL 8 to 10, Fedora 44, SLES 15/16, Debian 12/13 and Ubuntu 22.04 to 26.04, x86_64 only, repacked from Swisscom's linux-amd64 tarball.

  • Static account instead of DynamicUser=yes, configuration created below /etc by the postinst, root-owned installation, local-folder in the state directory.
  • UI split off into -gui (not on EL 8 and SLES 15, which lack glibc 2.34).
  • SELinux: the unit starts the client through /usr/bin/env, so systemd transitions to unconfined_service_t.
  • Updates hosts that installed Swisscom's .deb and keeps their configuration.
  • check-upstream.sh gains PKG_UPSTREAM_TYPE='url'; the GitHub tags of swisscom/cdr-client run ahead of the download page.

Verified locally: smoke test on all 11 targets, Rocky 10 with SELinux enforcing against the upstream mock API, upgrade from Swisscom's .deb on Debian 13.

Repack the linux-amd64 tarball from Swisscom's download page (a Hydraulic
Conveyor build with a bundled Java runtime) for EL 8 to 10, Fedora 44,
SLES 15/16, Debian 12/13 and Ubuntu 22.04 to 26.04, x86_64 only. Name and
paths follow Swisscom's .deb, so the package updates hosts that installed
it; the preinst turns its /etc symlink into a directory and keeps the
configuration.

Differences to Swisscom's .deb: a static account instead of DynamicUser,
the configuration created below /etc by the postinst instead of a symlink
into /usr/lib, a root-owned installation, local-folder in the state
directory instead of the private /tmp, and the UI with its X11/GL/ALSA
dependencies split off into -gui (not on EL 8 and SLES 15, it needs
glibc 2.34). The unit starts the client through /usr/bin/env, so systemd
transitions to unconfined_service_t on SELinux; lib_t below /usr/lib has
no transition.

check-upstream.sh gains PKG_UPSTREAM_TYPE='url', since the GitHub tags of
swisscom/cdr-client run ahead of the download page; the package reads
Swisscom's apt Packages file.

Verified: smoke test on all 11 targets; on Rocky 10 with SELinux
enforcing against the upstream mock API (login, download, upload,
sandbox, reinstall); upgrade from Swisscom's .deb on Debian 13.
…s tarball

Swisscom's download page answers GitHub's runners with 403. The tarball is mirrored as an asset of the release sources-swisscom-schweiz-ag-cdr-client, and the package is no longer watched; the url upstream type goes again, nothing else needs it.
@markuslf
markuslf merged commit db03613 into main Oct 29, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Packaging, build scripts, distribution artifacts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant