[MacPorts] #68056: libhandy-0.0 @0.13: checksum mismatch (was: libhandy-0.0 checksum bump and build script edit required)

MacPorts noreply at macports.org
Sun Aug 27 23:17:56 UTC 2023


#68056: libhandy-0.0 @0.13: checksum mismatch
---------------------------+----------------------
  Reporter:  philberthfz   |      Owner:  dbevans
      Type:  defect        |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.8.1
Resolution:                |   Keywords:
      Port:  libhandy-0.0  |
---------------------------+----------------------

Old description:

> When trying to build on arm64, the file that gets downloaded is modified
> from the version macports is expecting. A checksum bump is required.
>
> Additionally, the port fails during the "Applying patches" step because
> it expects the work directory to be called "libhandy-0.0.13", however the
> files are actually extracted to
> libhandy-v0.0.13-7a193d7692c9c76a1a94f17c4d30b585f77d177c, causing the
> port to hang. If the files are manually copied to the directory it is
> expecting, the port builds successfully.
>
> Unfortunately, I don't know how to automate that last step of changing
> where macports is looking for the work directory.

New description:

 When trying to build on arm64, the file that gets downloaded is modified
 from the version macports is expecting. A checksum bump is required.

 Additionally, the port fails during the "Applying patches" step because it
 expects the work directory to be called "libhandy-0.0.13", however the
 files are actually extracted to
 libhandy-v0.0.13-!7a193d7692c9c76a1a94f17c4d30b585f77d177c, causing the
 port to hang. If the files are manually copied to the directory it is
 expecting, the port builds successfully.

 Unfortunately, I don't know how to automate that last step of changing
 where macports is looking for the work directory.

--

Comment (by ryandesign):

 Replying to [ticket:68056 philberthfz]:
 > When trying to build on arm64, the file that gets downloaded is modified
 from the version macports is expecting. A checksum bump is required.

 Before that can be done, we need to [wiki:FAQ#checksums understand what
 changed and why]. The difference between the old file (still on our mirror
 servers) and the new one on gitlab is:

 {{{#!diff
 % diff -ru
 macports/libhandy-v0.0.13-7a193d7692c9c76a1a94f17c4d30b585f77d177c
 upstream/libhandy-v0.0.13-7a193d7692c9c76a1a94f17c4d30b585f77d177c
 Only in
 upstream/libhandy-v0.0.13-7a193d7692c9c76a1a94f17c4d30b585f77d177c: debian
 }}}

 I'm not sure how it's possible for a new directory to appear despite the
 git commit hash not having changed. But I suppose the appearance of the
 debian directory is immaterial to MacPorts. We could continue to use the
 old distfile (setting `master_sites macports_distfiles` to ignore the new
 file—this is probably the best course of action) or switch to the new
 distfile (updating `checksums` and performing the other tasks of a
 [wiki:PortfileRecipes#stealth-updates stealth update]).

 > Additionally, the port fails during the "Applying patches" step because
 it expects the work directory to be called "libhandy-0.0.13", however the
 files are actually extracted to
 libhandy-v0.0.13-!7a193d7692c9c76a1a94f17c4d30b585f77d177c, causing the
 port to hang. If the files are manually copied to the directory it is
 expecting, the port builds successfully.
 >
 > Unfortunately, I don't know how to automate that last step of changing
 where macports is looking for the work directory.

 I assume you mean that after you changed the checksums to match those of
 the downloaded file, this problem occurred.

 This port was last edited when a MacPorts version between 2.6.0 and 2.8.0
 inclusive was current. These versions automatically renamed extracted
 directories to what MacPorts expected. This feature was found break too
 many existing ports and so it was changed so that ports must opt in to
 this behavior if they want it.

 Because the project is hosted on a gitlab instance and downloads its
 distfile from there, the portfile should use the gitlab portgroup. In
 addition to performing other tasks common to gitlab-hosted software that
 would simplify the portfile, the gitlab portgroup opts in to the behavior
 of renaming the extracted directory. Alternately, the portfile could opt
 in to it manually with `extract.rename yes`.

-- 
Ticket URL: <https://trac.macports.org/ticket/68056#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list