-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle all debian/configure tasks using build profiles and options #1835
base: master
Are you sure you want to change the base?
Handle all debian/configure tasks using build profiles and options #1835
Conversation
61e95c6
to
e1c9ad2
Compare
e1c9ad2
to
e8b4176
Compare
I've put the current "merge" version of this PR as a branch on linuxcnc/linuxcnc so that buildbot can try it out. The branch is called test-1835. If it passes on buildbot I'm good with merging this. |
in particular a nodoc build profile will be loved! |
Our current packaging supports just one realtime target: Preempt-RT. Historically we have supported multiple realtime targets (with different build-dependencies), eg Preempt-RT and RTAI. We handled this by having |
[Sebastian Kuzminsky]
Our current packaging supports just one realtime target: Preempt-RT.
Historically we have supported multiple realtime targets (with
different build-dependencies), eg Preempt-RT and RTAI. We handled
this by having `debian/configure` generate `debian/control` with
different things listed in `Build-Depends`, and different package
names (ie `linuxcnc-uspace` for Preempt-RT and `linuxcnc-rtai` for
RTAI). How would this proposed PR handle that situation (assuming we
ever manage to get packaging going for another realtime target)?
My approach would be to use build profiles for this, similar to how the
nodoc profile is handled.
…--
Happy hacking
Petter Reinholdtsen
|
I'd like to add that, if we are bringing back an RTAI-based linuxcnc package, it should also be "uspace" using the "lxrt" API of RTAI. This means we don't need kernel modules (though we'd probably still be tied to a particular RTAI kernel version). This would involve a separate, additional "linuxcnc-uspace-lxrt" package, rather than an independent "linuxcnc" (non-uspace) package. |
The build did succeed on buildbot: http://buildbot.linuxcnc.org/buildbot/builders/0000.checkin/builds/8958 |
e8b4176
to
eff701d
Compare
Using the 'nodoc' Debian package profile and build option to control the creation of documentation packages. Updated minmum debhelper compat level from 9 to 10, matching the level in Debian Buster. Drop code to set higher compat level on newer versions of Debian. Uses versioned alternative depends to control the readline and texlive-xetex build dependency. Updated all build scripts and documentation to reflect that the debian/configure script is obsolete.
eff701d
to
9b579c8
Compare
This looks good to me. My two concerns are that this may conflict with @SebKuzminsky's work in #1887 and that I do not have the immediate overview if the -A and -B flags still work (but they should, would accept this and then fix that if not working). |
[Steffen Möller]
This looks good to me. My two concerns are that this may conflict with
@SebKuzminsky's work in #1887
and that I do not have the immediate overview if the -A and -B flags
still work (but they should, would accept this and then fix that if
not working).
It is in direct conflict with #1887, and I believe we should merge #1887
first and then rework this pull request based on top of that one before
reconsidering to merge this patch.
…--
Happy hacking
Petter Reinholdtsen
|
These build profiles (https://wiki.debian.org/BuildProfileSpec) have d/rules interpret the DEB_BUILD_OPTIONS environment variable. I do not know how this can have an effect on the set of binary packages that d/configure influences since the d/control.*.in files would be gone, but d/rules has all the flexibility of the world. This also means that the dh commands could be passed various options to not create the one or other package. |
Looked through it again and still liked it. The only concern is that this patch takes the need for debian/configure away (which is also the major motivation behind this PR). Some smallish updates are required beyond the conflicts now that the PR was bitrotting for quite a while. A safe thing to do for 2.10, unsure about 2.9 not knowing about how much our build infrastructure depends on the debian/configure script. |
One thing that configure does is decide which realtime system is being built for. It can be preempt-rt, RTAI, Xenomai, RTAi-LXRT OR Xenomai-LXRT. Admittedly all but two of those are very niche and probably have no actual users. |
And if we just have more packages and build both preempt and RTAI as the presumed most common flavours? |
Using the 'nodoc' Debian package profile and build option to
control the creation of documentation packages.
Updated minmum debhelper compat level from 9 to 10, matching the level
in Debian Buster. Drop code to set higher compat level on newer versions
of Debian.
Uses versioned alternative depends to control the readline and
texlive-xetex build dependency.
Updated all build scripts and documentation to reflect that the
debian/configure script is obsolete.