Skip site navigation (1)Skip section navigation (2)
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>