This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 891952 - Review Request: perl-ExtUtils-Typemaps - Reads, modifies, creates and writes Perl XS typemap files
Review Request: perl-ExtUtils-Typemaps - Reads, modifies, creates and writes ...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
17
All Linux
medium Severity medium
: ---
: ---
Assigned To: T.C. Hollingsworth
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 876399 876405
  Show dependency treegraph
 
Reported: 2013-01-04 10:49 EST by Miro Hrončok
Modified: 2013-02-28 02:11 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-28 02:11:04 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
tchollingsworth: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Miro Hrončok 2013-01-04 10:49:58 EST
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-ExtUtils-Typemaps.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-ExtUtils-Typemaps-3.18-3.fc17.src.rpm

Description:

ExtUtils::Typemaps can read, modify, create and write Perl XS typemap files.

The module is not entirely round-trip safe: For example it currently simply
strips all comments. The order of entries in the maps is, however, preserved.

We check for duplicate entries in the typemap, but do not check for missing
TYPEMAP entries for INPUTMAP or OUTPUTMAP entries since these might be hidden
in a different typemap.

Fedora Account System Username: churchyard

Note: This package is ment for Fedora 17 only. Newer releases has perl-ExtUtils-ParseXS 3.x providing this.
Comment 1 T.C. Hollingsworth 2013-01-13 19:27:23 EST
I know this package is just needed as a stopgap measure for F17, but it generates some nasty conflicts in rawhide:

INFO: mock.py version 1.1.28 starting...
Start: init plugins
Finish: init plugins
Start: run
Mock Version: 1.1.28
INFO: Mock Version: 1.1.28
Start: lock buildroot
INFO: installing package(s): /home/fedora/patches/891952-perl-ExtUtils-Typemaps/results/perl-ExtUtils-Typemaps-3.18-3.fc19.noarch.rpm
ERROR: Command failed: 
 # ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-rawhide-x86_64/root/', 'install', '/home/fedora/patches/891952-perl-ExtUtils-Typemaps/results/perl-ExtUtils-Typemaps-3.18-3.fc19.noarch.rpm']

================================================================================
 Package                 Arch   Version                 Repository         Size
================================================================================
Installing:
 perl-ExtUtils-Typemaps  noarch 3.18-3.fc19             /perl-ExtUtils-Typemaps-3.18-3.fc19.noarch
                                                                          101 k
Installing for dependencies:
 perl-ExtUtils-Install   noarch 1.58-246.fc19           fedora             67 k
 perl-ExtUtils-MakeMaker noarch 6.64-1.fc19             fedora            271 k
 perl-ExtUtils-Manifest  noarch 1.61-240.fc19           fedora             29 k
 perl-ExtUtils-ParseXS   noarch 1:3.16-246.fc19         fedora             98 k
 perl-Test-Harness       noarch 3.23-246.fc19           fedora            283 k
 perl-devel              x86_64 4:5.16.2-246.fc19       fedora            479 k
 python                  x86_64 2.7.3-14.fc19           fedora             78 k
 systemtap-sdt-devel     x86_64 2.1-0.198.g4c5d990.fc19 fedora             69 k

Transaction Summary
================================================================================
Install  1 Package (+8 Dependent packages)

Total size: 1.4 M
Installed size: 3.7 M


Transaction Check Error:
  file /usr/share/man/man3/ExtUtils::ParseXS::Constants.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch
  file /usr/share/man/man3/ExtUtils::ParseXS::Utilities.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch
  file /usr/share/man/man3/ExtUtils::Typemaps.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch
  file /usr/share/man/man3/ExtUtils::Typemaps::Cmd.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch
  file /usr/share/man/man3/ExtUtils::Typemaps::InputMap.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch
  file /usr/share/man/man3/ExtUtils::Typemaps::OutputMap.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch
  file /usr/share/man/man3/ExtUtils::Typemaps::Type.3pm.gz conflicts between attempted installs of perl-ExtUtils-Typemaps-3.18-3.fc19.noarch and perl-ExtUtils-ParseXS-1:3.16-246.fc19.noarch

