diff options
Diffstat (limited to 'db-list-unsigned-packages')
-rwxr-xr-x | db-list-unsigned-packages | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/db-list-unsigned-packages b/db-list-unsigned-packages new file mode 100755 index 0000000..35a5421 --- /dev/null +++ b/db-list-unsigned-packages @@ -0,0 +1,47 @@ +#!/bin/bash +# Copyright (C) 2012 Michał Masłowski <mtjm@mtjm.eu> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +set -e + +# Output a list of repo/package-name-and-version pairs representing +# unsigned packages available for architecture $1 and specified for +# architecture $2 (usually $1 or any, default is to list all). + +. "$(dirname $0)/db-functions" +. "$(dirname $0)/config" + +if [ $# -lt 1 ]; then + msg "usage: $(basename $0) <architecture>" + exit 1 +fi + +arch=$1 +pkgarch=$2 + +for repo in ${PKGREPOS[@]} +do + db="${FTP_BASE}/${repo}/os/${arch}/${repo}.db" + for f in $(tar tf $db | egrep /desc$) + do + if ! tar xOf $db $f | fgrep %PGPSIG% > /dev/null + then + if [ -z $2 ] || tar xOf $db $f | fgrep -A1 %ARCH% | fgrep $pkgarch > /dev/null + then + echo $repo/${f%/desc} + fi + fi + done +done |