From Fedora Project Wiki
No edit summary
(Update after discussion with pbrobinson, added link to COPR)
Line 72: Line 72:


== Scope ==
== Scope ==
* Proposal owners: Rebase golang package in f24(side tag), bootstrap for ppc64le(+update golang srpm macros), help with rebuild and resolving possible issues found during rebuild.
* Proposal owners: Rebase golang package in f24(side tag), bootstrap for ppc64le(+update golang srpm macros), help with resolving possible issues found during mass-rebuild.
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Other developers: Rebuild packages, fix possible issues. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: fix possible issues. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Release engineering: Create side tag, re-build <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: None, as we will land new golang just right before mass-rebuild(after discussion with pbrobinson) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.-->
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.-->
Line 111: Line 111:
-->
-->
;0.
;0.
:a)Before golang release/side tag creation, packagers and users can pre-test against build from COPR.
:a)Before golang release/mass-rebuild, packagers and users can pre-test against build from [https://copr.fedoraproject.org/coprs/jcajka/golang1.6/ COPR].
:b)After golang release/side tag creation, install golang 1.6 (from side tag) and use it to build your program(s)/package(s).  
:b)After golang release/mass-rebuild, install golang 1.6 (from side tag) and use it to build your program(s)/package(s).  
;1.
;1.
:Your program/package built using golang 1.6 should work as expected.
:Your program/package built using golang 1.6 should work as expected.
Line 285: Line 285:


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: Not merging the side tag and staying on golang version 1.5.X if significatnt issues are discovered.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism:Staying on golang version 1.5.X if significatnt issues are discovered.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: Beta Freeze(?)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Beta Freeze(?)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->

Revision as of 14:30, 13 January 2016


Golang 1.6

Summary

Rebase of Golang package to upcoming version 1.6 in Fedora 24, including rebuild of all dependent packages.

Owner

Current status

  • Targeted release: Fedora 24
  • Last updated: 2016-01-13
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Rebase of Golang package to upcoming version 1.6 in Fedora 24. Golang 1.6 is schedule to be released in early Feb. Due to current nature of golang packages, rebuild of dependent package will be required to pick up the changes.


Benefit to Fedora

Staying closely behind upstream by providing latest release of golang, which includes performance improvements and improved support for ppc64le and AArch64 architectures among other bug fixes and new features. For complete list of changes see upstream change notes at https://tip.golang.org/doc/go1.6 . In result Fedora will be providing solid development platform for golang language.


Scope

  • Proposal owners: Rebase golang package in f24(side tag), bootstrap for ppc64le(+update golang srpm macros), help with resolving possible issues found during mass-rebuild.
  • Other developers: fix possible issues.
  • Release engineering: None, as we will land new golang just right before mass-rebuild(after discussion with pbrobinson)
  • Policies and guidelines: N/A
  • Trademark approval: N/A

Upgrade/compatibility impact

None

How To Test

0.
a)Before golang release/mass-rebuild, packagers and users can pre-test against build from COPR.
b)After golang release/mass-rebuild, install golang 1.6 (from side tag) and use it to build your program(s)/package(s).
1.
Your program/package built using golang 1.6 should work as expected.

User Experience

None

Dependencies

