Bug 165907

Summary: perl: specfile cleanup and update to 5.8.7
Product: [Fedora] Fedora Reporter: Jose Pedro Oliveira <jose.p.oliveira.oss>
Component: perlAssignee: Warren Togami <wtogami>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: altblue, perl-devel
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-08-29 06:45:13 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:
Bug Depends On:    
Bug Blocks: 150222    
Attachments:
Description Flags
Second patch - core modules
none
Source file needed by the second step
none
Third perl specfile patch - comments four perl patches
none
Patch12, updated for 5.8.7 none

Description Jose Pedro Oliveira 2005-08-13 21:18:29 UTC
Ticket to log suggestions and patches to the perl specfile.

Starting point: specfile as in perl-5.8.6-15.src.rpm

Comment 1 Jose Pedro Oliveira 2005-08-13 21:26:54 UTC
A couple of days ago I talked to Warren and I proposed him
the following steps (patches) to update the rawhide perl
to 5.8.7.


First patch against perl 5.8.6 specfile
---------------------------------------

   goals:
   * reformat specfile
   * correct a couple of things
   * drop the MANIFEST.all file (perl package)
   * drop the MANIFEST.suidperl file (perl-suidperl package)

Second patch against perl 5.8.6 specfile
----------------------------------------

   goals:
   * handle the removal of core modules vs external packages
     (perl-Filter, perl-Filter-Simple, and perl-Time-HiRes)

Third patch against perl 5.8.6 specfile
---------------------------------------

   goals:
   * update it to 5.8.7
   * remove the CGI.pm patches

   status:
   * still incomplete as four patches fail to apply


Other comments/suggestions/patches are welcome.

jpo

Comment 2 Jose Pedro Oliveira 2005-08-13 21:35:34 UTC
Current status: 
The first patch has already been applied (see perl-5.8.6-16.src.rpm in rawhide)


First patch summary: perl-5.8.6-15 => perl-5.8.6-16
===================================================
 * Specfile reformatted
     - in particular grouped all the patches together
 * Full URL of the perl 5.8.6 tarball
 * %build section
     - moved the mkdir commands that appeared before the
       Configure line into the %install section
     - Configure command argument changes
         -Dversion
         -Dinstallprefix
          (make install DESTDIR=$RPM_... in %install)
 * %install section
     - make install DESTDIR=$RPM_BUILD_ROOT
     - no longer creates MANIFEST.all
     - dropped compression of the man pages
 * %files section
     - no longer uses MANIFEST.all for the perl package
     - no longer uses MANIFEST.suidperl for the perl-suidperl subpackage
 * Source files no longer needed
    - Source1: clean-manifest.pl
    - Source9: MANIFEST.suidperl
    - Source10: system-owned-directories

Other notes:
 * didn't move "make test" into the %check section
   Reason: the perl building process prints a message if the "make install"
   step is started without having executed "make test" before


Wish/pending list:
* mark libnet.cfg as a configuration file?
  maybe move it to /etc and create a symbolic link to it?
* reformat/clean the %install section
  I don't have access to a x86_64 (or 64 bit) machine to test the
  multilib stuff
* mark pod files as docs
  should be done at the RPM level - other perl packages (and maybe
  Ruby) would also profit from it



Comment 3 Jose Pedro Oliveira 2005-08-13 21:42:11 UTC
Created attachment 117713 [details]
Second patch - core modules

Comment 4 Jose Pedro Oliveira 2005-08-13 21:43:50 UTC
Created attachment 117714 [details]
Source file needed by the second step

Comment 5 Jose Pedro Oliveira 2005-08-13 21:51:29 UTC
The second patch no longer deletes the following core modules:

  * Filter::Util::Call        (external package perl-Filter)
  * Filter::Simple            (external package perl-Filter-Simple)
  * Time::HiRes               (external package perl-Time-HiRes)

and obsoletes the following FC-4 core packages:

  * perl-Filter
  * perl-Filter-Simple
  * perl-Time-HiRes


Notes:
* the find command with the globbing expression *Filter* also removed
  the DBM_Filter module.  I changed the above globbing to *DBM_Filter*
  in order to keep the previous behaviour.
 

Comment 6 Jose Pedro Oliveira 2005-08-13 22:00:22 UTC
The file in comment #4 is just a precaution because:

  * all perl versions 5.8 have been shipping with Filter::Simple version 0.78

    Output from   "corelist -a Filter::Simple"
    perl      Filter::Simple
    ...
    5.008      0.78
    5.008001   0.78
    ...
    5.008006   0.78
    5.008007   0.78
    ...

  * Fedora shipped Filter::Simple 0.79 as an external package 
    (FC4: perl-Filter-Simple-0.79)

  * there is no change to the module between version 0.78 and 0.79 (expect the
    the version)

    Diff from Filter-Simple-0.78 to Filter-Simple-0.79
    http://search.cpan.org/diff?from=Filter-Simple-0.78&to=Filter-Simple-0.79
    

Comment 7 Warren Togami 2005-08-13 23:55:49 UTC
Isn't it a good idea to wait until the third patch is complete before pushing
this to rawhide?  I want to avoid the case of the version of obsoleted
perl-subpackage modules going backwards temporarily.

Comment 8 Warren Togami 2005-08-14 02:05:26 UTC
*** Bug 158383 has been marked as a duplicate of this bug. ***

Comment 9 Ville Skyttä 2005-08-14 09:17:17 UTC
Re comment 2: what harm does "prints a message" do if "make install" is run 
before "make test"? 

