Opened 10 months ago

Last modified 10 months ago

#72676 new defect

<main> attribute status: eDSPermissionError <dscl_cmd> DS Error: -14120 (eDSPermissionError) make: *** [install] Error 40

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.11.0
Keywords: Cc: jmroot (Joshua Root)
Port:

Description

When updating to MacPorts 2.11.0, the macOS 10.15.7 Catalina buildbot worker encountered this error:

Updating home directory location for user "macports"
<main> attribute status: eDSPermissionError
<dscl_cmd> DS Error: -14120 (eDSPermissionError)
make: *** [install] Error 40
Command failed: CC=/usr/bin/cc SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk ./configure --prefix=/opt/local --with-install-user=root --with-install-group=admin --with-directory-mode=0755 --enable-readline && SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk make -j4 SELFUPDATING=1 && make install SELFUPDATING=1
Exit code: 2

https://build.macports.org/builders/ports-10.15_x86_64-watcher/builds/69626

Attachments (1)

text.txt (712.3 KB) - added by ryandesign (Ryan Carsten Schmidt) 10 months ago.

Download all attachments as: .zip

Change History (7)

Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

Attachment: text.txt added

comment:1 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

We've seen DS Error: -14120 (eDSPermissionError) before when a user tried to remove the macports user and also when the postgresql16-server port tried to delete its user's home directory prior to setting a new one.

comment:2 Changed 10 months ago by jmroot (Joshua Root)

I saw that the same thing happened on one of the arm64 builders too. Can you confirm that the macports user's home directory is in fact incorrect on those systems? If so, I guess it would be good to fix it manually?

We should just warn if this fails rather than erroring out entirely, but it would also be nice to make it actually work in these cases.

comment:3 Changed 10 months ago by jmroot (Joshua Root)

Cc: jmroot added

comment:4 Changed 10 months ago by jmroot (Joshua Root)

In d1e4f0422f75be85a0c7a0c44701906cc138326e/macports-base (master):

Just warn if updating RUNUSR home dir fails

See: #72676

comment:5 in reply to:  2 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to jmroot:

I saw that the same thing happened on one of the arm64 builders too.

That was here:

https://build.macports.org/builders/ports-14_arm64-watcher/builds/21995

It also happened here:

https://build.macports.org/builders/ports-13_x86_64-watcher/builds/34148

Can you confirm that the macports user's home directory is in fact incorrect on those systems? If so, I guess it would be good to fix it manually?

On the macOS 13 x86_64 machine for example:

% dscl -q . -read /Users/macports NFSHomeDirectory
NFSHomeDirectory: /opt/bblocal/var/macports/home

So it's using the home directory of the "tools" copy of MacPorts rather than the "official" copy, presumably depending either on the order in which those copies of MacPorts were installed or which one was updated most recently.

comment:6 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

On the macOS 13 x86_64 builder, changing the home directory without sudo produced the error we've seen:

% dscl -q . -create /Users/macports NFSHomeDirectory /opt/local/var/macports/home
<main> attribute status: eDSPermissionError
<dscl_cmd> DS Error: -14120 (eDSPermissionError)
% dscl -q . -read /Users/macports NFSHomeDirectory 
NFSHomeDirectory: /opt/bblocal/var/macports/home

But using sudo succeeded:

% sudo dscl -q . -create /Users/macports NFSHomeDirectory /opt/local/var/macports/home
% dscl -q . -read /Users/macports NFSHomeDirectory 
NFSHomeDirectory: /opt/local/var/macports/home
Note: See TracTickets for help on using tickets.