Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#53435 closed defect (fixed)

MacPorts 2.4.0 installers do not ship $prefix/var/macports/sip-workaround

Reported by: neverpanic (Clemens Lang) Owned by: neverpanic (Clemens Lang)
Priority: Normal Milestone:
Component: ports Version: 2.4.0
Keywords: Cc: jmroot (Joshua Root), l2dy (Zero King)
Port: MacPorts

Description

The installers we built for MacPorts 2.4.0 do not contain the $prefix/var/macports/sip-workaround directory now used by trace mode. Trace mode code will create this directory as needed, but will do so with incorrect permissions, which causes problems when using trace mode, e.g.

sip_copy_proc: mkdir(/opt/local/var/macports/sip-workaround/503): Permission denied

The problem occurs because the MacPorts port did not list $prefix/var/macports/sip-workaround in its destroot.keepdirs list, thus deleting it after destroot and not packaging it in our installer.

Change History (3)

comment:1 Changed 7 years ago by neverpanic (Clemens Lang)

Cc: l2dy added

comment:2 Changed 7 years ago by neverpanic (Clemens Lang)

Owner: set to neverpanic
Resolution: fixed
Status: newclosed

In da98273/macports-ports:

MacPorts: Keep sip-workaround dir in installers

MacPorts by default deletes empty directories from destroot, unless they
are in destroot.keepdirs (which creates a .turd_MacPorts file in the
directory).

Because MacPorts 2.4.0 introduced a $prefix/var/macports/sip-workaround
directory but did not add it to the MacPorts port, the installers that
were built for 2.4.0 with this port lack the sip-workaround directory.

The code for trace mode will create the directory as needed, but it will
not have the correct permissions of drwxrwxrwt, which leads to problems
in trace mode, such as

| sip_copy_proc: mkdir(/opt/local/var/macports/sip-workaround/503): Permission denied

Closes: #53435

comment:3 Changed 7 years ago by jmroot (Joshua Root)

Milestone: MacPorts Future
Note: See TracTickets for help on using tickets.