FS#12399 - [patch] add !perlinfo to remove perllocal.pod and .packlist files
Attached to Project:
Pacman
Opened by tdy (tdy) - Wednesday, 10 December 2008, 11:00 GMT
Last edited by Dan McGee (toofishes) - Saturday, 17 January 2009, 17:09 GMT
Opened by tdy (tdy) - Wednesday, 10 December 2008, 11:00 GMT
Last edited by Dan McGee (toofishes) - Saturday, 17 January 2009, 17:09 GMT
|
Details
A small patch for a !perlinfo option:
- removes perllocal.pod and .packlist files - performs !emptydirs I wasn't sure if !emptydirs here would be desirable, but I included it for now anyway. Maybe it would be preferred to have the user call !emptydirs explicitly. I couldn't find any discussion/reports about adding such an option to makepkg, so apologies in advance if this has already been brought up and deemed unnecessary/useless/undesirable/etc. -- Tim |
This task depends upon
Closed by Dan McGee (toofishes)
Saturday, 17 January 2009, 17:09 GMT
Reason for closing: Implemented
Additional comments about closing: See commit 9a7f68317aa652cbc89e7fa69381d6239a63a6e7
Saturday, 17 January 2009, 17:09 GMT
Reason for closing: Implemented
Additional comments about closing: See commit 9a7f68317aa652cbc89e7fa69381d6239a63a6e7
Maybe it would be best to take something this patch (http://archlinux.org/pipermail/pacman-dev/2008-December/007758.html) and make it more general so files did not have to be given a full path in order to be removed.
I renamed the option/array to purge/PURGE_TARGETS, but feel free to stick with 'restrict' or some other name. It treats 'file:path/to/foo' as a hardcoded path and defaults to a regex if 'file:' isn't specified.
You can do that in bash? I had no idea. And remember globbing and regexes are completely different things- "*.pod" wouldn't even compile as a regex.
If I'm understanding globs correctly, I should have either 1) used 'find -regex' in the code or 2) replaced "regex patterns" with something like "wildcard patterns" or "patterns" in the comments.
So to sum up, I'd rather not have the !perlinfo option.
On topic, I was wondering if instead of an if splitting values with file: in front and those without, we could just use two find statements like:
find . -type f -name "$pt" -exec rm -f -- '{}' \;
find . -samefile "$pt" -exec rm -f -- '{}' \;
That way we could have:
PURGE_TARGETS=(usr/share/info/dir .packlist *.pod)
which I think is nice and clean.
I think the proposed idea is to create a list, in makepkg.conf, of files and patterns we remove from _all_ packages. This would make the setting at the _distro_ level, not the _package_ level. This list would include info/dir files, packlist files, pod files, and others...
http://dev.archlinux.org/~allan/gitweb/gitweb.cgi?p=pacman.git;a=commitdiff;h=3dbd12b4
This allows the specification of
PURGE_TARGETS=(usr/share/info/dir .packlist *.pod)
Anythinig with a "/" in the file name is removed using rm while others are removed using find.
I couldn't seem to get the find-x2 to work in my test dirs, so I was just waiting for some gurus to comment on it. In any case, I like this newest implementation.