On Mon, Nov 14, 2016 at 12:58:42AM +0000, Thomas Adam wrote: > On Mon, Nov 14, 2016 at 01:52:51AM +0100, Dominik Vogt wrote: > > By the way, any idea why "make distcheck" has never caught the > > faulty uninstallation of the symlinks? > > Nope, no idea. > > I find dist/distcheck to be some seriously weird automake black magic which > I've never fully understood.
As far as I understand it: 1. Make everything. 2. Build a tarball from the build result, using the files mentioned in the Makefile.am. 3. Create three subdirs (SOURCE, BUILD, INSTALL or whatever the exact names are). 4. Extract the tarball into SOURCE. 5. Unprotect BUILD, write protect SOURCE and protect INSTALL from any access. 6. cd into the builddir, build everything with --srcdir=SOURCE and --prefix=INSTALL. => This makes sure that all files built are placed in BUILD, all source files are taken from SOURCE, and nothing is installed or built in INSTALL during the build step. 7. Protect SOURCE from any access, write protect BUILD and unprotect INSTALL. 8. make install => This makes sure that installing actually places the files in INSTALL and not elsewhere. 9. make uninstall and check that nothing is left in INSTALL except empty directories. => Check that everything put into INSTALL ist removed, and that files are actually removed from the INSTALL and not from SOURCE or BUILD. If "make distcheck" fails, it's normally either because some file is missing from the tarball or not properly uninstalled. Ciao Dominik ^_^ ^_^ -- Dominik Vogt