Bug 429550

Summary: Review Request: openoffice.org-voikko - Finnish spellchecker and hyphenator extension for OpenOffice.org
Product: [Fedora] Fedora Reporter: Ville-Pekka Vainio <vpvainio>
Component: Package ReviewAssignee: Caolan McNamara <caolanm>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: caolanm, fedora-package-review, notting
Target Milestone: ---Flags: caolanm: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-01-23 20:10:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
plausible additions none

Description Ville-Pekka Vainio 2008-01-21 15:57:23 UTC
Spec URL: http://vpv.fedorapeople.org/packages/openoffice.org-voikko.spec
SRPM URL: http://vpv.fedorapeople.org/packages/openoffice.org-voikko-2.1-0.1.fc8.src.rpm
Description:
This package contains a Finnish spell-checking and hyphenation component for
OpenOffice.org. The actual spell-checking and hyphenation functionality is
provided by the Voikko library.


I'm not exactly sure where the .oxt file should be, the current spec file puts it into /usr/lib/openoffice.org/voikko/, OpenSuse seems to use the same location.

I did a scratch build in Koji which succeeded, see http://koji.fedoraproject.org/koji/taskinfo?taskID=362330

Comment 1 Ville-Pekka Vainio 2008-01-21 16:03:19 UTC
I've added Caolan McNamara's email as CC, since he's the OO.o maintainer and
according to repoquery this might be the first Fedora package to provide an .oxt
extension. I hope it's OK.

Comment 2 Caolan McNamara 2008-01-21 16:58:46 UTC
Created attachment 292385 [details]
plausible additions

writer2latex is another OOo extension which might be useful for guidance,
though it is different because writer2latex is java and so arch-independent. I
attach a updated .spec for consideration

We've no guidelines yet as to *where* extensions should be installed, so I
don't feel strongly about that, though my sample sticks it into /usr/lib. 

There's nothing wrong with the existing one as far as I can see, but the new
attachment unpacks the component at install time which saves a little space as
it doesn't have to re-unpacked at registration time and also enables that
debuginfo packages can be made at build time, which shrinks it down another bit
due to getting the .so stripped

Comment 3 Ville-Pekka Vainio 2008-01-21 18:16:08 UTC
Thanks for taking a look at the spec file. Your changes look quite ok, there are
a couple of issues:

- %{unopkg} add --shared --link fails when installing the package, that's why I
removed the --link from my spec file.

ERROR: unexpected option --link!
       Use unopkg --help (short -h) to print all options.


- This is probably an upstream bug, but now that the extension is unpacked
before installation, rpmbuild gives an rpath error. I've never encountered this
before, as I'm quite new in packaging. I assume it's caused by some linker
option, I'll try to figure out how to fix it. 

ERROR   0010: file '/usr/lib/voikko.uno.pkg/voikko.so' contains an empty rpath in []
virhe: Bad exit status from /var/tmp/rpm-tmp.16112 (%install)

Comment 4 Caolan McNamara 2008-01-21 20:00:09 UTC
a) I added the --link thing in rawhide a while ago, you might not be installing
against the rawhide OOo ?

[caolan@Jehannum ~]$ unopkg --help add|grep -- -link
 -l, --link              attempt to link to instead of copying extensions
[caolan@Jehannum ~]$ rpm -qf `which unopkg`
openoffice.org-core-2.4.0-3.1.fc9

b) wrt the other thing, it's a good thing that we uncovered it by unpacking the
hidden .so I guess :-)

[root@Jehannum SPECS]# readelf -d /usr/lib/voikko.uno.pkg/voikko.so|grep RPATH
 0x0000000f (RPATH)                      Library rpath: []

That seems to to be a bug in the sdk itself, I've logged it as
http://www.openoffice.org/issues/show_bug.cgi?id=85448 and committed a fix for
it to rawhide and it'll be in the next build, i.e. >= 2.4.0-3.4, which will give
this the intended the value like so...

[root@Jehannum SPECS]# readelf -d /usr/lib/voikko.uno.pkg/voikko.so |grep RPATH
 0x0000000f (RPATH)                      Library rpath: [$ORIGIN]


Comment 5 Ville-Pekka Vainio 2008-01-21 20:54:40 UTC
(In reply to comment #4)
> a) I added the --link thing in rawhide a while ago, you might not be installing
> against the rawhide OOo ?

Right, I'm not. I'm mainly using my F8 systems for packaging, I would rather not
install Rawhide packages on these... I'd like to get this package to F7 and F8
as well, if possible. So probably two different spec files should be used, one
without the --link for the releases and one with the --link for Rawhide?
 
> That seems to to be a bug in the sdk itself, I've logged it as
> http://www.openoffice.org/issues/show_bug.cgi?id=85448 and committed a fix for
> it to rawhide and it'll be in the next build, i.e. >= 2.4.0-3.4

Thanks for fixing it so quickly. As this bug will still be in the packages which
are in F7 and F8, does it make sense to package this extension for these releases?

Comment 6 Caolan McNamara 2008-01-22 07:37:53 UTC
Wrt the bug, that's up to yourself, I very unlikely will make any more OOo F-7
updates, unless there is a security one so that sdk (did we even have an sdk in
F-7?) will probably not be fixed for months and months, if ever. The F-8 one
will also have to wait for an accumulation of things wrong for a next update as
I've just pushed one prior to this, so that could be a month or two as well. On
the other hand I don't *think* an empty rpath is all that serious really.

