[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