Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Sep 2015 21:12:30 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 203268] [bsd.port.mk] home directory of USERS conflict with plist
Message-ID:  <bug-203268-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203268

            Bug ID: 203268
           Summary: [bsd.port.mk] home directory of USERS conflict with
                    plist
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Ports Framework
          Assignee: portmgr@FreeBSD.org
          Reporter: amdmi3@FreeBSD.org
                CC: freebsd-ports-bugs@FreeBSD.org

Problem: www/rejik ports breaks permissions of /var/squid (750->755), even
though it doesn't touch the directory.

====>> Checking for extra files and directories
====>> Error: Files or directories modified:
/var/squid permissions (0750, 0755)
====>> Cleaning up wrkdir

Full log:
http://poudriere.amdmi3.ru/data/10-amd64-default/failures_all_2015_09_20/logs/errors/rejik-3.2.11_1.log

Thus happens because:

a) squid creates directory and sets custom permissions:

    @dir(squid,squid,750) /var/squid

b) UIDs entry for squid has homedir defined:

    squid:*:100:100::0:0:squid caching-proxy pseudo
user:/var/squid:/usr/sbin/nologin

c) rejik has USERS=squid, and ports infrastructure tries to create home
directory for specified users:

    bsd.port.mk:3647:        case $$homedir in /|/nonexistent|/var/empty) ;; *)
${ECHO_CMD} "${INSTALL} -d -g $$gid -o $$uid $$homedir" >> ${_UG_OUTPUT};;
esac; \

Thus, when rejik is installed, infrastructure resets /var/squid to 755

Possible solutions:
1) Don't automatically create homedir for USERS (seems the best for me)
   - may lead to non-existing homedir
   - which, however, may be OK if it's not needed for specific port; also ports
may depend on other ports to create homedir, like rejik does by run-depending
on squid
   - need to synchronize permissions for all ports which create a directory,
still that's possible
2) Always set users's home directory to /var/empty.
   - will likely break some ports
3) Include homedir permissions into UIDs file
   - makes it non-standard layout
   - maintained in a centralized way
   - still needs duplicated plist @dir entries in ports (or not?)

-- 
You are receiving this mail because:
You are on the CC list for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203268-13>