* Package name : execpermfix Version : 1.0.5 Upstream Author : Leandro Lisboa Penz <lpenz@lpenz.org> * URL : http://github.com/lpenz/execpermfix * License : GPL-2 * Programming Lang: C Description : Fixes executable permissions execpermfix sets or resets the executable permission bit of a file based on its contents: ELF header and shebang. The permission given is synchronized with the read permission. That's useful when unpacking files from compression formats or network transmission protocols that do not support execution permission meta-information. It can also be used to synchronize the execution permission with the read permission. I will maintain it in collab-maint. I already have a sponsor.
Instead of writing this execpermfix thing in C, I'd do it
as a one-liner in shell.
find FILES-AND-DIRECTORIES \
-type f \
-execdir sh -c 'file --brief "$1" | grep -q executable' -- '{}' \; \
-print0 \
| xargs -0 chmod --verbose +x
Works for me!
(The contortions in the middle are to make sure filenames containing
whitespace, literal single or double quotes, etc, are handled
correctly.)
Cheers,
I used to have a one-liner until I got tired of the poor performance. On a quick test here in my PC, execpermfix took 2.7s to process a directory while find with file and grep (no chmod) took 18.5s (~5 runs). execpermfix also has better error-handling, and it only gives x where there is an r - you'll never get a "rwxr-x--x" permission. The -n and -v can be used to check for files that should have the permission. The default quiet mode follows the unix philosophy. I think it has its value, and I always use it after updating legacy (big) CVS repositories.
retitle 748562 RFP: execpermfix -- Fixes executable permissions noowner 748562 tag 748562 - pending thanks Hi, A long time ago, you expressed interest in packaging execpermfix. Unfortunately, it seems that it did not happen. In Debian, we try not to keep ITP bugs open for a too long time, as it might cause other prospective maintainers to refrain from packaging the software. This is an automatic email to change the status of execpermfix from ITP (Intent to Package) to RFP (Request for Package), because this bug hasn't seen any activity during the last 12 months. If you are still interested in packaging execpermfix, please send a mail to <control@bugs.debian.org> with: retitle 748562 ITP: execpermfix -- Fixes executable permissions owner 748562 ! thanks It is also a good idea to document your progress on this ITP from time to time, by mailing <748562@bugs.debian.org>. If you need guidance on how to package this software, please reply to this email, and/or contact the debian-mentors@lists.debian.org mailing list. Thank you for your interest in Debian,