Opened 14 months ago

Last modified 2 weeks ago

#67106 assigned defect

git: destroot fails "The domain/default pair of (.../Git Gui.app/Contents/Info, CFBundleExecutable) does not exist"

Reported by: kurthindenburg (Kurt Hindenburg) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version:
Keywords: ventura Cc: herbygillot (Herby Gillot), ShadSterling (Shad Sterling), hostep (Pieter Hoste)
Port: git

Description (last modified by ryandesign (Ryan Carsten Schmidt))

DEBUG: Backtrace: 2023-03-15 19:26:04.166 defaults[65215:20646182] 
The domain/default pair of (/opt/local/var/macports/build/_Volumes_Devel_GitHub_macports-ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info, CFBundleExecutable) does not exist

Attachments (1)

main.log (785.8 KB) - added by kurthindenburg (Kurt Hindenburg) 14 months ago.
main.log

Download all attachments as: .zip

Change History (15)

Changed 14 months ago by kurthindenburg (Kurt Hindenburg)

Attachment: main.log added

main.log

comment:1 Changed 14 months ago by kurthindenburg (Kurt Hindenburg)

Cc: ci42 herbygillot added

comment:2 Changed 14 months ago by kurthindenburg (Kurt Hindenburg)

13.2.1 (22D68)

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

Most likely coming from this on line 237:

set wish_executable [exec defaults read ${destroot}${guidir}/Info CFBundleExecutable]

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

Cc: ci42 removed
Owner: set to ci42
Status: newassigned

Probably want to be using -ignorestderr if there's any chance of the command producing non-fatal warnings.

comment:5 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

comment:6 Changed 14 months ago by kurthindenburg (Kurt Hindenburg)

Using -ignorerestderr didn't work. I had to use a try {} to get around the error

result: 1 child process exited abnormally

comment:7 Changed 12 months ago by kurthindenburg (Kurt Hindenburg)

still on 2.41.0

comment:8 Changed 2 weeks ago by raimue (Rainer Müller)

Has duplicate #69893.

comment:9 Changed 2 weeks ago by ShadSterling (Shad Sterling)

Cc: ShadSterling added

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

Summary: git destroot fails "The domain/default pair of ... does not exist"git: destroot fails "The domain/default pair of (.../Git Gui.app/Contents/Info, CFBundleExecutable) does not exist"

Replying to jmroot:

Probably want to be using -ignorestderr if there's any chance of the command producing non-fatal warnings.

In this case, the error is fatal. It should not be happening, and we don't want to silently ignore it.

