FS#60043 - [ivy] uses old Apache Ant lib path

Attached to Project: Community Packages
Opened by Zach Callear (Magotchi) - Thursday, 13 September 2018, 14:53 GMT
Last edited by Alexander F. Rødseth (xyproto) - Tuesday, 25 September 2018, 18:31 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Levente Polyak (anthraxx)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
The current PKGBUILD for apache-ivy symlinks ivy.jar to /usr/share/java/apache-ant/ivy.jar , but the current package for Apache Ant ("ant", which replaced "apache-ant") expects Ivy to be in /usr/share/java/ant/ ("apache-ant" shortened to "ant", as in the new package name).

Additional info:
* apache-ivy 2.4.0-2
* ant 1.10.5-1

Steps to reproduce:
Attempt to build something with an Apache Ant build file which references an Ivy action, and you'll get an error. I first noticed it while building filebot (AUR).
This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Tuesday, 25 September 2018, 18:31 GMT
Reason for closing:  Fixed
Comment by Doug Newgard (Scimmia) - Wednesday, 19 September 2018, 14:27 GMT
This has changed with the "ivy" package, still an issue?
Comment by Zach Callear (Magotchi) - Wednesday, 19 September 2018, 18:16 GMT
Yes.

With a full system update, including "ant" and "ivy", without symlinking /usr/share/java/ant/ivy.jar to target /usr/share/java/ivy/ivy.jar , builds requiring Ant and Ivy fail, such as a build of the "filebot" AUR package.
Comment by Alexander F. Rødseth (xyproto) - Sunday, 23 September 2018, 09:56 GMT
Thanks for reporting. I could add the symlink, but perhaps this is better fixed by modifying the ant package so that it looks in /usr/share/java/ant?
Comment by Levente Polyak (anthraxx) - Sunday, 23 September 2018, 11:40 GMT
it does look in /usr/share/java/ant the problem is that ivy somehow removed the symlink in the PKGBUILD which doesn't add anything to /usr/share/java/ant anymore. The symlink needs to be restored
Comment by Alexander F. Rødseth (xyproto) - Monday, 24 September 2018, 11:02 GMT
I don't have any strong opinions here, just wondering, for clarification purposes:

Do you believe that the ivy package should create the /usr/share/java/ant directory and then create a symlink to ivy.jar in there? Should not the ant package be responsible for creating the /usr/share/java/ant directory? ant is only a make dependency for ivy, not a regular dependency.
Comment by Levente Polyak (anthraxx) - Monday, 24 September 2018, 13:46 GMT
Sure, just install that directory with 755 and put the symlink to ivy.jar into it, thats totally fine. It just extends certain things and multiple packages can freely create the same directories (ant itself does also create /usr/share/java/ant.
Its a bit like zsh completions, any package providing them can put files into zsh completion directory even when zsh is not installed, however when it is being installed those files serve as addition to the regular zsh files.

PS: i think you want to depend on java thingie >= 8 instead of >= 1.8 :D
Comment by Alexander F. Rødseth (xyproto) - Tuesday, 25 September 2018, 18:30 GMT
Ait, added the symlink and fixed the 8 / 1.8 version check. Thanks for the clarification.

Loading...