Artifact 37e5d36a75b7adbedb009a1de50039aa3e10f581:
0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 50 41 #! /bin/bash..PA
0010: 54 48 3d 22 24 7b 50 41 54 48 7d 3a 2f 73 62 69 TH="${PATH}:/sbi
0020: 6e 3a 2f 75 73 72 2f 73 62 69 6e 3a 2f 75 73 72 n:/usr/sbin:/usr
0030: 2f 6c 6f 63 61 6c 2f 73 62 69 6e 22 0a 65 78 70 /local/sbin".exp
0040: 6f 72 74 20 50 41 54 48 0a 0a 56 45 52 53 49 4f ort PATH..VERSIO
0050: 4e 3d 22 24 31 22 0a 0a 69 66 20 5b 20 2d 7a 20 N="$1"..if [ -z
0060: 22 24 7b 56 45 52 53 49 4f 4e 7d 22 20 5d 3b 20 "${VERSION}" ];
0070: 74 68 65 6e 0a 09 65 63 68 6f 20 27 55 73 61 67 then..echo 'Usag
0080: 65 3a 20 6d 61 6b 65 2d 72 65 6c 65 61 73 65 20 e: make-release
0090: 3c 63 61 63 6b 65 79 5f 76 65 72 73 69 6f 6e 3e <cackey_version>
00a0: 27 20 3e 26 32 0a 09 65 78 69 74 20 31 0a 66 69 ' >&2..exit 1.fi
00b0: 0a 0a 66 6f 72 20 64 69 72 20 69 6e 20 2e 2e 2f ..for dir in ../
00c0: 2e 2e 2f 61 72 63 68 69 76 65 2f 20 2e 2e 2f 61 ../archive/ ../a
00d0: 72 63 68 69 76 65 2f 3b 20 64 6f 0a 09 43 41 43 rchive/; do..CAC
00e0: 4b 45 59 5f 54 41 52 42 41 4c 4c 3d 22 24 28 72 KEY_TARBALL="$(r
00f0: 65 61 64 6c 69 6e 6b 20 2d 66 20 22 24 7b 64 69 eadlink -f "${di
0100: 72 7d 2f 63 61 63 6b 65 79 2d 24 7b 56 45 52 53 r}/cackey-${VERS
0110: 49 4f 4e 7d 2e 74 61 72 2e 67 7a 22 29 22 0a 0a ION}.tar.gz")"..
0120: 09 69 66 20 5b 20 2d 66 20 22 24 7b 43 41 43 4b .if [ -f "${CACK
0130: 45 59 5f 54 41 52 42 41 4c 4c 7d 22 20 5d 3b 20 EY_TARBALL}" ];
0140: 74 68 65 6e 0a 09 09 62 72 65 61 6b 0a 09 66 69 then...break..fi
0150: 0a 64 6f 6e 65 0a 0a 23 20 43 72 65 61 74 65 20 .done..# Create
0160: 52 50 4d 2c 20 53 52 50 4d 2c 20 61 6e 64 20 53 RPM, SRPM, and S
0170: 6c 61 63 6b 77 61 72 65 20 70 61 63 6b 61 67 65 lackware package
0180: 0a 23 23 20 43 72 65 61 74 65 20 52 50 4d 2f 53 .## Create RPM/S
0190: 52 50 4d 0a 6d 6b 64 69 72 20 2d 70 20 7e 2f 72 RPM.mkdir -p ~/r
01a0: 70 6d 62 75 69 6c 64 2f 53 50 45 43 53 20 7e 2f pmbuild/SPECS ~/
01b0: 72 70 6d 62 75 69 6c 64 2f 53 4f 55 52 43 45 53 rpmbuild/SOURCES
01c0: 0a 0a 63 70 20 22 24 7b 43 41 43 4b 45 59 5f 54 ..cp "${CACKEY_T
01d0: 41 52 42 41 4c 4c 7d 22 20 7e 2f 72 70 6d 62 75 ARBALL}" ~/rpmbu
01e0: 69 6c 64 2f 53 4f 55 52 43 45 53 2f 20 7c 7c 20 ild/SOURCES/ ||
01f0: 65 78 69 74 20 31 0a 74 61 72 20 2d 78 4f 66 20 exit 1.tar -xOf
0200: 22 24 7b 43 41 43 4b 45 59 5f 54 41 52 42 41 4c "${CACKEY_TARBAL
0210: 4c 7d 22 20 63 61 63 6b 65 79 2d 24 7b 56 45 52 L}" cackey-${VER
0220: 53 49 4f 4e 7d 2f 63 61 63 6b 65 79 2e 73 70 65 SION}/cackey.spe
0230: 63 20 3e 20 7e 2f 72 70 6d 62 75 69 6c 64 2f 53 c > ~/rpmbuild/S
0240: 50 45 43 53 2f 63 61 63 6b 65 79 2d 24 7b 56 45 PECS/cackey-${VE
0250: 52 53 49 4f 4e 7d 2e 73 70 65 63 20 7c 7c 20 65 RSION}.spec || e
0260: 78 69 74 20 31 0a 0a 72 70 6d 62 75 69 6c 64 20 xit 1..rpmbuild
0270: 2d 62 61 20 7e 2f 72 70 6d 62 75 69 6c 64 2f 53 -ba ~/rpmbuild/S
0280: 50 45 43 53 2f 63 61 63 6b 65 79 2d 24 7b 56 45 PECS/cackey-${VE
0290: 52 53 49 4f 4e 7d 2e 73 70 65 63 20 7c 7c 20 65 RSION}.spec || e
02a0: 78 69 74 20 31 0a 0a 23 20 43 72 65 61 74 65 20 xit 1..# Create
02b0: 44 65 62 69 61 6e 20 70 61 63 6b 61 67 65 20 66 Debian package f
02c0: 72 6f 6d 20 52 50 4d 0a 6d 6b 64 69 72 20 2d 70 rom RPM.mkdir -p
02d0: 20 7e 2f 72 70 6d 62 75 69 6c 64 2f 44 45 42 0a ~/rpmbuild/DEB.
02e0: 22 24 28 64 69 72 6e 61 6d 65 20 22 24 30 22 29 "$(dirname "$0")
02f0: 2f 72 70 6d 32 64 65 62 22 20 7e 2f 72 70 6d 62 /rpm2deb" ~/rpmb
0300: 75 69 6c 64 2f 52 50 4d 53 2f 69 33 38 36 2f 63 uild/RPMS/i386/c
0310: 61 63 6b 65 79 2d 24 7b 56 45 52 53 49 4f 4e 7d ackey-${VERSION}
0320: 2d 31 2e 69 33 38 36 2e 72 70 6d 20 7e 2f 72 70 -1.i386.rpm ~/rp
0330: 6d 62 75 69 6c 64 2f 44 45 42 2f 63 61 63 6b 65 mbuild/DEB/cacke
0340: 79 5f 24 7b 56 45 52 53 49 4f 4e 7d 2d 31 5f 69 y_${VERSION}-1_i
0350: 33 38 36 2e 64 65 62 0a 0a 23 23 20 43 72 65 61 386.deb..## Crea
0360: 74 65 20 53 6c 61 63 6b 77 61 72 65 20 70 61 63 te Slackware pac
0370: 6b 61 67 65 0a 6d 6b 64 69 72 20 2d 70 20 7e 2f kage.mkdir -p ~/
0380: 72 70 6d 62 75 69 6c 64 2f 54 47 5a 0a 0a 57 4f rpmbuild/TGZ..WO
0390: 52 4b 44 49 52 3d 22 24 7b 54 4d 50 44 49 52 3a RKDIR="${TMPDIR:
03a0: 2d 2f 74 6d 70 7d 2f 63 61 63 6b 65 79 2d 62 75 -/tmp}/cackey-bu
03b0: 69 6c 64 2d 24 24 24 7b 52 41 4e 44 4f 4d 7d 24 ild-$$${RANDOM}$
03c0: 7b 52 41 4e 44 4f 4d 7d 24 7b 52 41 4e 44 4f 4d {RANDOM}${RANDOM
03d0: 7d 22 0a 57 4f 52 4b 44 49 52 49 4e 53 54 52 4f }".WORKDIRINSTRO
03e0: 4f 54 3d 22 24 7b 57 4f 52 4b 44 49 52 7d 2f 72 OT="${WORKDIR}/r
03f0: 6f 6f 74 22 0a 65 78 70 6f 72 74 20 57 4f 52 4b oot".export WORK
0400: 44 49 52 20 57 4f 52 4b 44 49 52 49 4e 53 54 52 DIR WORKDIRINSTR
0410: 4f 4f 54 0a 0a 6d 6b 64 69 72 20 2d 70 20 22 24 OOT..mkdir -p "$
0420: 7b 57 4f 52 4b 44 49 52 7d 22 20 22 24 7b 57 4f {WORKDIR}" "${WO
0430: 52 4b 44 49 52 49 4e 53 54 52 4f 4f 54 7d 22 0a RKDIRINSTROOT}".
0440: 63 64 20 22 24 7b 57 4f 52 4b 44 49 52 7d 22 20 cd "${WORKDIR}"
0450: 7c 7c 20 65 78 69 74 20 31 0a 0a 74 61 72 20 2d || exit 1..tar -
0460: 78 66 20 22 24 7b 43 41 43 4b 45 59 5f 54 41 52 xf "${CACKEY_TAR
0470: 42 41 4c 4c 7d 22 0a 0a 63 64 20 22 63 61 63 6b BALL}"..cd "cack
0480: 65 79 2d 24 7b 56 45 52 53 49 4f 4e 7d 22 20 7c ey-${VERSION}" |
0490: 7c 20 65 78 69 74 20 31 0a 0a 2e 2f 63 6f 6e 66 | exit 1.../conf
04a0: 69 67 75 72 65 20 2d 2d 70 72 65 66 69 78 3d 2f igure --prefix=/
04b0: 75 73 72 0a 6d 61 6b 65 0a 6d 61 6b 65 20 69 6e usr.make.make in
04c0: 73 74 61 6c 6c 20 44 45 53 54 44 49 52 3d 22 24 stall DESTDIR="$
04d0: 7b 57 4f 52 4b 44 49 52 49 4e 53 54 52 4f 4f 54 {WORKDIRINSTROOT
04e0: 7d 22 0a 0a 6d 6b 64 69 72 20 22 24 7b 57 4f 52 }"..mkdir "${WOR
04f0: 4b 44 49 52 49 4e 53 54 52 4f 4f 54 7d 2f 69 6e KDIRINSTROOT}/in
0500: 73 74 61 6c 6c 22 0a 63 61 74 20 3c 3c 20 5f 5f stall".cat << __
0510: 45 4f 46 5f 5f 20 3e 20 22 24 7b 57 4f 52 4b 44 EOF__ > "${WORKD
0520: 49 52 49 4e 53 54 52 4f 4f 54 7d 2f 69 6e 73 74 IRINSTROOT}/inst
0530: 61 6c 6c 2f 73 6c 61 63 6b 2d 64 65 73 63 22 0a all/slack-desc".
0540: 63 61 63 6b 65 79 3a 20 47 6f 76 65 72 6d 65 6e cackey: Govermen
0550: 74 20 53 6d 61 72 74 63 61 72 64 20 50 4b 43 53 t Smartcard PKCS
0560: 23 31 31 20 50 72 6f 76 69 64 65 72 0a 63 61 63 #11 Provider.cac
0570: 6b 65 79 3a 0a 63 61 63 6b 65 79 3a 20 43 41 43 key:.cackey: CAC
0580: 4b 65 79 20 70 72 6f 76 69 64 65 73 20 61 20 73 Key provides a s
0590: 74 61 6e 64 61 72 64 20 69 6e 74 65 72 66 61 63 tandard interfac
05a0: 65 20 28 50 4b 43 53 23 31 31 29 20 66 6f 72 20 e (PKCS#11) for
05b0: 73 6d 61 72 74 63 61 72 64 73 20 63 6f 6e 6e 65 smartcards conne
05c0: 63 74 65 64 0a 63 61 63 6b 65 79 3a 20 74 6f 20 cted.cackey: to
05d0: 61 20 50 43 2f 53 43 20 63 6f 6d 70 6c 69 61 6e a PC/SC complian
05e0: 74 20 72 65 61 64 65 72 2e 20 20 49 74 20 70 65 t reader. It pe
05f0: 72 66 6f 72 6d 73 20 61 20 73 69 6d 69 6c 61 72 rforms a similar
0600: 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 63 61 63 function to.cac
0610: 6b 65 79 3a 20 22 43 6f 6f 6c 4b 65 79 22 2c 20 key: "CoolKey",
0620: 62 75 74 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 but only support
0630: 73 20 47 6f 76 65 72 6e 6d 65 6e 74 20 53 6d 61 s Government Sma
0640: 72 74 63 61 72 64 73 2e 20 20 49 74 20 73 75 70 rtcards. It sup
0650: 70 6f 72 74 73 20 61 6c 6c 0a 63 61 63 6b 65 79 ports all.cackey
0660: 3a 20 47 6f 76 65 72 6e 6d 65 6e 74 20 53 6d 61 : Government Sma
0670: 72 74 63 61 72 64 73 20 74 68 61 74 20 69 6d 70 rtcards that imp
0680: 6c 65 6d 65 6e 74 20 74 68 65 20 47 6f 76 65 72 lement the Gover
0690: 6e 6d 65 6e 74 20 53 6d 61 72 74 63 61 72 64 0a nment Smartcard.
06a0: 63 61 63 6b 65 79 3a 20 49 6e 74 65 72 6f 70 65 cackey: Interope
06b0: 72 61 62 69 6c 69 74 79 20 53 70 65 63 69 66 69 rability Specifi
06c0: 63 61 74 69 6f 6e 20 28 47 53 43 2d 49 53 29 20 cation (GSC-IS)
06d0: 76 32 2e 31 20 6f 72 20 6e 65 77 65 72 2e 0a 63 v2.1 or newer..c
06e0: 61 63 6b 65 79 3a 0a 63 61 63 6b 65 79 3a 0a 63 ackey:.cackey:.c
06f0: 61 63 6b 65 79 3a 0a 63 61 63 6b 65 79 3a 0a 5f ackey:.cackey:._
0700: 5f 45 4f 46 5f 5f 0a 63 61 74 20 3c 3c 20 5f 5f _EOF__.cat << __
0710: 45 4f 46 5f 5f 20 3e 20 22 24 7b 57 4f 52 4b 44 EOF__ > "${WORKD
0720: 49 52 49 4e 53 54 52 4f 4f 54 7d 2f 69 6e 73 74 IRINSTROOT}/inst
0730: 61 6c 6c 2f 73 6c 61 63 6b 2d 72 65 71 75 69 72 all/slack-requir
0740: 65 64 22 0a 70 63 73 63 2d 6c 69 74 65 0a 5f 5f ed".pcsc-lite.__
0750: 45 4f 46 5f 5f 0a 0a 63 64 20 22 24 7b 57 4f 52 EOF__..cd "${WOR
0760: 4b 44 49 52 49 4e 53 54 52 4f 4f 54 7d 22 20 7c KDIRINSTROOT}" |
0770: 7c 20 65 78 69 74 20 31 0a 6d 61 6b 65 70 6b 67 | exit 1.makepkg
0780: 20 2d 6c 20 79 20 2d 63 20 6e 20 22 24 7b 57 4f -l y -c n "${WO
0790: 52 4b 44 49 52 7d 2f 63 61 63 6b 65 79 2d 24 7b RKDIR}/cackey-${
07a0: 56 45 52 53 49 4f 4e 7d 2d 69 34 38 36 2d 31 2e VERSION}-i486-1.
07b0: 74 67 7a 22 0a 67 7a 69 70 20 2d 64 63 20 22 24 tgz".gzip -dc "$
07c0: 7b 57 4f 52 4b 44 49 52 7d 2f 63 61 63 6b 65 79 {WORKDIR}/cackey
07d0: 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d 69 34 38 36 -${VERSION}-i486
07e0: 2d 31 2e 74 67 7a 22 20 7c 20 74 61 72 64 79 20 -1.tgz" | tardy
07f0: 2d 55 73 65 72 20 72 6f 6f 74 20 2d 47 72 6f 75 -User root -Grou
0800: 70 20 72 6f 6f 74 20 7c 20 67 7a 69 70 20 2d 39 p root | gzip -9
0810: 20 3e 20 22 24 7b 57 4f 52 4b 44 49 52 7d 2f 63 > "${WORKDIR}/c
0820: 61 63 6b 65 79 2d 24 7b 56 45 52 53 49 4f 4e 7d ackey-${VERSION}
0830: 2d 69 34 38 36 2d 31 2e 74 67 7a 2e 6e 65 77 22 -i486-1.tgz.new"
0840: 0a 6d 76 20 22 24 7b 57 4f 52 4b 44 49 52 7d 2f .mv "${WORKDIR}/
0850: 63 61 63 6b 65 79 2d 24 7b 56 45 52 53 49 4f 4e cackey-${VERSION
0860: 7d 2d 69 34 38 36 2d 31 2e 74 67 7a 2e 6e 65 77 }-i486-1.tgz.new
0870: 22 20 22 24 7b 57 4f 52 4b 44 49 52 7d 2f 63 61 " "${WORKDIR}/ca
0880: 63 6b 65 79 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d ckey-${VERSION}-
0890: 69 34 38 36 2d 31 2e 74 67 7a 22 0a 63 70 20 22 i486-1.tgz".cp "
08a0: 24 7b 57 4f 52 4b 44 49 52 7d 2f 63 61 63 6b 65 ${WORKDIR}/cacke
08b0: 79 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d 69 34 38 y-${VERSION}-i48
08c0: 36 2d 31 2e 74 67 7a 22 20 7e 2f 72 70 6d 62 75 6-1.tgz" ~/rpmbu
08d0: 69 6c 64 2f 54 47 5a 0a 0a 23 20 43 6c 65 61 6e ild/TGZ..# Clean
08e0: 75 70 0a 72 6d 20 2d 72 66 20 22 24 7b 57 4f 52 up.rm -rf "${WOR
08f0: 4b 44 49 52 7d 22 0a KDIR}".