Mon, 10 Jan 2011 20:54:01 +0100
Import package vendor original specs for necessary manipulations.
michael@30 | 1 | ## |
michael@30 | 2 | ## gnupg.spec -- OpenPKG RPM Package Specification |
michael@286 | 3 | ## Copyright (c) 2000-2010 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@286 | 34 | Version: 2.0.16 |
michael@303 | 35 | Release: 20101026 |
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@287 | 47 | Prefix: %{l_prefix} |
michael@287 | 48 | BuildRoot: %{l_buildroot} |
michael@286 | 49 | BuildPreReq: OpenPKG, openpkg >= 20100101, make |
michael@286 | 50 | PreReq: OpenPKG, openpkg >= 20100101, pinentry |
michael@286 | 51 | BuildPreReq: gcrypt >= 1.2.3, libksba >= 1.0.2, libassuan >= 2.0.0, gpg-error >= 1.4 |
michael@286 | 52 | PreReq: gcrypt >= 1.2.3, libksba >= 1.0.2, libassuan >= 2.0.0, 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 | |
michael@30 | 68 | %description |
michael@30 | 69 | GnuPG (GNU Privacy Guard) is a GNU utility for encrypting data and |
michael@30 | 70 | creating digital signatures. GnuPG has advanced key management |
michael@30 | 71 | capabilities and is compliant with the proposed OpenPGP Internet |
michael@30 | 72 | standard described in RFC2440. Since GnuPG doesn't use any patented |
michael@30 | 73 | algorithm, it is not compatible with any version of PGP2 (PGP2.x |
michael@30 | 74 | uses only IDEA, patented worldwide). |
michael@30 | 75 | |
michael@30 | 76 | %track |
michael@30 | 77 | prog gnupg = { |
michael@30 | 78 | version = %{version} |
michael@30 | 79 | url = ftp://ftp.gnupg.org/gcrypt/gnupg/ |
michael@30 | 80 | regex = gnupg-(2\.__VER__)\.tar\.(gz|bz2) |
michael@30 | 81 | } |
michael@30 | 82 | |
michael@30 | 83 | %prep |
michael@30 | 84 | %setup -q -n gnupg-%{version} |
michael@30 | 85 | %patch -p0 |
michael@30 | 86 | chmod a+rx scripts/install-sh |
michael@30 | 87 | %{l_shtool} subst \ |
michael@30 | 88 | -e 's;PRINTABLE_OS_NAME;"%{l_openpkg_release}";g' \ |
michael@30 | 89 | g10/armor.c |
michael@30 | 90 | |
michael@30 | 91 | %build |
michael@30 | 92 | # configure program |
michael@30 | 93 | export LIBS="" |
michael@31 | 94 | case "%{l_platform -t}" in |
michael@31 | 95 | *-sunos* ) LIBS="$LIBS -lsocket -lnsl" ;; |
michael@31 | 96 | esac |
michael@30 | 97 | echo "int main(int argc, char *argv[]) { return 0; }" >dummy.c |
michael@30 | 98 | for lib in termcap termlib curses ncurses; do |
michael@30 | 99 | rc=0; %{l_cc} -o dummy dummy.c -l$lib >/dev/null 2>&1 || rc=1 |
michael@30 | 100 | if [ $rc -eq 0 ]; then LIBS="$LIBS -l$lib"; break; fi |
michael@30 | 101 | done |
michael@30 | 102 | %if "%{with_curl}" == "yes" || "%{with_ldap}" == "yes" |
michael@30 | 103 | LIBS="$LIBS -lssl -lcrypto" |
michael@30 | 104 | %endif |
michael@30 | 105 | %if "%{with_curl}" == "yes" |
michael@30 | 106 | LIBS="$LIBS -lz" |
michael@30 | 107 | %endif |
michael@30 | 108 | LIBS="$LIBS -liconv" |
michael@30 | 109 | export CC="%{l_cc}" |
michael@30 | 110 | export CFLAGS="%{l_cflags -O}" |
michael@30 | 111 | export CPPFLAGS="%{l_cppflags}" |
michael@107 | 112 | %if "%{with_idea}" == "yes" |
michael@107 | 113 | export CPPFLAGS="-DUSE_IDEA $CPPFLAGS" |
michael@107 | 114 | %endif |
michael@30 | 115 | export LDFLAGS="%{l_ldflags}" |
michael@30 | 116 | ./configure \ |
michael@30 | 117 | --prefix=%{l_prefix} \ |
michael@30 | 118 | --libexecdir=%{l_prefix}/libexec/gnupg \ |
michael@30 | 119 | --mandir=%{l_prefix}/man \ |
michael@30 | 120 | --infodir=%{l_prefix}/info \ |
michael@30 | 121 | --with-zlib=%{l_prefix} \ |
michael@30 | 122 | --with-bzip2=%{l_prefix} \ |
michael@30 | 123 | --with-readline=%{l_prefix} \ |
michael@30 | 124 | --with-libiconv-prefix=%{l_prefix} \ |
michael@30 | 125 | --with-gpg-error-prefix=%{l_prefix} \ |
michael@30 | 126 | --with-libgcrypt-prefix=%{l_prefix} \ |
michael@30 | 127 | --with-libassuan-prefix=%{l_prefix} \ |
michael@30 | 128 | --with-ksba-prefix=%{l_prefix} \ |
michael@30 | 129 | --with-pth-prefix=%{l_prefix} \ |
michael@30 | 130 | --with-agent-pgm=%{l_prefix}/bin/gpg-agent \ |
michael@30 | 131 | --with-pinentry-pgm=%{l_prefix}/bin/pinentry \ |
michael@30 | 132 | --with-dirmngr-pgm=%{l_prefix}/bin/dirmngr \ |
michael@30 | 133 | %if "%{with_curl}" == "yes" |
michael@30 | 134 | --with-libcurl=%{l_prefix} \ |
michael@30 | 135 | %else |
michael@30 | 136 | --without-libcurl \ |
michael@30 | 137 | %endif |
michael@30 | 138 | --without-libintl-prefix \ |
michael@30 | 139 | --disable-nls \ |
michael@30 | 140 | --disable-scdaemon \ |
michael@30 | 141 | --enable-generic \ |
michael@30 | 142 | --enable-finger \ |
michael@30 | 143 | --enable-hkp \ |
michael@30 | 144 | %if "%{with_ldap}" == "yes" |
michael@30 | 145 | --enable-ldap \ |
michael@30 | 146 | %else |
michael@30 | 147 | --disable-ldap \ |
michael@30 | 148 | %endif |
michael@30 | 149 | %if "%{with_curl}" == "yes" |
michael@30 | 150 | --with-libcurl=%{l_prefix} \ |
michael@30 | 151 | %else |
michael@30 | 152 | --without-libcurl \ |
michael@30 | 153 | %endif |
michael@30 | 154 | --enable-exec \ |
michael@30 | 155 | --enable-keyserver-helpers \ |
michael@30 | 156 | --with-mailprog="%{l_prefix}/sbin/sendmail" \ |
michael@30 | 157 | --disable-mailto |
michael@30 | 158 | |
michael@30 | 159 | # build program |
michael@30 | 160 | %{l_make} %{l_mflags} |
michael@30 | 161 | |
michael@30 | 162 | %install |
michael@30 | 163 | # install program |
michael@287 | 164 | rm -rf $RPM_BUILD_ROOT |
michael@303 | 165 | %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT |
michael@30 | 166 | |
michael@303 | 167 | # MSvB: facilitate PATH order of independent |
michael@303 | 168 | # MSvB: GnuPG v1 and GnuPG v2 installations. |
michael@303 | 169 | # # provide unversioned names |
michael@303 | 170 | # ln $RPM_BUILD_ROOT%{l_prefix}/bin/gpg2 \ |
michael@303 | 171 | # $RPM_BUILD_ROOT%{l_prefix}/bin/gpg |
michael@303 | 172 | # ln $RPM_BUILD_ROOT%{l_prefix}/bin/gpgv2 \ |
michael@303 | 173 | # $RPM_BUILD_ROOT%{l_prefix}/bin/gpgv |
michael@303 | 174 | # ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpg2.1 \ |
michael@303 | 175 | # $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpg.1 |
michael@303 | 176 | # ln $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgv2.1 \ |
michael@303 | 177 | # $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgv.1 |
michael@30 | 178 | |
michael@30 | 179 | # strip down and post-adjust installation files |
michael@30 | 180 | strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true |
michael@30 | 181 | strip $RPM_BUILD_ROOT%{l_prefix}/libexec/gnupg/* 2>/dev/null || true |
michael@30 | 182 | rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir |
michael@30 | 183 | rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/scdaemon.1 |
michael@30 | 184 | mv $RPM_BUILD_ROOT%{l_prefix}/bin/gpgsm-gencert.sh \ |
michael@30 | 185 | $RPM_BUILD_ROOT%{l_prefix}/bin/gpgsm-gencert |
michael@30 | 186 | mv $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgsm-gencert.sh.1 \ |
michael@30 | 187 | $RPM_BUILD_ROOT%{l_prefix}/man/man1/gpgsm-gencert.1 |
michael@30 | 188 | |
michael@30 | 189 | # determine installation files |
michael@30 | 190 | %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
michael@30 | 191 | %{l_files_std} \ |
michael@30 | 192 | '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/gpg2' |
michael@303 | 193 | # '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/gpg2' \ |
michael@303 | 194 | # '%attr(4755,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/gpg' |
michael@30 | 195 | |
michael@30 | 196 | %files -f files |
michael@30 | 197 | |
michael@30 | 198 | %clean |
michael@287 | 199 | rm -rf $RPM_BUILD_ROOT |
michael@30 | 200 |