Johannes Dewender wrote:
Am Samstag 23 März 2013, 06:34:37 schrieb Xyne:
Always use "install" instead of of combinations of "mkdir", "mv", "cp" and "chmod" whenever possible.
I would go d'accord with "Always consider using 'install' vs ...". However I do not understand why one should "Always use install". And everytime I ask about the reasons, I don't get an answer, so I ask here again.
I do understand that there are cases where using install is quite beneficial. That is: When you need to set certain permissions (other than read access, see below) or an execute bit. When you rename files and want to create folders at the same time.
However, I get the impression TUs try to force people into using "install" even when it doesn't actually make things easier and even then this should be an optional change, not a must. I especially don't understand why "mkdir" is "evil".
One example where I don't like using install -D is when that would mean giving a destination file name that is the same as the source file name, just to be able to use install's "-D" switch to create directories. Typos in that redundancy are not reported as errors and will create problems later on. Or when install would do exactly the same as a corresponding "cp" line. In that case it is up to personal preference, certainly no mistake.
The only thing that would break a cp without chmod for nearly all (non-executable) files is a umask including 0004, which I would call a serious problem in the build environment. However, makepkg forces an umask of 0022 anyways.
See also my statement in https://aur.archlinux.org/packages/picard-plugins/ In that case a merge request (to that package) was "taken hostage" to force changing everything to "install". I don't like the attitude of forcing volunteers to invest even more time when the original change is perfectly fine. After all, that might keep people from contributing the next time. And a merge request is not a personal request. It's a request that helps making the AUR better altogether. I might have taken that wrong, but the comment was posted right after the request. The request wasn't accepted until a day later and after I changed the PKGBUILD to "install" use. This was not the first comment pushing me to use "install" in my PKGBUILDS, but I still wait for actual reasons, other than personal preference.
Don't get me wrong. "install" is a valuable tool and it should be used in Makefiles that install directly into the system (which makepkg is not) because of the reasons explained in http://en.chys.info/2009/05/install-vs-cp-and-mmap/ (and possibly umask problems) but I don't like when people pick on perfectly valid PKGBUILDs because they have a "feel" that everybody should always be using "install". It's not like package maintainers have too much time at their hands and are happy to change them just because of personal preference of people that don't have to maintain the package.
-- JonnyJD
Honestly, I don't have any real technical argument. Using "install" is the inherited religion and I'm not one to defend it. I will use something else if it is more convenient. As for the name redundancy, it is still less redundant than giving the full path twice (once to make it, and once to install the file). Overall I think it is better if there is at least some semblance of consistency in the way files are installed in PKGBUILDs, but that is stylistic. I can't comment on your anecdote without seeing the code and comment involved. That's all I've got. *raises hands*