develooper Front page | perl.perl5.porters | Postings from December 2016

[perl #130375] Porting/release_managers_guide.pod: need advice renew directories created by CPAN synch

From:
James E Keenan
Date:
December 19, 2016 00:21
Subject:
[perl #130375] Porting/release_managers_guide.pod: need advice renew directories created by CPAN synch
Message ID:
rt-4.0.24-25250-1482106888-1427.130375-75-0@perl.org
# New Ticket Created by  James E Keenan 
# Please include the string:  [perl #130375]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=130375 >


Porting/release_managers_guide.pod needs advise re new directories 
created by CPAN synch

This is a bug report for perl from jkeenan@cpan.org,
generated with the help of perlbug 1.40 running under perl 5.24.0.


-----------------------------------------------------------------
[Please describe your issue here]

Over the weekend both BinGOs and I were, in the course of helping to
prepare for this week's monthly development version "blead-point"
release, bit by the same problem.

We were attempting to synchronize the Test-Simple distribution found
underneath the 'cpan/' directory in the core distribution with the
latest version of that distro on CPAN.  Specifically, we wanted to go
from 1.302067 to 1.302071.  We (or, at least, I -- I'm assuming we each
went through the same steps) got to the same point in the instructions
in Porting/release_managers_guide.pod concerning CPAN-to-blead
synchronization:

#####
=item *

Run a full configure/build/test cycle.

=item *

If everything is ok, commit the changes.
#####

Note the absence of guidance concerning what to do if everything is
*not* ok.  In the course of the final 'make test_harness', I got a
failure in 't/porting/regen.t' which, when I ran that file by itself,
appeared as:

#####
not ok # Makefile.SH is up to date
ok # win32/Makefile is up to date
ok # win32/makefile.mk is up to date
#####

This was puzzling, as the 'diff' of the old Test-Simple against the new
showed no changes in Makefile.SH.  I sprinkled 't/porting/regen.t' with
'print' statements, ran it through the debugger, etc., with no good
results.  Finally I noticed this line in that test file:

#####
require './regen/regen_lib.pl';
#####

... and wondered what would happen when I ran that program by itself
with the newly build './perl'.  When I did so, I got a whole lot of
changes in Makefile.SH; see attachment.  I re-ran 'make test_porting'
and got PASS.  I then re-ran the full configure-build-test cycle and got
PASS.   And today on advice from arc on #p5p, I pushed to blead.  In a
response to an inquiry from Test-Simple maintainer Exodist, arc said,

#####
(03:10:59 PM) arc: Exodist: not afaict — it's a p5-internal thing about
dealing with the fact that the lib/Test2/Event/TAP/ directory is new in
the latest version (containing a file Version.pm)
(03:11:36 PM) arc: we have to list all cpan dists' directories in the
makefile, so that "make clean" can clean up the versions that are
created under lib/ by the build system
#####

I ran a couple of 'ack's over the core distribution to try to find any
discussion of this requirement and couldn't find anything quickly.
Hence, I infer that the release manager's guide needs updating.  We
need:

* explicit documentation of this requirement for Makefile.SH, including
why ('make clean') we need it at all;

* to decide where in the discussion of CPAN-to-blead synchronization
guidance should go -- perhaps earlier than the last step;

* to decide whether 'regen/regen_lib.pl' should be discussed in the RLM
-- it currently is not.

* discussion as to whether there are any other ways in which a
CPAN-to-blead synch could go wrong at the very last step and how such
failures should be handled.

Thank you very much.
Jim Keenan


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
     category=docs
     severity=low
---
Site configuration information for perl 5.24.0:

Summary of my perl5 (revision 5 version 24 subversion 0) configuration:

   Platform:
     osname=linux, osvers=3.13.0-85-generic, archname=x86_64-linux
     uname='linux zareason 3.13.0-85-generic #129-ubuntu smp thu mar 17 
20:50:15 utc 2016 x86_64 x86_64 x86_64 gnulinux '
     config_args='-de 
-Dprefix=/home/jkeenan/perl5/perlbrew/perls/perl-5.24.0 
-Aeval:scriptdir=/home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/bin'
     hint=recommended, useposix=true, d_sigaction=define
     useithreads=undef, usemultiplicity=undef
     use64bitint=define, use64bitall=define, uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
     optimize='-O2',
     cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector 
-I/usr/local/include'
     ccversion='', gccversion='4.8.4', gccosandvers=''
     intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, 
doublekind=3
     d_longlong=define, longlongsize=8, d_longdbl=define, 
longdblsize=16, longdblkind=3
     ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
     alignbytes=8, prototype=define
   Linker and Libraries:
     ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
     libpth=/usr/local/lib 
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed 
/usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib 
/usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64
     libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
     perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
     libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
     gnulibc_version='2.19'
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib 
-fstack-protector'


Characteristics of this binary (from libperl):
   Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
                         PERL_DONT_CREATE_GVSV
                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
                         PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT
                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
                         USE_PERLIO USE_PERL_ATOF
   Built under linux
   Compiled at May  9 2016 18:38:59
   %ENV:
     PERLBREW_BASHRC_VERSION="0.67"
     PERLBREW_HOME="/home/jkeenan/.perlbrew"
     PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/man"
 
PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin:/home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/bin"
     PERLBREW_PERL="perl-5.24.0"
     PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew"
     PERLBREW_VERSION="0.67"
     PERL_WORKDIR="/home/jkeenan/gitwork/perl"
   @INC:
 
/home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0/x86_64-linux
     /home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0
     /home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux
     /home/jkeenan/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0
     .



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About