repoquery -q --releasever=rawhide --disablerepo='*' --qf='%{name}' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'golang' | uniq

  • asciinema
  • audit
  • cadvisor
  • consul
  • docker
  • etcd
  • flannel
  • fleet
  • go-bindata
  • golang
  • golang-bitbucket-kardianos-osext
  • golang-bitbucket-ww-goautoneg
  • golang-github-10gen-openssl
  • golang-github-BurntSushi-toml
  • golang-github-BurntSushi-toml-test
  • golang-github-SeanDolphin-bqschema
  • golang-github-Sirupsen-logrus
  • golang-github-abbot-go-http-auth
  • golang-github-appc-spec
  • golang-github-armon-gomdb
  • golang-github-beorn7-perks
  • golang-github-bgentry-speakeasy
  • golang-github-bmizerany-assert
  • golang-github-bmizerany-pat
  • golang-github-bmizerany-perks
  • golang-github-boltdb-bolt
  • golang-github-bradfitz-http2
  • golang-github-cenkalti-backoff
  • golang-github-coreos-go-iptables
  • golang-github-coreos-go-log
  • golang-github-coreos-go-semver
  • golang-github-coreos-pkg
  • golang-github-davecgh-go-spew
  • golang-github-dgnorton-goback
  • golang-github-digitalocean-godo
  • golang-github-docker-libcontainer
  • golang-github-docker-libkv
  • golang-github-docker-libtrust
  • golang-github-docker-spdystream
  • golang-github-docopt-docopt-go
  • golang-github-elazarl-go-bindata-assetfs
  • golang-github-emicklei-go-restful
  • golang-github-evanphx-json-patch
  • golang-github-garyburd-redigo
  • golang-github-ghodss-yaml
  • golang-github-glacjay-goini
  • golang-github-go-mgo-mgo
  • golang-github-go-tomb-tomb
  • golang-github-golang-appengine
  • golang-github-golang-glog
  • golang-github-golang-groupcache
  • golang-github-google-btree
  • golang-github-google-go-querystring
  • golang-github-google-gofuzz
  • golang-github-goraft-raft
  • golang-github-gorilla-context
  • golang-github-gorilla-mux
  • golang-github-gorilla-websocket
  • golang-github-hashicorp-consul-migrate
  • golang-github-hashicorp-go-syslog
  • golang-github-hashicorp-mdns
  • golang-github-hashicorp-raft-boltdb
  • golang-github-hashicorp-raft-mdb
  • golang-github-hashicorp-serf
  • golang-github-howeyc-gopass
  • golang-github-imdario-mergo
  • golang-github-inconshreveable-muxado
  • golang-github-influxdb-go-cache
  • golang-github-influxdb-gomdb
  • golang-github-influxdb-hyperleveldb-go
  • golang-github-influxdb-influxdb
  • golang-github-influxdb-rocksdb
  • golang-github-jessevdk-go-flags
  • golang-github-jmhodges-levigo
  • golang-github-jonboulle-clockwork
  • golang-github-jtolds-gls
  • golang-github-julienschmidt-httprouter
  • golang-github-kdar-factorlog
  • golang-github-kimor79-gollectd
  • golang-github-kr-fs
  • golang-github-kr-pretty
  • golang-github-kr-pty
  • golang-github-kr-text
  • golang-github-kraman-libcontainer
  • golang-github-matttproud-golang_protobuf_extensions
  • golang-github-mesos-mesos-go
  • golang-github-mitchellh-goamz
  • golang-github-mitchellh-mapstructure
  • golang-github-mreiferson-go-httpclient
  • golang-github-onsi-ginkgo
  • golang-github-onsi-gomega
  • golang-github-openshift-go-json-rest
  • golang-github-openshift-go-systemd
  • golang-github-prometheus-client_golang
  • golang-github-prometheus-client_model
  • golang-github-prometheus-procfs
  • golang-github-prometheus-prometheus
  • golang-github-racker-perigee
  • golang-github-rackspace-gophercloud
  • golang-github-rakyll-globalconf
  • golang-github-rakyll-statik
  • golang-github-rcrowley-go-metrics
  • golang-github-ryanuber-columnize
  • golang-github-samalba-dockerclient
  • golang-github-samuel-go-zookeeper
  • golang-github-shurcooL-sanitized_anchor_name
  • golang-github-skarademir-naturalsort
  • golang-github-skratchdot-open-golang
  • golang-github-skynetservices-skydns
  • golang-github-smartystreets-assertions
  • golang-github-smartystreets-go-aws-auth
  • golang-github-smartystreets-goconvey
  • golang-github-spacemonkeygo-flagfile
  • golang-github-spacemonkeygo-spacelog
  • golang-github-spf13-cobra
  • golang-github-spf13-pflag
  • golang-github-stathat-go
  • golang-github-stretchr-objx
  • golang-github-stretchr-testify
  • golang-github-syndtr-gocapability
  • golang-github-syndtr-goleveldb
  • golang-github-syndtr-gosnappy
  • golang-github-tchap-go-patricia
  • golang-github-tent-http-link-go
  • golang-github-tonnerre-golang-pretty
  • golang-github-ugorji-go
  • golang-github-vaughan0-go-ini
  • golang-github-vishvananda-netlink
  • golang-github-vishvananda-netns
  • golang-github-vmware-govcloudair
  • golang-google-golangorg-cloud
  • golang-googlecode-gcfg
  • golang-googlecode-go-crypto
  • golang-googlecode-go-decimal-inf
  • golang-googlecode-go-exp
  • golang-googlecode-goauth2
  • golang-googlecode-gogoprotobuf
  • golang-googlecode-gomock
  • golang-googlecode-google-api-client
  • golang-googlecode-log4go
  • golang-googlecode-sqlite
  • golang-googlecode-text
  • golang-googlecode-tools
  • golang-googlecode-uuid
  • golang-gopkg-check
  • golang-gopkg-yaml
  • gotags
  • kubernetes
  • origin
  • source-to-image
  • tmux-top

Not all of listed requires re-build as they might not ship binaries.

Contingency Plan

  • Contingency mechanism:Staying on golang version 1.5.X if significatnt issues are discovered.
  • Contingency deadline: Beta Freeze(?)
  • Blocks release? No
  • Blocks product? No

Documentation

https://tip.golang.org/doc/go1.6

Release Notes