I have not tested this on many systems, but when running into another "bug", I noticed that makepkg doesn't parse command line options correctly on Mac OS X:
$ sudo makepkg --asroot ==> ERROR: Running makepkg as root is a BAD idea and can cause permanent, catastrophic damage to your system. If you wish to run as root, please use the --asroot option.
I'm not sure if this has something to do with my settings, or zsh (I did test in bash), but there is a problem. After running getopt, it appears $@ gets altered. The following is the output of makepkg with an additional "echo $@" just after running getopt:
$ makepkg -h -- AbcCdefFghiLmop:rRsSV -l ignorearch,asroot,builddeps,clean,cleancache,nodeps,noextract,force,fo rcever:,geninteg,help,holdver,install,log,nocolor,nobuild,rmdeps,repac kage,source,syncdeps,usesudo,version,noconfirm,noprogressbar -n makepkg -- -h
makepkg proceeds as if -h was not supplied. The patch in the following mail attempts to fix this by using $ARGLIST, which does have the correct command line arguments. I did not test this patch on linux or other systems, or really tested it much at all, but the command line arguments do seem to get noticed and parsed properly. I didn't really write the patch as a solution, I just wanted to bring something to the table. I am not familiar with makepkg so it'd be best for other people to look into this. After applying the patch, $@ no longer gets shifted, and I saw use of OPT_IND, which never gets used, but it did scare me off a bit. Not shifting the command line arguments may result in regressions, but the solution provided is a simple one.