KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to compile Quarter and package it using checkinstall . If I do the standard ./configure && make && sudo make install, things go fine. $ wget http://ftp.coin3d.org/coin/src/all/Quarter-1.0.0.tar.gz $ tar xzf Quarter-1.0.0.tar.gz $ cd Quarter-1.0.0 $ ./configure $ make $ sudo make install But when I use checkinstall, it fails on a mkdir -p that should work perfectly fine. The way it fails is exactly how it would as if the -p option weren't given. This is the checkinstall command line I'm using: $ checkinstall -D -y --install=no --pkgname=libquarter --pkgversion=1.0.0 \ --arch=i386 --pkglicense=GPL --maintainer=me@example.com --reset-uids=yes This is the failure: .... /bin/bash ../../../cfg/mkinstalldirs /usr/local/include/Quarter/devices mkdir -p -- /usr/local/include/Quarter/devices mkdir: cannot create directory `/usr/local/include/Quarter': No such file or directory make[4]: *** [install-libdevicesincHEADERS] Error 1 .... This is the relevant part of the script: $ cat cfg/mkinstalldirs .... case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; .... I don't understand why that exec is there -- doesn't that guarantee that the remainder of the script (after the esac ) will never execute? (If the if test passes, then the script assumes mkdir -p works correctly, so once it does the real mkdir -p it can quit; otherwise the remainder of the script implements proper mkdir -p behavior.) I also don't understand why it uses "$*" in the echo and "$@"<
Tags (comma-separated)
Save Edits
Cancel