From owner-freebsd-ports Sun Jul 1 15:54:13 2001 Delivered-To: freebsd-ports@freebsd.org Received: from k0r3.reflektor.cz (k0r3.reflektor.cz [212.24.129.54]) by hub.freebsd.org (Postfix) with SMTP id E42E737B403 for ; Sun, 1 Jul 2001 15:54:07 -0700 (PDT) (envelope-from cynic@mail.cz) Received: (qmail 21361 invoked by uid 202); 1 Jul 2001 22:54:06 -0000 Received: from unknown (HELO zvahlav.mail.cz) (212.24.143.100) by k0r3.reflektor.cz with SMTP; 1 Jul 2001 22:54:06 -0000 Message-Id: <5.1.0.14.2.20010701231030.020399d0@mail.cz> X-Sender: cynic@mail.cz X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Mon, 02 Jul 2001 01:02:22 +0200 To: freebsd-ports@freebsd.org, dwcjr@FreeBSD.org From: Cynic Subject: samba port install failure... general question Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hi there, (I'm sending this to dwcjr because this is a "your port is broken" mail, and to freebsd-ports@ because it deviated into general ports discussion. Apologies if this is a misbehavior.) excuse me if this question is stupid, but here it is: is there a reason for a port to assume it's installed in /usr/local? I just tried to build samba-devel, and it failed, because there's no /usr/local/samba/share/ (the command line was # make PREFIX="/usr/local/samba" install, Makefile contains post-install: ${MKDIR} ${PREFIX}/share/examples/samba and other things like that, and # make install failed with Installing SWAT in /usr/local/samba/share/swat Installing the Samba Web Administration Tool mkdir: /usr/local/samba/share: No such file or directory Failed to make directory /usr/local/samba/share/swat, does root have privileges? I tried to workaround the limitation with this: [toor(root)@freepuppy samba-devel]# mkdir /usr/local/samba/share [toor(root)@freepuppy samba-devel]# make clean [toor(root)@freepuppy samba-devel]# make PREFIX="/usr/local/samba" build [toor(root)@freepuppy samba-devel]# make install (...) ===> Generating temporary packing list /bin/mkdir -p /usr/local/share/examples/samba /bin/cp -rp /usr/ports/net/samba-devel/work/samba-2.2.0a/examples/* /usr/local/share/examples/samba Installing /usr/local/etc/rc.d/samba.sh.sample startup file. install -c -o root -g wheel -m 555 /usr/ports/net/samba-devel/work/samba-2.2.0a/source/script/mksmbpasswd.sh /usr/local/bin/make_smbpasswd if [ ! -d /usr/local/private ] ; then /bin/mkdir -p /usr/local/private ; /usr/sbin/chown root:wheel /usr/local/private ; fi /bin/chmod 700 /usr/local/private if [ ! -f /usr/local/private/smbpasswd ] ; then /bin/cat /etc/passwd | /usr/local/bin/make_smbpasswd > /usr/local/private/smbpasswd ; /bin/chmod 600 /usr/local/private/smbpasswd ; fi /bin/chmod 500 /usr/local/private /usr/sbin/chown root:wheel /usr/local/bin/smbpasswd chown: /usr/local/bin/smbpasswd: No such file or directory *** Error code 1 Stop in /usr/ports/net/samba-devel. *** Error code 1 Stop in /usr/ports/net/samba-devel. *** Error code 1 Stop in /usr/ports/net/samba-devel. So, as you can see, it relies on /usr/local heavily all over the place. Should I patch the Makefile? I'm no expert, but I can try. If it'd be welcome, do you know of any port that does it the "right" way, so that I can look at an example? Note: I read http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-prefix.html and instead of clarification I'm confused even more. It says that ports' makefiles should be written relative to ${PREFIX}, but this means that instead installing man pages etc. in /usr/local/man and share/doc/ (as specified in hier(7)) these will be installed in ${PREFIX} subdirs, and that only if the install doesn't break... So... I'm confused - should port documentation be installed in /usr/local/share/doc/ or in ${PREFIX}/share/doc/, no matter what ${PREFIX} contains? Even if the latter was true, I think that /urs/ports/Mk/bsd.port.mk should check whether ${PREFIX} already contains name of the software, and modify the paths accordingly (i. e. instead of /usr/local/samba/share/doc/samba it should install stuff in /usr/local/samba/share/doc). Of course, this would mean one would have to modify their environment, or the framework would have to append to /etc/manpath.config etc... Which doesn't look very nice. BTW, samba-devel and samba aren't the only two ports assuming you install them with default PREFIX (="/usr/local"). Another one I can say this about for sure is ngrep. cynic@mail.cz ------------- And the eyes of them both were opened and they saw that their files were world readable and writable, so they chmoded 600 their files. - Book of Installation chapt 3 sec 7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message