tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

dependency cycle on systems without GNU grep in base



Hi!

The default change for Python 3.13 to 3.14 uncovered a dependency loop
when building Python 3.14 on systems that do not have GNU grep as
default grep.

From the SmartOS bulk builds:

Scan Failures
----------------------------------------------------------------------------
devel/gettext-tools  Circular dependency: gettext-tools-1.0 -> python314-3.14.10 -> zstd-1.5.7 -> grep-3.12nb4 -> gettext-tools-1.0
textproc/grep        Circular dependency: grep-3.12nb4 -> gettext-tools-1.0 -> python314-3.14.10 -> zstd-1.5.7 -> grep-3.12nb4
devel/gtexinfo       Circular dependency: gtexinfo-7.3 -> help2man-1.49.3 -> gettext-tools-1.0 -> python314-3.14.10 -> zstd-1.5.7 -> grep-3.12nb4 -> gtexinfo-7.3
converters/help2man  Circular dependency: help2man-1.49.3 -> gettext-tools-1.0 -> python314-3.14.10 -> zstd-1.5.7 -> grep-3.12nb4 -> gtexinfo-7.3 -> help2man-1.49.3
lang/python314       Circular dependency: python314-3.14.10 -> zstd-1.5.7 -> grep-3.12nb4 -> gettext-tools-1.0 -> python314-3.14.10
archivers/zstd       Circular dependency: zstd-1.5.7 -> grep-3.12nb4 -> gettext-tools-1.0 -> python314-3.14.10 -> zstd-1.5.7

I see two relatively easy ways to break the cycle:

- turn off the GNU grep nls option by default (getting rid of the
  gettext-tools dependency in grep)

- split off zstdgrep (a grep for compressed .zst files, similar to
  zgrep for .gz) from zstd, making it a separate package that Python
  does not depend on, and let only the zstdgrep package depend on GNU
  grep

I tend to the second option.

Opinions?

Cheers,
 Thomas


Home | Main Index | Thread Index | Old Index