Bug 851683 (mingw-GConf2) - Review Request: mingw-GConf2 - MinGW Windows port of the GNOME 2.x Desktop Configuration Database System
Summary: Review Request: mingw-GConf2 - MinGW Windows port of the GNOME 2.x Desktop Co...
Keywords:
Status: CLOSED ERRATA
Alias: mingw-GConf2
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Erik van Pienbroek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 454410 mingw-dbus-glib
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-08-24 17:23 UTC by greg.hellings
Modified: 2013-05-19 02:37 UTC (History)
5 users (show)

Fixed In Version: mingw-GConf2-3.2.6-2.fc18
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-09 15:20:41 UTC
Type: ---
Embargoed:
erik-fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description greg.hellings 2012-08-24 17:23:16 UTC
Spec URL: http://dl.thehellings.com/mingw32/gconf2/mingw-gconf2.spec
SRPM URL: http://dl.thehellings.com/mingw32/gconf2/mingw-gconf2-3.2.5-1.fc17.src.rpm
Description: MinGW Windows port of GConf, the GNOME configuration database. It is used by the GNOME 2.x Desktop platform.
Fedora Account System Username: greghellings

I have built this and other dependent libraries over on OBS at https://build.opensuse.org/package/show?package=mingw-gconf2&project=home%3Agreg_hellings%3Afedora-mingw

Comment 1 greg.hellings 2012-09-08 04:55:36 UTC
This is old and deprecated. It might be nice to have, and it will stay available if anyone wants to sponsor it in. But it's not necessary.

Comment 2 Erik van Pienbroek 2013-01-27 00:31:08 UTC
Taking for review

The %global mingw_build_winXX lines can be removed as they're already enabled by default in mingw-filesystem

The config.cache files which you use in the src.rpm shouldn't be necessary on Fedora. If building the libraries for the win64 target fails then it is probably caused by an outdated bundled libtool. In that case a BuildRequires: autoconf automake libtool and a 'autoreconf --install --force' in the %prep section should do the trick

Is overriding the PATH before the %mingw_configure call still necessary?

Is the export ORBIT_IDL really necessary? The orbit2 package isn't mentioned as a BuildRequires

In the %mingw_configure call you used '--with-gtk=3.0' while there's only a BuildRequires: mingw32-gtk2 mingw64-gtk2 mentioned earlier in the .spec file. Shouldn't the BuildRequires point to gtk3?

The %files section contains several unowned-folders, for example %{mingw32_includedir}/gconf, %{mingw32_includedir}/gconf/2, %{mingw32_libdir}/GConf, %{mingw32_libdir}/GConf/2 and %{mingw32_datadir}/sgml/gconf. You can use the RPM directive %dir to have these folders owned by this package

The folders %{mingw32_datadir}/dbus-1, %{mingw32_datadir}/dbus-1/services, %{mingw64_datadir}/dbus-1 and %{mingw64_datadir}/dbus-1/services should be owned by the mingw-dbus package, but that isn't the case yet. A bug report should be filed for the mingw-dbus package so that the package maintainer of mingw-dbus can add those directory ownerships

The man-pages should be removed from this package as they duplicate the native dbus man pages. The sgml file also looks like a potential candidate to remove.

The autostart files can be removed as well as this feature doesn't work on win32/win64 environments

The folders %{mingw32_datadir}/locale and %{mingw64_datadir}/locale should NOT be owned by this package. Please use the %mingw_find_lang macro instead (see the packaging guidelines for an example how to use this)

