All pastes #441023 Raw Edit

RAk

public text v1 · immutable
·published 2007-04-15 13:13 UTC
rendered paste body
#!/bin/sh
#
# dh-make-pear creates a debian package from a pear package
#
# Copyright (C) 2005-2006 by Uwe Steinmann <steinm@debian.org>
# under the GNU GPL license version 2.0 or 2.1.
# You should have received a copy of the GPL license
# along with this program if you did not you can find it
# at http://www.gnu.org/.

PROGNAME=dh-make-pear
PROGVERSION=0.2.0
PREFIX=/usr

PHP_PKG_LOWNAME=mdb2
VERSION=2.4.0

DEBPACKAGEPREFIX=php
DEBTEMPDIR=${PREFIX}/share/dh-make-php/pear.template
PACKAGEDOCFILES="README readme CREDITS TODO AUTHORS"
# if you change the examples directory make sure to adjust the
# regular expression to set the PACKAGEDOCFILES
PACKAGEEXPFILES="examples"
# There has been versions of xmlstarlet which were called xml
# instead of xmlstarlet
if [ -x /usr/bin/xmlstarlet ]; then
        XMLSTARLET=/usr/bin/xmlstarlet
else
        XMLSTARLET=/usr/bin/xml
fi
DEBMAINTAINER="Fuleki Miklos <fuleki.miklos@privnet.biz>"
DEPENDS=
DEPARCH=all

. ${PREFIX}/share/dh-make-php/dh-make-php.lib

# usage() {{{
# print summary of options
usage()
{
        cat <<eof
This is ${PROGNAME} Version ${PROGVERSION}
Copyright (c) 2004-2005 Uwe Steinmann <steinm@debian.org>

Usage: ${PROGNAME} [options] pear-package

pear-package is a tgz file as it is downloaded by 'pear download'.
Options:
  --help | -h     show this usage information
  --version | -v  show version of program
  --maintainer    maintainer of the debian package
  --arch          set architecture (defaults to 'all')
  --depends       set more depends aside php
  --prefix        set prefix for package name (default is '${DEBPACKAGEPREFIX}')
  --templatedir   set alternative directory for templates
                  (default is ${DEBTEMPDIR})

eof
}
# }}}

# command line options {{{
if [ $# = 0 ]; then
        usage
        exit 0
fi

while
        case $1 in
                --help|-h) # print usage
                        usage
                        exit 0
                        ;;
                --version|-v) # show version
      echo ${PROGVERSION}
                        exit 0
                        ;;
                --maintainer) # set maintainer of debian package
                        DEBMAINTAINER="$2"; shift
                        ;;
                --arch) # set architecture of debian package
                        DEBARCH="$2"; shift
                        ;;
                --depends) # set extra depends for debian package
                        DEPENDS=", $2"; shift
                        ;;
                --prefix) # set prefix for name of debian package
                        DEBPACKAGEPREFIX="$2"; shift
                        ;;
                --templatedir) # set alternative template dir
                        DEBTEMPDIR="$2"; shift
                        ;;
                "")
                        break
                        ;;
                *)
                        PEARPACKAGENAME="$1"
                        break
                        ;;
        esac
do test $# -gt 0 && shift; done
# }}}

if [ -n "${PEARPACKAGENAME}" ]; then
        if [ -f ${PEARPACKAGENAME} ]; then
                tar xzf ${PEARPACKAGENAME}
        else
                if TEMPMSG=$(pear download ${PEARPACKAGENAME} 2> /dev/null); then
                        echo ${TEMPMSG}
                        PEARPACKAGENAME=$(echo ${TEMPMSG} | awk -F ' ' '{print $2'})
                        tar xzf ${PEARPACKAGENAME}
                else
                        echo "Downloading pear package '${PEARPACKAGENAME}' failed!";
                        echo "Check http://pear.php.net/ for available packages.";
                        exit 0
                fi
        fi
else
        usage
        exit 0
fi

# get information about package from package.xml
eval_package

echo "Creating debian source package: ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}"
echo "Upstream is: ${UPSTREAM}"

get_maintainer

if [ -d ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION} ] ; then
        echo "Directory '${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}' already exits."
        exit
fi
ln -s ${PEARPACKAGENAME} ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}_${VERSION}.orig.tar.gz
mkdir ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}
mv ${PHP_PKG_NAME}-${VERSION} ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}
mv package.xml ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}
#tar czf ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}_${VERSION}.orig.tar.gz ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}
mkdir -p ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian

cp ${DEBTEMPDIR}/compat ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian
cp ${DEBTEMPDIR}/dirs ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian

install_docfiles
install_expfiles

PACKAGEXML=${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/package.xml

sed -e "s/##date##/`(LC_ALL=C; date -R)`/g" \
    -e "s/##maintainer##/${DEBMAINTAINER}/g" \
    -e "s/##upstream##/${UPSTREAM}/g" \
    -e "s/##license##/${LICENSE}/g" \
    -e "s/##pearpkgname##/${PHP_PKG_NAME}/g" \
                ${DEBTEMPDIR}/copyright > ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/copyright
if [ -n "${LICENSEFILE}" ]; then
        cat "${LICENSEFILE}" >> ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/copyright
fi
sed -e "s/##packagename##/${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}/g" \
    -e "s/##maintainer##/${DEBMAINTAINER}/g" \
    -e "s§##summary##§${SUMMARY}§g" \
    -e "s/##depends##/${DEPENDS}/g" \
    -e "s/##architecture##/${DEPARCH}/g" \
                ${DEBTEMPDIR}/control > ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/control
                xsltproc --nonet --novalid  --param Element "/*/description" ${PREFIX}/share/dh-make-php/xslt/common.xsl ${PACKAGEXML} | fold -s -w 70|sed -e "s§^[ \t]*$§.§g" -e "s§^§ §g"
 >> ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/control
#               sgrep -e '"<description>"__"</description>"' ${PACKAGEXML} | fold -s -w 70|sed -e "s§^[ \t]*$§.§g" -e "s§^§ §g" >> ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian
/control
sed -e "s/##packagename##/${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}/g" \
    -e "s/##version##/${VERSION}/g" \
    -e "s/##pearpkgname##/${PHP_PKG_NAME}/g" \
                ${DEBTEMPDIR}/rules > ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/rules
chmod 755 ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/rules

sed -e "s/##packagename##/${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}/g" \
    -e "s/##date##/`(LC_ALL=C; date -R)`/g" \
    -e "s/##maintainer##/${DEBMAINTAINER}/g" \
    -e "s/##version##/${VERSION}/g" \
                ${DEBTEMPDIR}/changelog > ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/changelog

sed -e "s/##packagename##/${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}/g" \
    -e "s/##date##/`(LC_ALL=C; date -R)`/g" \
    -e "s/##maintainer##/${DEBMAINTAINER}/g" \
                ${DEBTEMPDIR}/README.Debian > ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/README.Debian

sed -e "s/##pearpkgname##/${PHP_PKG_NAME}/g" \
                ${DEBTEMPDIR}/watch > ${DEBPACKAGEPREFIX}-${PHP_PKG_LOWNAME}-${VERSION}/debian/watch