make possible to override default traceback level at build time
add sub-package race containing std lib built with -race enabled Related: BZ#1411242
This commit is contained in:
		
							parent
							
								
									100fcef237
								
							
						
					
					
						commit
						b881112930
					
				
							
								
								
									
										7
									
								
								fedora.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								fedora.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | // +build rpm_crashtraceback
 | ||||||
|  | 
 | ||||||
|  | package runtime | ||||||
|  | 
 | ||||||
|  | func init() { | ||||||
|  | 	setTraceback("crash") | ||||||
|  | } | ||||||
							
								
								
									
										52
									
								
								golang.spec
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								golang.spec
									
									
									
									
									
								
							| @ -61,6 +61,13 @@ | |||||||
| %global shared 0 | %global shared 0 | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
|  | # Pre build std lib with -race enabled | ||||||
|  | %ifarch x86_64 | ||||||
|  | %global race 1 | ||||||
|  | %else | ||||||
|  | %global race 0 | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
| # Fedora GOROOT | # Fedora GOROOT | ||||||
| %global goroot          /usr/lib/%{name} | %global goroot          /usr/lib/%{name} | ||||||
| 
 | 
 | ||||||
| @ -91,12 +98,14 @@ | |||||||
| 
 | 
 | ||||||
| Name:           golang | Name:           golang | ||||||
| Version:        1.8 | Version:        1.8 | ||||||
| Release:        0.rc3.1%{?dist} | Release:        0.rc3.2%{?dist} | ||||||
| Summary:        The Go Programming Language | Summary:        The Go Programming Language | ||||||
| # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain | # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain | ||||||
| License:        BSD and Public Domain | License:        BSD and Public Domain | ||||||
| URL:            http://golang.org/ | URL:            http://golang.org/ | ||||||
| Source0:        https://storage.googleapis.com/golang/go%{go_version}.src.tar.gz | Source0:        https://storage.googleapis.com/golang/go%{go_version}.src.tar.gz | ||||||
|  | # make possible to override default traceback level at build time by setting build tag rpm_crashtraceback | ||||||
|  | Source1:        fedora.go | ||||||
| 
 | 
 | ||||||
| # The compiler is written in Go. Needs go(1.4+) compiler for build. | # The compiler is written in Go. Needs go(1.4+) compiler for build. | ||||||
| %if !%{golang_bootstrap} | %if !%{golang_bootstrap} | ||||||
| @ -237,6 +246,16 @@ Summary:        Golang shared object libraries | |||||||
| %{summary}. | %{summary}. | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
|  | %if %{race} | ||||||
|  | %package        race | ||||||
|  | Summary:        Golang std library with -race enabled | ||||||
|  | 
 | ||||||
|  | Requires:       %{name} = %{version}-%{release} | ||||||
|  | 
 | ||||||
|  | %description    race | ||||||
|  | %{summary} | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
| %prep | %prep | ||||||
| %setup -q -n go | %setup -q -n go | ||||||
| 
 | 
 | ||||||
| @ -250,6 +269,8 @@ Summary:        Golang shared object libraries | |||||||
| 
 | 
 | ||||||
| %patch219 -p1 | %patch219 -p1 | ||||||
| 
 | 
 | ||||||
|  | cp %{SOURCE1} ./src/runtime/ | ||||||
|  | 
 | ||||||
| %build | %build | ||||||
| # print out system information | # print out system information | ||||||
| uname -a | uname -a | ||||||
| @ -291,6 +312,10 @@ popd | |||||||
| GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -buildmode=shared std | GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -buildmode=shared std | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
|  | %if %{race} | ||||||
|  | GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -race std | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
| %install | %install | ||||||
| rm -rf $RPM_BUILD_ROOT | rm -rf $RPM_BUILD_ROOT | ||||||
| 
 | 
 | ||||||
