Date: Fri, 9 Jul 2010 12:50:06 GMT From: Anonymous <swell.k@gmail.com> To: gecko@FreeBSD.org Subject: Re: ports/148436: www/firefox35: directories installed with incorrect permissons Message-ID: <201007091250.o69Co65B069399@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/148436; it has been noted by GNATS. From: Anonymous <swell.k@gmail.com> To: Peter Jeremy <peterjeremy@acm.org> Cc: bug-followup@FreeBSD.org Subject: Re: ports/148436: www/firefox35: directories installed with incorrect permissons Date: Fri, 09 Jul 2010 16:44:15 +0400 Well, nsinstall(1) uses same permissions when copying directories recursively. It's easily reproducable by $ nsinstall -m 644 /usr/include blah nsinstall: cannot create /path/to/blah/include/unctrl.h: Permission denied More accurately $ nsinstall -t -m 644 dist/include/system_wrappers FAKEDIR/include/firefox3/unstable from toolkit/mozapps/installer/packager.mk # The dist/include has module subdirectories that we need to flatten find $(DIST)/include -type f -o -type l -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \; This also makes SU_CMD-aware install as well as INSTALL_AS_USER unable to copy system_wrapper directory contents to FAKEDIR. And on do-install cpio(1) faithfully copies those wrong permissions to PREFIX/include. However, there is a port's specific bug in mimicing `-xtype f' behaviour. The man pages says -xtype c The same as -type unless the file is a symbolic link. For sym- bolic links: if the -H or -P option was specified, true if the file is a link to a file of type c; if the -L option has been given, true if c is `l'. In other words, for symbolic links, -xtype checks the type of the file that -type does not check. So, it should match all files and symlinks that do *not* point to directories. IOW, above command should not try to install system_wrappers and system_wrappers_js. Here is a quick fix. --- a.diff begins here --- Index: www/firefox35/files/patch-toolkit_mozapps_installer_packager.mk =================================================================== RCS file: /a/.cvsup/ports/www/firefox35/files/patch-toolkit_mozapps_installer_packager.mk,v retrieving revision 1.1 diff -u -p -r1.1 patch-toolkit_mozapps_installer_packager.mk --- www/firefox35/files/patch-toolkit_mozapps_installer_packager.mk 25 Apr 2009 22:45:27 -0000 1.1 +++ www/firefox35/files/patch-toolkit_mozapps_installer_packager.mk 9 Jul 2010 12:12:28 -0000 @@ -5,7 +5,7 @@ (cd $(DESTDIR)$(includedir)/stable && tar -xf -) # The dist/include has module subdirectories that we need to flatten - find $(DIST)/include -xtype f -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \; -+ find $(DIST)/include -type f -o -type l -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \; ++ find -L $(DIST)/include -name system_wrappers\* -prune -or -type f -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \; # IDL directory is stable (dist/sdk/idl) and unstable (dist/idl) $(NSINSTALL) -D $(DESTDIR)$(idldir)/stable $(NSINSTALL) -D $(DESTDIR)$(idldir)/unstable --- a.diff ends here ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007091250.o69Co65B069399>