Shad and Kurt, does the file $(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist exist? If so, does it contain the CFBundleExecutable key? Maybe attach the file here so we can see what's wrong with how it was generated.

comment:11 Changed 2 weeks ago by hostep (Pieter Hoste)

I have the same problem here. That file does exist and has "CFBundleExecutable" and its full contents is:

$ ls -l "$(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist"
-rw-r--r--  1 macports  wheel   945B May  3 14:39 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist

$ cat "$(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
        <key>CFBundleExecutable</key>
        <string>Wish</string>
        <key>CFBundleGetInfoString</key>
        <string>Git Gui 0.21.GITGUI © 2006-2007 Shawn Pearce, et. al.</string>
        <key>CFBundleIconFile</key>
        <string>git-gui.icns</string>
        <key>CFBundleIdentifier</key>
        <string>cz.or.repo.git-gui</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
        <string>Git Gui</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>0.21.GITGUI</string>
        <key>CFBundleSignature</key>
        <string>GITg</string>
        <key>CFBundleVersion</key>
        <string>0.21.GITGUI</string>
        <key>NSHighResolutionCapable</key>
        <true/>
</dict>
</plist>

Note that the errors says /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info without .plist extension, not sure if that's relevant?

In case it matters, I'm on:

  • MacbookPro 2017, Intel CPU
  • MacOS 13.6.6

(I'm leaving in a 12 day holiday in a couple of hours, so excuse me when you don't get replies from me in the next 2 weeks or so)

Thanks!

comment:12 in reply to:  11 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: hostep added

Replying to hostep:

I have the same problem here. That file does exist and has "CFBundleExecutable" and its full contents is:

$ ls -l "$(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist"
-rw-r--r--  1 macports  wheel   945B May  3 14:39 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist

$ cat "$(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info.plist"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
        <key>CFBundleExecutable</key>
        <string>Wish</string>
        <key>CFBundleGetInfoString</key>
        <string>Git Gui 0.21.GITGUI © 2006-2007 Shawn Pearce, et. al.</string>
        <key>CFBundleIconFile</key>
        <string>git-gui.icns</string>
        <key>CFBundleIdentifier</key>
        <string>cz.or.repo.git-gui</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
        <string>Git Gui</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>0.21.GITGUI</string>
        <key>CFBundleSignature</key>
        <string>GITg</string>
        <key>CFBundleVersion</key>
        <string>0.21.GITGUI</string>
        <key>NSHighResolutionCapable</key>
        <true/>
</dict>
</plist>

Thanks Pieter. That looks ok to me, and if I save that to /tmp/Info.plist, I get the correct answer from defaults:

% defaults read /tmp/Info CFBundleExecutable                
Wish

Note that the errors says /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info without .plist extension, not sure if that's relevant?

That's fine. Per the defaults(1) manpage, "Domains may also be specified as a path to an arbitrary file, with or without the '.plist' extension."

If you run it on the command line, does this work or give an error?

defaults read "$(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info" CFBundleExecutable

comment:13 Changed 2 weeks ago by hostep (Pieter Hoste)

In my case that command indeed works:

$ defaults read "$(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info" CFBundleExecutable
Wish

If I remove the double quotes (which are needed for the space between "Git" "Gui.app", I get a similar sounding error, but it's not 100% the same (contains a ,), so it's probably not the space that's the problem?

$ defaults read $(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info CFBundleExecutable
2024-05-03 16:23:18.626 defaults[98267:1408466]
The domain/default pair of (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git, Gui.app/Contents/Info) does not exist

The last 20 lines from my main.log file when attempting to upgrade git from 2.44.0_0 to 2.45.0_0:

:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/gittutorial-2.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/gittutorial-2.7
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/gitcli.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/gitcli.7
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/gitcredentials.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/gitcredentials.7
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/gitglossary.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/gitglossary.7
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/gitremote-helpers.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/gitremote-helpers.7
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/giteveryday.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/giteveryday.7
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/man7/gitdiffcore.7 -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/man/man7/gitdiffcore.7
:debug:destroot system: rm /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/libexec/git-core/git-svn*
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/git-2.45.0/contrib/completion/git-completion.bash -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/bash-completion/completions/git
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/git-2.45.0/contrib/completion/git-prompt.sh -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git/git-prompt.sh
:info:destroot xinstall: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/git-2.45.0/contrib/subtree/git-subtree.sh -> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/libexec/git-core/git-subtree
:error:destroot Failed to destroot git: 2024-05-03 16:20:51.231 defaults[98206:1407187] 
:error:destroot The domain/default pair of (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info, CFBundleExecutable) does not exist
:debug:destroot Error code: NONE
:debug:destroot Backtrace: 2024-05-03 16:20:51.231 defaults[98206:1407187] 
:debug:destroot The domain/default pair of (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info, CFBundleExecutable) does not exist
:debug:destroot     while executing
:debug:destroot "$post $targetname"
:debug:destroot dropping privileges: euid changed to 502, egid changed to 501.
:error:destroot See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/main.log for details.

I do seem to remember being able to upgrade to git 2.45 without issues on my M2 MacbookPro (with Sonoma) a few days ago ...

This is probably the last communication from me today, so if you need more info, I hope somebody else can give you some more info

comment:14 in reply to:  13 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Keywords: ventura added

Replying to hostep:

If I remove the double quotes (which are needed for the space between "Git" "Gui.app", I get a similar sounding error, but it's not 100% the same (contains a ,), so it's probably not the space that's the problem?

$ defaults read $(port work git)/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info CFBundleExecutable
2024-05-03 16:23:18.626 defaults[98267:1408466]
The domain/default pair of (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git, Gui.app/Contents/Info) does not exist

Right, the space is not a problem. Portfiles are written in Tcl. Tcl is not Bash nor Zsh. Tcl has no problem preserving spaces in variables. The error we're chasing is:

:error:destroot The domain/default pair of (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_git/git/work/destroot/opt/local/share/git-gui/lib/Git Gui.app/Contents/Info, CFBundleExecutable) does not exist

in which the space has clearly been preserved.

Not sure if it's relevant but all three reporters have been using Ventura. Our buildbot was able to build the port on Ventura, though, as it was on all other OS versions.

Note: See TracTickets for help on using tickets.