parent
5ee692a858
commit
449c0e0553
|
@ -25,7 +25,7 @@ while a port that did not require such linking would only list harfbuzz.
|
||||||
|
|
||||||
Such dups in the portdb, all using the same upstream tarball, inevitably
|
Such dups in the portdb, all using the same upstream tarball, inevitably
|
||||||
have overlapping footprints, and it becomes impossible to avoid filesystem
|
have overlapping footprints, and it becomes impossible to avoid filesystem
|
||||||
collisions if a user running 'prt-get depinst foo' triggers an attempt to
|
collisions if a user running `prt-get depinst foo` triggers an attempt to
|
||||||
pkgadd a variant of an already-installed port. Once the set of installed
|
pkgadd a variant of an already-installed port. Once the set of installed
|
||||||
ports is sufficiently diverse, maintaining prt-get.aliases so as to avoid
|
ports is sufficiently diverse, maintaining prt-get.aliases so as to avoid
|
||||||
such collisions becomes an impossible task.
|
such collisions becomes an impossible task.
|
||||||
|
@ -43,7 +43,7 @@ As the last vestige of a historical preference for non-fluid ports,
|
||||||
harfbuzz and harfbuzz-icu persisted alongside each other until surprisingly
|
harfbuzz and harfbuzz-icu persisted alongside each other until surprisingly
|
||||||
recently, only getting merged into one fluid port in November 2021 (commit
|
recently, only getting merged into one fluid port in November 2021 (commit
|
||||||
b2e30dbf8c96e03f4fe4b39b1e5ffbecd8372787). This merge allowed users to
|
b2e30dbf8c96e03f4fe4b39b1e5ffbecd8372787). This merge allowed users to
|
||||||
simplify prt-get.aliases, removing "harfbuzz-icu: harfbuzz" (if they had
|
simplify prt-get.aliases, removing `harfbuzz-icu: harfbuzz` (if they had
|
||||||
ever added such an entry to avoid filesystem collisions).
|
ever added such an entry to avoid filesystem collisions).
|
||||||
|
|
||||||
Equipping prt-get with softdeps awareness is just letting our tools evolve
|
Equipping prt-get with softdeps awareness is just letting our tools evolve
|
||||||
|
@ -86,5 +86,7 @@ which in 90% of all cases is overkill ... making something "just a bit"
|
||||||
more complex isn't "simple" anymore. (https://crux.nu/Main/Mantra)
|
more complex isn't "simple" anymore. (https://crux.nu/Main/Mantra)
|
||||||
|
|
||||||
[3] https://lists.crux.nu/pipermail/crux-devel/2006-August/001912.html
|
[3] https://lists.crux.nu/pipermail/crux-devel/2006-August/001912.html
|
||||||
|
|
||||||
[4] https://lists.crux.nu/pipermail/crux-devel/2008-May/003366.html
|
[4] https://lists.crux.nu/pipermail/crux-devel/2008-May/003366.html
|
||||||
|
|
||||||
[5] https://libera.irclog.whitequark.org/crux/2023-08-21 (16:36)
|
[5] https://libera.irclog.whitequark.org/crux/2023-08-21 (16:36)
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
Thanks to hestia and jaeger for inspiring this hacking session (2023-08-22).
|
Thanks to hestia and jaeger for inspiring this hacking session (2023-08-22).
|
||||||
All commands were performed on a pkg-cleaned installation of CRUX 3.7, leaving
|
(Update 2023-08-25): see i3-softdeps.md in this directory for more
|
||||||
the ports at whatever outdated version they had when this particular system was
|
discussion on the merits of adding new prt-get features.
|
||||||
last in daily use.
|
|
||||||
|
|
||||||
In light of the recent changes to libxkbcommon, jaeger made the observation
|
In light of the recent changes to libxkbcommon, jaeger made the observation
|
||||||
that `prt-get depinst i3` on a core-only system hits an error, as
|
that `prt-get depinst i3` on a core-only system hits an error, as
|
||||||
|
@ -10,6 +9,10 @@ for subsequent experiments, here is the list of targets that would be selected
|
||||||
by the latest official release of prt-get (5.19.6), in response to the
|
by the latest official release of prt-get (5.19.6), in response to the
|
||||||
recommended way of installing a desired port.
|
recommended way of installing a desired port.
|
||||||
|
|
||||||
|
All commands were performed on a pkg-cleaned installation of CRUX 3.7, leaving
|
||||||
|
the ports at whatever outdated version they had when this particular system was
|
||||||
|
last in daily use.
|
||||||
|
|
||||||
In[0]: prt-get depinst --test i3
|
In[0]: prt-get depinst --test i3
|
||||||
Out[0]:
|
Out[0]:
|
||||||
*** prt-get: test mode
|
*** prt-get: test mode
|
||||||
|
@ -77,7 +80,8 @@ xkeyboard-config at the end of i3's dependency list.
|
||||||
|
|
||||||
Even this change is not enough! prt-get is not aware of the optional
|
Even this change is not enough! prt-get is not aware of the optional
|
||||||
dependency relationship between libxkbcommon and xkeyboard-config, and so
|
dependency relationship between libxkbcommon and xkeyboard-config, and so
|
||||||
cannot insist that libxkbcommon comes later in the list of targets.
|
cannot insist that libxkbcommon comes later in the list of targets. jw
|
||||||
|
came to a similar conclusion 15 years ago (footnote 1).
|
||||||
|
|
||||||
Let's see whether farkuhar's softdeps-aware fork can do any better on this
|
Let's see whether farkuhar's softdeps-aware fork can do any better on this
|
||||||
task. The naive approach, prt-get depinst --softdeps i3, still doesn't work
|
task. The naive approach, prt-get depinst --softdeps i3, still doesn't work
|
||||||
|
@ -236,9 +240,17 @@ prt-get: install successful.
|
||||||
|
|
||||||
*** prt-get: test mode end
|
*** prt-get: test mode end
|
||||||
|
|
||||||
|
The output of the last command reveals why we recommend performing a sysup
|
||||||
|
before installing new ports. Because dependencies in core are not listed unless
|
||||||
|
they are dynamically linked in, some of the out-of-date core ports on my test
|
||||||
|
system would get updated later, possibly leading to breakage (e.g, if the
|
||||||
|
desired port is relying on a new or backward-incompatible feature in one of
|
||||||
|
the foundational pieces of the toolchain).
|
||||||
|
|
||||||
Remarks:
|
Footnotes:
|
||||||
1. The more intuitive version of the above commands, `prt-get depinst
|
1. https://lists.crux.nu/pipermail/crux-devel/2008-May/003375.html
|
||||||
|
|
||||||
|
2. The more intuitive version of the above commands, `prt-get depinst
|
||||||
--test --softdeps i3`, currently does NOT consider the dependency
|
--test --softdeps i3`, currently does NOT consider the dependency
|
||||||
relationship "libxkbcommon optionally depends on xkeyboard-config", because
|
relationship "libxkbcommon optionally depends on xkeyboard-config", because
|
||||||
the latter port is neither currently installed, nor listed explicitly as an
|
the latter port is neither currently installed, nor listed explicitly as an
|
||||||
|
@ -254,7 +266,7 @@ Remarks:
|
||||||
two traversals of the deptree.
|
two traversals of the deptree.
|
||||||
|
|
||||||
|
|
||||||
2. The result of trial 2 would be identical to that of
|
3. The result of trial 2 would be identical to that of
|
||||||
`prt-get install --softdeps $(prt-get quickdep i3)` using the
|
`prt-get install --softdeps $(prt-get quickdep i3)` using the
|
||||||
mixed-upinst branch, because 'install' on this branch behaves the same
|
mixed-upinst branch, because 'install' on this branch behaves the same
|
||||||
as 'depinst'. In https://lists.crux.nu/pipermail/crux/2008-June/001784.html
|
as 'depinst'. In https://lists.crux.nu/pipermail/crux/2008-June/001784.html
|
||||||
|
@ -265,7 +277,7 @@ Remarks:
|
||||||
instead of simply 'install'.
|
instead of simply 'install'.
|
||||||
|
|
||||||
|
|
||||||
3. Some maintainers prefer to do a filesystem check to determine whether a
|
4. Some maintainers prefer to do a filesystem check to determine whether a
|
||||||
needed dependency was linked to one of its optional libraries, and then
|
needed dependency was linked to one of its optional libraries, and then
|
||||||
exit early with a message alerting the user to rebuild one of the packages
|
exit early with a message alerting the user to rebuild one of the packages
|
||||||
in the dependency tree. See contrib/libreoffice for an example. This
|
in the dependency tree. See contrib/libreoffice for an example. This
|
||||||
|
|
Loading…
Reference in New Issue