[MacPorts] #48051: Installing a port +universal needlessly reinstalls recursive dependencies +universal

MacPorts noreply at macports.org
Sun Jun 14 22:51:12 PDT 2015


#48051: Installing a port +universal needlessly reinstalls recursive dependencies
+universal
----------------------+--------------------------------
 Reporter:  larryv@…  |      Owner:  macports-tickets@…
     Type:  defect    |     Status:  new
 Priority:  Normal    |  Milestone:
Component:  base      |    Version:  2.3.99
 Keywords:            |       Port:
----------------------+--------------------------------
 I have `zlib` installed. It only has an extract dependency on `xz`, which
 I also have installed.
 {{{
 % port -v deps zlib
 Full Name: zlib @1.2.8_0
 Extract Dependencies: bin:xz:xz
 % port -v installed xz zlib
 The following ports are currently installed:
   xz @5.2.1_0 (active) platform='darwin 15' archs='x86_64'
   zlib @1.2.8_0 (active) platform='darwin 15' archs='x86_64'
 }}}

 If I try to install `zlib +universal`, I don’t expect `xz` to be
 reinstalled because it’s just an extract dependency. Indeed, this doesn’t
 happen.
 {{{
 #!html
 <pre class="wiki" style="height: 15em">
 % sudo port -N install zlib +universal
 --->  Computing dependencies for zlib
 --->  Fetching distfiles for zlib
 --->  Verifying checksums for zlib
 --->  Extracting zlib
 --->  Applying patches to zlib
 --->  Configuring zlib
 --->  Building zlib
 --->  Staging zlib into destroot
 --->  Installing zlib @1.2.8_0+universal
 --->  Deactivating zlib @1.2.8_0
 --->  Cleaning zlib
 --->  Activating zlib @1.2.8_0+universal
 --->  Cleaning zlib
 --->  Updating database of binaries
 --->  Scanning binaries for linking errors
 --->  No broken files found.
 </pre>
 }}}
 Cool. I don’t actually need a universal `zlib`, so I reactivate the old
 one and uninstall the universal one.

 ----

 Now I want to install `openssl +universal`. It has a library dependency on
 `zlib`.
 {{{
 % port -v deps openssl
 Full Name: openssl @1.0.2c_0
 Library Dependencies: port:zlib
 % port -v installed openssl xz zlib
 The following ports are currently installed:
   xz @5.2.1_0 (active) platform='darwin 15' archs='x86_64'
   zlib @1.2.8_0 (active) platform='darwin 15' archs='x86_64'
 }}}

 So I expect `zlib` to be rebuilt universal before `openssl` is built. Like
 before, I don’t expect `xz` to be reinstalled because it’s just an extract
 dependency. This time, I am sorely disappointed.
 {{{
 #!html
 <pre class="wiki" style="height: 15em">
 % sudo port -kN install openssl +universal
 --->  Fetching distfiles for gperf
 --->  Verifying checksums for gperf
 --->  Extracting gperf
 --->  Applying patches to gperf
 --->  Configuring gperf
 --->  Building gperf
 --->  Staging gperf into destroot
 --->  Installing gperf @3.0.4_2+universal
 --->  Activating gperf @3.0.4_2+universal
 --->  Computing dependencies for libiconv
 --->  Fetching distfiles for libiconv
 --->  Verifying checksums for libiconv
 --->  Extracting libiconv
 --->  Applying patches to libiconv
 --->  Configuring libiconv
 --->  Building libiconv
 --->  Staging libiconv into destroot
 --->  Installing libiconv @1.14_0+universal
 --->  Deactivating libiconv @1.14_0
 --->  Cleaning libiconv
 --->  Activating libiconv @1.14_0+universal
 --->  Fetching distfiles for expat
 --->  Verifying checksums for expat
 --->  Extracting expat
 --->  Applying patches to expat
 --->  Configuring expat
 --->  Building expat
 --->  Staging expat into destroot
 --->  Installing expat @2.1.0_0+universal
 --->  Deactivating expat @2.1.0_0
 --->  Cleaning expat
 --->  Activating expat @2.1.0_0+universal
 --->  Fetching distfiles for ncurses
 --->  Verifying checksums for ncurses
 --->  Extracting ncurses
 --->  Applying patches to ncurses
 --->  Configuring ncurses
 --->  Building ncurses
 --->  Staging ncurses into destroot
 --->  Installing ncurses @5.9_2+universal
 --->  Deactivating ncurses @5.9_2
 --->  Cleaning ncurses
 --->  Activating ncurses @5.9_2+universal
 --->  Computing dependencies for gettext
 --->  Fetching distfiles for gettext
 --->  Verifying checksums for gettext
 --->  Extracting gettext
 --->  Configuring gettext
 --->  Building gettext
 --->  Staging gettext into destroot
 --->  Installing gettext @0.19.4_0+universal
 --->  Computing dependencies for gettext
 --->  Deactivating gettext @0.19.4_0
 --->  Cleaning gettext
 --->  Activating gettext @0.19.4_0+universal
 --->  Computing dependencies for xz
 --->  Fetching distfiles for xz
 --->  Verifying checksums for xz
 --->  Extracting xz
 --->  Configuring xz
 --->  Building xz
 --->  Staging xz into destroot
 --->  Installing xz @5.2.1_0+universal
 --->  Computing dependencies for xz
 --->  Deactivating xz @5.2.1_0
 --->  Cleaning xz
 --->  Activating xz @5.2.1_0+universal
 --->  Computing dependencies for zlib
 --->  Fetching distfiles for zlib
 --->  Verifying checksums for zlib
 --->  Extracting zlib
 --->  Applying patches to zlib
 --->  Configuring zlib
 --->  Building zlib
 --->  Staging zlib into destroot
 --->  Installing zlib @1.2.8_0+universal
 --->  Deactivating zlib @1.2.8_0
 --->  Cleaning zlib
 --->  Activating zlib @1.2.8_0+universal
 --->  Computing dependencies for openssl
 --->  Fetching distfiles for openssl
 --->  Verifying checksums for openssl
 --->  Extracting openssl
 --->  Applying patches to openssl
 --->  Configuring openssl
 --->  Building openssl
 --->  Staging openssl into destroot
 --->  Installing openssl @1.0.2c_0+universal
 --->  Activating openssl @1.0.2c_0+universal
 --->  Updating database of binaries
 --->  Scanning binaries for linking errors
 --->  No broken files found.
 </pre>
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/48051>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list