wiki:PearandPHP

Version 1 (modified by trac, 16 years ago) (diff)

--

Benaming package

Je noemt je package pear_PEARCOMPONENT. PEARCOMPONENT is in dit voorbeeld Mail_Mime.

Pear source code

Download de sourcecode van de laatste stable release van pear.php.net:

 http://download.pear.php.net/package/Mail_Mime-1.5.2.tgz

Algemeen Slackbuild script

Je hoeft niks aan te passen aan het script. Script moet alleen de juiste naam krijgen. In dit geval dus pear_Mail_Mime.SlackBuild:

#!/bin/bash
#Gebruik deze file als voorbeeld. Plaats de source tar.gz file in de zelfde directory als deze slackbuild
#Met de NEED en DEP opties is het mogelijk om build dependencies aan te geven.
#Voor de meeste packages hoeft er verder niks aan de variabellen veranderd te worden.
##################################### Build dependency info:


#######Essential package info.
#Change these if autodetection fails.

#Name of the Syn-3 package that we are going to create
NAME=`basename $0|sed 's/.SlackBuild//'`

#Archive of the sourcefiles to unpack
SRC_ARC=`ls *.tgz`

#Version of the sourcefiles
VER=`echo $SRC_ARC| sed 's/.*-//g' | sed 's/\.tar\..*$//g'`

#Directory of the sourcefiles to build (after optional unpacking)
SRC_DIR=`echo $SRC_ARC| sed 's/\.tar\..*$//g'`

#Architecture that the created binaries run on.
#Use noarch for scripts.
ARCH=noarch


########Build and create the pacakge.

mkdir -p /tmp/pkg/home/system/peartmp
cp $SRC_ARC /tmp/pkg/home/system/peartmp || exit 1

mkdir -p /tmp/pkg/etc/postinst.d
cp post.php_pear /tmp/pkg/etc/postinst.d || exit 1
chmod +x /tmp/pkg/etc/postinst.d/* || exit 1

#make main package
syn3_makepkg /tmp/pkg $NAME $VER $ARCH || exit 1

Post install file

De postinstall is algemeen en moet altijd de naam post.php_pear krijgen:

#!/bin/bash

#install all pear packages from /home/system/peartmp:
for PKG in /home/system/peartmp/*; do
    /usr/php5/bin/pear install -O -f $PKG || exit 1;
    /usr/bin/pear install -O -f $PKG || exit 1;
    rm $PKG || exit 1
done

exit 0