Fedora Merge Review: scim http://cvs.fedora.redhat.com/viewcvs/devel/scim/ Initial Owner: petersen
rpmlint reports follwoing messages on SRPM and RPMS W: scim prereq-use %{_sbindir}/alternatives The use of PreReq is deprecated. In the majority of cases, a plain Requires is enough and the right thing to do. Sometimes Requires(pre), Requires(post), Requires(preun) and/or Requires(postun) can also be used instead of PreReq. W: scim mixed-use-of-spaces-and-tabs (spaces: line 4, tab: line 10) The specfile mixes use of spaces and tabs for indentation, which is a cosmetic annoyance. Use either spaces or tabs for indentation, not both. W: scim patch-not-applied Patch2: gtkimm-clear-preedit-on-reset-174143.patch A patch is included in your package but was not applied. Refer to the patches documentation to see what's wrong. E: scim obsolete-not-provided iiimf-gtk The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: scim obsolete-not-provided iiimf-gnome-im-switcher The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: scim obsolete-not-provided iiimf-server The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: scim obsolete-not-provided iiimf-x The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/scim-panel-gtk ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/1.4.0/Helper/setup.so ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/1.4.0/SetupUI/aaa-imengine-setup.so ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/1.4.0/SetupUI/aaa-frontend-setup.so ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/1.4.0/SetupUI/panel-gtk-setup.so ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. W: scim non-conffile-in-etc /etc/X11/xinit/xinput.d/scim.conf A non-executable file in your package is being installed in /etc, but is not a configuration file. All non-executable files in /etc should be configuration files. Mark the file as %config in the spec file. E: scim zero-length /usr/share/doc/scim-1.4.5/NEWS E: scim-gtk binary-or-shlib-defines-rpath /usr/lib/gtk-2.0/immodules/im-scim.so ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. E: scim-libs obsolete-not-provided iiimf-libs The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: scim-libs obsolete-not-provided iiimf-csconv The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies. E: scim-libs binary-or-shlib-defines-rpath /usr/lib/libscim-gtkutils-1.0.so.8.1.1 ['/usr//lib'] The binary or shared library defines `RPATH'. Usually this is a bad thing because it hardcodes the path to search libraries and so makes it difficult to move libraries around. Most likely you will find a Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes configure scripts provide a --disable-rpath flag to avoid this. W: scim-libs no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. W: scim-libs one-line-command-in-%post /sbin/ldconfig You should use %post -p <command> instead of using: %post <command> It will avoid the fork of a shell interpreter to execute your command as well as allows rpm to automatically mark the dependency on your command for the excecution of the scriptlet. W: scim-libs one-line-command-in-%postun /sbin/ldconfig You should use %postun -p <command> instead of using: %postun <command> It will avoid the fork of a shell interpreter to execute your command as well as allows rpm to automatically mark the dependency on your command for the excecution of the scriptlet. E: scim-devel obsolete-not-provided iiimf-libs-devel The obsoleted package must also be provided to allow clean upgrade paths and not to break dependencies.
... however does scim _really_ provide iiimf?
(In reply to comment #2) > ... however does scim _really_ provide iiimf? Right I don't think it should. I think an exception can be made following "Renaming/replacing existing packages". Maybe rpmlint should treat the case "Obsoletes: package <= version" as a warning not an error?
(In reply to comment #3) > (In reply to comment #2) > > ... however does scim _really_ provide iiimf? > > Right I don't think it should. I think an exception can be made following > "Renaming/replacing existing packages". Maybe rpmlint should treat the case > "Obsoletes: package <= version" as a warning not an error? Agree. ok
(In reply to comment #1) > W: scim prereq-use %{_sbindir}/alternatives > W: scim mixed-use-of-spaces-and-tabs (spaces: line 4, tab: line 10) > W: scim patch-not-applied Patch2: gtkimm-clear-preedit-on-reset-174143.patch Fixing these. > E: scim obsolete-not-provided iiimf-gtk > E: scim obsolete-not-provided iiimf-gnome-im-switcher > E: scim obsolete-not-provided iiimf-server > E: scim obsolete-not-provided iiimf-x As mentioned in comments 2-4 I don't think anything can or should be done about these really. > E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/scim-panel-gtk ['/usr//lib'] > E: scim binary-or-shlib-defines-rpath /usr/lib/scim-1.0/1.4.0/Helper/setup.so > ['/usr//lib'] > E: scim binary-or-shlib-defines-rpath > /usr/lib/scim-1.0/1.4.0/SetupUI/aaa-imengine-setup.so ['/usr//lib'] > E: scim binary-or-shlib-defines-rpath > /usr/lib/scim-1.0/1.4.0/SetupUI/aaa-frontend-setup.so ['/usr//lib'] > E: scim binary-or-shlib-defines-rpath > /usr/lib/scim-1.0/1.4.0/SetupUI/panel-gtk-setup.so ['/usr//lib'] Looking into these. > W: scim non-conffile-in-etc /etc/X11/xinit/xinput.d/scim.conf > E: scim zero-length /usr/share/doc/scim-1.4.5/NEWS Fixing. > E: scim-gtk binary-or-shlib-defines-rpath /usr/lib/gtk-2.0/immodules/im-scim.so > ['/usr//lib'] > E: scim-libs obsolete-not-provided iiimf-libs > E: scim-libs obsolete-not-provided iiimf-csconv > E: scim-libs binary-or-shlib-defines-rpath > /usr/lib/libscim-gtkutils-1.0.so.8.1.1 ['/usr//lib'] > W: scim-libs no-documentation There is a separate scim-doc subpackage. > W: scim-libs one-line-command-in-%post /sbin/ldconfig > W: scim-libs one-line-command-in-%postun /sbin/ldconfig Fixing. > E: scim-devel obsolete-not-provided iiimf-libs-devel Again as above. Above fixes should be in devel/ cvs head now.
Fixed the rpaths too in scim-1.4.5-9.fc7.
For 1.4.5-9: * Directory ownership - Currently the structure of the directories owned is wrong. * scim requires scim-libs, not opposite This means that the directories which scim and scim-libs use and are created by either scim or scim-libs must be owned by scim-libs, not scim. Example: ---------------------------------------------------- [root@localhost ~]# rpm -qf /usr/lib/scim-1.0 scim-1.4.5-9.fc7 [root@localhost ~]# rpm -qf /usr/lib/scim-1.0/1.4.0/ scim-libs-1.4.5-9.fc7 scim-1.4.5-9.fc7 ---------------------------------------------------- This is not right. And: ---------------------------------------------------- [root@localhost mock]# rpm -qlp scim-*i386*rpm | sort | uniq -d /usr/lib/scim-1.0/1.4.0 /usr/lib/scim-1.0/1.4.0/IMEngine ---------------------------------------------------- Please check which directories should be owned by what package. * Desktop file ---------------------------------------------------- Categories=Applications;Settings;X-Fedora; ---------------------------------------------------- - categories * "X-Fedora" is deprecated * "Applications" is deprecated and both should be removed. * Timestamps - This package contains manu * image files (such as png files) * text files (such as header files) and keeping timestamps on those files are recommended. * Source - Specify the URL of Source2 if possible.
Thanks for the comments. (In reply to comment #7) > * Directory ownership : > Please check which directories should be owned by what > package. fixing > * Desktop file > * "X-Fedora" is deprecated > * "Applications" is deprecated fixing > * Timestamps > - This package contains manu > * image files (such as png files) > * text files (such as header files) > and keeping timestamps on those files are recommended. Sorry is this a build issue or a packaging issue? > * Source > - Specify the URL of Source2 if possible. The new scim-icons are currently just maintained in the Fedora scim package but they have been submitted upstream and are waiting to be committed. Above fixes are in scim-1.4.5-10.fc7.
I have not checked -10 yet. (In reply to comment #8) > fixing > > > * Timestamps > > - This package contains manu > > * image files (such as png files) > > * text files (such as header files) > > and keeping timestamps on those files are recommended. > > Sorry is this a build issue or a packaging issue? Rather a packaging issue. Usually --------------------------------------------- make install INSTALL="%{__install} -p" DESTDIR=....... --------------------------------------------- fixes this issue.
-10 seems okay to me expect my comment 9 and Source0 (Please check: http://fedoraproject.org/wiki/Packaging/SourceURL )
Thanks, should be fixed in scim-1.4.5-11.fc7.
Any more work required on this? :)
Package is ready for review :)
For me -11 seems okay.
Review: + package builds in mock (development i386). + rpmlint is silent for SRPM. + rpmlint is NOT silent for RPMs scim, scim-devel, scim-libs The Warning is of obsolete-not-provided which can be ignored. + source files match upstream. e2c71f9f54eda65cc1a515863a1839d2 /root/scim/devel/scim-1.4.5.tar.gz + package meets naming and packaging guidelines. + specfile is properly named, is cleanly written + Spec file is written in American English. + Spec file is legible. + dist tag is present. + build root is correct. + license is open source-compatible. + License text COPYING is included in package. + %doc is NOT small so scim-doc subpackage required. + BuildRequires are proper. + %clean is present. + package installed properly. + Macro use appears rather consistent. + Package contains code, not content. + no static libraries. + scim.pc, scim-gtkutils.pc and scim-x11utils.pc files are present. + scim-devel subpackage exists. + no .la files. + translations are available. + Does owns the directories it creates. + no duplicates in %files. + file permissions are appropriate. + Desktop file installed correctly. + GUI app. + scim RPM Provides: aaa-frontend-setup.so aaa-imengine-setup.so config(scim) = 1.4.5-11.fc7 panel-gtk-setup.so rawcode.so rawcode.so(SCIM_IMENGINE_1.0) sctc.so setup.so socket.so x11.so + scim-libs Provides: libscim-1.0.so.8 libscim-1.0.so.8(LIBSCIM_1.0) libscim-gtkutils-1.0.so.8 libscim-x11utils-1.0.so.8 simple.so simple.so(SCIM_CONFIG_1.0) socket.so socket.so(SCIM_CONFIG_1.0) socket.so(SCIM_IMENGINE_1.0) + scim-gtk Provides: im-scim.so im-scim.so(IM_SCIM_1.0) APPROVED. Thanks to mtasaka for his review comments. And Thanks for Jens.
I would like to build scim for EL4. (scim is already in extras cvs) Package Change Request ====================== Package Name: scim New Branches: EL-4
Can this review be closed now?
I would like to build scim for OLPC-4 (without the requires imchooser, im-settings part Package Change Request ====================== Package Name: scim New Branches: OLPC-4 Owners: sayamind This is as per the discussion at http://dev.laptop.org/ticket/8934#comment:6
Okay sounds reasonable: cvs admin done. But please try to keep the olpc branch in sync with fedora afap. :)
Curious though - how do you start scim in olpc? You might want to do some changes too related to the langbar and notification icon perhaps, dunno, if it is only for Indic.