Comment 7 Ville-Pekka Vainio 2008-01-22 23:54:00 UTC
We did have an SDK for F-7 as well, I just made a koji scratch build on dist-fc7
and it worked: <http://koji.fedoraproject.org/koji/taskinfo?taskID=366547>.

I believe there are people who'd use this package in F-7 and F-8 too, so if this
is not too serious a security threat, I'd like to have this package in both. And
while we at Fedora should make our own decisions, this extension is already
packaged e.g. in Debian and some of the derivatives, I believe those are
currently affected by the same bug.

I've made two spec files now, one for F-7 and F-8 and one for Rawhide with the
--link option. I changed one define a bit so both of the OO.o directory defines
are named similarly. Apart from those changes it's the same spec that you posted.

Rawhide spec: http://vpv.fedorapeople.org/packages/openoffice.org-voikko.spec
Rawhide SRPM:
http://vpv.fedorapeople.org/packages/openoffice.org-voikko-2.1-0.2.rawhide.src.rpm

F-7/8 spec: http://vpv.fedorapeople.org/packages/openoffice.org-voikko-f7-8.spec
F-7/8 SRPM:
http://vpv.fedorapeople.org/packages/openoffice.org-voikko-2.1-0.2.fc7-8.src.rpm

Comment 8 Caolan McNamara 2008-01-23 08:17:15 UTC
- MUST: rpmlint must be run on every package. The output should be posted in the
review.
rpmlint ../RPMS/i386/openoffice.org-voikko-2.1-0.2.fc9.i386.rpm
<no output>
rpmlint ../SRPMS/openoffice.org-voikko-2.1-0.2.fc9.src.rpm
<no output>

- MUST: The package must be named according to the Package Naming Guidelines.
*check*

- MUST: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption on  Package Naming Guidelines.
*check* (I assume that the f7-f8 one will have the spec renamed on import)

- MUST: The package must meet the  Packaging Guidelines.
*check*

- MUST: The package must be licensed with a Fedora approved license and meet the
 Licensing Guidelines.
*check*

- MUST: The License field in the package spec file must match the actual license.
*check*

- MUST: If (and only if) the source package includes the text of the license(s)
in its own file, then that file, containing the text of the license(s) for the
package must be included in %doc.
*check*

- MUST: The spec file must be written in American English.
*check*

- MUST: The spec file for the package MUST be legible
*check*

- MUST: The sources used to build the package must match the upstream source
*check*

- MUST: The package must successfully compile and build
*check*
- MUST: If the package does not successfully compile, build or work on an
architecture...
*check*

MUST: All build dependencies must be listed in BuildRequires
*check*

- MUST: The spec file MUST handle locales properly.
*check*

- MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig...
*check*

- MUST: If the package is designed to be relocatable...
*check*

- MUST: A package must own all directories that it creates...
*check*

- MUST: A package must not contain any duplicate files in the %files listing.
*check*

- MUST: Permissions on files must be set properly
*check*

- MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
*check*

- MUST: Each package must consistently use macros..
*check*

- MUST: The package must contain code, or ...
*check*

- MUST: Large documentation files should go in a -doc subpackage
*check*
- MUST: If a package includes something as %doc...
*check*

- MUST: Header files must be in a -devel package.
*check*

- MUST: Static libraries must be in a -static package.
*check*

- MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for
directory ownership and usability).
*check*

- MUST: If a package contains library files with a suffix
*check*

- MUST: In the vast majority of cases, devel packages...
*check*

- MUST: Packages must NOT contain any .la libtool archives...
*check*

- MUST: Packages containing GUI applications must include a %{name}.desktop...
*check*

- MUST: Packages must not own files or directories already owned by other packages.
*check*

MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}
(or $RPM_BUILD_ROOT)
*check*

- MUST: All filenames in rpm packages must be valid UTF-8.
*check*


Comment 9 Caolan McNamara 2008-01-23 08:18:51 UTC
looks good to me, time to toggle the fedora-cvs flag

Comment 10 Mamoru TASAKA 2008-01-23 12:11:46 UTC
(Now please leave the assignee to the reviewer. Just changing
 the assignee column)

Comment 11 Ville-Pekka Vainio 2008-01-23 12:24:53 UTC
New Package CVS Request
=======================
Package Name: openoffice.org-voikko
Short Description: Finnish spellchecker and hyphenator extension for OpenOffice.org
Owners: vpv
Branches: F-7 F-8
Cvsextras Commits: yes

Comment 12 Kevin Fenzi 2008-01-23 18:47:14 UTC
cvs done.

Comment 13 Ville-Pekka Vainio 2008-01-23 20:10:43 UTC
Thanks Caolan and Kevin.

Just FYI, I discussed the "installing unpackaged" thing on the Voikko mailing
list, there will probably be a new version of openoffice.org-voikko released
soon that has the ability to install the extension unpackaged directly in the
Makefile. The rc1 package is here:
http://www.puimula.org/htp/testing/openoffice.org-voikko-2.2rc1.tar.gz

Caolan, could you please let me know if/when the --link option goes to F-8 so I
can rebuild the extension?

The package built successfully on all current branches, so I'm closing the bug.