Stuff like this can cause users upgrading from F17 a lot of pain, so we need to be careful and do this right.  I think there will probably need to be some explicit Conflicts in this package and Obsoletes in perl-ExtUtils-ParseXS.

CCing my sponsor, who will almost certainly know what to do here.  Michael, would you mind providing some guidance?
Comment 2 Miro Hrončok 2013-01-13 19:51:00 EST
Exactly, perl-ExtUtils-ParseXS (from perl src package) will conflict with this, but at the same time, it provides some necessary things. Long story short, there is no way to build this in rawhide or f18.

Adding Obsoletes to perl-ExtUtils-ParseXS in f18 and rawhide would be probably necessary.
Comment 3 Michael Schwendt 2013-01-13 20:08:25 EST
Hmm, I suggest asking the Fedora Packaging Committee for a better explanation when setting a "Conflicts:" tag is permitted and what Anaconda will do in that case. https://fedoraproject.org/wiki/Packaging:Conflicts

Implicit conflicts are never acceptable.

Btw, it's not just the man pages that conflict. perl-ExtUtils-ParseXS in F18 is older than this perl-ExtUtils-Typemaps (3.16 < 3.18), and the packages install their Perl module files in competing paths (/usr/share/perl5 vs. /usr/share/perl5/vendor_perl) where the files don't conflict but override eachother.

Preferably, and as you say, perl-ExtUtils-ParseXS from "perl" src.rpm in Fedora >= 18 would add a "Obsoletes" tag (possibly versioned) to replace the perl-ExtUtils-Typemaps package for a sane upgrade path.
Comment 4 T.C. Hollingsworth 2013-01-13 21:12:07 EST
So apparently we need FPC guidance on how to proceed.

You can contact them on their mailing list:
http://lists.fedoraproject.org/mailman/listinfo/packaging

Or by filing a ticket on their trac instance:
https://fedorahosted.org/fpc/

BTW, have you talked to the Perl SIG about this?  Perhaps they can backport or provide some other solution to this.
Comment 5 Petr Pisar 2013-01-14 04:37:39 EST
In my opinion the solution is straightforward:

(1) Put `Conflicts: perl-ExtUtils-ParseXS >= 3.14' into perl-ExtUtils-Typemaps.
(2) Put `Obsoletes: perl-ExtUtils-Typemaps' into perl-ExtUtils-ParseXS in F≥18.
(3) Block perl-ExtUtils-Typemaps in F≥18. Preferably before building the package.

I can do (2), but perl has now security update in testing, so I have to postpone this change until stabilizing current F18 update.
Comment 6 Michael Schwendt 2013-01-14 05:50:38 EST
1) How does Anaconda handle such Conflicts during a distribution upgrade? And what do fedup and other tools do in such a case?

2) The way to go, IMO.

3) If you refer to koji inheritance, blocking it may become necessary indeed. And depending on how the initial src.rpm gets imported into git, marking it a dead.package may be necessary, too.
Comment 7 Petr Pisar 2013-01-14 06:01:04 EST
(In reply to comment #6)
> 1) How does Anaconda handle such Conflicts during a distribution upgrade?
> And what do fedup and other tools do in such a case?
> 
Frankly, this is problem of anaconda and fedup. We have RPM specification which defines Conflicts: so it's clear what's intended behaviour.

Pragmatically, I use Conflicts here and there when needed, I usually test the transitions and I've never seen any problem. If there is Obsolete statement at the same time, there will be obvious solution.
Comment 8 Michael Schwendt 2013-01-14 06:55:36 EST
> If there is Obsolete statement at the same time

Of course!

Because of that, setting the Conflicts tag is of very limited use. Only the Obsoletes statement is the important one for all sorts of dist updates/upgrades where packages are to be replaced (plus a "Provides" where appropriate). The target dist (here F17) will not include a pair of conflicting packages in its repositories.

| As a general rule, Fedora packages must NOT contain any usage of the
| Conflicts: field. [...] It confuses depsolvers and end-users for no
| good reason.


> I usually test the transitions and I've never seen any problem

