[MacPorts] #69827: got 0.98.2 and TLS library dependency woes

MacPorts noreply at macports.org
Mon Apr 29 23:21:39 UTC 2024


#69827: got 0.98.2 and TLS library dependency woes
-----------------------+--------------------
  Reporter:  artkiver  |      Owner:  (none)
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:
      Port:            |
-----------------------+--------------------

Comment (by artkiver):

 Added another refactored Portfile.

 Portfile.got0.98.2_defaultstoopensslsortaworks

 Will:

 install OK with %port -v install

 Defaults to OpenSSL(3) but at least picks up the libretls dependency.

 If LibreSSL or libressl-devel are already installed in MacPorts, it might
 also work and use the libressl variant if installed with %port -v install
 +libressl.

 However, there are various caveats:

 e.g. if just installing with no parameters and MacPorts with having
 previously installed install got via %got -v install:
 {{{
 port -vst install
 --->  Computing dependencies for got..
 Error: Can't install libressl because conflicting ports are active:
 openssl
 Error: Follow https://guide.macports.org/#project.tickets if you believe
 there is a
 bug.
 Error: Processing of port got failed
 }}}

 Or, cleaning MacPorts entirely via sudo port -fp uninstall installed and
 specifying %port -vst install

 {{{
 port -vst install
 --->  Computing dependencies for got.......................
 The following dependencies will be installed:
  bison
  bison-runtime
  db48
  gdbm
  gettext
  gettext-runtime
  gettext-tools-libs
  gperf
  libevent
  libiconv
  libretls
  libtextstyle
  m4
  ncurses
  openssl
  openssl3
  ossp-uuid
  perl5.34
  pkgconfig
  readline
  xz
  zlib
 Continue? [Y/n]:
 --->  Fetching distfiles for ncurses
 --->  ncurses-6.4.tar.gz does not exist in
 /opt/local/var/macports/distfiles/ncurses
 --->  Attempting to fetch ncurses-6.4.tar.gz from
 http://mirror.fcix.net/macports/distfiles/ncurses
   % Total    % Received % Xferd  Average Speed   Time    Time     Time
 Current
                                  Dload  Upload   Total   Spent    Left
 Speed
 100 3527k  100 3527k    0     0  3377k      0  0:00:01  0:00:01 --:--:--
 3379k
 --->  Verifying checksums for ncurses
 --->  Checksumming ncurses-6.4.tar.gz
 --->  Extracting ncurses
 --->  Extracting ncurses-6.4.tar.gz
 Executing:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ncurses/ncurses/work"
 && /usr/bin/gzip -dc
 '/opt/local/var/macports/distfiles/ncurses/ncurses-6.4.tar.gz' |
 /usr/bin/tar -xf -
 Command failed:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ncurses/ncurses/work"
 && /usr/bin/gzip -dc
 '/opt/local/var/macports/distfiles/ncurses/ncurses-6.4.tar.gz' |
 /usr/bin/tar -xf -
 Killed by signal: 9
 Error: Failed to extract ncurses: command execution failed
 Error: See
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ncurses/ncurses/main.log
 for details.
 Error: Follow https://guide.macports.org/#project.tickets if you believe
 there is a
 bug.
 Error: Processing of port got failed
 }}}

 I am still kind of tempted to submit a PR with this version, since %port
 -v install and %port test both seem to function OK and I am guessing it
 will pass GitHub Actions CI as a result?

 Moreover, I think most MacPorts users who use libressl are probably savvy
 enough to be able to work around the potential pitfalls?

 Still, perhaps there is a smarter way to phrase this:

 {{{
 if {[catch {registry_active openssl}] && ![variant_isset libressl]} {
   # openssl is installed and the libressl variant isn't manually
 requested, default to openssl
   default_variants +openssl
 } elseif {([catch {registry_active libressl}] || [catch {registry_active
 libressl-devel}]) && ![variant_isset openssl]} {
   # either libressl or libressl-devel are already installed, and the
 openssl variant is not explicitly requested, default to libressl
   default_variants +libressl
 }
 }}}

 Also, I do NOT for the life of me, understand why if I invoke % port -v
 install +libressl on a clean MacPorts installation it has openssl and
 openssl3 as dependencies?

 e.g.

 {{{
  port -v install +libressl
 --->  Computing dependencies for got...................
 The following dependencies will be installed:
  bison
  bison-runtime
  db48
  gdbm
  gettext-runtime
  libevent
  libiconv
  libressl
  libtextstyle
  m4
  ncurses
  openssl
  openssl3
  ossp-uuid
  perl5.34
  pkgconfig
  readline
  zlib
 Continue? [Y/n]:
 }}}

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


More information about the macports-tickets mailing list