#50863 Investigate and change build systems
Closed: wontfix 3 years ago by spichugi. Opened 4 years ago by firstyear.

Issue Description

Due to the recent change to move dscontainer from sbin -> libexec, this has created a packaging problem at suse - we don't have libexec.

Now, to make this more difficult, it looks like our configure.ac has libexec, but it goes to /usr/lib/dirsrv for the ds_selinux helper scripts, and setup.py is hardcoding /usr/libexec/dirsrv/ into it's process.

Really, I feel like we are starting to see some cracks in our tooling here. Autotools may be fine for C programs and some of the templating we do for files, but it's really frustrating to extend. The whole process to work out "how to make rust work inside of autotools" has been a multi-year effort, and now looking at setup.py it's pretty clear that we have a lot of inflexibility there too.

While I am able to work around this in the suse spec for now, I believe we really need to "do some house keeping" and fix this. We are very likely beyond the capabilities of what autotools can do and provide.

I think we should look at the following options, which both are already available on suse/rhel:

Some musts:

  • Ability to enable/disable asan on cli for qe/dev work flows
  • Flagging for online/offline builds to assist with cargo/npm workflows
  • Minimal setup/overhead
  • ease of extension
  • Ability to template files from build variables (ie for defaults.inf)
  • Easier processes for linking C + Rust
  • Ability to coordinate python and node/npm builds.

To achieve this I think we should start work on a "parallel build" system in the same directory that we can use as developers to find and iron out issues, while continuing with downstream releases using autotools. Then we select a major version and change them out at some point.


Metadata Update from @mreynolds:
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Issue set to the milestone: FUTURE

4 years ago

Metadata Update from @mreynolds:
- Issue priority set to: normal
- Issue set to the milestone: 1.4.5 (was: FUTURE)

3 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/3916

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata