Hi all,
This is just a quick heads-up to let you know that I am updating FindBugs to 2.0.2 in F19 and F20.
A few dependencies have also been updated:
* jFormatString has been updated, but only FindBugs depends on it.
* findbugs-bcel has been updated to a snapshot of the BCEL trunk.
* jsr-305 has been updated by a couple of Subversion revisions. I don't believe the changes will have any effect on dependent packages.
Excluding packages that depend on jsr-305, packages that I think could be affected are:
* gradle * truezip
TrueZIP looks like it just has a build-time dependency on FindBugs (the code uses FindBugs annotations). Given that FindBugs 2.0 is advertised as "a drop-in replacement" for 1.3.9, I don't anticipate any problems.
As for Gradle: I know this has been retired (https://lists.fedoraproject.org/pipermail/devel/2013-November/191944.html), but is still in F19. I might try to figure out if Gradle is broken by the FindBugs update, but I'm wondering if it's worth the effort. Does anyone have any opinion?
I've just submitted the F20 update (https://admin.fedoraproject.org/updates/FEDORA-2013-20079) for stable. Assuming there are no objections/problems, I'd like to submit the F19 update (https://admin.fedoraproject.org/updates/FEDORA-2013-20181) in the next couple of days.
Regards,
Rich
Il 19/11/2013 22:17, Richard Fearn ha scritto:
Hi all,
This is just a quick heads-up to let you know that I am updating FindBugs to 2.0.2 in F19 and F20.
A few dependencies have also been updated:
jFormatString has been updated, but only FindBugs depends on it.
findbugs-bcel has been updated to a snapshot of the BCEL trunk.
jsr-305 has been updated by a couple of Subversion revisions. I
don't believe the changes will have any effect on dependent packages.
Excluding packages that depend on jsr-305, packages that I think could be affected are:
- gradle
- truezip
TrueZIP looks like it just has a build-time dependency on FindBugs (the code uses FindBugs annotations). Given that FindBugs 2.0 is advertised as "a drop-in replacement" for 1.3.9, I don't anticipate any problems.
As for Gradle: I know this has been retired (https://lists.fedoraproject.org/pipermail/devel/2013-November/191944.html), but is still in F19. I might try to figure out if Gradle is broken by the FindBugs update, but I'm wondering if it's worth the effort. Does anyone have any opinion?
I've just submitted the F20 update (https://admin.fedoraproject.org/updates/FEDORA-2013-20079) for stable. Assuming there are no objections/problems, I'd like to submit the F19 update (https://admin.fedoraproject.org/updates/FEDORA-2013-20181) in the next couple of days.
Regards,
Rich
hi there is only a problem in your spec file| mkdir -p $RPM_BUILD_ROOT%{_javadocdir}| |cp -a apiJavaDoc $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}| |ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}| |must be| |cp -a apiJavaDoc $RPM_BUILD_ROOT%{_javadocdir}/%{name}| |see https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation%7C |regards| |gil| ||
Hi,
On 19 November 2013 22:07, puntogil@libero.it puntogil@libero.it wrote:
there is only a problem in your spec file mkdir -p $RPM_BUILD_ROOT%{_javadocdir} cp -a apiJavaDoc $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} must be cp -a apiJavaDoc $RPM_BUILD_ROOT%{_javadocdir}/%{name} see https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
I'm trying to make this change work nicely for F20, but can't get it to work.
At the moment the F20 package has this:
$ ls -ld /usr/share/javadoc/findbugs* lrwxrwxrwx. 1 root root 14 Dec 28 00:52 /usr/share/javadoc/findbugs -> findbugs-2.0.2 drwxr-xr-x. 5 root root 4096 Dec 28 00:52 /usr/share/javadoc/findbugs-2.0.2
If I just change the spec to install Javadoc into /usr/share/javadoc/findbugs, obviously the package upgrade fails due to a conflict (symlink changing to directory).
I tried this:
%pretrans javadoc if [ -h %{_javadocdir}/%{name} ]; then rm -f %{_javadocdir}/%{name} fi
but after the upgrade, while /usr/share/javadoc/findbugs exists and is a directory, and contains the new Javadoc, /usr/share/javadoc/findbugs-2.0.2 *also* still exists, and contains all the old Javadoc (now unowned by any package). I expected /usr/share/javadoc/findbugs-2.0.2 to be deleted. Doing the upgrade with `rpm -Uvvh` shows that rpm skips the erase of the Javadoc under findbugs-2.0.2.
What am I doing wrong?
Thanks,
Rich
Il 28/12/2013 01:58, Richard Fearn ha scritto:
Hi,
On 19 November 2013 22:07, puntogil@libero.it puntogil@libero.it wrote:
there is only a problem in your spec file mkdir -p $RPM_BUILD_ROOT%{_javadocdir} cp -a apiJavaDoc $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} must be cp -a apiJavaDoc $RPM_BUILD_ROOT%{_javadocdir}/%{name} see https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
I'm trying to make this change work nicely for F20, but can't get it to work.
At the moment the F20 package has this:
$ ls -ld /usr/share/javadoc/findbugs* lrwxrwxrwx. 1 root root 14 Dec 28 00:52 /usr/share/javadoc/findbugs -> findbugs-2.0.2 drwxr-xr-x. 5 root root 4096 Dec 28 00:52 /usr/share/javadoc/findbugs-2.0.2
If I just change the spec to install Javadoc into /usr/share/javadoc/findbugs, obviously the package upgrade fails due to a conflict (symlink changing to directory).
I tried this:
%pretrans javadoc if [ -h %{_javadocdir}/%{name} ]; then rm -f %{_javadocdir}/%{name} fi
but after the upgrade, while /usr/share/javadoc/findbugs exists and is a directory, and contains the new Javadoc, /usr/share/javadoc/findbugs-2.0.2 *also* still exists, and contains all the old Javadoc (now unowned by any package). I expected /usr/share/javadoc/findbugs-2.0.2 to be deleted. Doing the upgrade with `rpm -Uvvh` shows that rpm skips the erase of the Javadoc under findbugs-2.0.2.
What am I doing wrong?
Thanks,
Rich
hi try with
NOTE: workaround for RPM bug #646523 - can't change symlink to directory remove this in F-22
%pretrans javadoc -p <lua> dir = "%{_javadocdir}/%{name}" dummy = posix.readlink(dir) and os.remove(dir)
or
%pre javadoc [ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \ rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
regards and happy holydays
- gil
Thanks gil! Unfortunately this:
%pretrans javadoc -p <lua> dir = "%{_javadocdir}/%{name}" dummy = posix.readlink(dir) and os.remove(dir)
doesn't work (the old Javadoc directory is not removed).
This on its own:
%pre javadoc [ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \ rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
doesn't work because rpm still sees a conflict between the old %{name} symlink and the new %{name} directory.
Using both together doesn't work either, because the %pretrans scriptlet removes the %{name} symlink, so the %pre scriptlet then doesn't find it (so the readlink would fail anyway).
See this message I just posted to the devel list:
https://lists.fedoraproject.org/pipermail/devel/2013-December/193266.html
This:
%pretrans [ -L %{_javadocdir}/%{name} ] && \ rm -rfv $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
kind of works (tested with a bare-bones 'test' package, *not* findbugs-javadoc), although rpm emits a warning because the old %{name}-%{version} directory doesn't exist when it comes to erase it. (It doesn't warn about the files inside the old directory, though - because it doesn't try to erase them in the first place.)
Regards,
Rich
java-devel@lists.fedoraproject.org