[QScintilla] mk_distinfo.py: wrong logic for INSTALL_ROOT installations

Davide Pesavento pesa at gentoo.org
Tue Aug 28 22:12:50 BST 2018


On Tue, Aug 28, 2018 at 4:59 PM Phil Thompson
<phil at riverbankcomputing.com> wrote:
>
> On 28 Aug 2018, at 9:55 pm, Davide Pesavento <pesa at gentoo.org> wrote:
> >
> > On Tue, Aug 28, 2018 at 4:46 PM Phil Thompson
> > <phil at riverbankcomputing.com> wrote:
> >>
> >> On 28 Aug 2018, at 9:21 pm, Davide Pesavento <pesa at gentoo.org> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I'm installing QScintilla with 'make INSTALL_ROOT=/foo/bar install'
> >>> and the mk_distinfo.py step fails while trying to open non-existent
> >>> files, e.g.:
> >>>
> >>> Traceback (most recent call last):
> >>> File "mk_distinfo.py", line 101, in <module>
> >>>   fn_f = open(fn, 'rb')
> >>> FileNotFoundError: [Errno 2] No such file or directory:
> >>> '/usr/lib/python3.7/site-packages/PyQt5/Qsci.so'
> >>>
> >>> (the file is actually at /foo/bar/usr/lib/python3.7/site-packages/PyQt5/Qsci.so)
> >>>
> >>> I took a quick look at the build system and noticed that the file
> >>> paths in installed.txt are not prefixed with INSTALL_ROOT.
> >>> Unfortunately that file is generated at configure time, when
> >>> INSTALL_ROOT is not yet known, so this part of the build process may
> >>> require a redesign.
> >>
> >> No, it's intentional. The location is where things will eventually be installed. INSTALL_ROOT is used by (normally Linux) distro packagers.
> >
> > I'm aware, I'm one of those distro packagers.
> >
> > Ok so installed.txt has the correct paths: the final install location
> > without INSTALL_ROOT. Then it's mk_distinfo.py's responsibility to
> > prefix each of those paths with INSTALL_ROOT before trying to open the
> > file.
>
> So who removes it when the package is installed by the user?
>

I'm not sure I understand the question. The package manager moves the
files from INSTALL_ROOT to the real root (/). INSTALL_ROOT should not
appear (e.g. as a string or link) in any installed file. So for
instance the .dist-info/RECORD file should not contain INSTALL_ROOT.


More information about the QScintilla mailing list