Consider yourself lucky. ;)  Implicit *and* explicit conflicts stop at the transaction check already, leaving the problem to the user, who must figure out how to alter the package set to not suffer from conflicts. This is extremely annoying if it's a large package set with complex inter-dependencies.


"Obsoletes" is the way to go here. I dunno whether a "perl-ExtUtils-Typemaps" package might ever want to return with changed/non-conflicting contents, so it may be okay to make the Obsoletes tag non-versioned.

http://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages
Comment 9 Petr Pisar 2013-01-14 08:34:15 EST
Michaeal, you are mixing two independent things.

One is conflict, which is here regardless any possible replacement. You can never know user's package set (e.g. upgrading into stable distribution will bring perl without the Obsoletes). If the conflict is there, it should be declared. It's much friendly to hit the problem sooner while solving dependencies than any later on file system level.

Other one is replacement. In this case there is possible replacement. But this is only hint for dependency solver to select better choice.

I'm really sorry yum is so archaic it cannot offer more solutions as other package managers can. But this not excuse to sweep known conflicts under the carpet. Especially in this case where it does not make things worse as you already pointed.
Comment 10 Michael Schwendt 2013-01-14 09:09:49 EST
https://fedorahosted.org/fpc/ticket/241
Comment 11 T.C. Hollingsworth 2013-02-06 15:16:10 EST
FPC has spoken:
https://fedorahosted.org/fpc/ticket/241#comment:4

