1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
#!/bin/sh
set -e
check_config_file ()
{
local VAR
#Make sure that all variables are there
for VAR in LIRC_MODULES \
LIRC_SERIAL_PORT LIRC_SERIAL_IRQ LIRC_SERIAL_CFLAGS \
LIRC_SIR_PORT LIRC_SIR_IRQ LIRC_SIR_CFLAGS \
LIRC_PARALLEL_PORT LIRC_PARALLEL_IRQ LIRC_PARALLEL_TIMER
do
if ! grep -q "^$VAR\>" /etc/lirc/$package.conf; then
echo "$VAR=\"UNCONFIGURED\"" >> /etc/lirc/$package.conf
fi
done
}
save_serial_conf ()
{
db_get $package/serial_type
if [ "$RET" != "Other" ];then
LIRC_SERIAL_CFLAGS="$LIRC_SERIAL_CFLAGS -DLIRC_SERIAL_$RET";
fi
db_get $package/serial_transmitter
if [ "$RET" = "true" ];then
LIRC_SERIAL_CFLAGS="$LIRC_SERIAL_CFLAGS -DLIRC_SERIAL_TRANSMITTER";
fi
db_get $package/serial_softcarrier
if [ "$RET" = "true" ];then
LIRC_SERIAL_CFLAGS="$LIRC_SERIAL_CFLAGS -DLIRC_SERIAL_SOFTCARRIER";
fi
db_get $package/serial_irq
LIRC_SERIAL_IRQ="$RET"
db_get $package/serial_port
LIRC_SERIAL_PORT="$RET"
sed \
-e "s/^\(LIRC_SERIAL_IRQ\)=.*/\1=\"$LIRC_SERIAL_IRQ\"/" \
-e "s/^\(LIRC_SERIAL_PORT\)=.*/\1=\"$LIRC_SERIAL_PORT\"/" \
-e "s/^\(LIRC_SERIAL_CFLAGS\)=.*/\1=\"$LIRC_SERIAL_CFLAGS\"/" \
/etc/lirc/$package.conf > /etc/lirc/$package.conf.tmp
mv /etc/lirc/$package.conf.tmp /etc/lirc/$package.conf
}
save_sir_conf ()
{
db_get $package/sir_type
if [ "$RET" != "Other" ];then
LIRC_SIR_CFLAGS="$LIRC_SIR_CFLAGS -DLIRC_SIR_$RET";
fi
db_get $package/sir_irq
LIRC_SIR_IRQ="$RET"
db_get $package/sir_port
LIRC_SIR_PORT="$RET"
sed \
-e "s/^\(LIRC_SIR_IRQ\)=.*/\1=\"$LIRC_SIR_IRQ\"/" \
-e "s/^\(LIRC_SIR_PORT\)=.*/\1=\"$LIRC_SIR_PORT\"/" \
-e "s/^\(LIRC_SIR_CFLAGS\)=.*/\1=\"$LIRC_SIR_CFLAGS\"/" \
/etc/lirc/$package.conf > /etc/lirc/$package.conf.tmp
mv /etc/lirc/$package.conf.tmp /etc/lirc/$package.conf
}
save_parallel_conf ()
{
db_get $package/parallel_irq
LIRC_PARALLEL_IRQ="$RET"
db_get $package/parallel_port
LIRC_PARALLEL_PORT="$RET"
db_get $package/parallel_timer
LIRC_PARALLEL_TIMER="$RET"
sed \
-e "s/^\(LIRC_PARALLEL_IRQ\)=.*/\1=\"$LIRC_PARALLEL_IRQ\"/" \
-e "s/^\(LIRC_PARALLEL_PORT\)=.*/\1=\"$LIRC_PARALLEL_PORT\"/" \
-e "s/^\(LIRC_PARALLEL_TIMER\)=.*/\1=\"$LIRC_PARALLEL_TIMER\"/" \
/etc/lirc/$package.conf > /etc/lirc/$package.conf.tmp
mv /etc/lirc/$package.conf.tmp /etc/lirc/$package.conf
}
. /usr/share/debconf/confmodule
db_version 2.0
package=lirc-modules-source
if [ "$1" = "configure" ] && [ -f /etc/lirc/$package.conf ]; then
check_config_file
db_get $package/drivers
DRIVERS=$RET
sed \
-e "s/^\(LIRC_MODULES\)=.*/\1=\"$DRIVERS\"/" \
/etc/lirc/$package.conf > /etc/lirc/$package.conf.tmp
mv /etc/lirc/$package.conf.tmp /etc/lirc/$package.conf
#Serial configuration
if expr "$DRIVERS" : '.*\<serial\>' > /dev/null
then
save_serial_conf
fi
#SIR configuration
if expr "$DRIVERS" : '.*\<sir\>' > /dev/null
then
save_sir_conf
fi
#Parallel configuration
if expr "$DRIVERS" : '.*\<parallel\>' > /dev/null
then
save_parallel_conf
fi
fi
################################
## Informal module building
if [ "$1" = "configure" ]; then
db_get $package/do-build
if $RET ; then
db_get $package/kernel-source
tar -xzf /usr/src/lirc-modules.tar.gz -C /usr/src/
cd /usr/src/modules/lirc/
BUILD_OUTPUT=`mktemp /tmp/lirc-kernel-source.XXXXXX`
echo "Building kernel modules ... (output -> $BUILD_OUTPUT)"
if ! make clean debconf install KSRC="$RET" > $BUILD_OUTPUT 2>&1
then
echo "##############################################"
echo "##### Couldn't build LIRC kernel modules #####"
echo "##############################################"
db_reset $package/do-build || true
db_reset $package/kernel-source || true
db_reset $package/drivers || true
else
if ! make depmod KSRC="$RET" >> $BUILD_OUTPUT 2>&1
then
echo "################################################"
echo "## As hard I tried I cound't calculate module ##"
echo "## depencencies, please run depmod yourself. ##"
echo "## Apart from that everithing when right. ##"
echo "################################################"
else
echo "Modules succesfully built. Removing $BUILD_OUTPUT"
rm $BUILD_OUTPUT
fi
fi
cd $OLDPWD
fi
fi
db_stop
#DEBHELPER#
|