Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37535677
en ru br
Репозитории ALT
S:3.23.8-alt1
5.1: 3.11.5-alt0.M51.1
4.1: 2.8.10-alt2.M41.1
4.0: 2.7.12-alt2.M40.1
+backports:2.8.10-alt2.M40.1
3.0:
+backports:1.6.6a-alt0.M30.4.1
www.altlinux.org/Changes

Группа :: Издательство
Пакет: hplip

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

#!/bin/sh

### a piece of ancient wisdom of SuSE
# Make some general tests and adjustments for all PPDs (see manufacturer-PPDs.spec):

ppdfile=$1

p=${ppdfile%.gz}

[ "$p" = "$ppdfile" ] || gunzip $ppdfile

# Correct or remove non-working PPDs:
# Several HP PPDs contain "600x600x2dpi" which is not allowed
# according to the Adobe PPD specification section 5.9
# and which can be simply replaced by "600x1200dpi"
# because "600x1200dpi" is not used elsewhere in the PPD.
# Some PPDs contain a "*cupsFilter: ... hppostprocessing" line
# which cannot work because there is no "hppostprocessing" filter.
# Some PPDs contain "1284DeviceId" which must be "1284DeviceID".
perl -pi -e 's/600x600x2dpi/600x1200dpi/;' $p
grep -q '^\*cupsFilter:.*hppostprocessing' $p && rm -v $p && echo "removed $p: has hppostprocessing entry"
perl -pi -e 's/1284DeviceId/1284DeviceID/;' $p


if [ "$p" = HP_LaserJet_5Si.ppd ]; then
# HP_LaserJet_5Si.ppd works only when this printer has the optional PostScript module:
sed -i -e '/^\*NickName:/s/ (recommended)//' HP_LaserJet_5Si.ppd
sed -i -e '/^\*ModelName:/s/5Si/5Si MX/' HP_LaserJet_5Si.ppd
fi

if [ "$p" = HP_LaserJet_5MP.ppd ]; then
# HP_LaserJet_5MP.ppd works only for the model with the built-in PostScript module ("MP"):
sed -i -e '/^\*ModelName:/s/5P/5MP/' HP_LaserJet_5MP.ppd
fi

# Change default media size to A4 if this is an available choice in the PPD and then
# set DefaultPageSize, DefaultPageRegion, DefaultImageableArea, DefaultPaperDimension to A4:
for i in PageSize PageRegion ImageableArea PaperDimension
do if grep -q "^\*$i[[:space:]]*A4[:/]" $p
then grep -q "^\*Default$i:[[:space:]]*A4\$" $p || perl -pi -e "s/^\*Default$i:.*/\*Default$i: A4/" $p
fi
done

# Final test by cupstestppd:
# Only keep files which don't FAIL for cupstestppd.
cupstestppd $p || { echo TODO: rm -v $p ; echo TODO: exit ; }
# uncomment if in destination dir

# To save disk space gzip the files (gzipped PPDs can also be used by CUPS):
[ -e "$p" ] && ! [ "$p" = "$ppdfile" ] && gzip $p

# End of the general tests and adjustments for all PPDs.

# exit status
true
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin