diff --git a/dnscrypt-proxy.spec b/dnscrypt-proxy.spec index e6ef524..fbc4639 100644 --- a/dnscrypt-proxy.spec +++ b/dnscrypt-proxy.spec @@ -1,6 +1,16 @@ # Generated by go2rpm 1 %bcond_without check +%define gobuild(o:) %{expand: + # https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12 + %global _dwz_low_mem_die_limit 0 + %ifnarch ppc64 + go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-}%{?currentgoldflags} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags %{?__golang_extldflags}' -compressdwarf=false" -a -v -x %{?**}; + %else + go build -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-}%{?currentgoldflags} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags %{?__golang_extldflags}' -compressdwarf=false" -a -v -x %{?**}; + %endif +} + # https://github.com/jedisct1/dnscrypt-proxy %global goipath github.com/jedisct1/dnscrypt-proxy Version: 2.0.34 @@ -39,8 +49,8 @@ Release: 1%{?dist} Summary: Flexible DNS proxy, with support for encrypted DNS protocols License: ISC -URL: %{gourl} -Source0: %{gosource} +URL: https://github.com/jedisct1/dnscrypt-proxy +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source1: dnscrypt-proxy.service Source2: dnscrypt-proxy.socket @@ -48,31 +58,12 @@ Source2: dnscrypt-proxy.socket # https://git.archlinux.org/svntogit/community.git/tree/trunk/configuration.diff?h=packages/dnscrypt-proxy Patch0: dnscrypt-proxy-2.0.34-custom_config.patch +# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required +ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}} +# If go_compiler is not set to 1, there is no virtual provide. Use golang instead. +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} + BuildRequires: systemd -BuildRequires: golang(github.com/BurntSushi/toml) -BuildRequires: golang(github.com/coreos/go-systemd/activation) -BuildRequires: golang(github.com/coreos/go-systemd/daemon) -BuildRequires: golang(github.com/dchest/safefile) -BuildRequires: golang(github.com/facebookgo/pidfile) -BuildRequires: golang(github.com/hashicorp/go-immutable-radix) -BuildRequires: golang(github.com/hashicorp/golang-lru) -BuildRequires: golang(github.com/jedisct1/dlog) -BuildRequires: golang(github.com/jedisct1/go-clocksmith) -BuildRequires: golang(github.com/jedisct1/go-dnsstamps) -BuildRequires: golang(github.com/jedisct1/go-minisign) -BuildRequires: golang(github.com/jedisct1/xsecretbox) -BuildRequires: golang(github.com/k-sone/critbitgo) -BuildRequires: golang(github.com/kardianos/service) -BuildRequires: golang(github.com/miekg/dns) -BuildRequires: golang(github.com/VividCortex/ewma) -BuildRequires: golang(golang.org/x/crypto/curve25519) -BuildRequires: golang(golang.org/x/crypto/ed25519) -BuildRequires: golang(golang.org/x/crypto/nacl/box) -BuildRequires: golang(golang.org/x/crypto/nacl/secretbox) -BuildRequires: golang(golang.org/x/net/http2) -BuildRequires: golang(golang.org/x/net/proxy) -BuildRequires: golang(golang.org/x/sys/unix) -BuildRequires: golang(gopkg.in/natefinch/lumberjack.v2) # For SELinux workaround BuildRequires: selinux-policy-devel @@ -86,17 +77,20 @@ Requires(postun): policycoreutils %{common_description} %prep -%goprep -%patch0 -p1 +%autosetup -p1 -n %{name}-%{version} %build -for cmd in dnscrypt-proxy; do - %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd -done +mkdir -p ./_build/src/github.com/jedisct1 +ln -s $(pwd) ./_build/src/github.com/jedisct1/dnscrypt-proxy +export GOPATH=$(pwd)/_build:%{gopath} +export GO111MODULE=off +export GOFLAGS=-mod=vendor + +%gobuild -o _bin/dnscrypt-proxy %{goipath}/dnscrypt-proxy %install -install -m 0755 -vd %{buildroot}%{_bindir} -install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ +install -m 0755 -vd %{buildroot}%{_bindir} +install -m 0755 -vp _bin/dnscrypt-proxy %{buildroot}%{_bindir}/ install -Dpm 0644 dnscrypt-proxy/example-dnscrypt-proxy.toml %{buildroot}%{_sysconfdir}/%{name}/dnscrypt-proxy.toml install -Dpm 0644 dnscrypt-proxy/example-blacklist.txt %{buildroot}%{_sysconfdir}/%{name}/blacklist.txt install -Dpm 0644 dnscrypt-proxy/example-cloaking-rules.txt %{buildroot}%{_sysconfdir}/%{name}/cloaking-rules.txt @@ -161,7 +155,7 @@ fi %changelog * Tue Dec 03 23:16:24 CET 2019 Robert-André Mauchin - 2.0.34-1 -- Release 2.0.34 (#1778003) +- Release 2.0.34 (#1768912) * Wed Nov 20 19:59:18 CET 2019 Robert-André Mauchin - 2.0.33-1 - Release 2.0.33 @@ -245,4 +239,3 @@ fi * Sat Oct 24 2015 Nikos Roussos 1.6.0-1 - Initial package -