Comment 10 Jose Pedro Oliveira 2005-08-14 14:01:32 UTC
(In reply to comment #9)
> Re comment 2: what harm does "prints a message" do if "make install" is run 
> before "make test"? 

None.

Comment 11 Jose Pedro Oliveira 2005-08-14 14:10:37 UTC
(In reply to comment #7)
> ... I want to avoid the case of the version of obsoleted
> perl-subpackage modules going backwards temporarily.

Can you be more specific? Which perl-subpackage/module would be going backwards?


Additional info about Perl and core modules versions
(source: corelist):

Perl      Filter::Simple  Filter::Util::Call  Time::HiRes
5.008005      0.78            1.0601              1.59
5.008006      0.78            1.0601              1.65
5.008007      0.78            1.0601              1.66

FC4 - Perl core modules in external packages

   perl-Filter-1.30-7.i386.rpm
      * includes Filter::Util::Call version 1.06
   perl-Filter-Simple-0.79-5.noarch.rpm
   perl-Time-HiRes-1.65-1.i386.rpm

Example of strange dependencies

   $ rpm -q --whatrequires "perl(Filter::Util::Call)"
   perl-5.8.6-15
   $ rpm -q --whatprovides "perl(Filter::Util::Call)"
   perl-Filter-1.30-7



Comment 12 Jose Pedro Oliveira 2005-08-14 21:46:30 UTC
Created attachment 117724 [details]
Third perl specfile patch - comments four perl patches

The release number is intentionally 0 (zero) as this perl specfile patch has to
temporarily disable the following perl patches:

  Patch11:	  perl-5.8.3-fullinc.patch
  Patch12:	  perl-5.8.6-incpush.patch
  # CAN-2004-0452 fix
  Patch26:	  perl-5.8.0-rmtree.patch
  # CAN-2005-0155 and CAN-2005-0156 fix
  Patch27:	  perl-5.8.5-CAN-2005-0155+0156.patch

Any volunteers to review the above patches?

Comment 13 Marius Feraru 2005-08-15 16:57:10 UTC
Created attachment 117761 [details]
Patch12, updated for 5.8.7

this the inpush patch (patch12), updated as jpo.pt requested.

Comment 14 Marius Feraru 2005-08-15 17:34:19 UTC
as for the other patches: 26 was fixed by change 24180 and 27 by change 23918.
(no idea about 11, i don't use it).

Comment 15 Marius Feraru 2005-08-18 17:16:08 UTC
> Second patch - core modules
JPO, if you are at this, please add versions to all those Obsoletes packages,
something like:
Obsoletes: perl-Time-HiRes <= 1.65

This way, in a future ideal world maybe we could be able to build our own
perl-CGI, perl-CPAN, etc updated packages without having to cope with the "main"
perl package.

Comment 16 Marius Feraru 2005-08-18 17:45:20 UTC
On Thu, 2005-08-18 at 13:16 -0400, bugzilla wrote:
> ------- Additional Comments From altblue  2005-08-18 13:16 EST -------
> > Second patch - core modules
> JPO, if you are at this, please add versions to all those Obsoletes packages,
> something like:
> Obsoletes: perl-Time-HiRes <= 1.65
>
> This way, in a future ideal world maybe we could be able to build our own
> perl-CGI, perl-CPAN, etc updated packages without having to cope with the
> "main" perl package.

Is there an "approved" way of packaging later versions of specific
modules that are bundled with the perl rpm? This is sometimes needed to
satisfy dependencies, particularly for legacy distros.

Paul.
--
Paul Howarth <paul>


Comment 17 Marius Feraru 2005-08-18 17:55:08 UTC
Paul, let's keep it all in one place ;-)

> Is there an "approved" way of packaging later versions of specific
> modules that are bundled with the perl rpm? This is sometimes needed to
> satisfy dependencies, particularly for legacy distros.

If there is one, I haven't heard about it. All I know is there were some
discussions on this issue on the various RedHat/Fedora mailing lists, but AFAIR
there was no (positive) conclusion.

So, for what it worths, what I do now is something like: build packages for
those updated module replacing the usual %{_mandir} (/usr/share/man) with
/usr/local/share/man, replacing %{_bindir} (/usr/bin) with /usr/local/bin, and
using vendor install for the modules.
It's nasty/ugly/bad/etc ... but it's my (bad) way and "works for me".

OFC, this way I cannot either use the stock RH/FC perl package (those missing
versions in Obsoletes being an issue).

Comment 18 Ville Skyttä 2005-08-18 18:12:28 UTC
This is getting off topic in this particular Bugzilla report, but I've earlier 
suggested prefixing all of site_perl (modules, man pages, bin etc) 
to /usr/local so it could be easily used for local core/vendor Perl overrides, 
packaged or not.  As expected, some people liked the suggestion, some didn't 
-> nothing hasn't happened, at least yet... 

Comment 19 Warren Togami 2005-08-29 06:45:13 UTC
Patch11, Patch26, and Patch27 need verification as they clash with perl-5.8.7
and it is uncertain whether all of that has been upstreamed.  Otherwise this has
been built in rawhide and will be on the mirrors tomorrow.


Comment 20 Jose Pedro Oliveira 2005-09-14 14:02:47 UTC
For the record:
The packages - perl-Filter, perl-Filter-Simple, and perl-Time-HiRes - were
removed from rawhide.

Source:
rawhide report: 20050913 changes
https://www.redhat.com/archives/fedora-devel-list/2005-September/msg00227.html

Details:
...
Removed package perl-Time-HiRes

Removed package perl-Filter-Simple

Removed package perl-Filter
...

See also: #136494 and #167901