Which ImageMagick?
Jan Henrik Sylvester
me at janh.de
Wed Apr 29 09:23:15 UTC 2020
On 4/29/20 7:53 AM, Greg 'groggy' Lehey wrote:
> On Monday, 27 April 2020 at 18:52:08 +0200, Jan Henrik Sylvester wrote:
>> On 4/27/20 11:22 AM, Greg 'groggy' Lehey wrote:
>>>> If I am not mistaken, now emacs cannot be installed at the same time
>>>> as for example kde5 (kdemultimedia, kdenlive, dvdauthor,
>>>> ImageMagick6), inkscape (ImageMagick6), or calligra (pstoedit,
>>>> ImageMagick6).
>>>
>>> Clearly your choice is different from mine. I found that most ports
>>> depended on ImageMagick 7, not 6. And since it's not a legacy
>>> version, it made sense to go that way.
>>
>> Of course, personal choices vary, but according to FreshPorts, there are
>> 5+4 ports requiring ImageMagick7 for libraries or run and there are
>> 30+49 für ImageMagick6. Moreover, most of the ports requiring
>> ImageMagick7 are leaf ports while some of the ports requiring
>> ImageMagick6 are needed by some of the big chains like the one mentioned
>> above leading to kde5.
>
> I don't do freshports, but I took a look through the ports Makefiles:
>
> cd /usr/ports
> find . -name Makefile | xargs grep ImageMagick6 | less
>
> and I don't see any reference to ImageMagick in the KDE context.
> Possibly it's a dependency with a different name.
>
> What I do see is that a lot of the dependencies look like:
>
> ./graphics/curator/Makefile:RUN_DEPENDS= convert:graphics/ImageMagick6
>
> That suggests that it's only running ImageMagick programs.
>
> Apart from that, yes, you're right, there are more hits on 6 than on
> 7, but by no means as many as freshports leads you to believe.
I am right apart from what exactly? What is exactly wrong with
FreshPorts results? RUN_DEPENDS are package dependencies. They cause
conflicts even for people that do not build on the machine the package
is supposed to run on. Grepping with your command, I get 153
dependencies that are not just build dependencies. Some of them are
optional, that is the main reason FreshPorts having lower numbers.
find /usr/ports -name Makefile | xargs grep ImageMagick6 | grep -v BUILD
| wc -l
That is by no means the best approach (using the INDEX or the result of
a package builder would be more useful), but it is your command.
It does not matter what you believe is easily fixable. I just stated
what is broken now, which was not broken before your commit.
Granted, the chain I listed leading to kde5 has an optional dependency
in it that is not default, but the default packages of calligra and
inkscape are affected (and there are probably more people than just me
having dvdauthor depend on ImageMagick6 as it is needed for basic
operations and dvdauthor is not optional for kde5). Anyhow, as long as
you do not work recursively, your search does not tell you which
conflicts you create and you have no chance to find the chain I listed
leading to kde5.
The ImageMagick7 port is five years old. Still many ports depend on
ImageMagick6. For me, this suggests that the change is not trivial or
not wanted. (For example, Debian has all dependencies on 6, too.)
You fixed the conflicts of emacs with some ports, but broke it for many
many people. The first group has workarounds, the seconds does not.
As I know FreeBSD, consequences of changes negatively affecting many
people are evaluated first. If people forget to do that or make mistakes
in their evaluation, they usually revert their change for the duration
of a proper evaluation.
I am not into fixing ImageMagick dependencies, I just told you that I
think you broke the setup of many people.
Reverting your change, you could introduce a non default option for
emacs to depend on ImageMagick7 instead of ImageMagick6, but I am in no
position to tell you what is best here.
Best regards,
Jan Henrik
More information about the svn-ports-all
mailing list