From c201de5e807680720bea0f506b2c48ca30707280 Mon Sep 17 00:00:00 2001 From: myon Date: Sun, 16 Mar 2008 19:44:17 +0000 Subject: [PATCH] * gpgsigs: correctly handle keys with several photo ids via a helper script in /usr/share/signing-party/ (Closes: #453840). git-svn-id: svn://svn.debian.org/pgp-tools/trunk@373 b513b33f-fedd-0310-b452-c3deb5f4c849 --- debian/changelog | 4 +++- debian/install | 1 - debian/rules | 2 -- gpgsigs/Makefile | 6 ++++++ gpgsigs/gpgsigs | 16 ++++++++++++---- gpgsigs/gpgsigs-eps-helper | 10 ++++++++++ 6 files changed, 31 insertions(+), 8 deletions(-) create mode 100755 gpgsigs/gpgsigs-eps-helper diff --git a/debian/changelog b/debian/changelog index 55de015..236c8c8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,8 @@ signing-party (1.0-1) unreleased; urgency=low as separate packages. We shamelessly bump our version number to something greater, and build transitional packages. * gpg-key2ps: also handle revoked subkeys (Closes: #467001). + * gpgsigs: correctly handle keys with several photo ids via a helper script + in /usr/share/signing-party/ (Closes: #453840). * Start moving the installation machinery from debian/* to Makefiles. [ Thijs Kinkhorst ] @@ -22,7 +24,7 @@ signing-party (1.0-1) unreleased; urgency=low * caff: always update the user's key from their GnuPG home, to adequately cope with changed keys (Closes: #462897). - -- Christoph Berg Sun, 16 Mar 2008 19:39:54 +0100 + -- Christoph Berg Sun, 16 Mar 2008 20:38:23 +0100 signing-party (0.4.13-1) unstable; urgency=low diff --git a/debian/install b/debian/install index 82bae7b..82ffc87 100644 --- a/debian/install +++ b/debian/install @@ -2,7 +2,6 @@ caff/caff usr/bin caff/pgp-clean usr/bin caff/pgp-fixkey usr/bin gpglist/gpglist usr/bin -gpgsigs/gpgsigs usr/bin gpg-key2ps/gpg-key2ps usr/bin gpg-mailkeys/gpg-mailkeys usr/bin gpgparticipants/gpgparticipants usr/bin diff --git a/debian/rules b/debian/rules index 64b0892..ac2a8f5 100755 --- a/debian/rules +++ b/debian/rules @@ -35,8 +35,6 @@ install: build caff/README.v3-keys \ caff/caffrc.sample \ $(CURDIR)/debian/signing-party/usr/share/doc/signing-party/caff - install -d $(CURDIR)/debian/signing-party/usr/share/doc/signing-party/gpgsigs/examples - install -m 644 gpgsigs/gpgsigs-lt2k5*.txt $(CURDIR)/debian/signing-party/usr/share/doc/signing-party/gpgsigs/examples install -d $(CURDIR)/debian/signing-party/usr/share/lintian/overrides install -m 644 debian/overrides/signing-party $(CURDIR)/debian/signing-party/usr/share/lintian/overrides diff --git a/gpgsigs/Makefile b/gpgsigs/Makefile index 760d54c..7c61177 100644 --- a/gpgsigs/Makefile +++ b/gpgsigs/Makefile @@ -4,6 +4,12 @@ gpgsigs.1: gpgsigs pod2man $< > $@ install: + install -D gpgsigs $(DESTDIR)/usr/bin/gpgsigs + install -D gpgsigs-eps-helper \ + $(DESTDIR)/usr/share/signing-party/gpgsigs-eps-helper + install -d $(DESTDIR)/usr/share/doc/signing-party/gpgsigs/examples + install -m644 gpgsigs-lt2k5*.txt \ + $(DESTDIR)/usr/share/doc/signing-party/gpgsigs/examples clean: rm -f gpgsigs.1 diff --git a/gpgsigs/gpgsigs b/gpgsigs/gpgsigs index 2c4da42..e27b336 100755 --- a/gpgsigs/gpgsigs +++ b/gpgsigs/gpgsigs @@ -20,6 +20,7 @@ # see the Debian changelog for further changes. my $VERSION = qq$Rev$; +$ENV{PATH} .= ":/usr/share/signing-party"; use strict; use warnings; @@ -152,11 +153,12 @@ print STDERR "Running --list-sigs, this will take a while "; open SIGS, "gpg --fixed-list-mode --with-colons --list-sigs @mykeys @keys 2>/dev/null |" or die "can't get gpg listing"; -my ($key, $uid, $sigs); +my ($key, $uid, $sigs, $photocount); while () { if ( m/^pub:(?:.*?:){3,3}([0-9A-F]{16,16}):/ ) { $key = $1; print STDERR "."; + undef $photocount; next; } if ( m/^uid:(.):(?:.*?:){7,7}(.*):/s ) { @@ -177,8 +179,11 @@ while () { my $size = $3 - 19; # FIXME: find a nicer way to find out picture size $uid = "[jpeg image of size $size]"; next if $uidstatus eq "r"; - if ($latex) { - system "gpg --photo-viewer 'convert - %k.eps' --list-options show-photos --list-key $key > /dev/null"; + if ($latex and not $photocount) { # call once per key + my ($shortkey) = substr $key, -8; + system "rm $shortkey.[1-9]*.eps"; + system "gpg --photo-viewer 'gpgsigs-eps-helper $shortkey' --list-options show-photos --list-key $key > /dev/null"; + $photocount = 1; } my ($shortkey) = substr $key, -8; push @{$uids{$shortkey}}, $uid; @@ -318,6 +323,7 @@ while () { # next; #} print WRITE; + undef $photocount; next; } @@ -334,8 +340,9 @@ while () { foreach $uid (@{$uids{$key}}) { print WRITE print_tag($key, $uid) . " $uid\n"; if ($latex and ($uid =~ /^\[jpeg image/)) { + $photocount++; print WRITE "\\begin{flushright}\n"; - print WRITE "\\includegraphics[height=3cm]{$key.eps}\n"; + print WRITE "\\includegraphics[height=3cm]{$key.$photocount.eps}\n"; print WRITE "\\end{flushright}\n"; } } @@ -425,6 +432,7 @@ since the input text was generated. =item B<--latex> Generate LaTeX output, including photo IDs. Implies B<--refresh>. +B This writes eps files to the current directory. =item I diff --git a/gpgsigs/gpgsigs-eps-helper b/gpgsigs/gpgsigs-eps-helper new file mode 100755 index 0000000..544eae3 --- /dev/null +++ b/gpgsigs/gpgsigs-eps-helper @@ -0,0 +1,10 @@ +#!/bin/sh + +ID="$1" +NUM=1 + +while test -e $ID.$NUM.eps ; do + NUM=`expr $NUM + 1` +done + +convert - $ID.$NUM.eps -- 2.39.5