checkinstall source code inside home directory
Asked Answered
S

1

5

I am trying to create a deb file from my openCV (not relevant) source code. location for the source is ~/software/opencv/

Here are the commands I executed successfully.

cd ~/software/opencv/
mkdir build
cd build
cmake ..
make

Then instead of sudo make install, I am using sudo checkinstall to create the deb. But in the middle of the process, this prompt comes up.

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
Do you want me to list them?  [n]:

when I list the files, it's just

/home
/home/user
/home/user/software
/home/user/software/opencv
/home/user/software/opencv/opencv-3.3.1
/home/user/software/opencv/opencv-3.3.1/build
/home/user/software/opencv/opencv-3.3.1/build/CMakeFiles
/home/user/software/opencv/opencv-3.3.1/build/install_manifest.txt

What I need to know is this.

  • What is the reason for this prompt?
  • What directories should I include & exclude when using checkinstall?
  • How can I run checkinstall without facing this prompt?
Scrap answered 1/11, 2017 at 9:57 Comment(0)
R
6

Why

The quality of the build scripts of different software may vary. OpenCV happens to have some imperfections like including install_manifest.txt into the install files. Some software isn't packageable by checkinstall at all.

The canonical way of making deb packages is to use the "Debian Maintainer Guide" that is used for packaging all the packages in the Debian OS. But it's too complex, so it's used mostly by the really motivated people.

What directories

Depends on the software. The stuff in bin and lib is usually needed.

How to avoid

Use the checkinstall --default.

Other things

The sudo make install isn't necessary.

It's possible to avoid sudo by using fakeroot instead (so you don't touch the root accound). Also, it's a good thing to avoid installation (by using --install=no --fstrans=yes) while generating the package. So use this if possible:

fakeroot checkinstall --install=no --fstrans=yes
Regatta answered 2/11, 2017 at 16:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.