Please work with the Perl SIG to get the proper Obsoletes/Provides in the Perl SRPM.  I'll proceed with the review shortly.
Comment 12 Miro Hrončok 2013-02-06 15:55:42 EST
(In reply to comment #11)
> FPC has spoken:
> https://fedorahosted.org/fpc/ticket/241#comment:4
> 
> Please work with the Perl SIG to get the proper Obsoletes/Provides in the
> Perl SRPM.  I'll proceed with the review shortly.

Petr, could you do it, or I have to ask someone else?
Comment 13 T.C. Hollingsworth 2013-02-06 18:41:19 EST
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed

Status: NEEDS WORK

==== Issues =====

[!]: Obsoletes/Provides needed in F18 so as not to break upgrade path.

[!]: This package will generate Conflicts in F18+.

     Please file a ticket with release engineering after review approval to
     ensure this package is blocked in F18+.

     https://fedorahosted.org/rel-eng/newticket

[!]: rpmlint output is not clean.

     See the rpmlint section at the bottom of the review for details.

==== Things to Consider ====

[ ]: This package does not include a license file.

     Consider querying upstream to include one.

===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[-]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[!]: Changelog in prescribed format.

See rpmlint warnings below.

[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: 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 is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/fedora/patches/FedoraReview/891952-perl-ExtUtils-
     Typemaps/licensecheck.txt

License "same as Perl itself" == GPL+ or Artisitic so OK

[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)

This package will generate Conflicts and should be blocked in F18+.

[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[-]: Large documentation must go in a -doc subpackage.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[x]: Package contains the mandatory BuildRequires and Reguires:.
[x]: CPAN urls should be non-versioned.

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[!]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (ExtUtils-ParseXS-3.18.tar.gz)
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: perl-ExtUtils-Typemaps-3.18-3.fc17.src.rpm
          perl-ExtUtils-Typemaps-3.18-3.fc17.noarch.rpm
perl-ExtUtils-Typemaps.src: W: spelling-error Summary(en_US) typemap -> type map, type-map, typeface
perl-ExtUtils-Typemaps.src: W: spelling-error %description -l en_US typemap -> type map, type-map, typeface
perl-ExtUtils-Typemaps.src: E: specfile-error warning: bogus date in %changelog: Tue Sep 28 2012 Miro Hrončok <miro@hroncok.cz> 3.15-10
perl-ExtUtils-Typemaps.noarch: W: spelling-error Summary(en_US) typemap -> type map, type-map, typeface
perl-ExtUtils-Typemaps.noarch: W: spelling-error %description -l en_US typemap -> type map, type-map, typeface
2 packages and 0 specfiles checked; 1 errors, 4 warnings.

Please fix the bogus date in changelog, everything else is false positive.


Rpmlint (installed packages)
----------------------------
# rpmlint perl-ExtUtils-Typemaps
perl-ExtUtils-Typemaps.noarch: W: spelling-error Summary(en_US) typemap -> type map, type-map, typeface
perl-ExtUtils-Typemaps.noarch: W: spelling-error %description -l en_US typemap -> type map, type-map, typeface
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
# echo 'rpmlint-done:'

False positives.

Requires
--------
perl-ExtUtils-Typemaps-3.18-3.fc17.noarch.rpm (rpmlib, GLIBC filtered):
    
    perl >= 0:5.006001
    perl(:MODULE_COMPAT_5.14.3)
    perl(Exporter)
    perl(ExtUtils::ParseXS)
    perl(ExtUtils::ParseXS::Constants)
    perl(ExtUtils::Typemaps)
    perl(ExtUtils::Typemaps::InputMap)
    perl(ExtUtils::Typemaps::OutputMap)
    perl(ExtUtils::Typemaps::Type)
    perl(File::Spec)
    perl(Symbol)
    perl(lib)
    perl(re)
    perl(strict)
    perl(warnings)



Provides
--------
perl-ExtUtils-Typemaps-3.18-3.fc17.noarch.rpm:
    
    perl(ExtUtils::ParseXS::Constants) = 3.18
    perl(ExtUtils::ParseXS::CountLines) = 3.18
    perl(ExtUtils::ParseXS::Utilities) = 3.18
    perl(ExtUtils::Typemaps) = 3.18
    perl(ExtUtils::Typemaps::Cmd) = 3.18
    perl(ExtUtils::Typemaps::InputMap) = 3.18
    perl(ExtUtils::Typemaps::OutputMap) = 3.18
    perl(ExtUtils::Typemaps::Type) = 3.18
    perl-ExtUtils-Typemaps = 3.18-3.fc17



MD5-sum check
-------------
http://www.cpan.org/authors/id/S/SM/SMUELLER/ExtUtils-ParseXS-3.18.tar.gz :
  CHECKSUM(SHA256) this package     : 811cc2281cfc28dc2b3b1f744bb3ce830bf856189fa4240e13f331bb8de96b4f
  CHECKSUM(SHA256) upstream package : 811cc2281cfc28dc2b3b1f744bb3ce830bf856189fa4240e13f331bb8de96b4f


Generated by fedora-review 0.3.1 (f4bc12d) last change: 2012-10-16
Buildroot used: fedora-17-x86_64
Command line :./try-fedora-review -b891952 -mfedora-17-x86_64
Comment 14 Miro Hrončok 2013-02-06 18:45:10 EST
(In reply to comment #13)
> [!]: rpmlint output is not clean.
> 
>      See the rpmlint section at the bottom of the review for details.

All false positives, as you also agree.

> False positives.
Comment 15 T.C. Hollingsworth 2013-02-06 19:01:51 EST
I meant this one:

perl-ExtUtils-Typemaps.src: E: specfile-error warning: bogus date in %changelog: Tue Sep 28 2012 Miro Hrončok <miro@hroncok.cz> 3.15-10

The 28th was a Friday.  ;-)
Comment 16 Miro Hrončok 2013-02-06 19:05:27 EST
Sorry, I've missed that rpmlint output is separated to source and installed.
Comment 17 Michael Schwendt 2013-02-07 07:04:38 EST
It's good that the FPC has answered like that.

[...]

Here's something unrelated to the reviewing guidelines. Not a blocker, just a recommendation:

> # Modifiy Makefile.PL
> sed … Makefile.PL
> sed … Makefile.PL
> sed …

> # Remove ExtUtils::ParseXS tests
> rm …

Among many (most?) programmers, comments of that sort are considered superfluous. Worthless. And creating RPM Spec files is similar to programming scripts. Obviously, "sed" commands run on a Makefile.PL "modify" the file, so the comment doesn't need to point that out. Similarly for the "rm" command that removes several files.

Much more interesting, and possibly even important, would be to explain _why_ that is being done? Why are the makefiles modified? Why is it necessary? And _what_ is the goal of those commands? Similarly for the "rm" command. _Why_ are the tests deleted? (especially if the package includes ExtUtils/ParseXS*)

As the author of the spec file, you may be intimately familiar with what it does and why it does that. Perhaps you don't need any helpful comments in the spec file yourself, perhaps you would still remember even after a year what the commands do and why they do it.

Nevertheless, I suggest replacing those comments with a more helpful rationale.
Comment 18 Miro Hrončok 2013-02-07 08:09:30 EST
(In reply to comment #17)
> > # Remove ExtUtils::ParseXS tests
> > rm …

I got your point however, right this one seems useful: it removes ExtUtils::ParseXS tests, while ExtUtils::Typemaps test stays.
Comment 19 Michael Schwendt 2013-02-07 09:53:47 EST
Just a little bit. Agreed. "rm -f t/00*.t t/1*.t" alone is not self-explaining and deserves a comment. The better comment would tell _why_ these tests are removed.

$ rpmls -p perl-ExtUtils-Typemaps-3.18-3.fc19.noarch.rpm|grep -i parse
-rw-r--r--  /usr/share/man/man3/ExtUtils::ParseXS::Constants.3pm.gz
-rw-r--r--  /usr/share/man/man3/ExtUtils::ParseXS::Utilities.3pm.gz
drwxr-xr-x  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS
-rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/Constants.pm
-rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/CountLines.pm
-rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/Utilities.pm
Comment 20 Petr Pisar 2013-02-07 10:26:24 EST
(In reply to comment #12)
> (In reply to comment #11)
> > FPC has spoken:
> > https://fedorahosted.org/fpc/ticket/241#comment:4
> > 
> > Please work with the Perl SIG to get the proper Obsoletes/Provides in the
> > Perl SRPM.  I'll proceed with the review shortly.
> 
> Petr, could you do it, or I have to ask someone else?

Implemented in perl-5.16.2-254.fc19 and perl-5.16.2-238.fc18.
Comment 21 Fedora Update System 2013-02-07 10:27:08 EST
perl-5.16.2-238.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/perl-5.16.2-238.fc18
Comment 22 Paul Howarth 2013-02-07 11:54:47 EST
Just curious here, but why not just reinstate dual-lived perl-ExtUtils-ParseXS for F-17 and update it to 3.18 rather than create perl-ExtUtils-Typemaps package?
Comment 23 Petr Pisar 2013-02-08 02:17:42 EST
Because there are changes is API.
Comment 24 Miro Hrončok 2013-02-08 06:46:25 EST
(In reply to comment #19)
> $ rpmls -p perl-ExtUtils-Typemaps-3.18-3.fc19.noarch.rpm|grep -i parse
> -rw-r--r--  /usr/share/man/man3/ExtUtils::ParseXS::Constants.3pm.gz
> -rw-r--r--  /usr/share/man/man3/ExtUtils::ParseXS::Utilities.3pm.gz
> drwxr-xr-x  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS
> -rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/Constants.pm
> -rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/CountLines.pm
> -rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/Utilities.pm

This is OK. Fedora 17 only have /usr/share/perl5/vendor_perl/ExtUtils/ParseXS.pm in perl-ExtUtils-ParseXS.
Comment 25 Michael Schwendt 2013-02-08 07:15:51 EST
> This is OK.

What is okay? In case you refer to file conflicts, I do not.

I still wonder _why_ the tests are deleted? Especially since some of the tests are about modules included in the package. Several of the tests fail (why?), but many other tests pass:

t/101-standard_typemap_locations.t ....... ok
t/102-trim_whitespace.t .................. ok
t/103-tidy_type.t ........................ ok
t/104-map_type.t ......................... ok
t/105-valid_proto_string.t ............... ok
t/106-process_typemaps.t ................. ok
t/107-make_targetable.t .................. ok
t/108-map_type.t ......................... ok
t/109-standard_XS_defs.t ................. ok
t/110-assign_func_args.t ................. ok
t/111-analyze_preprocessor_statements.t .. ok
t/112-set_cond.t ......................... ok
t/113-check_cond_preproc_statements.t .... ok
t/114-blurt_death_Warn.t ................. ok
Comment 26 Miro Hrončok 2013-02-08 07:47:26 EST
(In reply to comment #25)
> Especially since some of the
> tests are about modules included in the package.
If so, that was a mistake. Anyway, now it should be fixed.

> Several of the tests fail
> (why?)
Because they are meant for ExtUtils:ParseXS 3.18, but instead ParseXS 2.x is used from Fedora 17. I suppose.


Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-ExtUtils-Typemaps.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-ExtUtils-Typemaps-3.18-4.fc17.src.rpm

* Fri Feb 08 2013 Miro Hrončok <mhroncok@redhat.com> - 3.18-4
- %%{_perl} to perl
- Updated comments
- Updated bogus date in %%changelog
- %%{perl_vendorlib}/ExtUtils/ParseXS* - removed asterisk, it is 1 dir
- Remove tests in much more cooler way
Comment 27 T.C. Hollingsworth 2013-02-08 18:41:43 EST
(In reply to comment #24)
> (In reply to comment #19)
> > $ rpmls -p perl-ExtUtils-Typemaps-3.18-3.fc19.noarch.rpm|grep -i parse
> > -rw-r--r--  /usr/share/man/man3/ExtUtils::ParseXS::Constants.3pm.gz
> > -rw-r--r--  /usr/share/man/man3/ExtUtils::ParseXS::Utilities.3pm.gz
> > drwxr-xr-x  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS
> > -rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/Constants.pm
> > -rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/CountLines.pm
> > -rw-r--r--  /usr/share/perl5/vendor_perl/ExtUtils/ParseXS/Utilities.pm
> 
> This is OK. Fedora 17 only have
> /usr/share/perl5/vendor_perl/ExtUtils/ParseXS.pm in perl-ExtUtils-ParseXS.

I agree that it's a little strange that this RPM is shipping modules in a completely different namespace usually provided by a different RPM.

Are these modules even used?  Will this cause problems with ExtUtils::ParseXS?
Comment 28 Miro Hrončok 2013-02-08 20:54:36 EST
> Are these modules even used?
Yes.

> Will this cause problems with
> ExtUtils::ParseXS?
No. F17's ParseXS doesn't know they are there and doesn't include/use them.
Comment 29 Miro Hrončok 2013-02-09 18:13:45 EST
(In reply to comment #13)
> 
> [!]: This package will generate Conflicts in F18+.
> 
>      Please file a ticket with release engineering after review approval to
>      ensure this package is blocked in F18+.
> 
>      https://fedorahosted.org/rel-eng/newticket

What exactly I should request? Never done this before. Thanks
Comment 30 T.C. Hollingsworth 2013-02-09 18:25:37 EST
Just set the component to koji and ask them to block the package in F18 and rawhide. You'll need to do so AFTER git is done so koji knows the package exists.

BTW all issues seem to be accounted for, so this package is APPROVED.
Comment 31 Miro Hrončok 2013-02-09 18:54:57 EST
New Package SCM Request
=======================
Package Name: perl-ExtUtils-Typemaps
Short Description: Reads, modifies, creates and writes Perl XS typemap files
Owners: churchyard
Branches: f17
InitialCC: perl-sig
Comment 32 Jon Ciesla 2013-02-11 08:51:00 EST
Git done (by process-git-requests).
Comment 33 Miro Hrončok 2013-02-11 11:04:35 EST
Thanks to all.
Comment 34 Fedora Update System 2013-02-12 23:31:21 EST
perl-5.16.2-238.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 35 Fedora Update System 2013-02-18 06:34:18 EST
perl-ExtUtils-Typemaps-3.18-5.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/perl-ExtUtils-Typemaps-3.18-5.fc17
Comment 36 Miro Hrončok 2013-02-18 10:19:13 EST
https://fedorahosted.org/rel-eng/ticket/5492
Comment 37 Fedora Update System 2013-02-18 20:23:31 EST
perl-ExtUtils-Typemaps-3.18-5.fc17 has been pushed to the Fedora 17 testing repository.
Comment 38 Fedora Update System 2013-02-28 02:11:08 EST
perl-ExtUtils-Typemaps-3.18-5.fc17 has been pushed to the Fedora 17 stable repository.

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