gnupg/gnupg.spec

Fri, 15 Oct 2010 18:46:25 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 15 Oct 2010 18:46:25 +0200
changeset 261
4f973c756446
parent 119
0c4aca8434e1
child 286
552d1939222f
permissions
-rw-r--r--

Update copyright, file server URL, modify doc and link logic.
Now documentation is installed by default to the correct path,
and QtCreator links against Qt shared libraries instead of Qt
static libraries. This unfortunate change supports Nokia's
unfortunate decision to poorly support static linking in Qt.

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

mercurial