Opened 4 years ago

Closed 4 years ago

#61323 closed enhancement (fixed)

pdftk-java @3.1.1_1: add symlink to pdftk?

Reported by: PhilippImhof (Philipp Imhof) Owned by: Philipp Imhof <52650214+PhilippImhof@…>
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: haspatch Cc:
Port: pdftk-java

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Since pdftk does not build on Catalina anymore (cf. #60037), I switched to pdftk-java.

IMHO it would be good to include a symlink so that we can invoke pdftk-java by just callling pdftk (and avoid changing existing scripts etc.).

Change History (7)

comment:1 Changed 4 years ago by kencu (Ken)

mark it as conflicts with pdftk and should be no problem.

comment:2 Changed 4 years ago by PhilippImhof (Philipp Imhof)

I do not see how this could solve the problem. If pdftk-java is installed and pdftk is not (and cannot be, as it does not build), there is no binary called pdftk in /opt/local/bin and so no way of invoking pdftk-java without typing the long name. As a consequence, all any script calling pdftk must be changed.

I just did ln -s pdftk-java pdftk in /opt/local/bin and now everything is fine. But IMHO it would be good to include that symlink in the port directly.

comment:3 in reply to:  2 Changed 4 years ago by kencu (Ken)

Replying to PhilippImhof:

I do not see how this could solve the problem.

I don't understand what you mean.

If pdftk-java is installed and pdftk is not (and cannot be, as it does not build),

pdftk installs on many sytems that MacPorts supports <https://packages.macports.org/pdftk/>.

If you want pdftk-java to install a symlink to pdftk, there cannot already be a pdftk binary sitting there or there will be an error generated, and that is a bad user experience we hope to avoid.

there is no binary called pdftk in /opt/local/bin and so no way of invoking pdftk-java without typing the long name. As a consequence, all any script calling pdftk must be changed.

indeed

I just did ln -s pdftk-java pdftk in /opt/local/bin and now everything is fine. But IMHO it would be good to include that symlink in the port directly.

Sounds plausible if no conflicting pdftk binary is already installed.

Now, there are other ways you could prevent these two ports from colliding...but marking them as conflicting would be the simplest, and that's what we usually do.

It takes 5 seconds...not like it's some huge deal to prevent the tickets that would inevitably show up without the conflict marked.

comment:4 Changed 4 years ago by PhilippImhof (Philipp Imhof)

Thanks very much for the clarification, now I understand that your remark was not meant to be "instead of" but rather "in addition to" what I wrote. So the solution would be to

  1. mark pdftk and pdftk-java as conflicting
  2. add ln -s pdftk-java pdftk to the post-install script

I will try to study the docs and see whether I can come up with a patch to those two port files.

comment:5 Changed 4 years ago by PhilippImhof (Philipp Imhof)

I opened a PR: https://github.com/macports/macports-ports/pull/8797 and hope I respected all of the community's guidelines.

comment:6 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: haspatch added

comment:7 Changed 4 years ago by Philipp Imhof <52650214+PhilippImhof@…>

Owner: set to Philipp Imhof <52650214+PhilippImhof@…>
Resolution: fixed
Status: newclosed

In cfa184844c23f986d8068e5c5eccd7dc52de4eee/macports-ports (master):

pdftk-java: add symlink to pdftk

And mark pdftk-java and pdftk as conflicting.

Closes: #61323

Note: See TracTickets for help on using tickets.