(Initial commit) |
No edit summary |
||
Line 62: | Line 62: | ||
Due to current nature of Go packages, rebuild of dependent package will be required to pick up the changes. | Due to current nature of Go packages, rebuild of dependent package will be required to pick up the changes. | ||
Along with the rebase I do propose to drop ppc64 from Go architectures(effectively disabling build of all packages adhering to draft Go packaging guidelines) as ppc64 port of "GC" is not feature complete(never were) and with Go 1.9 "GC" will be supporting only Power 8 and up. Due to limitation of the Go port | Along with the rebase I do propose to drop ppc64 from Go architectures(effectively disabling build of all packages adhering to draft Go packaging guidelines) as ppc64 port of "GC" is not feature complete(never were) and with Go 1.9 "GC" will be supporting only Power 8 and up. Due to limitation of the Go port impact should be fairly limited. Possible alternative could be switch to gccgo, but it is generally not used by upstreams and less tested than GC and move will most probably require nontrivial amount of packaging/debugging work. | ||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | <!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> |
Revision as of 12:29, 20 June 2017
Golang 1.9
Summary
Rebase of Golang package to upcoming version 1.9 in Fedora 27, including rebuild of all dependent packages(pre-release version of Go will be used for mass rebuild).
Owner
- Name: Jakub Čajka
- Email: jcajka@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 27
- Last updated: 2017-06-20
- Tracker bug:
Detailed Description
Rebase of Golang package to upcoming version 1.9 in Fedora 27. Golang 1.9 is schedule to be released in Aug/Sep. Due to current nature of Go packages, rebuild of dependent package will be required to pick up the changes.
Along with the rebase I do propose to drop ppc64 from Go architectures(effectively disabling build of all packages adhering to draft Go packaging guidelines) as ppc64 port of "GC" is not feature complete(never were) and with Go 1.9 "GC" will be supporting only Power 8 and up. Due to limitation of the Go port impact should be fairly limited. Possible alternative could be switch to gccgo, but it is generally not used by upstreams and less tested than GC and move will most probably require nontrivial amount of packaging/debugging work.
Benefit to Fedora
Staying closely behind upstream by providing latest release of golang, which includes performance improvements among other bug fixes and new features. For complete list of changes see upstream change notes at https://tip.golang.org/doc/go1.9 . In result Fedora will be providing solid development platform for Go language.
Scope
- Proposal owners: Rebase golang package in f27, help with resolving possible issues found during package rebuilds. Change Go packaging macros in way that will drop ppc64 builds.
- Other developers: fix possible issues with help from golang maintainers
- Release engineering: As there is scheduled mass-rebuild, nothing should be required.
- List of deliverables: N/A
- Policies and guidelines: N/A
- Trademark approval: N/A
Upgrade/compatibility impact
None
How To Test
- 0.
- a)Install golang 1.9 and use it to build your application(s)/package(s).
- b)Scratch build against the rawhide.
- 1.
- Your application/package built using golang 1.9 should work as expected.
User Experience
None
Dependencies
repoquery -q --releasever=rawhide --disablerepo='*' --qf='%{name}\n' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'golang' repoquery -q --releasever=rawhide --disablerepo='*' --qf='%{name}\n' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'compiler(go-compiler)' repoquery -q --releasever=rawhide --disablerepo='*' --qf='%{name}\n' --enablerepo=fedora-source --enablerepo=updates-source --enablerepo=updates-testing-source --archlist=src --whatrequires 'compiler(golang)'
arduino-builder audit flannel golang golang-github-BurntSushi-toml-test golang-github-SeanDolphin-bqschema golang-github-Sirupsen-logrus golang-github-armon-gomdb golang-github-docopt-docopt-go golang-github-hashicorp-raft-mdb golang-github-influxdb-go-cache golang-github-influxdb-gomdb golang-github-mreiferson-go-httpclient golang-github-openshift-go-json-rest golang-github-openshift-go-systemd golang-github-prometheus-client_model golang-github-prometheus-prometheus golang-github-racker-perigee 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-skarademir-naturalsort golang-github-skratchdot-open-golang golang-github-skynetservices-skydns golang-github-smartystreets-go-aws-auth golang-github-spacemonkeygo-flagfile golang-github-spacemonkeygo-spacelog golang-github-stathat-go golang-github-syndtr-gocapability golang-github-syndtr-goleveldb golang-github-tent-http-link-go golang-github-tonnerre-golang-pretty golang-github-vaughan0-go-ini golang-github-vmware-govcloudair golang-googlecode-gcfg golang-googlecode-gomock golang-googlecode-log4go golang-googlecode-sqlite gotags htrace kubernetes origin reg rkt swig tmux-top atomic buildah cadvisor consul containernetworking-cni direnv docker docker-distribution docker-latest etcd glide go-bindata go-i18n godep gofed golang-bitbucket-kardianos-osext golang-bitbucket-ww-goautoneg golang-github-10gen-openssl golang-github-3rf-mongo-lint golang-github-AdRoll-goamz golang-github-AudriusButkevicius-cli golang-github-AudriusButkevicius-go-nat-pmp golang-github-AudriusButkevicius-pfilter golang-github-Azure-azure-sdk-for-go golang-github-BurntSushi-toml golang-github-DATA-DOG-go-sqlmock golang-github-DataDog-datadog-go golang-github-MakeNowJust-heredoc golang-github-Masterminds-semver golang-github-Masterminds-vcs golang-github-PuerkitoBio-purell golang-github-PuerkitoBio-urlesc golang-github-RangelReale-osin golang-github-RangelReale-osincli golang-github-Shopify-sarama golang-github-Shopify-toxiproxy golang-github-abbot-go-http-auth golang-github-agl-ed25519 golang-github-akrennmair-gopcap golang-github-appc-spec golang-github-armon-circbuf golang-github-armon-go-metrics golang-github-armon-go-radix golang-github-asaskevich-govalidator golang-github-auth0-go-jwt-middleware golang-github-aws-aws-sdk-go golang-github-beorn7-perks golang-github-bep-gitmap golang-github-bep-inflect golang-github-bgentry-speakeasy golang-github-bkaradzic-go-lz4 golang-github-blang-semver golang-github-bmizerany-assert golang-github-bmizerany-pat golang-github-bmizerany-perks golang-github-boltdb-bolt golang-github-bradfitz-http2 golang-github-bugsnag-bugsnag-go golang-github-bugsnag-panicwrap golang-github-calmh-du golang-github-calmh-luhn golang-github-calmh-xdr golang-github-ccding-go-stun golang-github-cenkalti-backoff golang-github-chaseadamsio-goorgeous golang-github-cheggaaa-pb golang-github-chmduquesne-rollinghash golang-github-circonus-labs-circonus-gometrics golang-github-circonus-labs-circonusllhist golang-github-cloudfoundry-incubator-candiedyaml golang-github-cockroachdb-cmux golang-github-codegangsta-cli golang-github-codegangsta-negroni golang-github-collectd-go-collectd golang-github-coreos-gexpect golang-github-coreos-go-etcd golang-github-coreos-go-iptables golang-github-coreos-go-log golang-github-coreos-go-oidc golang-github-coreos-go-semver golang-github-coreos-go-systemd golang-github-coreos-pkg golang-github-cpuguy83-go-md2man golang-github-cznic-b golang-github-cznic-fileutil golang-github-cznic-internal golang-github-cznic-mathutil golang-github-cznic-sortutil golang-github-cznic-strutil golang-github-d2g-dhcp4 golang-github-d2g-dhcp4client golang-github-d4l3k-messagediff golang-github-davecgh-go-spew golang-github-daviddengcn-go-colortext golang-github-dchest-cssmin golang-github-denverdino-aliyungo golang-github-dgnorton-goback golang-github-dgrijalva-jwt-go golang-github-digitalocean-godo golang-github-docker-go golang-github-docker-go-connections golang-github-docker-go-units golang-github-docker-libcontainer golang-github-docker-libkv golang-github-docker-libtrust golang-github-docker-spdystream golang-github-dustin-go-humanize golang-github-dvsekhvalnov-jose2go golang-github-eapache-go-resiliency golang-github-eapache-queue golang-github-edsrzf-mmap-go golang-github-eknkc-amber golang-github-elazarl-go-bindata-assetfs golang-github-emicklei-go-restful golang-github-endophage-gotuf golang-github-evanphx-json-patch golang-github-fatih-pool golang-github-fortytw2-leaktest golang-github-fsnotify-fsnotify golang-github-fsouza-go-dockerclient golang-github-garyburd-redigo golang-github-gengo-grpc-gateway golang-github-getsentry-raven-go golang-github-ghodss-yaml golang-github-glacjay-goini golang-github-go-asn1-ber-asn1-ber golang-github-go-errors-errors golang-github-go-fsnotify-fsnotify golang-github-go-ini-ini golang-github-go-ldap-ldap golang-github-go-macaron-inject golang-github-go-mgo-mgo golang-github-go-sql-driver-mysql golang-github-go-tomb-tomb golang-github-gobwas-glob golang-github-godbus-dbus golang-github-golang-appengine golang-github-golang-glog golang-github-golang-groupcache golang-github-golang-sys golang-github-golang-time golang-github-gonum-blas golang-github-gonum-floats golang-github-gonum-graph golang-github-gonum-internal golang-github-gonum-lapack golang-github-gonum-matrix golang-github-google-btree golang-github-google-go-github golang-github-google-go-querystring golang-github-google-gofuzz golang-github-goraft-raft golang-github-gorilla-context golang-github-gorilla-handlers golang-github-gorilla-mux golang-github-gorilla-securecookie golang-github-gorilla-sessions golang-github-gorilla-websocket golang-github-gosexy-gettext golang-github-grpc-ecosystem-go-grpc-prometheus golang-github-grpc-ecosystem-grpc-gateway golang-github-grpc-grpc-go golang-github-hashicorp-consul-migrate golang-github-hashicorp-errwrap golang-github-hashicorp-go-checkpoint golang-github-hashicorp-go-cleanhttp golang-github-hashicorp-go-immutable-radix golang-github-hashicorp-go-memdb golang-github-hashicorp-go-msgpack golang-github-hashicorp-go-multierror golang-github-hashicorp-go-retryablehttp golang-github-hashicorp-go-sockaddr golang-github-hashicorp-go-syslog golang-github-hashicorp-go-uuid golang-github-hashicorp-golang-lru golang-github-hashicorp-hcl golang-github-hashicorp-hil golang-github-hashicorp-logutils golang-github-hashicorp-mdns golang-github-hashicorp-memberlist golang-github-hashicorp-net-rpc-msgpackrpc golang-github-hashicorp-raft golang-github-hashicorp-raft-boltdb golang-github-hashicorp-scada-client golang-github-hashicorp-serf golang-github-hashicorp-yamux golang-github-hawkular-hawkular-client-go golang-github-howeyc-gopass golang-github-imdario-mergo golang-github-inconshreveable-mousetrap golang-github-inconshreveable-muxado golang-github-influxdb-hyperleveldb-go golang-github-influxdb-influxdb golang-github-influxdb-rocksdb golang-github-jackpal-gateway golang-github-jacobsa-oglematchers golang-github-jessevdk-go-flags golang-github-jfrazelle-go golang-github-jinzhu-gorm golang-github-jmespath-go-jmespath golang-github-jmhodges-levigo golang-github-jonboulle-clockwork golang-github-jtolds-gls golang-github-juju-ratelimit golang-github-julienschmidt-httprouter golang-github-karlseguin-ccache golang-github-karlseguin-expect golang-github-kballard-go-shellquote golang-github-kdar-factorlog golang-github-kimor79-gollectd golang-github-klauspost-cpuid golang-github-klauspost-crc32 golang-github-klauspost-reedsolomon golang-github-knieriem-markdown golang-github-kr-fs golang-github-kr-pretty golang-github-kr-pty golang-github-kr-text golang-github-kubernetes-heapster golang-github-kyokomi-emoji golang-github-lib-pq golang-github-lpabon-godbc golang-github-lsegal-gucumber golang-github-magiconair-properties golang-github-mattn-go-isatty golang-github-mattn-go-runewidth golang-github-mattn-go-sqlite3 golang-github-matttproud-golang_protobuf_extensions golang-github-mesos-mesos-go golang-github-miekg-dns golang-github-miekg-mmark golang-github-miekg-pkcs11 golang-github-milochristiansen-axis2 golang-github-milochristiansen-lua golang-github-minio-sha256-simd golang-github-mistifyio-go-zfs golang-github-mitchellh-cli golang-github-mitchellh-copystructure golang-github-mitchellh-go-homedir golang-github-mitchellh-go-wordwrap golang-github-mitchellh-goamz golang-github-mitchellh-mapstructure golang-github-mitchellh-reflectwalk golang-github-mvo5-goconfigparser golang-github-mvo5-uboot-go golang-github-mxk-go-flowrate golang-github-ncw-swift golang-github-noahdesu-go-ceph golang-github-ojii-gettext.go golang-github-olekukonko-tablewriter golang-github-olekukonko-ts golang-github-olivere-elastic golang-github-onsi-ginkgo golang-github-onsi-gomega golang-github-opencontainers-runtime-spec golang-github-opencontainers-specs golang-github-oschwald-geoip2-golang golang-github-oschwald-maxminddb-golang golang-github-pelletier-go-buffruneio golang-github-pelletier-go-toml golang-github-petar-GoLLRB golang-github-peterh-liner golang-github-petermattis-goid golang-github-pkg-errors golang-github-pkg-profile golang-github-pkg-sftp golang-github-pmezard-go-difflib golang-github-prometheus-client_golang golang-github-prometheus-common golang-github-prometheus-procfs golang-github-rackspace-gophercloud golang-github-rakyll-pb golang-github-remyoudompheng-bigfft golang-github-russross-blackfriday golang-github-sasha-s-go-deadlock golang-github-seccomp-libseccomp-golang golang-github-shiena-ansicolor golang-github-shurcooL-sanitized_anchor_name golang-github-smartystreets-assertions golang-github-smartystreets-goconvey golang-github-spacejam-loghisto golang-github-spf13-afero golang-github-spf13-cast golang-github-spf13-cobra golang-github-spf13-fsync golang-github-spf13-jWalterWeatherman golang-github-spf13-nitro golang-github-spf13-pflag golang-github-spf13-viper golang-github-stevvooe-resumable golang-github-stretchr-objx golang-github-stretchr-testify golang-github-syndtr-gosnappy golang-github-tchap-go-patricia golang-github-thejerf-suture golang-github-ugorji-go golang-github-urfave-cli golang-github-vbatts-tar-split golang-github-vishvananda-netlink golang-github-vishvananda-netns golang-github-vitrun-qart golang-github-vjeantet-asn1-ber golang-github-wsxiaoys-terminal golang-github-xeipuuv-gojsonpointer golang-github-xeipuuv-gojsonreference golang-github-xeipuuv-gojsonschema golang-github-xiang90-probing golang-github-xtaci-kcp-go golang-github-xtaci-smux golang-github-yosssi-ace golang-github-yosssi-gohtml golang-github-yvasiyarov-go-metrics golang-github-yvasiyarov-gorelic golang-github-yvasiyarov-newrelic_platform_go golang-github-zillode-notify golang-google-golangorg-cloud golang-googlecode-go-crypto golang-googlecode-go-decimal-inf golang-googlecode-go-exp golang-googlecode-goauth2 golang-googlecode-gogoprotobuf golang-googlecode-google-api-client golang-googlecode-goprotobuf golang-googlecode-net golang-googlecode-text golang-googlecode-tools golang-googlecode-uuid golang-gopkg-check golang-gopkg-go-check-check golang-gopkg-go-macaroon-macaroon golang-gopkg-retry-v1 golang-gopkg-yaml golint gomtree gotun heketi hub kompose mongo-tools oci-register-machine ocid ocitools runc skopeo snapd source-to-image
Not all of listed require re-build as they might not ship binaries.
Contingency Plan
- Contingency mechanism:Reverting to golang version 1.8.X if significatnt issues are discovered.
- Contingency deadline: Beta Freeze(?)
- Blocks release? No
- Blocks product? No
Documentation
https://tip.golang.org/doc/go1.9