Bug 812573
Summary: | Review Request: mingw-gstreamer-plugins-good - Cross compiled GStreamer plug-ins good | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Michael Cronenworth <mike> |
Component: | Package Review | Assignee: | Erik van Pienbroek <erik-fedora> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | erik-fedora, fedora-mingw, kalevlember, notting, package-review |
Target Milestone: | --- | Flags: | erik-fedora:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | mingw-gstreamer-plugins-good-0.10.31-5.fc17 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-05-07 04:18:10 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: |
Description
Michael Cronenworth
2012-04-15 01:23:56 UTC
Taking for review The following lines are obsolete and can be removed: %global mingw_build_win32 1 %global mingw_build_win64 1 Please bump the BR: mingw32-filesystem and mingw64-filesystem to >= 95 The BR: pkgconfig can be removed as it's already part of the default build root in Fedora The BR: mingw32-libjpeg and mingw64-libjpeg can be changed to mingw32-libjpeg-turbo and mingw64-libjpeg-turbo as there are no mingw32-libjpeg or mingw64-libjpeg packages in Fedora any more (they are replaced by mingw-libjpeg-turbo) The BR: mingw32-orc and mingw64-orc can't be satisfied at the moment as the package mingw-orc isn't available in Fedora at the moment, so that package needs to be put up for review first The %{mingw_pkg_name} macro is currently obsolete. Please use the full package name in the places where this macro is used The Summary: %{summary} tags (in the subpackages) don't give the expected result. Please don't use the %{summary} tag The quotes used by the various arguments in the %mingw_configure aren't needed any more and can be removed. This %mingw_configure line can also be split among multiple lines to improve readability Please use the %mingw_find_lang macro instead of the %find_lang macro. This macro generates two file lists named mingw32-gstreamer-plugins-good.lang and mingw64-gstreamer-plugins-good.lang with translations for mingw32 and mingw64 packages, so don't forget to also update the %files tags Why are the files in the -static subpackages commented out? Right now the -static subpackages are empty packages (In reply to comment #1) > The following lines are obsolete and can be removed: > %global mingw_build_win32 1 > %global mingw_build_win64 1 Done. Could you also update the Fedora wiki for MinGW packaging? You change the packaging requirements every time I submit a package for review. The wiki is highly out of date. > Please bump the BR: mingw32-filesystem and mingw64-filesystem to >= 95 > > The BR: pkgconfig can be removed as it's already part of the default build root > in Fedora > > The BR: mingw32-libjpeg and mingw64-libjpeg can be changed to > mingw32-libjpeg-turbo and mingw64-libjpeg-turbo as there are no mingw32-libjpeg > or mingw64-libjpeg packages in Fedora any more (they are replaced by > mingw-libjpeg-turbo) > > The BR: mingw32-orc and mingw64-orc can't be satisfied at the moment as the > package mingw-orc isn't available in Fedora at the moment, so that package > needs to be put up for review first > > The %{mingw_pkg_name} macro is currently obsolete. Please use the full package > name in the places where this macro is used Done. > The Summary: %{summary} tags (in the subpackages) don't give the expected > result. Please don't use the %{summary} tag The debug package macro causes this. Moved it. > The quotes used by the various arguments in the %mingw_configure aren't needed > any more and can be removed. This %mingw_configure line can also be split among > multiple lines to improve readability > > Please use the %mingw_find_lang macro instead of the %find_lang macro. This > macro generates two file lists named mingw32-gstreamer-plugins-good.lang and > mingw64-gstreamer-plugins-good.lang with translations for mingw32 and mingw64 > packages, so don't forget to also update the %files tags Done. > Why are the files in the -static subpackages commented out? Right now the > -static subpackages are empty packages They were in the original spec and I didn't notice. Uncommented. New spec: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good.spec New SRPM: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good-0.10.31-2.fc17.src.rpm (In reply to comment #2) > Could you also update the Fedora wiki for MinGW packaging? You change the > packaging requirements every time I submit a package for review. The wiki is > highly out of date. I was already aware of that. It was still on my TODO list for some time. Earlier today I updated the packaging guidelines to reflect the current state and announced it in our IRC channel (but apparently you didn't read that yet). The new draft can be found at https://fedoraproject.org/wiki/PackagingDrafts/MinGWCrossCompiler and will be put up for approval by the FPC so they be discussed in their next meeting Dropped static package. new srpm: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good-0.10.31-3.fc17.src.rpm new spec: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good.spec While testing this package I noticed a difference in the configure output between the win32 and win64 build: win32: configure: *** checking feature: bz2 library for matroska *** checking for BZ2_bzCompress in -lbz2... no win64: configure: *** checking feature: bz2 library for matroska *** checking for BZ2_bzCompress in -lbz2... yes I suspect this is caused by the fact that exported symbols (with the __stdcall calling convention) on win32 are prefixed with an _ which doesn't happen for win64 and autoconf is too dumb to include the real <bzlib.h> header. You might want to look into this and workaround this autoconf behaviour In your spec file I also noticed something odd. The %mingw_configure call includes this parameter: -disable-shout2. Shouldn't this be --disable-shout2 ? Now that you've dropped the -static package, could you please add this to the mingw32 subpackage: Obsoletes: mingw32-gstreamer-plugins-good-static < 0.10.31.3%{dist} and this one to the mingw64 subpackage: Obsoletes: mingw64-gstreamer-plugins-good-static < 0.10.31.3%{dist} These are needed for people who did install the mingw{32,64}-gstreamer-plugins-good-static packages from the testing repo and try to upgrade to your Fedora version On second thought, the %{dist} part shouldn't be necessary so it can be removed (In reply to comment #5) > I suspect this is caused by the fact that exported symbols (with the __stdcall > calling convention) on win32 are prefixed with an _ which doesn't happen for > win64 and autoconf is too dumb to include the real <bzlib.h> header. You might > want to look into this and workaround this autoconf behaviour Thanks for catching this, however, I will argue that it is a bzip2 packaging issue. It isn't a case of prefix but suffix. The 32-bit bzip2 package contains ats. eg: BZ2_bzCompress@8 Other 32-bit MinGW packages do not use at suffixes. (In reply to comment #6) > Obsoletes: mingw32-gstreamer-plugins-good-static < 0.10.31.3%{dist} > and this one to the mingw64 subpackage: > Obsoletes: mingw64-gstreamer-plugins-good-static < 0.10.31.3%{dist} Erik, where did the numbers for the obsoletes come from? The testing repo has: mingw32-gstreamer-plugins-good-static-0.10.30-4.fc17_cross.noarch.rpm mingw64-gstreamer-plugins-good-static-0.10.30-4.fc17_cross.noarch.rpm ... so the obsoletes should be: Obsoletes: mingw32-gstreamer-plugins-good-static < 0.10.30-5 Obsoletes: mingw64-gstreamer-plugins-good-static < 0.10.30-5 (In reply to comment #9) > Erik, where did the numbers for the obsoletes come from? The testing repo has: > mingw32-gstreamer-plugins-good-static-0.10.30-4.fc17_cross.noarch.rpm > mingw64-gstreamer-plugins-good-static-0.10.30-4.fc17_cross.noarch.rpm > > ... so the obsoletes should be: > Obsoletes: mingw32-gstreamer-plugins-good-static < 0.10.30-5 > Obsoletes: mingw64-gstreamer-plugins-good-static < 0.10.30-5 I took the version numbers from the srpm which was initially mentioned in this review ticket. But you're correct, using the version number from the testing repo should be good enough as there shouldn't be any binary rpms of the 0.10.30-5 package (the initial srpm in this review ticket) publicly available Fixed configure line and added obsoletes for static package. New spec: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good.spec New srpm: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good-0.10.31-4.fc17.src.rpm mingw-bzip2-1.0.6-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/mingw-bzip2-1.0.6-1.fc17 $ rpmlint mingw-gstreamer-plugins-good.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint mingw-gstreamer-plugins-good-0.10.31-4.fc17.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. $ rpmlint mingw32-gstreamer-plugins-good-0.10.31-4.fc17.noarch.rpm mingw64-gstreamer-plugins-good-0.10.31-4.fc17.noarch.rpm mingw32-gstreamer-plugins-good.noarch: W: obsolete-not-provided mingw32-gstreamer-plugins-good-static mingw64-gstreamer-plugins-good.noarch: W: obsolete-not-provided mingw64-gstreamer-plugins-good-static 2 packages and 0 specfiles checked; 0 errors, 2 warnings. $ rpm --query --requires mingw32-gstreamer-plugins-good mingw32(dsound.dll) mingw32(kernel32.dll) mingw32(libbz2-1.dll) mingw32(libcairo-2.dll) mingw32(libcairo-gobject-2.dll) mingw32(libgdk_pixbuf-2.0-0.dll) mingw32(libgio-2.0-0.dll) mingw32(libglib-2.0-0.dll) mingw32(libgobject-2.0-0.dll) mingw32(libgstaudio-0.10-0.dll) mingw32(libgstbase-0.10-0.dll) mingw32(libgstcontroller-0.10-0.dll) mingw32(libgstfft-0.10-0.dll) mingw32(libgstinterfaces-0.10-0.dll) mingw32(libgstnetbuffer-0.10-0.dll) mingw32(libgstpbutils-0.10-0.dll) mingw32(libgstreamer-0.10-0.dll) mingw32(libgstriff-0.10-0.dll) mingw32(libgstrtp-0.10-0.dll) mingw32(libgstrtsp-0.10-0.dll) mingw32(libgstsdp-0.10-0.dll) mingw32(libgsttag-0.10-0.dll) mingw32(libgstvideo-0.10-0.dll) mingw32(libintl-8.dll) mingw32(libjpeg-62.dll) mingw32(libpng15-15.dll) mingw32(libsoup-2.4-1.dll) mingw32(libsoup-gnome-2.4-1.dll) mingw32(libxml2-2.dll) mingw32(msvcrt.dll) mingw32(user32.dll) mingw32(ws2_32.dll) mingw32(zlib1.dll) mingw32-crt mingw32-filesystem >= 83 mingw32-gstreamer >= 0.10.36 mingw32-gstreamer-plugins-base rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --requires mingw64-gstreamer-plugins-good mingw64(dsound.dll) mingw64(kernel32.dll) mingw64(libbz2-1.dll) mingw64(libcairo-2.dll) mingw64(libcairo-gobject-2.dll) mingw64(libgdk_pixbuf-2.0-0.dll) mingw64(libgio-2.0-0.dll) mingw64(libglib-2.0-0.dll) mingw64(libgobject-2.0-0.dll) mingw64(libgstaudio-0.10-0.dll) mingw64(libgstbase-0.10-0.dll) mingw64(libgstcontroller-0.10-0.dll) mingw64(libgstfft-0.10-0.dll) mingw64(libgstinterfaces-0.10-0.dll) mingw64(libgstnetbuffer-0.10-0.dll) mingw64(libgstpbutils-0.10-0.dll) mingw64(libgstreamer-0.10-0.dll) mingw64(libgstriff-0.10-0.dll) mingw64(libgstrtp-0.10-0.dll) mingw64(libgstrtsp-0.10-0.dll) mingw64(libgstsdp-0.10-0.dll) mingw64(libgsttag-0.10-0.dll) mingw64(libgstvideo-0.10-0.dll) mingw64(libintl-8.dll) mingw64(libjpeg-62.dll) mingw64(libpng15-15.dll) mingw64(libsoup-2.4-1.dll) mingw64(libsoup-gnome-2.4-1.dll) mingw64(libxml2-2.dll) mingw64(msvcrt.dll) mingw64(user32.dll) mingw64(ws2_32.dll) mingw64(zlib1.dll) mingw64-crt mingw64-filesystem >= 83 mingw64-gstreamer >= 0.10.36 mingw64-gstreamer-plugins-base rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 $ rpm --query --provides mingw32-gstreamer-plugins-good mingw32(libgstalaw.dll) mingw32(libgstalpha.dll) mingw32(libgstalphacolor.dll) mingw32(libgstannodex.dll) mingw32(libgstapetag.dll) mingw32(libgstaudiofx.dll) mingw32(libgstaudioparsers.dll) mingw32(libgstauparse.dll) mingw32(libgstautodetect.dll) mingw32(libgstavi.dll) mingw32(libgstcairo.dll) mingw32(libgstcutter.dll) mingw32(libgstdebug.dll) mingw32(libgstdeinterlace.dll) mingw32(libgstdirectsoundsink.dll) mingw32(libgsteffectv.dll) mingw32(libgstequalizer.dll) mingw32(libgstflv.dll) mingw32(libgstflxdec.dll) mingw32(libgstgdkpixbuf.dll) mingw32(libgstgoom.dll) mingw32(libgstgoom2k1.dll) mingw32(libgsticydemux.dll) mingw32(libgstid3demux.dll) mingw32(libgstimagefreeze.dll) mingw32(libgstinterleave.dll) mingw32(libgstisomp4.dll) mingw32(libgstjpeg.dll) mingw32(libgstlevel.dll) mingw32(libgstmatroska.dll) mingw32(libgstmulaw.dll) mingw32(libgstmultifile.dll) mingw32(libgstmultipart.dll) mingw32(libgstnavigationtest.dll) mingw32(libgstpng.dll) mingw32(libgstreplaygain.dll) mingw32(libgstrtp.dll) mingw32(libgstrtpmanager.dll) mingw32(libgstrtsp.dll) mingw32(libgstshapewipe.dll) mingw32(libgstsmpte.dll) mingw32(libgstsouphttpsrc.dll) mingw32(libgstspectrum.dll) mingw32(libgstudp.dll) mingw32(libgstvideobox.dll) mingw32(libgstvideocrop.dll) mingw32(libgstvideofilter.dll) mingw32(libgstvideomixer.dll) mingw32(libgstwavenc.dll) mingw32(libgstwavparse.dll) mingw32(libgsty4menc.dll) mingw32-gstreamer-plugins-good = 0.10.31-4.fc17 $ rpm --query --provides mingw64-gstreamer-plugins-good mingw64(libgstalaw.dll) mingw64(libgstalpha.dll) mingw64(libgstalphacolor.dll) mingw64(libgstannodex.dll) mingw64(libgstapetag.dll) mingw64(libgstaudiofx.dll) mingw64(libgstaudioparsers.dll) mingw64(libgstauparse.dll) mingw64(libgstautodetect.dll) mingw64(libgstavi.dll) mingw64(libgstcairo.dll) mingw64(libgstcutter.dll) mingw64(libgstdebug.dll) mingw64(libgstdeinterlace.dll) mingw64(libgstdirectsoundsink.dll) mingw64(libgsteffectv.dll) mingw64(libgstequalizer.dll) mingw64(libgstflv.dll) mingw64(libgstflxdec.dll) mingw64(libgstgdkpixbuf.dll) mingw64(libgstgoom.dll) mingw64(libgstgoom2k1.dll) mingw64(libgsticydemux.dll) mingw64(libgstid3demux.dll) mingw64(libgstimagefreeze.dll) mingw64(libgstinterleave.dll) mingw64(libgstisomp4.dll) mingw64(libgstjpeg.dll) mingw64(libgstlevel.dll) mingw64(libgstmatroska.dll) mingw64(libgstmulaw.dll) mingw64(libgstmultifile.dll) mingw64(libgstmultipart.dll) mingw64(libgstnavigationtest.dll) mingw64(libgstpng.dll) mingw64(libgstreplaygain.dll) mingw64(libgstrtp.dll) mingw64(libgstrtpmanager.dll) mingw64(libgstrtsp.dll) mingw64(libgstshapewipe.dll) mingw64(libgstsmpte.dll) mingw64(libgstsouphttpsrc.dll) mingw64(libgstspectrum.dll) mingw64(libgstudp.dll) mingw64(libgstvideobox.dll) mingw64(libgstvideocrop.dll) mingw64(libgstvideofilter.dll) mingw64(libgstvideomixer.dll) mingw64(libgstwavenc.dll) mingw64(libgstwavparse.dll) mingw64(libgsty4menc.dll) mingw64-gstreamer-plugins-good = 0.10.31-4.fc17 $ wget --quiet http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.xz -O - | md5sum 555845ceab722e517040bab57f9ace95 - $ md5sum gst-plugins-good-0.10.31.tar.xz 555845ceab722e517040bab57f9ace95 gst-plugins-good-0.10.31.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 bzip2 issue which was spotted earlier in this review has been resolved as of mingw-bzip2-1.0.6-1.fc17 Building this package will fail when mingw-jack-audio-connection-kit or mingw-flac are installed (which have been part of the mingw-w64 testing repo but haven't be merged back to Fedora yet). To make sure this build failure doesn't happen you might want to add "--disable-flac --disable-jack" to the %mingw_configure call until these packages are also available in Fedora The rpmlint warning about obsolete-not-provided is intentional as it's only needed to provide a working upgrade path to people who are updating from the mingw-w64 testing repo and therefore can be ignored The Fedora Packaging Committee recently applied a small change to the proposed MinGW packaging guidelines. It is now recommended to use curly braces for the %{?mingw_package_header} and %{?mingw_debug_package} macros Please change this before importing in Fedora ================================================================== The package mingw-gstreamer-plugins-good is APPROVED by epienbro ================================================================== New Spec: http://michael.cronenworth.com/RPMS/mingw-gstreamer-plugins-good.spec Thanks, Erik. New Package SCM Request ======================= Package Name: mingw-gstreamer-plugins-good Short Description: Cross compiled GStreamer plug-ins good Owners: mooninite Branches: f17 Git done (by process-git-requests). mingw-gstreamer-plugins-good-0.10.31-5.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/mingw-gstreamer-plugins-good-0.10.31-5.fc17 Package mingw-gstreamer-plugins-good-0.10.31-5.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mingw-gstreamer-plugins-good-0.10.31-5.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-7057/mingw-gstreamer-plugins-good-0.10.31-5.fc17 then log in and leave karma (feedback). mingw-bzip2-1.0.6-1.fc17, mingw-boost-1.48.0-8.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. mingw-gstreamer-plugins-good-0.10.31-5.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. |