Packaging BitKeeper for Linux distros is broken

Hey all,

I started working last night on packaging BitKeeper for RHEL/CentOS and Fedora, and it became immediately apparent that it’s not feasible with how the code is structured and how the build process currently works.

Several notable problems:

  • Usage of a custom-designed Makefile thing instead of autotools or CMake. While a custom Makefile-based build environment in itself isn’t bad, it doesn’t support any of the conventions expected for packaging software for Linux. Personally, I prefer CMake based build environments, as they are portable, flexible, easy to understand, and well supported by all major distribution families. But if you’d prefer to keep the custom Makefile environment, that’s fine as well, provided it can handle the conventions needed for packaging.

  • Everything under the sun is bundled into it. This is a showstopper for a lot of distributions, as bundled code can be hard to track and makes it more difficult for security issues to be handled in a responsive manner by distributions.

  • Many files explicitly replace system ones or have conflicting files of the same name. Some stuff simply doesn’t need to be duplicated, and in the case of man pages, some stuff is improperly named so that they conflict with system ones.

I would greatly appreciate it if these can be fixed so that BitKeeper can be introduced into Linux distributions.

For reference, the Fedora Packaging Guidelines is a good place to start for making the build environment work as expected for any Linux distribution.

1 Like

Hi!

I was about to report a similar bug as well. The build system of BitKeeper puts all files into a common folder instead of following the default Linux filesystem hierarchy standard (FHS).

I was about to package BitKeeper for both openSUSE and Debian, but given the current state of things, it’s not possible to get BitKeeper accepted into either Debian or openSUSE because of the various issues you mentioned.

Adrian