Opened 10 years ago
Closed 10 years ago
#43959 closed update (fixed)
upgrade icu and all of its dependents
Reported by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.0 |
Keywords: | haspatch | Cc: | bfulgham@…, neverpanic (Clemens Lang), dbsgeo@…, dbevans (David B. Evans), coateconnection (David Coate), drkp (Dan Ports), frodwith@…, humem (humem), jeff@…, jeremyhu (Jeremy Huddleston Sequoia), kjellpk (Kjell Konis), l2g@…, landonf (Landon Fuller), bpanulla (Brian Panulla), mww@…, p.ixiemotion@…, rowue@…, ryandesign (Ryan Carsten Schmidt), scantor (Scott Cantor), nerdling (Jeremy Lavergne), stromnov (Andrey Stromnov), coke (Will Coleda), yeti@… |
Port: | icu |
Description
I would like to upgrade icu (51.2 -> 53.1 ), which requires upgrading all of its dependents.
#34457 seems to indicate that permission from maintainers is not necessary for a revision bump of all of these port, but I am not entirely sure.
Attachments (2)
Change History (8)
Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Attachment: | patch-dependents.diff added |
---|
Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Attachment: | patch-icu.diff added |
---|
comment:1 Changed 10 years ago by mf2k (Frank Schima)
comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Assuming the library version of icu has increased, I would consider it the responsibility of the person updating icu to ensure that the dependents' revisions get increased. I would not consider permission from those port's maintainers to be necessary, but before committing such an update I would want to verify that most of the ports that depend on icu can still build using the new version.
comment:3 follow-up: 4 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
You added a comment in your patchfile:
# port echo depends:icu finds dependencies
Note first of all that this finds dependents of icu (i.e. those that have a dependency on icu), not dependencies of icu. Second, note that more precisely, this finds ports that have dependencies whose names match the regular expression "icu"; this is more than just those that depend on the port icu. For example, it would find py-pyicu and gramps (which depend on py27-pyicu, not icu) and the webkit-gtk ports (which depend on harfbuzz-icu, not icu). Finally, note that this only finds dependencies declared by default; it does not find dependencies in non-default variants or that vary by platform or other conditionals; for example, if you run the command on Mavericks or later, you'll miss sword, which depends on icu, but clears its dependencies on Mavericks and later so that it can more quickly inform the user of the fact that it is not Mavericks-compatible. I usually just grep the portfiles, which doesn't have these shortcomings.
port file all | sort -u | xargs grep -E ':icu( |$)' | cut -d / -f 7 | sort -u
However, this produces slightly different output: where "port echo depends:icu
" will print the names of affected subports, this grep
pipeline will print the name of the directory the portfile is in.
comment:4 Changed 10 years ago by dbevans (David B. Evans)
Replying to ryandesign@…:
You added a comment in your patchfile:
# port echo depends:icu finds dependenciesNote first of all that this finds dependents of icu (i.e. those that have a dependency on icu), not dependencies of icu. Second, note that more precisely, this finds ports that have dependencies whose names match the regular expression "icu"; this is more than just those that depend on the port icu. For example, it would find py-pyicu and gramps (which depend on py27-pyicu, not icu) and the webkit-gtk ports (which depend on harfbuzz-icu, not icu). Finally, note that this only finds dependencies declared by default; it does not find dependencies in non-default variants or that vary by platform or other conditionals; for example, if you run the command on Mavericks or later, you'll miss sword, which depends on icu, but clears its dependencies on Mavericks and later so that it can more quickly inform the user of the fact that it is not Mavericks-compatible. I usually just grep the portfiles, which doesn't have these shortcomings.
port file all | sort -u | xargs grep -E ':icu( |$)' | cut -d / -f 7 | sort -uHowever, this produces slightly different output: where "
port echo depends:icu
" will print the names of affected subports, thisgrep
pipeline will print the name of the directory the portfile is in.
A example is gramps which has no direct dependency on icu but rather depends on py2[67]-pyicu. Gramps is pure python and does not need to be revbumped for this upgrade.
comment:5 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:6 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | new → closed |
There is definitely precedent for doing so with the libpng (r115019) and jpeg (r102822) ports.