OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # This script can be used to replace the "dpkg" binary as far as the | 7 # This script can be used to replace the "dpkg" binary as far as the |
8 # "apt-get install" command is concerned. When "apt-get install foo" | 8 # "apt-get install" command is concerned. When "apt-get install foo" |
9 # runs it will make two calls to dpkg like: | 9 # runs it will make two calls to dpkg like: |
10 # dpkg --status-fd ## --unpack --auto-deconfigure /path/to/foo.deb | 10 # dpkg --status-fd ## --unpack --auto-deconfigure /path/to/foo.deb |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 set -e | 46 set -e |
47 | 47 |
48 # Returns true if the input file is whitelisted. | 48 # Returns true if the input file is whitelisted. |
49 # | 49 # |
50 # $1 - The file to check | 50 # $1 - The file to check |
51 is_whitelisted() { | 51 is_whitelisted() { |
52 local whitelist="${SRC_ROOT}/package_scripts/package.whitelist" | 52 local whitelist="${SRC_ROOT}/package_scripts/package.whitelist" |
53 test -f "$whitelist" || return | 53 test -f "$whitelist" || return |
54 | 54 |
55 local checksum=$(md5sum "$1" | awk '{ print $1 }') | 55 local checksum=$(md5sum "$1" | awk '{ print $1 }') |
56 local count=$(grep -c "$checksum" "${whitelist}" || /bin/true) | 56 local count=$(sed -e "s/#.*$//" "${whitelist}" | grep -c "$checksum" \ |
| 57 || /bin/true) |
57 test $count -ne 0 | 58 test $count -ne 0 |
58 } | 59 } |
59 | 60 |
60 # Returns true if either of the two given files exist and are not whitelisted. | 61 # Returns true if either of the two given files exist and are not whitelisted. |
61 # | 62 # |
62 # $1 - The package name. | 63 # $1 - The package name. |
63 # $2 - The path to the preinst file if it were to exist. | 64 # $2 - The path to the preinst file if it were to exist. |
64 # $3 - The path to the postinst file if it were to exist. | 65 # $3 - The path to the postinst file if it were to exist. |
65 has_missing_whitelist() { | 66 has_missing_whitelist() { |
66 local package=$1 | 67 local package=$1 |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 do_unpack $@ | 180 do_unpack $@ |
180 elif [ $FLAGS_remove -eq $FLAGS_TRUE ]; then | 181 elif [ $FLAGS_remove -eq $FLAGS_TRUE ]; then |
181 # We log but ignore remove requests. | 182 # We log but ignore remove requests. |
182 echo "Ignoring remove: $@" | 183 echo "Ignoring remove: $@" |
183 else | 184 else |
184 echo "dpkg_no_scripts.sh: Unknown or missing command." | 185 echo "dpkg_no_scripts.sh: Unknown or missing command." |
185 exit 1 | 186 exit 1 |
186 fi | 187 fi |
187 | 188 |
188 exit 0 | 189 exit 0 |
OLD | NEW |