3

A lot of repositories on Github have an "automatic" installer like the one posted below. I always wonder how to find out which binaries will get installed but I can not figure it out from the script.

This is an example from libbitcoin-explorer.

2 Answers 2

3

Most "installers" (be it a custom one like the one that you link to, or a Makefile that is created from a GNU autotools configure script, or a CMake or Meson build specification etc.) allows you to set an installation prefix. The one you point to, for example, seems to have a --prefix option. The --prefix option is also used by GNU autotools configure scripts and Meson, while CMake uses -DCMAKE_INSTALL_PREFIX.

Usually, the default installation prefix is /usr/local, but setting it to someplace else would allow you to install the software in a clean, previously unpopulated, file hierarchy.

Using this --prefix option to install in a non-default location such as /tmp/testdir, you would be able to investigate the installation directory to see exactly what is installed (assuming that the script is using the given path as a true installation prefix and does not try to install anything outside of that path; you will have to read the script to find out if that is the case).

1

You could use checkinstall to do create a package to install.

Then use your package manager to install it and afterwards use your package manager to show you the files, e.g. dpkg -l package

From man checkinstall (emphasis mine):

checkinstall is a program that monitors an installation procedure (such as make install, install.sh), and creates a standard package for your distribution (currently deb, rpm and tgz packages are supported) that you can install through your distribution's package management system (dpkg, rpm or installpkg).

If you create a tgz-package you don't even need to install it: tar --list thepackage.tgz will list the contents of the package.

3
  • checkinstall seems very interesting! But since I am not using make install myself I wonder if it would work in my setup. As I said I use a script install.sh which does all the work, including the make (and this is recommended by the programmers of the project).
    – bomben
    Sep 26, 2019 at 9:54
  • 1
    No matter, checkinstall works fine tracking install.sh.
    – markgraf
    Sep 26, 2019 at 10:47
  • Indeed, checkinstall ./install.sh --prefix=/... --build-boost ... works, I am even able to append | tee log.txt for logging purpose. But the install script fails on the first attempt to download with wget. It only fails with checkinstall, it works past this stage without checkinstall.
    – bomben
    Sep 26, 2019 at 11:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .