Modularize Makefile.install
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
Adding new OS targets and modifying existing targets in Makefile.install can be dicey at times. A good example is adding a new OS which may be 95% the same as an existing OS, but requires tweaking some list of prereqs 5 install targets deep in the Makefile. (E.g. moving a CPAN module to a distro module). It's cumbersome and error-prone, particularly since not every contributor has knowledge of every OS.
As an experiment, I've created a branch where each install target gets its own sub-Makefile. Since each install target has a finite life span, I'm less concerned with long-term maintenance and lack of duplication (though some common variables and routines are also extracted out in the branch) and more concerned with ease of adding new targets and tweaking existing targets.
I've added Makefiles for Debian Wheezy (seems to work) and Squeeze (more testing needed). If we want to go this route, we'll need volunteers for the Ubuntu and Fedora targets. Also, I'm no Makefile expert, so suggestions appreciated.
The incantation has not changed, so no documentation changes are required.
working/
Changed in evergreen: | |
status: | New → Confirmed |
status: | Confirmed → In Progress |
tags: | added: install makefile |
tags: | added: pullrequest |
Changed in evergreen: | |
milestone: | none → 2.5.0-beta1 |
status: | In Progress → New |
status: | New → Confirmed |
Changed in evergreen: | |
milestone: | 2.5.0-beta1 → 2.5.0-alpha2 |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
FWIW, the impetus for this was https:/ /bugs.launchpad .net/evergreen/ +bug/1014724/ comments/ 4 -- I went to make the suggested change and was annoyed that I had to give it more than 2 seconds of thought.