Makefile: "make locale" should run as part of "make", not "make install"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Exaile |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Summary: "make install" runs compilepo.sh. This step should happen as part of "make all", not "make install".
Details: The expected method for building and installing Exaile from source is:
bzr up
make clean
make
as root: make install
To facilitate this usage, all compilation steps should happen during "make", not "make install". If you need to create any files in the local build environment, that should happen during "make", not "make install". "make install" should be limited to modifying files in /usr/local/bin, etc.
Right now (bzr head) the Exaile Makefile violates these rules. Running "make install" ends up running "make locale", due to this line in the Makefile:
install: install-target locale install-locale
and "make locale" runs compilepo.sh, due to this line in the Makefile:
locale:
cd po && find . -name "*.po" -exec ../tools/
Now when I run "make install" as root, the script creates lots of root-owned files under po/. That's annoying, because those are root-owned files, not files owned by me, and so I can't delete them. Also, I don't like running anything as root that I don't need to. To facilitate that, "make install" should just copy files, not do complex calculations.
This is a low-severity bug, but it should be easy to fix by moving the "locale" make target from "install:" to "all:".
Changed in exaile: | |
status: | Fix Committed → Fix Released |
I'm attaching a patch (output from bzr diff) that fixes this issue for me: it runs compilepo.sh from "make", not "make install". Tested on my personal Fedora 11 Linux machine.