Hi again, We're finally getting that cairo snapshot out, so here's some rambling about "make dist" improvements:
- Sticky bits: We've had problems before that cairo tarballs have included files with sticky bits set. So we added a rule ourselves to clean up of any sticky bits. But since I see automake already does some sanity: find cairo-1.7.6 -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /home/behdad/src/git/fd.o/cairo/build/install-sh -c -m a+r {} {} \; \ || chmod -R a+r cairo-1.7.6 thought maybe it's a good idea to do that too. Also may be a good idea to instruct tar to not record uid of the user making the tarball? - Parallel make: A fellow maintainer had weird problems making a snapshot today, which I turned out to be caused by him having MAKEFLAGS=-j2. Trying to fix that I found that automake can be a bit more helpful. The scenario at hand is that we have some make targets to make releasing easier. In particular: release-check: \ release-verify-sane-changelogs \ release-verify-sane-tests \ release-verify-even-micro \ release-verify-newer \ release-remove-old \ distcheck release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) mkdir -p releases ... The problem is that my release-upload rule relies on release-check (by way of distcheck) create $(tar_file), which is my fault of course. I can add a rule: $(tar_file): dist But then dist and distcheck will be run in parallel which is not good. One suggestion here is to make automake generate rules for things like "$distdir.tar.gz: dist-gzip", but that's a separate thing. Anyway, what would be helpful is if dist-gzip et al (distcheck also?) did locking as described at the end of automake manual section on Handling Tools that Produce Many Outputs. That way the implied dist in distcheck and the dist my release-upload target will require will not race and dist rules will be run just once. Cheers, behdad