[MacPorts] #71041: go: installs .DS_Store files when /opt/local is a symlink (was: "Warning: go violates the layout of the ports-filesystems!")
MacPorts
noreply at macports.org
Sat Oct 5 06:43:56 UTC 2024
#71041: go: installs .DS_Store files when /opt/local is a symlink
----------------------+----------------------
Reporter: LiamMoy | Owner: ci42
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.10.2
Resolution: | Keywords:
Port: go |
----------------------+----------------------
Changes (by ryandesign):
* status: new => assigned
* owner: (none) => ci42
* cc: herbygillot (added)
Old description:
> "go violates the layout of the ports-filesystems"
>
> - warning when staging, and error when activating
> - port `go-1.23.2_0.darwin_23.x86_64`
> - in MacPorts 2.10.2
> - when `/opt/local` is a symlink to another location (in this case
> `/Volumes/usb1TBssd/opt/local`)
>
> # Console output as follows:
>
> ---> Fetching archive for go
>
> ---> Attempting to fetch go-1.23.2_0.darwin_23.x86_64.tbz2 from
> https://packages.macports.org/go
>
> ---> Attempting to fetch go-1.23.2_0.darwin_23.x86_64.tbz2 from
> https://pek.cn.packages.macports.org/macports/packages/go
>
> ---> Attempting to fetch go-1.23.2_0.darwin_23.x86_64.tbz2 from
> https://kmq.jp.packages.macports.org/go
>
> ---> Fetching distfiles for go
>
> ---> Attempting to fetch go1.23.2.src.tar.gz from
> https://storage.googleapis.com/golang/
>
> ---> Attempting to fetch go1.23.2.darwin-amd64.tar.gz from
> https://storage.googleapis.com/golang/
>
> ---> Verifying checksums for go
>
> ---> Extracting go
>
> ---> Configuring go
>
> ---> Building go
>
> ---> Staging go into destroot
>
> Warning: violation by /.DS_Store
>
> Warning: violation by /Volumes/.DS_Store
>
> Warning: violation by /Volumes/usb1TBssd/.DS_Store
>
> Warning: violation by /Volumes/usb1TBssd/opt/.DS_Store
>
> Warning: violation by /Volumes/usb1TBssd/opt/local/.DS_Store
>
> Warning: go violates the layout of the ports-filesystems!
>
> Warning: Please fix or indicate this misbehavior (if it is intended), it
> will be an error in future releases!
>
> ---> Installing go @1.23.2_0
>
> ---> Cleaning go
>
> [...]
>
> ---> Dependencies to be installed: go
>
> ---> Activating go @1.23.2_0
>
> Error: Failed to activate go: Image error: /Volumes/usb1TBssd/.DS_Store
> already exists and does not belong to a registered port. Unable to
> activate port go. Use 'port -f activate go' to force the activation.
> while executing
> "throw registry::image-error $msg"
> ("foreach" body line 77)
> invoked from within
> "foreach file $imagefiles {
> incr progress_step
> _progress update $progress_step $progress_total_steps
> se..."
> invoked from within
> "registry::write {
> foreach file $imagefiles {
> incr progress_step
> _progress update $progress_step $progress_..."
>
> Error: See
> /Volumes/usb1TBssd/opt/local/var/macports/logs/_Volumes_usb1TBssd_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_go/go/main.log
> for details.
New description:
"go violates the layout of the ports-filesystems"
- warning when staging, and error when activating
- port `go-1.23.2_0.darwin_23.x86_64`
- in MacPorts 2.10.2
- when `/opt/local` is a symlink to another location (in this case
`/Volumes/usb1TBssd/opt/local`)
# Console output as follows:
{{{
---> Fetching archive for go
---> Attempting to fetch go-1.23.2_0.darwin_23.x86_64.tbz2 from
https://packages.macports.org/go
---> Attempting to fetch go-1.23.2_0.darwin_23.x86_64.tbz2 from
https://pek.cn.packages.macports.org/macports/packages/go
---> Attempting to fetch go-1.23.2_0.darwin_23.x86_64.tbz2 from
https://kmq.jp.packages.macports.org/go
---> Fetching distfiles for go
---> Attempting to fetch go1.23.2.src.tar.gz from
https://storage.googleapis.com/golang/
---> Attempting to fetch go1.23.2.darwin-amd64.tar.gz from
https://storage.googleapis.com/golang/
---> Verifying checksums for go
---> Extracting go
---> Configuring go
---> Building go
---> Staging go into destroot
Warning: violation by /.DS_Store
Warning: violation by /Volumes/.DS_Store
Warning: violation by /Volumes/usb1TBssd/.DS_Store
Warning: violation by /Volumes/usb1TBssd/opt/.DS_Store
Warning: violation by /Volumes/usb1TBssd/opt/local/.DS_Store
Warning: go violates the layout of the ports-filesystems!
Warning: Please fix or indicate this misbehavior (if it is intended), it
will be an error in future releases!
---> Installing go @1.23.2_0
---> Cleaning go
[...]
---> Dependencies to be installed: go
---> Activating go @1.23.2_0
Error: Failed to activate go: Image error: /Volumes/usb1TBssd/.DS_Store
already exists and does not belong to a registered port. Unable to
activate port go. Use 'port -f activate go' to force the activation.
while executing
"throw registry::image-error $msg"
("foreach" body line 77)
invoked from within
"foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_total_steps
se..."
invoked from within
"registry::write {
foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_..."
Error: See
/Volumes/usb1TBssd/opt/local/var/macports/logs/_Volumes_usb1TBssd_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_go/go/main.log
for details.
}}}
--
Comment:
Do you see this with other ports or only with go?
Probably no port should be installing .DS_Store files but this might be
happening because of your /opt/local symlink (which is not a modification
we test or recommend). According to
[https://ports.macports.org/search/?installed_file=%2F.DS_Store&q= this
search] there are 23 ports that install .DS_Store files but go isn't one
of them.
--
Ticket URL: <https://trac.macports.org/ticket/71041#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list