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
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.
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)
(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
$ 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
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.
Package looks good, all remaining issues are resolved now ================================================== The package mingw-GConf2 is APPROVED by epienbro ==================================================
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:
Git done (by process-git-requests).
Package was successfully imported and built in f18, f19 and rawhide: http://koji.fedoraproject.org/koji/packageinfo?packageID=15833 => Closing ticket
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
mingw-GConf2-3.2.6-2.fc18 has been pushed to the Fedora 18 stable repository.