[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