Todo esto es para la debian stable (sarge).
Primero de todo creamos un directorio de trabajo:
# mkdir /usr/src/devel
Luego entramos en el:
# cd /usr/src/devel
Descargamos las fuentes de PHP5 para debian:
# apt-get source php5
La versión que me ha descargado es la php5-5.2.0. Esta ultima orden a parte de bajar las fuentes, aplica los parches y lo deja listo para ser empquetado.
Ahora vamos a instalar las dependencias de compilación:
# apt-get build-dep php5
Instalamos el paquete de desarrollo de freetds (si no se ha instalado):
# apt-get install freetds-dev
Vamos a hacer unas pequeñas modificaciones en algunos ficheros del directorio debian para que tenga soporte para MSSQL.
En el fichero control añadir lo siguiente:
Package: php5-mssql
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}, php5-common (= ${Source-Version})
Description: MSSQL module for php5
This package provides a module for MSSQL using FreeTDS.
.
PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
from C, Java and Perl with a couple of unique PHP-specific features thrown
in. The goal of the language is to allow web developers to write
dynamically generated pages quickly.
En el fichero modulelist añadir:
mssql MSSQL
Por ultimo en el fichero rules, en la función configure-apache2-stamp donde pone --with-mysql=shared,/usr \ añadir:
--with-mssql=shared,/usr \
en la misma función cambiar --without-pdo-dblib \ por:
--with-pdo-dblib=shared,/usr \
Finalmente volvemos al directorio padre y lo empaquetamos:
php5_5.2.0# dpkg-buildpackage
Con esto tendremos el PHP5 empaquetado en varios modulos entre los que veremos:
php5-mssql_5.2.0-8~bpo.2_i386.deb
Ahora vamos a construir el repositorio de paquetes debian. Primero de todo creamos un directorio llamado debian en el www.
# mkdir /var/www/debian
Luego creais el siguiente script para crear el repositorio:
#!/bin/bash
REPO="$1"
if [ ! -d "$REPO" ]; then
echo "Usage: $0 repo"
exit 1
fi
(
cd "$REPO"
dpkg-scanpackages . /dev/null | tee Packages | tee >(gzip -9c > Packages.gz) | bzip2 -9c > Packages.bz2
apt-ftparchive release . > Release
gpg --output Release.gpg -ba Release
)
-----------------------------------------------------------
Lo copiais en /usr/local/bin y de le dais permisos de ejecución.
Nos situamos en el directorio donde estan los paquetes deb y ...
cp *deb /var/www/debian
update-debian-repos /var/www/debian
Finalmente añadimos una linea similar a la siguiente en el archivo /etc/apt/sources.list:
deb http://nuestroservidor/debian/ ./
Actualizamos la Base de datos de paquetes:
# apt-get update
Ahora buscamos el paquete:
# apt-cache search mssql
y veremos algo como:
php5-mssql - MSSQL module for php5
Para instalar-lo basta con:
#apt-get install php5-mssql
y eso es todo viejo amigo :D
PD:Si por alguna razón se quisiera empaquetar como otra version se puede poner al principio del fichero changelog del directorio debian algo como:
php5 (5.2.0-8~bpo.3) sarge-backports; urgency=low
* Added support for mssql
php5-mssql
-- Jose Gonzalez