Opened 17 years ago

Closed 16 years ago

Last modified 13 years ago

#1013 closed defect (fixed)

Qt build method 1 installs files with wrong permissions

Reported by: Nico R. Owned by: bdubbs@…
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)

qt-x11-free-3.3.3-install-wrapper-1.patch.bz2 (971 bytes ) - added by Nico R. 17 years ago.
Patch which adds a wrapper script to qt in order to get the permissions right when calling install.
qt-x11-free-3.3.3-install-wrapper-1.patch.bz2.asc (189 bytes ) - added by Nico R. 17 years ago.
GnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patch.bz2
BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2 (1.5 KB ) - added by Nico R. 17 years ago.
Patch to change the qt page in the book to fix permission problems and include the qt file installation wrapper script
BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2.asc (189 bytes ) - added by Nico R. 17 years ago.
GnuPG signature for BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2

Download all attachments as: .zip

Change History (15)

by Nico R., 17 years ago

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

by Nico R., 17 years ago

GnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patch.bz2

by Nico R., 17 years ago

Patch to change the qt page in the book to fix permission problems and include the qt file installation wrapper script

by Nico R., 17 years ago

GnuPG signature for BLFS-SVN-2004-10-14T07:05:20+0200-qt-permissions-1.patch.bz2

comment:1 by Nico R., 17 years ago

attachments.description: GnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patchGnuPG signature for qt-x11-free-3.3.3-install-wrapper-1.patch.bz2

comment:2 by bdubbs@…, 16 years ago

Milestone: future6.1
Status: newassigned

comment:3 by bdubbs@…, 16 years ago

Owner: changed from Nico R. to bdubbs@…
Status: assignednew

comment:4 by bdubbs@…, 16 years ago

Resolution: worksforme
Status: newclosed

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 Nico R., 16 years ago

Resolution: worksforme
Status: closedreopened

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 bdubbs@…, 16 years ago

Resolution: worksforme
Status: reopenedclosed

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 Nico R., 16 years ago

Resolution: worksforme
Status: closedreopened

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 bdubbs@…, 16 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 bdubbs@…, 16 years ago

Resolution: fixed
Status: reopenedclosed

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 tushar@…, 16 years ago

Keywords: VERIFIED added

comment:11 by (none), 13 years ago

Milestone: 6.1

Milestone 6.1 deleted

Note: See TracTickets for help on using tickets.