Fwd: Re: [opensuse-support] maven
Hello,
Fridrich answered to me and the mailinglist, but it looks like his mail
didn't make it to the mailinglist. Therefore I'm forwarding it.
My understanding of his mail is that the best solution is
zypper rm apache-commons-parent
because the package is now only needed at build time.
---------- Forwarded message ----------
Betreff: Re: [opensuse-support] maven
Datum: Freitag, 3. Mai 2019, 22:49:33 CEST
Von: Fridrich Strba
I also noticed this - maven etc. (a total of 123 additional packages [1]) get dragged in by the latest apache-commons-parent package.
Therefore a temporary workaround is zypper al apache-commons-parent to keep the old package version with less dependencies or zypper rm apache-commons-parent to uninstall it.
https://build.opensuse.org/package/revisions/openSUSE:Factory/apache-commons... looks like https://build.opensuse.org/request/show/691849 introduced
Now, the parent pom files are only useful for maven builds. They provide information about needed plug-ins and build variables for their children projects. They are completely useless on runtime. Nevertheless, when we package a maven artifact using the dependency free %add_maven_depmap macro, the resulting metadata is not standalone and when using such a package, maven must resolve its pom file with all its dependencies and parent pom structure. When integrating maven into openSUSE, I came with better way of handling such packages. I simply remove from the pom file the parent information and leave the runtime dependencies only. There is even a macro for that in javapackages-local (%pom_remove_parent) This allows us to have a proper dependency information in the parent poms since they will not be used for anything else then for building using maven. Before, I had to patch out their dependency information, since they normally require maven plug-ins that were not packaged. the
additional dependencies.
Fridrich, are these additional dependencies intentional?
Yes, they are intentional because they allow us to use this particular parent package in maven builds. Nonetheless, the parent package should not be needed at runtime by anything. If it is not so, I should be punched and kicked to fixing that ASAP.
I also wonder why I have apache-commons-parent installed. /var/log/zypp/history says it was installed as part of a zypper dup on 2019-03-11, but rpm -q --whatrequires and --whatrecommends don't show anything.
At a certain moment of time, this package was needed by a majority of apache-commons-* packages. All the maven plugin dependencies were patched out of it and it was only used to satisfy formal dependency. Now, it is not needed by those packages. So, I stop patching out the dependencies and this package is useful for maven builds of apache-commons-* packages that we build with maven. Cheers Fridrich ------------------------------------------------------------- Regards, Christian Boltz -- <jjohansen> this change is inconsistent with what we do now <jjohansen> however what we do now is broken [from #apparmor] -- To unsubscribe, e-mail: opensuse-support+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-support+owner@opensuse.org
participants (1)
-
Christian Boltz