author | Vladimir Marek <Vladimir.Marek@oracle.com> |
Wed, 22 Jun 2011 13:27:13 -0700 | |
changeset 335 | 223d5bf98b72 |
permissions | -rw-r--r-- |
335
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
1 |
#!/bin/bash |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
2 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
4 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
8 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
13 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
19 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
21 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
22 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
23 |
# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
24 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
25 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
26 |
# Find the PPD files delivered by foomatic that Solaris does not support. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
27 |
# There are two reasons for non-support: |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
28 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
29 |
# 1. license/patent issues with the driver (listed in file nolicense). These |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
30 |
# files are removed and not delivered |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
31 |
# 2. The driver used by the PPD file must be brought downand compiled and |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
32 |
# Solaris has not chosen to do so. In that case the PPD file is delivered, |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
33 |
# but not included in the generated cache file. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
34 |
# |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
35 |
# The unsupported PPD file should be listed in $BUILD_DIR/ppdunsupported for |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
36 |
# review. The catchall file, ppdsnomatch, should be empty. If not, a new |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
37 |
# case is needed in this script. The other files are there for debugging |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
38 |
# purposes. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
39 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
40 |
# Notes: |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
41 |
# drivers come in several flavors: gs built in, gs uniprint, postscript, |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
42 |
# hpijs, and then the several other drivers. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
43 |
# Drivers are noted in many PPD files with driverType. To sort these, look |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
44 |
# for: driverType G/GhostScript built-in: |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
45 |
# driverType U/GhostScript Uniprint: |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
46 |
# driverType F/Filter: "" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
47 |
# Drivers are also noted in the name of the ppd file. This is used |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
48 |
# to cull out postscript, hpijs, and pxlmono . These do not reliably |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
49 |
# use driverType. note: pxlmono driver is a gs built-in but many of the |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
50 |
# ppd files that use this driver do not utilize the driverType line. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
51 |
# driverType I/IJS: "" is not reliable for hpijs as not used in many ppds. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
52 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
53 |
# driverType F/Filter: "" denotes ppd files that use GhostScript and |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
54 |
# then pipe that output to one or more other drivers. These will only be |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
55 |
# supported if Solaris compiles and delivers these drivers. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
56 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
57 |
# Make sure that there are no undefined variables |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
58 |
set -ue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
59 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
60 |
# Sanitize PATH |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
61 |
PATH=/usr/bin:/bin |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
62 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
63 |
if [ -z "${1-}" ] || [ -z "${2-}" ] || |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
64 |
[ -z "${3-}" ] || [ -z "${4-}" ]; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
65 |
echo "Usage: $0 build-dir tree-of-ppds cache-file nolicense-file" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
66 |
exit 1 |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
67 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
68 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
69 |
# Build directory |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
70 |
BUILD_DIR="$1" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
71 |
# Where PPD files are located |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
72 |
BASE="$2" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
73 |
# Cache file to be created |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
74 |
CACHE="$3" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
75 |
# File listing PPDs with no/invalid license |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
76 |
NOLICENSE="$4" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
77 |
# Base install path for PPD files |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
78 |
IPATH=/usr/share/ppd/SUNWfoomatic |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
79 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
80 |
# Script will fail if set |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
81 |
FAIL_LATER="" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
82 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
83 |
mkdir -p "$( dirname "$CACHE" )" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
84 |
/bin/rm -f ${BUILD_DIR}/ppdunsupported \ |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
85 |
${BUILD_DIR}/ppdsupported \ |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
86 |
${BUILD_DIR}/ppdsnomatch \ |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
87 |
"$CACHE" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
88 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
89 |
# files which should be included in the cache |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
90 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
91 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
92 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
93 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
94 |
## add_to_cache |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
95 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
96 |
## That means the PPD will be included in ## generated cache. Function uses |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
97 |
## global variables $i and $j. Function expects that we are already in |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
98 |
## directory $i |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
99 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
100 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
101 |
add_to_cache() { |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
102 |
typeset SRCFILE |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
103 |
typeset PPDFILE |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
104 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
105 |
# Add the file to the cache |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
106 |
case "$j" in |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
107 |
*.gz) |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
108 |
SRCFILE=${BUILD_DIR}/ppd.$$ |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
109 |
gzcat $BASE/$i/$j >${SRCFILE} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
110 |
PPDFILE="${IPATH}/$i/$j" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
111 |
;; |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
112 |
*) |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
113 |
SRCFILE=$BASE/$i/$j |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
114 |
PPDFILE="${IPATH}/$i/$j.gz" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
115 |
;; |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
116 |
esac |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
117 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
118 |
typeset MANU=$i |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
119 |
typeset MODEL |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
120 |
MODEL=`grep "*ModelName:" $SRCFILE | cut -d '"' -f2` |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
121 |
typeset NICKN |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
122 |
NICKN=`grep "*NickName:" $SRCFILE | cut -d '"' -f2` |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
123 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
124 |
typeset k |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
125 |
for k in ${MODEL} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
126 |
do |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
127 |
# change / to \/ for sed |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
128 |
typeset i_clean=$(echo $k | sed -e 's/\//\\\//g') |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
129 |
NICKN=$( echo $NICKN | |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
130 |
sed -e "s/$i_clean//" | sed -e "s/^ //" ) |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
131 |
done |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
132 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
133 |
echo ${MANU}:${MODEL}:${NICKN}:::${PPDFILE} >> ${CACHE} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
134 |
} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
135 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
136 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
137 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
138 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
139 |
## supported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
140 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
141 |
## process PPD supported file. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
142 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
143 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
144 |
supported() { |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
145 |
echo "$i/$j" >> ${BUILD_DIR}/ppdsupported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
146 |
add_to_cache |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
147 |
} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
148 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
149 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
150 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
151 |
## unsupported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
152 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
153 |
## Handle PPD files NOT supported and thus included in the cache |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
154 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
155 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
156 |
unsupported() { |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
157 |
echo "$i/$j - $1" >> ${BUILD_DIR}/ppdunsupported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
158 |
} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
159 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
160 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
161 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
162 |
## nomatch |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
163 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
164 |
## Handle PPD files for which we don't know how to decide whether it's |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
165 |
## supported or not |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
166 |
## |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
167 |
#----- |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
168 |
nomatch() { |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
169 |
echo "$i/$j" >> ${BUILD_DIR}/ppdsnomatch |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
170 |
echo "file '$i/$j' did not match any rule" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
171 |
FAIL_LATER=1 |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
172 |
} |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
173 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
174 |
# Go to directory with PPD files |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
175 |
cd "$BASE" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
176 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
177 |
# Walk through all the PPD files available |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
178 |
for i in * |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
179 |
do |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
180 |
cd "$i" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
181 |
for j in * |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
182 |
do |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
183 |
# First detect all files listed in the "nolicense" file |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
184 |
if ls $j | /usr/xpg4/bin/grep -f "$NOLICENSE" >/dev/null ; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
185 |
echo "Removing file '$j' because it is listed in 'nolicense' file" |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
186 |
/bin/rm $j |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
187 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
188 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
189 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
190 |
# The following cases pull out supported drivers |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
191 |
if ls $j | grep Postscript > /dev/null; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
192 |
supported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
193 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
194 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
195 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
196 |
if grep "driverType G/GhostScript built-in: " $j >> /dev/null; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
197 |
supported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
198 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
199 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
200 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
201 |
if grep "driverType U/GhostScript Uniprint: " $j >> /dev/null; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
202 |
supported |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
203 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
204 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
205 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
206 |
# HPLIP (hpijs) supplies it's own Foomatic PPD files |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
207 |
if ls $j | grep hpijs > /dev/null; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
208 |
unsupported 'hpijs' |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
209 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
210 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
211 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
212 |
if ls $j | grep pxlmono > /dev/null; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
213 |
supported 'pxlmono' |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
214 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
215 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
216 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
217 |
# These are the unsupported printers unless |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
218 |
# we build and deliver the drivers |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
219 |
if grep "driverType F/Filter: """ $j >> /dev/null; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
220 |
unsupported 'driverType F/Filter' |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
221 |
continue |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
222 |
fi |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
223 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
224 |
# No match : this should not happen |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
225 |
nomatch |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
226 |
done |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
227 |
cd .. |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
228 |
done |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
229 |
|
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
230 |
if [ -n "$FAIL_LATER" ]; then |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
231 |
exit 1 |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
232 |
else |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
233 |
exit 0 |
223d5bf98b72
7049357 Move foomatic-* stuff to Userland.
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
234 |
fi |