How can I tell checkinstall only create deb package file, but not install?


with checkinstall --install=no, it fails at the end, for not having permission to do something. Does it really need root to create a deb file without installation?

$ checkinstall --install=no

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.



*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values: 

0 -  Maintainer: [ tim@admin ]
1 -  Summary: [ wine 1.6.2 built from source Oct 3, 2014 ]
2 -  Name:    [ wine ]
3 -  Version: [ 1.6.2 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ wine-1.6.2 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ wine ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Enter a number to change any of them or press ENTER to continue: 

Installing with make install...

========================= Installation results ===========================
make[1]: Entering directory `/tmp/wine-1.6.2/tools'
make[1]: `makedep' is up to date.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools'
make[1]: Entering directory `/tmp/wine-1.6.2/libs/port'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/libs/port'
make[1]: Entering directory `/tmp/wine-1.6.2/libs/wine'
version=`(GIT_DIR=../../.git git describe HEAD 2>/dev/null || echo "wine-1.6.2") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
make[1]: Leaving directory `/tmp/wine-1.6.2/libs/wine'
make[1]: Entering directory `/tmp/wine-1.6.2/libs/wpp'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/libs/wpp'
make[1]: Entering directory `/tmp/wine-1.6.2/tools'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/widl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/widl'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/winebuild'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/winebuild'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/winedump'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/winedump'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/winegcc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/winegcc'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/wmc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/wmc'
make[1]: Entering directory `/tmp/wine-1.6.2/tools/wrc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/tools/wrc'
make[1]: Entering directory `/tmp/wine-1.6.2/include'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/include'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/adsiid'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/adsiid'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: `libdinput.def' is up to date.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: `libdinput.def.a' is up to date.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dinput'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dxerr8'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dxerr8'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dxerr9'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dxerr9'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/dxguid'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/dxguid'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/strmbase'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/strmbase'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/strmiids'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/strmiids'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/uuid'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/uuid'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/winecrt0'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/winecrt0'
make[1]: Entering directory `/tmp/wine-1.6.2/dlls/acledit'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/wine-1.6.2/dlls/acledit'
./tools/mkinstalldirs -m 755 /usr/local/lib/wine
mkdir /usr/local/lib/wine
mkdir: cannot create directory `/usr/local/lib/wine': Permission denied
make: *** [/usr/local/lib/wine] Error 1

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.

with fakeroot checkinstall, also fail due to permission problem.

share|improve this question

marked as duplicate by Satō Katsura, countermode, thrig, Kusalananda, Stephen Kitt Feb 15 '17 at 16:34

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
That's the default behavior. – jordanm Sep 28 '14 at 18:16
    
Then why does it ask for root? – Tim Sep 28 '14 at 18:16
    
a lot of package building semi-requires root. Usually fakeroot is used instead. – jordanm Sep 28 '14 at 18:18
1  
What does "semi-requires" mean? How shall I fakeroot? – Tim Sep 28 '14 at 18:19

Try using checkinstall --install=no --fstrans=yes. It enables file system translation so package won't touch your actual filesystem. Thus it doesn't require root privileges to store files.

share|improve this answer

You should be able to pass it --install=no to get the desired behaviour.

share|improve this answer
    
with checkinstall --install=no, it fails at the end, for not having permission to do something. Does it really need root to create a deb file without installation? See my update. – Tim Oct 4 '14 at 0:21
    
It looks like it is bothered by the fact that /usr/local/lib/wine doesn't exist and wants to create it. I thought it shouldn't try to do that with --install=no. Do you have wine already? If so, /usr/lib/wine may already exist. It may work better if you change your install prefixes to use /usr/lib/wine instead (which is the more Debian-standard path anyway). See if it works better with a modified prefix. – Unix-Ninja Oct 6 '14 at 14:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.