Goswin von Brederlow <goswin-...@web.de> writes: >>> At a glance what does this do? >> [...] >> >> It triggers my "slap the maintainer silly" button. Other than that, it's >> dead simple: copy a file from one place to the other (with possibly >> renaming the file), with the file list following the while loop. > > Not quite. It implements support for renaming files during dh_install, > implementing the following syntax: > > file path/ > file path/new_name > > The hack it does is to copy the file in the source directory to the new > name and then letting dh_install install it to the destination > directory.
Yeah... I realized my mistake a minute after sending the message, but at that point, I was already trying to come up with a she-bang tool that helps with this case. This, though, is a valid point against executable scripts, unless they become somewhat standardized. > And yes, like this it is a totaly ugly hack. Does it become better as > #!/usr/bin/debhelper-exec-rename or something? At the moment, I have something that works like this: ,---- | #! /usr/bin/dh-exec-install | # The next one will simply echo it back to dh_install | source-file /dest-dir/ | | # This one will copy the file itself, following similar heuristics as | # dh_install: it will first try the source file directly, and if it's | # not found, try the same path under debian/tmp/. The destination is | # relative to debian/${PACKAGE} (as per dh compat level 7+) | # | # Since dh-exec-install does the copying itself, this line is NOT | # echoed back to dh_install. | source-file /dest-dir/new-name `---- My implementation copies the file to the desired destination, which may or may not be a good idea - I'll do some more tests to see which one's less painful and more safe. I'm leaning towards copying to the destination with dh-exec-install directly, as that avoids the possibility of naming conflicts within the source (however unlikely that may be). >> This also gave me an idea, and since this use-case seems to be common, >> I'll probably rename my dh_subst thing to debhelper-exec-extras or >> something similar, and include a little tool that will cover this >> use-case aswell. > > What if I want to do more than one thing? For example rename and do the > variable substitution. Should we have something like > > #! /usr/bin/debhelper-exec-pipe debhelper-exec-subst debhelper-exec-rename > > which would pipe the input file through debhelper-exec-subst and > debhelper-exec-rename both? > > Does any Debian port have the limit of only one argument for shebangs? Good question! I thought about this too, and the current idea is a dh-exec tool, that wraps the rest, and puts them in the appropriate order that makes sense in 99% of the cases (with the current two tools: this will be dh-exec-subst | dh-exec-install, so that we get variable expansion before copy-stuff). This, however, is not completely implemented yet. I'll fix that in a couple of hours when I near a computer. And if so need be, this can be later extended with --with-$tool and --without-$tool options, so that one can say: #! /usr/bin/dh-exec --without-subst Or: #! /usr/bin/dh-exec --with-install By the way, the current state of my work (renamed from dh-subst to dh-exec) is available at https://github.com/algernon/dh-exec/ (the URL may change, if the project gets renamed again), if you or anyone else feels like giving it a test ride. There's even a debian/ dir in there, and a test suite (just don't look at the test scripts... I need to rewrite those)! -- |8] -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87vcpl4ps4.fsf@algernon.balabit