| @ -313,17 +338,18 @@ cwd=$(pwd) | |||||||
| src_list=$cwd/go-src.list | src_list=$cwd/go-src.list | ||||||
| pkg_list=$cwd/go-pkg.list | pkg_list=$cwd/go-pkg.list | ||||||
| shared_list=$cwd/go-shared.list | shared_list=$cwd/go-shared.list | ||||||
|  | race_list=$cwd/go-race.list | ||||||
| misc_list=$cwd/go-misc.list | misc_list=$cwd/go-misc.list | ||||||
| docs_list=$cwd/go-docs.list | docs_list=$cwd/go-docs.list | ||||||
| tests_list=$cwd/go-tests.list | tests_list=$cwd/go-tests.list | ||||||
| rm -f $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list | rm -f $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list | ||||||
| touch $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list | touch $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list | ||||||
| pushd $RPM_BUILD_ROOT%{goroot} | pushd $RPM_BUILD_ROOT%{goroot} | ||||||
|     find src/ -type d -a \( ! -name testdata -a ! -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $src_list |     find src/ -type d -a \( ! -name testdata -a ! -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $src_list | ||||||
|     find src/ ! -type d -a \( ! -ipath '*/testdata/*' -a ! -name '*_test*.go' \) -printf '%{goroot}/%p\n' >> $src_list |     find src/ ! -type d -a \( ! -ipath '*/testdata/*' -a ! -name '*_test*.go' \) -printf '%{goroot}/%p\n' >> $src_list | ||||||
| 
 | 
 | ||||||
|     find bin/ pkg/ -type d -a ! -path '*_dynlink/*' -printf '%%%dir %{goroot}/%p\n' >> $pkg_list |     find bin/ pkg/ -type d -a ! -path '*_dynlink/*' -a ! -path '*_race/*' -printf '%%%dir %{goroot}/%p\n' >> $pkg_list | ||||||
|     find bin/ pkg/ ! -type d -a ! -path '*_dynlink/*' -printf '%{goroot}/%p\n' >> $pkg_list |     find bin/ pkg/ ! -type d -a ! -path '*_dynlink/*' -a ! -path '*_race/*' -printf '%{goroot}/%p\n' >> $pkg_list | ||||||
| 
 | 
 | ||||||
|     find doc/ -type d -printf '%%%dir %{goroot}/%p\n' >> $docs_list |     find doc/ -type d -printf '%%%dir %{goroot}/%p\n' >> $docs_list | ||||||
|     find doc/ ! -type d -printf '%{goroot}/%p\n' >> $docs_list |     find doc/ ! -type d -printf '%{goroot}/%p\n' >> $docs_list | ||||||
| @ -348,6 +374,13 @@ pushd $RPM_BUILD_ROOT%{goroot} | |||||||
| 	find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list | 	find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
|  | %if %{race} | ||||||
|  | 
 | ||||||
|  |     find pkg/*_race/ -type d -printf '%%%dir %{goroot}/%p\n' >> $race_list | ||||||
|  |     find pkg/*_race/ ! -type d -printf '%{goroot}/%p\n' >> $race_list | ||||||
|  | 
 | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|     find test/ -type d -printf '%%%dir %{goroot}/%p\n' >> $tests_list |     find test/ -type d -printf '%%%dir %{goroot}/%p\n' >> $tests_list | ||||||
|     find test/ ! -type d -printf '%{goroot}/%p\n' >> $tests_list |     find test/ ! -type d -printf '%{goroot}/%p\n' >> $tests_list | ||||||
|     find src/ -type d -a \( -name testdata -o -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $tests_list |     find src/ -type d -a \( -name testdata -o -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $tests_list | ||||||
| @ -465,7 +498,16 @@ fi | |||||||
| %files -f go-shared.list shared | %files -f go-shared.list shared | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
|  | %if %{race} | ||||||
|  | %files -f go-race.list race | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Fri Jan 27 2017 Jakub Čajka <jcajka@redhat.com> - 1.8-0.rc3.2 | ||||||
|  | - make possible to override default traceback level at build time | ||||||
|  | - add sub-package race containing std lib built with -race enabled | ||||||
|  | - Related: BZ#1411242 | ||||||
|  | 
 | ||||||
| * Fri Jan 27 2017 Jakub Čajka <jcajka@redhat.com> - 1.8-0.rc3.1 | * Fri Jan 27 2017 Jakub Čajka <jcajka@redhat.com> - 1.8-0.rc3.1 | ||||||
| - rebase to go1.8rc3 | - rebase to go1.8rc3 | ||||||
| - Resolves: BZ#1411242 | - Resolves: BZ#1411242 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user