Comment 3 greg.hellings 2013-01-27 20:44:33 UTC
(In reply to comment #2)
> Taking for review
> 
> The %global mingw_build_winXX lines can be removed as they're already
> enabled by default in mingw-filesystem

Sorry, this was an old spec build.

> 
> The config.cache files which you use in the src.rpm shouldn't be necessary
> on Fedora. If building the libraries for the win64 target fails then it is
> probably caused by an outdated bundled libtool. In that case a
> BuildRequires: autoconf automake libtool and a 'autoreconf --install
> --force' in the %prep section should do the trick

Removed. This also introduces a BuildRequires on gobject-introspection-devel

> 
> Is overriding the PATH before the %mingw_configure call still necessary?

Apparently not!

> 
> Is the export ORBIT_IDL really necessary? The orbit2 package isn't mentioned
> as a BuildRequires

When I discovered how old Orbit was I removed the BR on it and this was an artifact. Removed now.

> 
> In the %mingw_configure call you used '--with-gtk=3.0' while there's only a
> BuildRequires: mingw32-gtk2 mingw64-gtk2 mentioned earlier in the .spec
> file. Shouldn't the BuildRequires point to gtk3?

Updated. Not sure how that managed to build with that.

> 
> The %files section contains several unowned-folders, for example
> %{mingw32_includedir}/gconf, %{mingw32_includedir}/gconf/2,
> %{mingw32_libdir}/GConf, %{mingw32_libdir}/GConf/2 and
> %{mingw32_datadir}/sgml/gconf. You can use the RPM directive %dir to have
> these folders owned by this package

Done.

> 
> The folders %{mingw32_datadir}/dbus-1, %{mingw32_datadir}/dbus-1/services,
> %{mingw64_datadir}/dbus-1 and %{mingw64_datadir}/dbus-1/services should be
> owned by the mingw-dbus package, but that isn't the case yet. A bug report
> should be filed for the mingw-dbus package so that the package maintainer of
> mingw-dbus can add those directory ownerships

Ought I to file that bug?

> 
> The man-pages should be removed from this package as they duplicate the
> native dbus man pages. The sgml file also looks like a potential candidate
> to remove.
> 
> The autostart files can be removed as well as this feature doesn't work on
> win32/win64 environments
> 
> The folders %{mingw32_datadir}/locale and %{mingw64_datadir}/locale should
> NOT be owned by this package. Please use the %mingw_find_lang macro instead
> (see the packaging guidelines for an example how to use this)

Done. Done. Done.

GConf2 also released a 3.2.6 last week, so I took the opportunity to update to that.

http://dl.thehellings.com/mingw32/gconf2/mingw-gconf2-3.2.6-1.fc18.src.rpm
http://dl.thehellings.com/mingw32/gconf2/mingw-gconf2.spec

Comment 4 Erik van Pienbroek 2013-03-03 19:07:51 UTC
$ rpmlint mingw-gconf2.spec 
mingw-gconf2.spec:43: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 43)
0 packages and 1 specfiles checked; 0 errors, 1 warnings.

$ rpmlint mingw-gconf2-3.2.6-1.fc18.src.rpm 
mingw-gconf2.src: E: description-line-too-long C MinGW Windows port of GConf, the GNOME configuration database. It is used by the GNOME 2.x
mingw-gconf2.src: W: strange-permission mingw-gconf2.spec 0600L
mingw-gconf2.src:43: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 43)
1 packages and 0 specfiles checked; 1 errors, 2 warnings.

$ rpmlint mingw32-gconf2-3.2.6-1.fc18.noarch.rpm mingw64-gconf2-3.2.6-1.fc18.noarch.rpm 
mingw32-gconf2.noarch: E: description-line-too-long C MinGW Windows port of GConf, the GNOME configuration database. It is used by the GNOME 2.x
mingw32-gconf2.noarch: E: incorrect-fsf-address /usr/i686-w64-mingw32/sys-root/mingw/bin/gsettings-schema-convert
mingw32-gconf2.noarch: E: incorrect-fsf-address /usr/share/doc/mingw32-gconf2-3.2.6/COPYING
mingw32-gconf2.noarch: W: file-not-utf8 /usr/share/doc/mingw32-gconf2-3.2.6/ChangeLog
mingw32-gconf2.noarch: W: non-standard-dir-in-usr x86_64-w64-mingw32
mingw64-gconf2.noarch: E: description-line-too-long C MinGW Windows port of GConf, the GNOME configuration database. It is used by the GNOME 2.x
mingw64-gconf2.noarch: E: incorrect-fsf-address /usr/share/doc/mingw64-gconf2-3.2.6/COPYING
mingw64-gconf2.noarch: E: incorrect-fsf-address /usr/x86_64-w64-mingw32/sys-root/mingw/bin/gsettings-schema-convert
mingw64-gconf2.noarch: W: file-not-utf8 /usr/share/doc/mingw64-gconf2-3.2.6/ChangeLog
2 packages and 0 specfiles checked; 6 errors, 3 warnings.


$ rpm --query --requires mingw32-gconf2
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
mingw32-crt
mingw32-filesystem >= 83
mingw32(kernel32.dll)
mingw32(libdbus-1-3.dll)
mingw32(libdbus-glib-1-2.dll)
mingw32(libgcc_s_sjlj-1.dll)
mingw32(libgconf-2-4.dll)
mingw32(libgio-2.0-0.dll)
mingw32(libglib-2.0-0.dll)
mingw32(libgmodule-2.0-0.dll)
mingw32(libgobject-2.0-0.dll)
mingw32(libgthread-2.0-0.dll)
mingw32(libintl-8.dll)
mingw32(libxml2-2.dll)
mingw32(msvcrt.dll)
rpmlib(PayloadIsXz) <= 5.2-1

$ rpm --query --requires mingw64-gconf2
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
mingw64-crt
mingw64-filesystem >= 83
mingw64(kernel32.dll)
mingw64(libdbus-1-3.dll)
mingw64(libdbus-glib-1-2.dll)
mingw64(libgconf-2-4.dll)
mingw64(libgio-2.0-0.dll)
mingw64(libglib-2.0-0.dll)
mingw64(libgmodule-2.0-0.dll)
mingw64(libgobject-2.0-0.dll)
mingw64(libgthread-2.0-0.dll)
mingw64(libintl-8.dll)
mingw64(libxml2-2.dll)
mingw64(msvcrt.dll)
rpmlib(PayloadIsXz) <= 5.2-1


