Open Bug 1364810 Opened 7 years ago Updated 2 years ago

Install dependencies by creating an empty debian package

Categories

(Firefox Build System :: General, enhancement)

All
Linux
enhancement

Tracking

(Not tracked)

People

(Reporter: pbone, Unassigned)

Details

./mach bootstrap installs debian packages by calling apt-get install.  It might be nicer (and make dev machines easier to maintain) if it created a .deb package that depended on thse dependencies, then installed that (probably with gdebi).

I don't know if this would be good/normal practice on other Linux systems.
This is an interesting idea. But it seems a bit complicated. Given how little time we seem to find to invest in the bootstrapper, this is likely very low priority.

I'm sure glandium will have opinions on this...
Component: mach → Build Config
I think this would cause more problems than it would solve.

The first trivial one is: if we do that for debs, then why not do it for the rpms too? Or for Gentoo, etc.

Then, on a practical stand, mach bootstrap currently calls apt-get install. That works fine until some package name changes or some other dependency problem arises. At which point it won't work, and then will need the bootstrap script to change. But if we were to create and install a deb package, what would happen? One of the following:
- The package gets uninstalled by apt-get at some point where it causes conflicts
- The package prevents apt-get from working because of conflicts (if we set things up such that apt-get can't remove the package, by putting it on hold)
Then we're back to the bootstrap script requiring a change.

So all we'd have gained is problems for the user in between.
I think you're right.  Doing this for each OS/Distro duplicates effort,
which I already considered, but wanted to see what the maintainers of these
tools thought anyway.  I have seen this approach used for other projects, 
but in that case it was a strictly Debian environment.

Ideally when things change in Firefox's build requirements.  You update the
dependencies in the pseudo-package, bump the version number and run gdebi
again.  So ./mach bootstrap effectively builds a fresh package each time,
which may or may-not have a new version number and runs gdebi.

(I hope replying to bugzilla e-mails works.)
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.