Thu, 09 Apr 2009 15:05:22 +0200
Bump version to test mercurial hgrc access control.
michael@30 | 1 | ## |
michael@30 | 2 | ## gnupg.spec -- OpenPKG RPM Package Specification |
michael@30 | 3 | ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/> |
michael@30 | 4 | ## |
michael@30 | 5 | ## Permission to use, copy, modify, and distribute this software for |
michael@30 | 6 | ## any purpose with or without fee is hereby granted, provided that |
michael@30 | 7 | ## the above copyright notice and this permission notice appear in all |
michael@30 | 8 | ## copies. |
michael@30 | 9 | ## |
michael@30 | 10 | ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@30 | 11 | ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@30 | 12 | ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@30 | 13 | ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@30 | 14 | ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@30 | 15 | ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@30 | 16 | ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@30 | 17 | ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@30 | 18 | ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@30 | 19 | ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@30 | 20 | ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@30 | 21 | ## SUCH DAMAGE. |
michael@30 | 22 | ## |
michael@30 | 23 | |
michael@30 | 24 | # package information |
michael@30 | 25 | Name: gnupg |
michael@30 | 26 | Summary: GNU Privacy Guard |
michael@30 | 27 | URL: http://www.gnupg.org/ |
michael@30 | 28 | Vendor: Werner Koch |
michael@30 | 29 | Packager: OpenPKG Foundation e.V. |
michael@30 | 30 | Distribution: OpenPKG Community |
michael@30 | 31 | Class: PLUS |
michael@30 | 32 | Group: PGP |
michael@30 | 33 | License: GPL |
michael@119 | 34 | Version: 2.0.11 |
michael@155 | 35 | Release: 20090408 |
michael@30 | 36 | |
michael@30 | 37 | # package options |
michael@30 | 38 | %option with_curl yes |
michael@30 | 39 | %option with_ldap no |
michael@107 | 40 | %option with_idea no |
michael@30 | 41 | |
michael@30 | 42 | # list of sources |
michael@30 | 43 | Source0: ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-%{version}.tar.bz2 |
michael@30 | 44 | Patch0: gnupg.patch |
michael@30 | 45 | |
michael@30 | 46 | # build information |
michael@30 | 47 | Prefix: %{l_prefix} |
michael@30 | 48 | BuildRoot: %{l_buildroot} |
michael@30 | 49 | BuildPreReq: OpenPKG, openpkg >= 20040130, make |
michael@30 | 50 | PreReq: OpenPKG, openpkg >= 20040130, pinentry |
michael@30 | 51 | BuildPreReq: gcrypt >= 1.2.3, libksba >= 1.0.2, libassuan >= 1.0.2, gpg-error >= 1.4 |
michael@30 | 52 | PreReq: gcrypt >= 1.2.3, libksba >= 1.0.2, libassuan >= 1.0.2, gpg-error >= 1.4 |
michael@30 | 53 | BuildPreReq: zlib, bzip2, readline, pth, libiconv |
michael@30 | 54 | PreReq: zlib, bzip2, readline, pth, libiconv |
michael@30 | 55 | %if "%{with_curl}" == "yes" |
michael@30 | 56 | BuildPreReq: curl, openssl |
michael@30 | 57 | PreReq: curl, openssl |
michael@30 | 58 | %endif |
michael@30 | 59 | %if "%{with_ldap}" == "yes" |
michael@30 | 60 | BuildPreReq: openldap, openssl |
michael@30 | 61 | PreReq: openldap, openssl |
michael@30 | 62 | %endif |
michael@107 | 63 | %if "%{with_idea}" == "yes" |
michael@107 | 64 | BuildPreReq: gcrypt::with_idea |
michael@107 | 65 | PreReq: gcrypt::with_idea |
michael@107 | 66 | %endif |
michael@30 | 67 | AutoReq: no |
michael@30 | 68 | AutoReqProv: no |
michael@30 | 69 | |
michael@30 | 70 | %description |
michael@30 | 71 | GnuPG (GNU Privacy Guard) is a GNU utility for encrypting data and |
michael@30 | 72 | creating digital signatures. GnuPG has advanced key management |
michael@30 | 73 | capabilities and is compliant with the proposed OpenPGP Internet |
michael@30 | 74 | standard described in RFC2440. Since GnuPG doesn't use any patented |
michael@30 | 75 | algorithm, it is not compatible with any version of PGP2 (PGP2.x |
michael@30 | 76 | uses only IDEA, patented worldwide). |
michael@30 | 77 | |
michael@30 | 78 | %track |
michael@30 | 79 | prog gnupg = { |
michael@30 | 80 | version = %{version} |
michael@30 | 81 | url = ftp://ftp.gnupg.org/gcrypt/gnupg/ |
michael@30 | 82 | regex = gnupg-(2\.__VER__)\.tar\.(gz|bz2) |
michael@30 | 83 | } |
michael@30 | 84 | |
michael@30 | 85 | %prep |
michael@30 | 86 | %setup -q -n gnupg-%{version} |
michael@30 | 87 | %patch -p0 |
michael@30 | 88 | chmod a+rx scripts/install-sh |
michael@30 | 89 | %{l_shtool} subst \ |
michael@30 | 90 | -e 's;PRINTABLE_OS_NAME;"%{l_openpkg_release}";g' \ |
michael@30 | 91 | g10/armor.c |
michael@30 | 92 | |
michael@30 | 93 | %build |
michael@30 | 94 | # configure program |
michael@30 | 95 | export LIBS="" |
michael@31 | 96 | case "%{l_platform -t}" in |
michael@31 | 97 | *-sunos* ) LIBS="$LIBS -lsocket -lnsl" ;; |
michael@31 | 98 | esac |
michael@30 | 99 | echo "int main(int argc, char *argv[]) { return 0; }" >dummy.c |
michael@30 | 100 | for lib in termcap termlib curses ncurses; do |
michael@30 | 101 | rc=0; %{l_cc} -o dummy dummy.c -l$lib >/dev/null 2>&1 || rc=1 |
michael@30 | 102 | if [ $rc -eq 0 ]; then LIBS="$LIBS -l$lib"; break; fi |
michael@30 | 103 | done |
michael@30 | 104 | %if "%{with_curl}" == "yes" || "%{with_ldap}" == "yes" |
michael@30 | 105 | LIBS="$LIBS -lssl -lcrypto" |
michael@30 | 106 | %endif |
michael@30 | 107 | %if "%{with_curl}" == "yes" |
michael@30 | 108 | LIBS="$LIBS -lz" |
michael@30 | 109 | %endif |
michael@30 | 110 | LIBS="$LIBS -liconv" |
michael@30 | 111 | export CC="%{l_cc}" |
michael@30 | 112 | export CFLAGS="%{l_cflags -O}" |
michael@30 | 113 | export CPPFLAGS="%{l_cppflags}" |
michael@107 | 114 | %if "%{with_idea}" == "yes" |
michael@107 | 115 | export CPPFLAGS="-DUSE_IDEA $CPPFLAGS" |
michael@107 | 116 | %endif |
michael@30 | 117 | export LDFLAGS="%{l_ldflags}" |
michael@30 | 118 | ./configure \ |
michael@30 | 119 | --prefix=%{l_prefix} \ |
michael@30 | 120 | --libexecdir=%{l_prefix}/libexec/gnupg \ |
michael@30 | 121 | --mandir=%{l_prefix}/man \ |
michael@30 | 122 | --infodir=%{l_prefix}/info \ |
michael@30 | 123 | --with-zlib=%{l_prefix} \ |
michael@30 | 124 | --with-bzip2=%{l_prefix} \ |
michael@30 | 125 | --with-readline=%{l_prefix} \ |
michael@30 | 126 | --with-libiconv-prefix=%{l_prefix} \ |
michael@30 | 127 | --with-gpg-error-prefix=%{l_prefix} \ |
michael@30 | 128 | --with-libgcrypt-prefix=%{l_prefix} \ |
michael@30 | 129 | --with-libassuan-prefix=%{l_prefix} \ |
michael@30 | 130 | --with-ksba-prefix=%{l_prefix} \ |
michael@30 | 131 | --with-pth-prefix=%{l_prefix} \ |
michael@30 | 132 | --with-agent-pgm=%{l_prefix}/bin/gpg-agent \ |
michael@30 | 133 | --with-pinentry-pgm=%{l_prefix}/bin/pinentry \ |
michael@30 | 134 | --with-dirmngr-pgm=%{l_prefix}/bin/dirmngr \ |
michael@30 | 135 | --with-included-regex \ |
michael@30 | 136 | %if "%{with_curl}" == "yes" |
michael@30 | 137 | --with-libcurl=%{l_prefix} \ |
michael@30 | 138 | %else |
michael@30 | 139 | --without-libcurl \ |
michael@30 | 140 | %endif |
michael@30 | 141 | --without-included-gettext \ |
michael@30 | 142 | --without-libintl-prefix \ |
michael@30 | 143 | --disable-nls \ |
michael@30 | 144 | --disable-scdaemon \ |
michael@30 | 145 | --enable-generic \ |
michael@30 | 146 | --enable-finger \ |
michael@30 | 147 | --enable-hkp \ |
michael@30 | 148 | %if "%{with_ldap}" == "yes" |
michael@30 | 149 | --enable-ldap \ |
michael@30 | 150 | %else |
michael@30 | 151 | --disable-ldap \ |
michael@30 | 152 | %endif |
michael@30 | 153 | %if "%{with_curl}" == "yes" |
michael@30 | 154 | --with-libcurl=%{l_prefix} \ |
michael@30 | 155 | %else |
michael@30 | 156 | --without-libcurl \ |
michael@30 | 157 | %endif |
michael@30 | 158 | --enable-exec \ |
michael@30 | 159 | --enable-keyserver-helpers \ |
michael@30 | 160 | --with-mailprog="%{l_prefix}/sbin/sendmail" \ |
michael@30 | 161 | --disable-mailto |
michael@30 | 162 | |
michael@30 | 163 | # build program |
michael@30 | 164 | %{l_make} %{l_mflags} |
michael@30 | 165 | |
michael@30 | 166 | %install |
michael@30 | 167 | # install program |
michael@30 | 168 | rm -rf $RPM_BUILD_ROOT |
michael@30 | 169 | %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" |
michael@30 | 170 | |
michael@30 | 171 | # provide unversioned names |
michael@30 | 172 | ln $RPM_BUILD_ROOT%{l_prefix}/bin/gpg2 \ |
michael@30 | 173 | $RPM_BUILD_ROOT%{l_prefix}/bin/gpg |
michael@30 | 174 | ln $RPM_BUILD_ROOT%{l_prefix}/bin/gpgv2 \ |
michael@30 | 175 | $RPM_BUILD_ROOT%{l_prefix}/bin/gpgv |
michael@30 | 176 | ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpg2.1 \ |
michael@30 | 177 | $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpg.1 |
michael@30 | 178 | ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgv2.1 \ |
michael@30 | 179 | $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgv.1 |
michael@30 | 180 | |
michael@30 | 181 | # strip down and post-adjust installation files |
michael@30 | 182 | strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true |
michael@30 | 183 | strip $RPM_BUILD_ROOT%{l_prefix}/libexec/gnupg/* 2>/dev/null || true |
michael@30 | 184 | rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir |
michael@30 | 185 | rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/scdaemon.1 |
michael@30 | 186 | mv $RPM_BUILD_ROOT%{l_prefix}/bin/gpgsm-gencert.sh \ |
michael@30 | 187 | $RPM_BUILD_ROOT%{l_prefix}/bin/gpgsm-gencert |
michael@30 | 188 | mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgsm-gencert.sh.1 \ |
michael@30 | 189 | $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgsm-gencert.1 |
michael@30 | 190 | |
michael@30 | 191 | # determine installation files |
michael@30 | 192 | %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
michael@30 | 193 | %{l_files_std} \ |
michael@30 | 194 | '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/gpg' \ |
michael@30 | 195 | '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/gpg2' |
michael@30 | 196 | |
michael@30 | 197 | %files -f files |
michael@30 | 198 | |
michael@30 | 199 | %clean |
michael@30 | 200 | rm -rf $RPM_BUILD_ROOT |
michael@30 | 201 |