$ rpm --query --provides mingw32-gconf2
mingw32-gconf2 = 3.2.6-1.fc18
mingw32(libgconf-2-4.dll)
mingw32(libgconfbackend-oldxml.dll)
mingw32(libgconfbackend-xml.dll)
mingw32(libgsettingsgconfbackend.dll)

$ rpm --query --provides mingw64-gconf2
mingw64-gconf2 = 3.2.6-1.fc18
mingw64(libgconf-2-4.dll)
mingw64(libgconfbackend-oldxml.dll)
mingw64(libgconfbackend-xml.dll)
mingw64(libgsettingsgconfbackend.dll)


$ wget --quiet http://ftp.gnome.org/pub/GNOME/sources/GConf/3.2/GConf-3.2.6.tar.xz -O - | md5sum
2b16996d0e4b112856ee5c59130e822c  -
$ md5sum GConf-3.2.6.tar.xz 
2b16996d0e4b112856ee5c59130e822c  GConf-3.2.6.tar.xz


+ OK
! Needs to be looked into
/ Not applicable

[!] Compliant with generic Fedora Packaging Guidelines
[+] Source package name is prefixed with 'mingw-'
[+] Spec file starts with %{?mingw_package_header}
[+] BuildRequires: mingw32-filesystem >= 95 is in the .spec file
[+] BuildRequires: mingw64-filesystem >= 95 is in the .spec file
[+] Spec file contains %package sections for both mingw32 and mingw64 packages
[+] Binary mingw32 and mingw64 packages are noarch
[+] Spec file contains %{?mingw_debug_package} after the %description section
[+] Uses one of the macros %mingw_configure, %mingw_cmake, or %mingw_cmake_kde4
    to configure the package
[+] Uses the macro %mingw_make to build the package
[+] Uses the macro %mingw_make to install the package
[+] If package contains translations, the %mingw_find_lang macro must be used
[+] No binary package named mingw-$pkgname is generated
[+] Libtool .la files are not bundled
[+] .def files are not bundled
[+] Man pages which duplicate native package are not bundled
[+] Info files which duplicate native package are not bundled
[+] Provides of the binary mingw32 and mingw64 packages are equal
[!] Requires of the binary mingw32 and mingw64 packages are equal


The name of this package is incorrect, the name of the upstream project is
GConf2, not gconf2. Therefore the mingw package has to be named mingw-GConf2

The mingw32 package seems to depend on libgcc_s_sjlj-1.dll while the mingw64
package doesn't. I don't know what causes it, but it looks harmless to me

The only remaining issue are the various rpmlint errors/warnings. Most of
them are easy to resolve.

The incorrect-fsf-address rpmlint error should be reported upstream

The file-not-utf8 warning can be resolved with an iconv call (various other
Fedora packages also do this, so you could try to peek at other .spec files
for an example)

The non-standard-dir-in-usr warning can be ignored. This looks like a bug
in rpmlint to me


Please update the package name (including the title of this review ticket) and
resolve the remaining rpmlint issues. After that I can approve this package

Comment 5 greg.hellings 2013-03-26 13:51:42 UTC
New SRPM: http://dl.thehellings.com/mingw32/gconf2/mingw-GConf2-3.2.6-2.fc18.src.rpm
New Spec file: http://dl.thehellings.com/mingw32/gconf2/mingw-GConf2.spec

I renamed it to GConf2.

I removed the ChangeLog file, as iconv was choking on what seemed to be perfectly good characters and kalev suggested just ditching that file on IRC.

Comment 6 Erik van Pienbroek 2013-03-27 06:29:14 UTC
Package looks good, all remaining issues are resolved now

==================================================
 The package mingw-GConf2 is APPROVED by epienbro
==================================================

Comment 7 greg.hellings 2013-03-27 11:26:48 UTC
New Package SCM Request
=======================
Package Name: mingw-GConf2
Short Description: MinGW Windows port of the GNOME 2.x Desktop Configuration Database System
Owners: greghellings
Branches: f18 f19
InitialCC:

Comment 8 Gwyn Ciesla 2013-03-27 12:38:09 UTC
Git done (by process-git-requests).

Comment 9 Erik van Pienbroek 2013-05-09 15:20:41 UTC
Package was successfully imported and built in f18, f19 and rawhide: http://koji.fedoraproject.org/koji/packageinfo?packageID=15833

=> Closing ticket

Comment 10 Fedora Update System 2013-05-09 15:46:01 UTC
mingw-GConf2-3.2.6-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/mingw-GConf2-3.2.6-2.fc18

Comment 11 Fedora Update System 2013-05-19 02:37:25 UTC
mingw-GConf2-3.2.6-2.fc18 has been pushed to the Fedora 18 stable repository.


Note You need to log in before you can comment on or make changes to this bug.