[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#259081: marked as done (qt3-dev-tools: qmake dereferences symlinks in generated install rules)



Your message dated Mon, 26 Feb 2007 20:47:36 -0500
with message-id <9f694b820702261747l98cf1eas1bc16cfb4cef79e6@mail.gmail.com>
and subject line Bug#259081: very old bug, do you still have the problem ?
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: qt3-dev-tools
Version: 3:3.2.3
Severity: normal

In the install rules in the generated Makefile, qmake replaces any
part of a target.path which is a symlink on the local filesystem, by
its real path.

For instance, if on my system /usr/local/bin would be a symlink to
/usr/bin, and my .pro file contains

    target.path = /usr/local/bin
    INSTALLS += target

Then the generated Makefile contains

    install_target:
        @$(CHK_DIR_EXISTS) "$(INSTALL_ROOT)/usr/bin" ...
        -$(COPY) "$(QMAKE_TARGET)" "$(INSTALL_ROOT)/usr/bin/$(QMAKE_TARGET)"

And so, 'make install INSTALL_ROOT=./tmp' will put the target
in ./tmp/usr/bin, while I really wanted it to be in ./tmp/usr/local/bin.

Obviously, on my own system when using INSTALL_ROOT=/ this won't be a
problem because the target will end up in the right place either way.
But if I intend to package up the ./tmp directory for distribution,
my files don't end up where I want them.

More specifically, this will lead to problems like spurious FTBFSs and
broken binary packages in Debian.  Any Debian package built from source
on a system having symlinks anywhere on any of the install paths for the
package will either FTBFS or be different from the original intended
binary.  (I suspect bug #181555 to have been caused by exactly this.)

The solution is straightforward: qmake should not 'realpath' the
target.paths when generating the Makefile.

Best regards,
Marco


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.6-2z1
Locale: LANG=C, LC_CTYPE=C


--- End Message ---
--- Begin Message ---
2007/2/26, Marco van Zwetselaar <zwets@zwets.com>:
Have just tried with qmake from libqt4-dev (4.2.1-2+b1).
The bug is no more present in that version.
Have not bothered to try with qmake v3.
Closing this bug is fine.

Cheers,
Marco






--- End Message ---

Reply to: