Bug 35980 - www/mozilla{,-headers}: installs incorrectly if *built* as non-root
Summary: www/mozilla{,-headers}: installs incorrectly if *built* as non-root
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-03-16 14:10 UTC by Alan E
Modified: 2002-04-13 18:07 UTC (History)
1 user (show)

See Also:


Attachments
file.diff (1.57 KB, patch)
2002-03-16 14:10 UTC, Alan E
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alan E 2002-03-16 14:10:01 UTC
I do ports builds as myself, then use sudo to do the 'make
install'. The mozilla and mozilla-headers ports do not install
correctly when the 'build' step is executed as non-root: the installed
files have the build owner and group.

This is not a new bug. I just happened to notice it this morning.

[alane ~/FreeBSD/ports/www/mozilla]$ ls -l /usr/X11R6/lib/mozilla/
total 5554
-rwxr-xr-x   1 alane  alane     4272 Mar 16 01:58 DocStream
-rwxr-xr-x   1 alane  alane     4272 Mar 16 01:58 HelloWorld
-rw-r--r--   1 alane  alane     3078 Mar 21  2000 INSTALL.xmlterm
-rwxr-xr-x   1 alane  alane    20368 Mar 16 02:15 TestGtkEmbed
-rwxr-xr-x   1 alane  alane     7216 Mar 16 02:15 TestGtkEmbedChild
-rwxr-xr-x   1 alane  alane     5096 Mar 16 02:15 TestGtkEmbedNotebook
-rwxr-xr-x   1 alane  alane     5636 Mar 16 02:15 TestGtkEmbedSocket
-rw-r--r--   1 alane  alane      217 Feb  5 02:16 bloaturls.txt
drwxr-xr-x   3 alane  alane     1024 Mar 16 02:16 chrome
[...]
[alane ~/FreeBSD/ports/www/mozilla-headers]$ ls -l /usr/X11R6/include/mozilla/
total 290
drwxr-xr-x  2 alane  alane   512 Mar 16 08:43 absyncsvc
drwxr-xr-x  2 alane  alane   512 Mar 16 08:43 accessibility
drwxr-xr-x  2 alane  alane  2048 Mar 16 08:43 addrbook
drwxr-xr-x  2 alane  alane  1024 Mar 16 08:43 appcomps
drwxr-xr-x  2 alane  alane   512 Mar 16 08:43 appshell
drwxr-xr-x  2 alane  alane   512 Mar 16 08:43 autoconfig
[...]

Note: Very few ports, if any, truly need to have the build step
executed as root; these two certainly do not.

Fix: Use find|cpio instead of tar|tar to install. These installs were verified
to have the same effect as the original tar|tar installations.

Notes: 

1. The mozilla install uses GNU tar's -h option to dereference symlinks. This
behavior is maintained by using the -L option to cpio.
2. The mozilla-headers install also uses the --unlink option to tar. Since
there is no equivalent option to cpio, and since no other port writes to this
installation directory (${PREFIX}/include/mozilla), the installation step now
removes the existing directory first.

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
How-To-Repeat: 
See above.
Comment 1 Pete Fritchman freebsd_committer freebsd_triage 2002-03-16 19:28:32 UTC
Responsible Changed
From-To: freebsd-ports->gnome

Over to maintainers
Comment 2 Alan Eldridge 2002-03-16 19:50:23 UTC
This problem affects www/mozilla-embedded as well:

Patch is:
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
Index: www/mozilla-embedded/Makefile
===================================================================
RCS file: /home/alane/cvsroot/ports/www/mozilla-embedded/Makefile,v
retrieving revision 1.13
diff -u -3 -r1.13 Makefile
--- www/mozilla-embedded/Makefile	5 Feb 2002 17:24:00 -0000	1.13
+++ www/mozilla-embedded/Makefile	16 Mar 2002 19:47:35 -0000
@@ -41,7 +41,7 @@
 do-install:
 	${MKDIR} ${PREFIX}/lib/mozilla-embedded
 	${CHMOD} 755 ${PREFIX}/lib/mozilla-embedded
-	cd ${WRKSRC}/dist/Embed && ${TAR} -chf - * | \
-		${TAR} -xf - -C ${PREFIX}/lib/mozilla-embedded
+	cd ${WRKSRC}/dist/Embed && ${FIND} . | \
+	  cpio -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib/mozilla-embedded
 
 .include <bsd.port.mk>
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

-- 
AlanE
"When the going gets tough, the weird turn pro." - HST
Comment 3 Joe Marcus Clarke freebsd_committer freebsd_triage 2002-04-13 18:07:03 UTC
State Changed
From-To: open->closed

Committed, thanks!