Пакет golang-github-duosecurity-duo_api_golang: Specfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | Group: Development/Other # BEGIN SourceDeps(oneline): BuildRequires(pre): rpm-macros-golang BuildRequires: rpm-build-golang # END SourceDeps(oneline) BuildRequires: /proc # see https://bugzilla.altlinux.org/show_bug.cgi?id=10382 %define _localstatedir %{_var} # If any of the following macros should be set otherwise, # you can wrap any of them with the following conditions: # - %%if 0%%{centos} == 7 # - %%if 0%%{?rhel} == 7 # - %%if 0%%{?fedora} == 23 # Or just test for particular distribution: # - %%if 0%%{centos} # - %%if 0%%{?rhel} # - %%if 0%%{?fedora} # # Be aware, on centos, both %%rhel and %%centos are set. If you want to test # rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition. # (Don't forget to replace double percentage symbol with single one in order to apply a condition) # Generate devel rpm %global with_devel 1 # Build project from bundled dependencies %global with_bundled 0 # Build with debug info rpm %global with_debug 0 # Run tests in check section %global with_check 1 # Generate unit-test rpm %global with_unit_test 1 %if 0%{?with_debug} %global _dwz_low_mem_die_limit 0 %else %global debug_package %{nil} %endif %global provider github %global provider_tld com %global project duosecurity %global repo duo_api_golang # https://github.com/duosecurity/duo_api_golang %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} %global commit 2b2d787eb38e28ce4fd906321d717af19fad26a6 %global commitdate 20160627 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: golang-%{provider}-%{project}-%{repo} Version: 0 Release: alt1_0.3.%{commitdate}git%{shortcommit} Summary: Duo Security API for strong two-factor authentication # Detected licences # - BSD (3 clause) at 'LICENSE' License: BSD URL: https://%{provider_prefix} Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz # Fix Go 1.10 test failures # https://github.com/duosecurity/duo_api_golang/pull/5 Patch0: duo_api_golang-2b2d787-go1.10-testfix.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} Source44: import.info %description The Duo Auth API provides a low-level API for adding strong two-factor authentication to applications that cannot directly display rich web content. %if 0%{?with_devel} %package devel Group: Development/Other Summary: %{summary} BuildArch: noarch %if 0%{?with_check} && ! 0%{?with_bundled} %endif Provides: golang(%{import_path}) = %{version}-%{release} Provides: golang(%{import_path}/authapi) = %{version}-%{release} %description devel %{summary} This package contains library source intended for building other packages which use import path with %{import_path} prefix. %endif %if 0%{?with_unit_test} && 0%{?with_devel} %package unit-test-devel Group: Development/Other Summary: Unit tests for %{name} package %if 0%{?with_check} #Here comes all BuildRequires: PACKAGE the unit tests #in %%check section need for running %endif # test subpackage tests code from devel subpackage %if 0%{?with_check} && ! 0%{?with_bundled} %endif %description unit-test-devel %{summary} This package contains unit tests for project providing packages with %{import_path} prefix. %endif %prep %setup -q -n %{repo}-%{commit} %patch0 -p1 %build %install # source codes for building projects %if 0%{?with_devel} install -d -p %{buildroot}/%{go_path}/src/%{import_path}/ echo "%%dir %%{go_path}/src/%%{import_path}/." >> devel.file-list # find all *.go but no *_test.go files and generate devel.file-list for file in $(find . \( -iname "*.go" -or -iname "*.s" \) \! -iname "*_test.go") ; do dirprefix=$(dirname $file) install -d -p %{buildroot}/%{go_path}/src/%{import_path}/$dirprefix cp -pav $file %{buildroot}/%{go_path}/src/%{import_path}/$file echo "%%{go_path}/src/%%{import_path}/$file" >> devel.file-list while [ "$dirprefix" != "." ]; do echo "%%dir %%{go_path}/src/%%{import_path}/$dirprefix" >> devel.file-list dirprefix=$(dirname $dirprefix) done done %endif # testing files for this project %if 0%{?with_unit_test} && 0%{?with_devel} install -d -p %{buildroot}/%{go_path}/src/%{import_path}/ # find all *_test.go files and generate unit-test-devel.file-list for file in $(find . -iname "*_test.go") ; do dirprefix=$(dirname $file) install -d -p %{buildroot}/%{go_path}/src/%{import_path}/$dirprefix cp -pav $file %{buildroot}/%{go_path}/src/%{import_path}/$file echo "%%{go_path}/src/%%{import_path}/$file" >> unit-test-devel.file-list while [ "$dirprefix" != "." ]; do echo "%%dir %%{go_path}/src/%%{import_path}/$dirprefix" >> devel.file-list dirprefix=$(dirname $dirprefix) done done %endif %if 0%{?with_devel} sort -u -o devel.file-list devel.file-list %endif %check %if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel} %if ! 0%{?with_bundled} export GOPATH=%{buildroot}/%{go_path}:%{go_path} %else # No dependency directories so far export GOPATH=%{buildroot}/%{go_path}:%{go_path} %endif %if ! 0%{?gotest:1} %global gotest go test %endif %gotest %{import_path} %gotest %{import_path}/authapi %endif #define license tag if not already defined %{!?_licensedir:%global license %doc} %if 0%{?with_devel} %files devel -f devel.file-list %doc --no-dereference LICENSE %doc README.md %dir %{go_path}/src/%{provider}.%{provider_tld}/%{project} %endif %if 0%{?with_unit_test} && 0%{?with_devel} %files unit-test-devel -f unit-test-devel.file-list %doc --no-dereference LICENSE %doc README.md %endif %changelog * Fri Mar 16 2018 Igor Vlasenko <viy@altlinux.ru> 0-alt1_0.3.20160627git2b2d787 - fc update * Sat Dec 09 2017 Igor Vlasenko <viy@altlinux.ru> 0-alt1_0.1.20160627git2b2d787 - new version |