Opened 20 months ago
Last modified 6 months 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)
Change History (15)
Changed 20 months ago by kurthindenburg (Kurt Hindenburg)
comment:1 Changed 20 months ago by kurthindenburg (Kurt Hindenburg)
Cc: | ci42 herbygillot added |
---|
comment:3 Changed 20 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 follow-up: 10 Changed 20 months ago by jmroot (Joshua Root)
Cc: | ci42 removed |
---|---|
Owner: | set to ci42 |
Status: | new → assigned |
Probably want to be using -ignorestderr
if there's any chance of the command producing non-fatal warnings.
comment:5 Changed 20 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
comment:6 Changed 20 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:9 Changed 6 months ago by ShadSterling (Shad Sterling)
Cc: | ShadSterling added |
---|
comment:10 Changed 6 months 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 follow-up: 12 Changed 6 months 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 Changed 6 months 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 follow-up: 14 Changed 6 months 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 Changed 6 months 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.
main.log