Commit bdd2b288 authored by Brendan O'Dea's avatar Brendan O'Dea Committed by Niko Tyni

Imported Debian patch 5.6.1-8.9

parent 888a27e1
......@@ -1029,11 +1029,7 @@ libswanted_uselargefiles=''
: List of libraries we want.
: If anyone needs -lnet, put it in a hint file.
libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl'
libswanted="$libswanted dld ld sun m c cposix posix"
libswanted="$libswanted ndir dir crypt sec"
libswanted="$libswanted ucb bsd BSD PW x iconv util"
libswanted='gdbm db dl m c crypt'
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/ routine extliblist.
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
......@@ -14749,7 +14745,7 @@ set mntent.h i_mntent
eval $inhdr
: see if ndbm.h is available
set ndbm.h t_ndbm
set gdbm-ndbm.h t_ndbm
eval $inhdr
case "$t_ndbm" in
......@@ -31,12 +31,7 @@ case "$useshrplib" in
# Prefix all runs of 'miniperl' and 'perl' with
# $ldlibpth so that ./perl finds *this* shared libperl.
case "$LD_LIBRARY_PATH" in
case "${osname}${osvers}" in
......@@ -84,7 +79,7 @@ true)
case "$ldlibpthname" in
'') ;;
case "$osname" in
......@@ -300,7 +295,7 @@ lintflags = -hbvxac
all: $(FIRSTMAKEFILE) miniperl extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext)
all: $(FIRSTMAKEFILE) miniperl extra.pods $(private) $(public) $(nonxs_ext) $(dynamic_ext)
@echo " ";
@echo " Everything is up to date. 'make test' to run test suite."
......@@ -805,7 +800,7 @@ makedepend: makedepend.SH
# Cannot delegate rebuilding of t/perl to make to allow interlaced
# test and minitest
test-prep: miniperl perl preplibrary utilities $(dynamic_ext) $(nonxs_ext) $(TEST_PERL_DLL)
test-prep: miniperl perl preplibrary utilities $(nonxs_ext) $(dynamic_ext) $(TEST_PERL_DLL)
cd t && (rm -f perl$(EXE_EXT); $(LNS) ../perl$(EXE_EXT) perl$(EXE_EXT))
# Second branch is for testing without a tty or controling terminal.
......@@ -74,7 +74,7 @@ handled automatically by C<xsubpp>.
# define XSINTERFACE_CVT(ret,name) ret (*name)()
#define XSINTERFACE_FUNC(ret,cv,f) ((XSINTERFACE_CVT(ret,cv))(f))
#define XSINTERFACE_FUNC(ret,cv,f) ((XSINTERFACE_CVT(ret,))(f))
#define XSINTERFACE_FUNC_SET(cv,f) \
CvXSUBANY(cv).any_dptr = (void (*) (pTHXo_ void*))(f)
The Perl POD documentation and the majority of the manual pages are in
the `perl-doc' package.
The Debian Perl Policy document is in the `debian-policy' package.
Perl Packages for Debian
perl - Larry Wall's Practical Extracting and Report Language.
perl-base - The Pathologically Eclectic Rubbish Lister.
perl-modules - Core Perl modules.
perl-doc - Perl documentation.
perl-debug - Debug-enabled Perl interpreter.
perl-suid - Runs setuid Perl scripts.
libperl5.6 - Shared Perl library.
libperl-dev - Perl library: development files.
libcgi-fast-perl - CGI::Fast Perl module.
To provide a minimal working perl, the ``perl-base'' package provides
the /usr/bin/perl binary plus a basic set of libraries.
The remainder of the application is included in the perl, perl-modules
and perl-doc packages.
libcgi-fast-perl has been split from -modules as it depends on
Previous maintainers of Debian Perl packages:
Ray Dassen <jdassen@WI.LeidenUniv.NL>,
Carl Streeter <>,
Robert Sanders <> and
Darren Stalder <>.
-- Brendan O'Dea <>, Fri, 26 Jan 2001 20:04:14 +1100
This diff is collapsed.
# check for a working /usr/bin/perl
test -x /usr/bin/perl && exit 0
echo "
You don't seem to have a working /usr/bin/perl. If you are attempting
to bootstrap a port, you can use the static perl in this directory to
complete the build by creating a temporary symlink:
ln -s `pwd`/perl.static /usr/bin/perl
and exporting PERLLIB=`pwd`/lib .
exit 1
fullver=$(expr $(pwd) : '.*-\([1-9][0-9.]*\)$')
ver=$(expr $fullver : '\([1-9][0-9.]*\)\.[0-9]*$')
arch=$(dpkg --print-installation-architecture)
case "$arch" in
hurd-*) archname=$(expr "$arch" : 'hurd-\(.*\)')-gnu;;
*) archname="$arch-linux"
case "$archname" in
alpha-*) ccflags="$ccflags -mieee";;
case "$1" in
--static) # static perl
opts="-Uuseshrplib -Dd_dosuid";;
--debug) # debugperl
opts="-Uuseshrplib -Doptimize=-g";;
--shared) # shared library
opts="-Duseshrplib$fullver -Dd_dosuid"
# ARM has problems with an optimised libperl
[ "$archname" = arm-linux ] && opts="$opts -Doptimize=-O1";;
exec echo $ver;;
exec echo $fullver;;
# The default installation type for /usr/bin/perl of shared or
# static may be changed by including x-perl-static or x-perl-shared
# in DEB_BUILD_OPTIONS. The default is shared except for i386 where
# there is a measurable performance penalty, and arm-linux since
# libperl is unoptimised.
case ",$DEB_BUILD_OPTIONS," in
*,x-perl-static,*) exec echo static;;
*,x-perl-shared,*) exec echo shared;;
case "$archname" in
i386-*|arm-linux) exec echo static;;
*) exec echo shared;;
*) echo "$0: need --shared, --static, or --debug option"
exit 2;;
# need bash when sourcing config.over
/bin/bash Configure \
-Dccflags="$ccflags" \
-Dcccdlflags=-fPIC \
-Darchname=$archname \
-Dprefix=/usr \
-Dprivlib=/usr/share/perl/$fullver \
-Darchlib=/usr/lib/perl/$fullver \
-Dvendorprefix=/usr \
-Dvendorlib=/usr/share/perl5 \
-Dvendorarch=/usr/lib/perl5 \
-Dsiteprefix=/usr/local \
-Dsitelib=/usr/local/share/perl/$fullver \
-Dsitearch=/usr/local/lib/perl/$fullver \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dman1ext=1 \
-Dman3ext=3perl \
-Dpager=/usr/bin/sensible-pager \
-Uafs \
-Ud_csh \
-Uusesfio \
$opts -des
# convert install paths
eval $(set | sed -n 's!^\(install.*\)=/usr/!\1='$(pwd)'/debian/tmp/usr/!p')
# we use a different method to get old site versions into @INC
# no versions under vendorlib
# remove -rpath (shared libperl is moved to /usr/lib by rules)
for t in $ccdlflags
case $t in
-Wl,-rpath,*) ;;
*) tmp="$tmp${tmp:+ }$t"
# -lnsl is brought in automatically via nsswitch as required
# -lutil is a glibc BSD compat library which we don't use
for var in libs perllibs
eval val=\"\$$var\"
for t in $val
case $t in
-lnsl|-lutil) ;;
*) tmp="$tmp${tmp:+ }$t"
eval $var=\"$tmp\"
# set previous version dirs
while read ver
[ "$ver" "<" "$version" ] || break
[ "$ver" "<" "$api_versionstring" ] && continue
inc_version_list="$ver${inc_version_list:+ }$inc_version_list"
done <debian/released-versions
# set email addresses
[ -n "$DEBEMAIL" ] && cf_email="$DEBEMAIL"
Source: perl
Section: interpreters
Priority: standard
Maintainer: Brendan O'Dea <>
Standards-Version: 3.5.5
Build-Depends: file, libdb2-dev, libgdbmg1-dev, netbase [!i386-hurd]
Package: perl-base
Essential: yes
Section: base
Priority: required
Architecture: any
Pre-Depends: ${shlibs:Depends}
Conflicts: perl-5.004-base (<< 6), perl-5.005-base (<< 6), perl-5.6-base (<< 6), data-dumper
Replaces: perl-5.005-base (<< 6), perl-5.6-base (<< 6), perl (<< 5.6.1-1), perl-modules (<< 5.6.1-4)
Provides: perl5-base, ${perlapi:Provides}, data-dumper
Suggests: perl
Description: The Pathologically Eclectic Rubbish Lister.
A scripting language with delusions of full language-hood, Perl is used
in many system scripts and utilities.
This is a stripped down Perl with only essential libraries. To make
full use of Perl, you'll want to install the `perl', `perl-modules' and
optionally `perl-doc' packages which supplement this one.
Package: libcgi-fast-perl
Priority: extra
Architecture: all
Depends: perl (>= ${Source-Version}), libfcgi-perl
Conflicts: libcgi-pm-perl
Description: CGI::Fast Perl module.
CGI::Fast is a subclass of the CGI object created by It is
specialized to work well with the Open Market FastCGI standard, which
greatly speeds up CGI scripts by turning them into persistently running
server processes. Scripts that perform time-consuming initialization
processes, such as loading large modules or opening persistent database
connections, will see large performance improvements.
Package: perl-doc
Section: doc
Priority: optional
Architecture: all
Depends: perl (>= ${Source-Version})
Conflicts: perl-5.004-doc (<< 6), perl-5.005-doc (<< 6), perl-5.6-doc (<< 6)
Replaces: perl-5.005-doc (<< 6), perl-5.6-doc (<< 6)
Suggests: man-browser, groff
Description: Perl documentation.
Perl manual pages and POD docs. If you are writing Perl programs, you
almost certainly need this.
Package: perl-modules
Priority: standard
Architecture: all
Depends: perl (>= ${Upstream-Version}-1)
Conflicts: libpod-parser-perl (<< 1.09-1), libansicolor-perl (<< 1.03-1), libfile-temp-perl (<< 0.12-1)
Replaces: libpod-parser-perl, libansicolor-perl, libfile-temp-perl
Provides: libpod-parser-perl, libansicolor-perl, libfile-temp-perl
Description: Core Perl modules.
Architecture independent library files for Perl.
Package: perl-debug
Priority: optional
Architecture: any
Depends: perl (= ${Source-Version}), ${shlibs:Depends}
Conflicts: perl-5.004-debug (<< 6), perl-5.005-debug (<< 6), perl-5.6-debug (<< 6)
Replaces: perl-5.005-debug (<< 6), perl-5.6-debug (<< 6)
Description: Debug-enabled Perl interpreter.
debugperl provides a debug-enabled version of Perl which can produce
extensive information about the interpreter as it compiles and executes
a program (see the -D switch in perlrun(1)).
Note that this package is primarily of use in debugging *Perl* rather
than perl programs, which may be traced/debugged using the standard
perl binary using the -d switch (see perldebug(1)).
Package: perl-suid
Priority: optional
Architecture: any
Depends: perl (= ${Source-Version}), ${shlibs:Depends}
Conflicts: perl-5.004-suid (<< 6), perl-5.005-suid (<< 6), perl-5.6-suid (<< 6)
Replaces: perl-5.005-suid (<< 6), perl-5.6-suid (<< 6)
Description: Runs setuid Perl scripts.
This can be a security hole but it is much safer than shell scripts and
with -Tw can be much safer than setuid executables.
Package: libperl5.6
Section: libs
Priority: required
Architecture: any
Depends: ${shlibs:Depends}
Suggests: perl-base (= ${Source-Version})
Description: Shared Perl library.
Provides a shared library for programs which embed a Perl
interpreter. This includes the /usr/bin/perl binary on architectures other
than i386 (where there is a measured performance hit when perl is
dynamically linked).
Package: libperl-dev
Section: devel
Priority: optional
Architecture: any
Depends: libperl5.6 (= ${Source-Version})
Description: Perl library: development files.
Files for developing applications which embed a Perl interpreter and for
programs compiled with perlcc.
Package: perl
Priority: standard
Architecture: any
Depends: perl-base (= ${Source-Version}), perl-modules (>= ${Source-Version}), ${shlibs:Depends}
Conflicts: perl-5.004 (<< 6), perl-5.005 (<< 6), perl-5.6 (<< 6)
Replaces: perl-5.005 (<< 6), perl-5.6 (<< 6), perl-doc (<< 5.6.1-1)
Provides: perl5
Suggests: perl-doc, libterm-readline-perl-perl
Description: Larry Wall's Practical Extraction and Report Language.
An interpreted scripting language, known among some as "Unix's Swiss
Army Chainsaw".
Perl is optimised for scanning arbitrary text files and system
administration. It has built-in extended regular expression matching
and replacement, a data-flow mechanism to improve security with
setuid scripts and is extensible via modules that can interface to C
This package was debianized by Brendan O'Dea <> on
Thu, 17 Aug 2000 16:10:54 +1000.
It was downloaded from:
Upstream Authors:
Larry Wall et. al. (see /usr/share/doc/perl/AUTHORS).
Copyright 1989-2001, Larry Wall All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of either:
a) the GNU General Public License as published by the Free Software
Foundation; either version 1, or (at your option) any later
version, or
b) the "Artistic License" which comes with Perl.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL' and
the Artistic Licence in `/usr/share/common-licenses/Artistic'.
This directory contains a subset of debhelper (version 3.0.51) to
avoid a circular build-dependency (perl->debhelper->perl).
debhelper is available from,
copyright (GPLv2) Joey Hess <>.
-- Brendan O'Dea <>
#!/usr/bin/perl -w
=head1 NAME
dh_builddeb - build debian packages
use strict;
use Debian::Debhelper::Dh_Lib;
B<dh_builddeb> [S<I<debhelper options>>] [B<--destdir=>I<directory>] [B<name=>I<filename>] [S<B<--> I<params>>]
dh_builddeb simply calls L<dpkg(8)> to build a debian package or
=head1 OPTIONS
=over 4
=item B<--destdir=>I<directory>
Use this if you want the generated .deb files to be put in a directory
other than the default of ".."
=item B<--name=>I<filename>
Use this if you want to force the generated .deb file to have a particular
file name. Does not work well if more than one .deb is generated!
=item B<-u>I<params>
=item B<--> I<params>
Pass I<params> to L<dpkg(1)|dpkg> when it is used to build the
# Set the default destination directory.
if (! defined $dh{DESTDIR}) {
if (! defined $dh{FILENAME}) {
else {
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
=head1 SEE ALSO
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <>
#!/usr/bin/perl -w
=head1 NAME
dh_clean - clean up package build directories
use strict;
use Debian::Debhelper::Dh_Lib;
B<dh_clean> [S<I<debhelper options>>] [B<-k>] [B<-d>] [B<-X>I<item>] [S<I<file ...>>]
dh_clean is a debhelper program that is responsible for cleaning up after a
package is built. It removes the package build directories, and removes some
other files, such as debian/substvars, debian/files, and any detritus left
behind by other debhelper commands (debian/*.debhelper). It also removes
common files that should not appear in a debian diff:
#*# *~ DEADJOE *.orig *.rej *.SUMS TAGS core .deps/* *.P
=head1 OPTIONS
=over 4
=item B<-k>, B<--keep>
Do not delete debian/files. When do you want to use this? Anytime you have a
debian/rules that has 2 binary targets that build different .deb packages;
for example, one target is binary-arch, and the other is binary-indep, or
one target builds the shared library, and the other the -dev package. If you
didn't use -k in these cases, then debian/files would be deleted in the
middle, and your changes file will only contain the last binary package that
was built.
=item B<-d>, B<--dirs-only>
Only clean the package build directories, do not clean up any other files
at all.
=item B<-X>I<item> B<--exclude=>I<item>
Exclude files that contain "item" anywhere in their filename from being
deleted, even if they would normally be deleted. You may use this option
multiple times to build up a list of things to exclude.
=item I<file ...>
Delete these files too.
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
my $ext=pkgext($package);
if (! $dh{D_FLAG}) {
doit ("rm","-rf",$tmp);
if (! $dh{D_FLAG}) {
if (@ARGV) {
if (! $dh{K_FLAG}) {
# These are all debhelper temp files, and so it is safe to
# wildcard them.
complex_doit("rm -f debian/*.debhelper");
# See if some files that would normally be deleted are excluded.
my $find_options='';
if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
$find_options="-a ! ( $dh{EXCLUDE_FIND} )";
# Remove other temp files.
# (The \s+ is important, \s won't work because find would get null
# parameters). Note that you _don't_ quote wildcards used by find
# in here.
doit(split(/\s+/,"find . -type f -a
( -name #*# -o -name *~ -o -name DEADJOE
-o -name *.orig -o -name *.rej -o -name *.bak
-o -name .*.orig -o -name .*.rej -o -name .SUMS
-o -name TAGS -o -name core -o ( -path */.deps/* -a -name *.P )
) $find_options -exec rm -f {} ;"));
doit('rm', '-rf', 'debian/tmp') if -x 'debian/tmp' && ! compat(1);
=head1 SEE ALSO
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <>
#!/usr/bin/perl -w
=head1 NAME
dh_compress - compress files and fix symlinks in package build directories
use strict;
use Cwd;
use Debian::Debhelper::Dh_Lib;
B<dh_compress> [S<I<debhelper options>>] [B<-X>I<item>] [B<-A>] [S<I<file ...>>]
dh_compress is a debhelper program that is responsible for compressing
the files in package build directories, and makes sure that any symlinks
that pointed to the files before they were compressed are updated to point
to the new files.
By default, dh_compress compresses files that debian policy mandates should
be compressed, namely all files in usr/share/info, usr/share/man,
usr/X11R6/man, files in usr/share/doc that are larger than 4k in size,
(except the copyright file, .html files, and files that appear to be already
compressed based on their extensions), and all changelog files.
If a debian/package.compress file exists, however, it will be ran as a shell
script, and all filenames that the shell script outputs will be compressed
instead of the default files. The shell script will be run from
inside the package build directory. Note though that using -X is a much
better idea in general; you should only use a debian/package.compress file
if you really have to.
=head1 OPTIONS
=over 4
=item B<-X>I<item>, B<--exclude=>I<item>
Exclude files that contain "item" anywhere in their filename from being
compressed. For example, -X.jpeg will exclude jpeg's from compression.
You may use this option multiple times to build up a list of things to
exclude. You can accomplish the same thing by using a debian/compress file,
but this is easier.
=item B<-A>, B<--all>
Compress all files specified by command line parameters in ALL packages
acted on.
=item I<file ...>
Add these files to the list of files to compress.
Debian policy, version 3.0
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
my $compress=pkgfile($package,"compress");
# Run the file name gathering commands from within the directory
# structure that will be effected.