1

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.

1

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.

  • 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). – Ben Sep 26 '19 at 9:54
  • 1
    No matter, checkinstall works fine tracking install.sh. – markgraf Sep 26 '19 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. – Ben Sep 26 '19 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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