#1013 closed defect (fixed)
Qt build method 1 installs files with wrong permissions
| Reported by: | Nico R. | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | BOOK | Version: | SVN |
| Severity: | normal | Keywords: | VERIFIED |
| Cc: |
Description
Files like include files and static libraries are installed with wrong permissions (0755 instead of 0644) if using Method 1 (installation into /usr) for qt. This is due to the fact that we are using install instead of cp.
Attachments (4)
Change History (15)
by , 21 years ago
| Attachment: | qt-x11-free-3.3.3-install-wrapper-1.patch.bz2 added |
|---|
by , 21 years ago
| Attachment: | qt-x11-free-3.3.3-install-wrapper-1.patch.bz2.asc added |
|---|
GnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patch.bz2
by , 21 years ago
| Attachment: | BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2 added |
|---|
Patch to change the qt page in the book to fix permission problems and include the qt file installation wrapper script
by , 21 years ago
| Attachment: | BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2.asc added |
|---|
GnuPG signature for BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2
comment:1 by , 21 years ago
| attachments.description: | GnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patch → GnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patch.bz2 |
|---|
comment:2 by , 21 years ago
| Milestone: | future → 6.1 |
|---|---|
| Status: | new → assigned |
comment:3 by , 21 years ago
| Owner: | changed from to |
|---|---|
| Status: | assigned → new |
comment:4 by , 21 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | new → closed |
This seems to be fixed in qt-3.3.4. I only checked using method 2, so this needs to be reopened if it is still a problem when building with method 1.
comment:5 by , 21 years ago
| Resolution: | worksforme |
|---|---|
| Status: | closed → reopened |
This bug can only appear when installing with method 1. It is caused by using the 'install' command instead of the 'cp' command to copy files. The default permissions when installing with the 'install' command are 0755, as described on <URL:http://www.gnu.org/software/coreutils/manual/html_chapter/coreutils_11.html>. When using 'cp', the permissions of the source file are copied (minus the umask), see <URL:http://www.gnu.org/software/coreutils/manual/html_chapter/coreutils_11.html>.
I can't test this now, because I don't have my usual LFS+BLFS system ready at hand, but I'm sure that this worked for you, Bruce, because you were using method 2. Reopening this bug.
comment:6 by , 21 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | reopened → closed |
The latest comment is not backed up by the code. After a Method 1 configure, the Makefiles do:
Makefile1 -$(INSTALL_FILE) "../include/jri.h" "$(INSTALL_ROOT)/usr/include/qt/"
Makefile2 -$(INSTALL_FILE) "../../../lib/$(TARGET)" "$(INSTALL_ROOT)/usr/lib/$(TARGET)"
Where the defines include:
COPY = cp -f COPY_FILE= $(COPY) COPY_DIR = $(COPY) -r INSTALL_FILE= $(COPY_FILE) INSTALL_DIR = $(COPY_DIR) TARGET = libeditor.a
No install in sight.
Marking WORKSFORKME. Please reopen if a test installation shows that the above analysis is wrong.
comment:7 by , 21 years ago
| Resolution: | worksforme |
|---|---|
| Status: | closed → reopened |
Reopening.
Back at my machine, I completed a test build and installation with the most recent instructions from (already including <URL:http://linuxfromscratch.org/pipermail/blfs-book/2005-April/012954.html>, because I noticed the problem and fixed it over here in the same way that Randy has committed).
My Makefiles have:
COPY = install COPY_FILE= $(COPY) COPY_DIR = $(COPY) -r INSTALL_FILE= $(COPY_FILE) INSTALL_DIR = $(COPY_DIR)
This is due to line 1 of the sed which we apply to mkspecs/linux*/qmake.conf. You *were* testing this on a *Linux* system, right? ;-)
During 'make install' I can see the messages which contain "install", not "cp -f".
As far as I can see, the files installed with improper permissions are:
- /usr/share/doc/qt/html/*
- /usr/lib/lib[...].prl
- /usr/lib/lib[...].la
- /usr/include/qt/private/*
- /usr/include/qt/*.h
By the way:
The install command has no '-r' option. This is *not* a problem for the qt installation with the current instructions, but it breaks installation for at least one package which depends on qt and which I recently installed. Don't remember what it was, sorry. The problem is that this package uses qmake which uses $(COPY_DIR) to copy files. But $(COPY_DIR) evaluates to "install -r" which errors out.
comment:8 by , 21 years ago
Adjusted instructions to remove the change in qmake.conf from copy to install. Added a note that if reinstalling qt using Method 1, the procedure should be accomplihed without a qt based window manager running.
Will not close yet, but will wait for feedback.
comment:9 by , 21 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
Changing to FIXED again. There has been no comments about the most recent changes make last week so it appears that the issue has been resolved. As always, reopen if this has not fixed the problem.
comment:10 by , 20 years ago
| Keywords: | VERIFIED added |
|---|

Patch which adds a wrapper script to qt in order to get the permissions right when calling install.