You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service (OBS) for master branch #1209
Numerous projects, including components under zeromq that served as role models for NUT CI with cross-pollination over time, benefit from integration with https://build.opensuse.org/ and both having recent iterations available in package repositories made for multiple (Linux) distributions, and checking (github statuses and all) that the packages are buildable for those distributions.
I suppose this would need bringing NUT-provided "reference" packaging into shape (like make package already implemented for some OSes), possibly drawing inspiration from DEB and SPEC files for those target distributions as shipped by them already, or from 42ITy fork which developed a means to build on a private OBS instance: https://github.com/42ity/nut/tree/FTY/obs
Note that special recipe file naming may be involved to ship numerous SPEC files that would be used by OBS for this or that distribution.
I am not sure that NUT as a project should "insist" on replacing distro-specific packages: after all, tight and "correct" integration with the OS lifecycle is better done by domain experts, but providing a way for users and testers to easily install a standardly-built replacement without guessing configure parameters every time would be cool. And it might help co-ordinate the sprawl of NUT packages (names, content) across the board - letting each distro shine where it is best, and letting NUT seem the same everywhere :)
In a way this follows up from #869 as addition of CI platform and practical use/test-case - yet another environment to weed out failures. Notably, OBS can be used to further trigger dependency builds, to check that NUT public API is not broken (as found in #1638 for example).
changed the title [-]CI/Packaging: Want integration with OpenSUSE Build Service for master branch[/-][+]CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service for master branch[/+]on Nov 28, 2021
changed the title [-]CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service for master branch[/-][+]CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service (OBS) for master branch[/+]on Sep 28, 2022
Finally got some progress about this, sufficient to iterate the old DSC and SPEC recipes into something useful for today's set of deliverable files. Thanks to @bluca@adrians and others for hints. Some highlights:
A parent project must be used to define OBS Repositories we build for, which should usually include a layer with openSUSE:Tools to have OBS helper scripts in the build area: https://build.opensuse.org/projects/home:jimklimov/meta
Some distros disagreed on package naming or even availability, in most cases this was worked around by conditionals in Requires, and Prefer in osc meta prjconf --edit for cases where several hits were served by same distro (can't find it in Web-UI):
Maybe some way of pre-making a dist tarball and using that would be better, to be explored (if we can do this within OBS)
One idea about this was to use better NUT SEMVER values, but for master-branch builds the combo offered by OBS suffices (last tag + amount of commits since) for most cases.
Another idea was about optimizing the time spent on man pages, but maybe we do want them regenerated on every platform - with its common settings of whatever (distro name footer and so on)
Activity
[-]CI/Packaging: Want integration with OpenSUSE Build Service for master branch[/-][+]CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service for master branch[/+][-]CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service for master branch[/-][+]CI/Packaging: Want packaging recipes and integration with OpenSUSE Build Service (OBS) for master branch[/+]jimklimov commentedon Sep 28, 2022
For further reference: OBS docs on CI/CD integration: https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.scm_ci_workflow_integration.html and a practical example from ZeroMQ community at zeromq/gsl@3f113ac
UPDATE: Also OBS blogs directly on this matter, like:
...and ultimately product documentation:
obs/README.adoc, obs/Makefile.am, Makefile.am, configure.ac: document…
docs/qa-guide.adoc: mention OBS [networkupstools#1209]
fixup! obs/README.adoc, obs/Makefile.am, Makefile.am, configure.ac: d…
jimklimov commentedon Oct 7, 2025
Finally got some progress about this, sufficient to iterate the old DSC and SPEC recipes into something useful for today's set of deliverable files. Thanks to @bluca @adrians and others for hints. Some highlights:
openSUSE:Toolsto have OBS helper scripts in the build area: https://build.opensuse.org/projects/home:jimklimov/metaRequires, andPreferinosc meta prjconf --editfor cases where several hits were served by same distro (can't find it in Web-UI):httpd-develandapache2-devel,gd-develetc., skipped for now_servicefile was all that's needed (and triggering the service to pull new revisions from the branch): https://build.opensuse.org/projects/home:jimklimov/packages/nut/files/_service?expand=0obs/README.adoc, obs/Makefile.am, Makefile.am, configure.ac: document…
docs/qa-guide.adoc: mention OBS [networkupstools#1209]
jimklimov commentedon Oct 8, 2025
Oooh SLE workers are nit-picky with "badness" evaluations. I guess recipe quality will go sky high before those builds pass. That's good.
obs/README.adoc, docs/nut.dict: update info about OBS recipes [networ…
tests/NIT/nit.sh, tests/NIT/Makefile.am, NEWS.adoc: let test runs sta…
tests/NIT/nit.sh, tests/NIT/Makefile.am, NEWS.adoc: let test runs sta…
113 remaining items
NEWS.adoc: drop "planned porting of reference packaging from 42ITy pr…
NEWS.adoc: drop "planned porting of reference packaging from 42ITy pr…
.obs/workflows.yml: retarget to "home:networkupstools:*" OBS project …
README.adoc, docs/nut.dict, docs/images/ci/openSUSEBuildService.png: …
README.adoc, docs/images/ci/obs-logo.svg: use a better visible OBS lo…
README.adoc, docs/images/ci/obs-logo.png: use another better visible …
README.adoc: downsize obs-logo.png to match others [networkupstools#1209
docs/images/ci/obs-logo.png: actually attach the logo file [networkup…
docs/Makefile.am: EXTRA_DIST the OBS logos [networkupstools#1209]
docs/Makefile.am: fix typo with paths [networkupstools#1209]
.obs/workflows.yml: "event" is a value, not list [networkupstools#1209]
scripts/obs/_service: survive git tags with a dash [networkupstools#1209
.obs/workflows.yml: separate project builds with what looks like RC t…
scripts/obs/_service: stash recent template project changes from OBS …
NEWS.adoc: drop "planned porting of reference packaging from 42ITy pr…