diff options
60 files changed, 4075 insertions, 0 deletions
diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 000000000..2b66f4399 --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,40 @@ +golang (2:1-1) unstable; urgency=low + + Go 1 is a major release of Go that will be stable in the long term. + It is intended that programs written for Go 1 will continue to compile + and run correctly, unchanged, under future versions of Go 1. + + The Go 1 release notes list the significant changes since the last + release and explain how to update your code: + http://golang.org/doc/go1.html + + To learn about the future of Go 1, read the Go 1 compatibility document: + http://golang.org/doc/go1compat.html + + -- Ondřej Surý <ondrej@debian.org> Fri, 06 Apr 2012 16:02:17 +0200 + +golang (1:58-1) unstable; urgency=low + + Most significant upstream changes in this release: + * As usual, gofix will handle the bulk of the rewrites necessary for + these changes to package APIs. + * Package http drops the finalURL return value from the Client.Get + method. The value is now available via the new Request field on + http.Response. Most instances of the type map[string][]string in have + been replaced with the new Values type. + * Package exec has been redesigned with a more convenient and succinct + API. + * Package strconv's Quote function now escapes only those Unicode code + points not classified as printable by unicode.IsPrint. Previously + Quote would escape all non-ASCII characters. This also affects the fmt + package's "%q" formatting directive. The previous quoting behavior is + still available via strconv's new QuoteToASCII function. + * Package os/signal's Signal and UnixSignal types have been moved to + the os package. + * Package image/draw is the new name for exp/draw. The GUI-related code + from exp/draw is now located in the exp/gui package. + * Goinstall now observes the GOPATH environment variable to build and + install your own code and external libraries outside of the Go tree + (and avoid writing Makefiles). + + -- Ondřej Surý <ondrej@debian.org> Thu, 30 Jun 2011 15:39:21 +0200 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 000000000..5ad7f24d8 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,21 @@ +== Cross-Compilation + +Go supports cross-compilation. The environment variables GOOS (e.g. linux, +netbsd, …) and GOARCH (amd64, 386, arm) influence the resulting binary. + +For example, to compile helloworld for linux_386, use: + + ~/gocode/src/helloworld $ GOARCH=386 go build + ~/gocode/src/helloworld $ file helloworld + helloworld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), + statically linked, not stripped + +If you get an error message like this: + + ~/gocode/src/helloworld $ GOARCH=386 go build + go build runtime: linux/386 must be bootstrapped using make.bash + +…you are missing the appropriate golang-go-$GOOS-$GOARCH debian package, +i.e. golang-go-linux-386 in this case. + +-- Michael Stapelberg <stapelberg@debian.org> Fri, 07 Jun 2013 22:34:12 +0200 diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 000000000..1c65c0c0d --- /dev/null +++ b/debian/README.source @@ -0,0 +1,33 @@ +The golang package is generated only for i386, amd64, armel, armhf and +kfreebsd-* architectures, because of upstream restrictions. + +Quoting from upstream documentation (http://golang.org/doc/install.html): + + The Go compilers support three instruction sets. There are + important differences in the quality of the compilers for the + different architectures. + + amd64 (a.k.a. x86-64); 6g,6l,6c,6a + The most mature implementation. The compiler has an effective + optimizer (registerizer) and generates good code (although + gccgo can do noticeably better sometimes). + + 386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a + Comparable to the amd64 port. + + arm (a.k.a. ARM); 5g,5l,5c,5a + Incomplete. It only supports Linux binaries, the optimizer is + incomplete, and floating point uses the VFP unit. However, all + tests pass. Work on the optimizer is continuing. Tested + against a Nexus One. + + Except for things like low-level operating system interface code, + the run-time support is the same in all ports and includes a + mark-and-sweep garbage collector (a fancier one is in the works), + efficient array and string slicing, support for segmented stacks, + and a strong goroutine implementation. + + The compilers can target the FreeBSD, Linux, and OS X + (a.k.a. Darwin) operating systems. + + -- Ondřej Surý <ondrej@debian.org>, Thu, 28 Apr 2011 11:33:26 +0200 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..7fb81ed46 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,534 @@ +golang (2:1.2.1-3) UNRELEASED; urgency=low + + * Fix debian/watch (Thanks Tianon) (Closes: #748290) + * Remove dangling symlink /usr/lib/go/lib/godoc (Closes: #747968) + + -- Michael Stapelberg <stapelberg@debian.org> Fri, 16 May 2014 19:45:17 +0200 + +golang (2:1.2.1-2) unstable; urgency=low + + * Re-apply debian/patches/add-tar-xattr-support.patch which got lost when + uploading 1.2.1-1; sorry about that. + + -- Michael Stapelberg <stapelberg@debian.org> Sat, 08 Mar 2014 20:01:12 +0100 + +golang (2:1.2.1-1) unstable; urgency=low + + * New upstream release. + + -- Michael Stapelberg <stapelberg@debian.org> Mon, 03 Mar 2014 17:40:57 +0100 + +golang (2:1.2-3) unstable; urgency=low + + * add debian/patches/add-tar-xattr-support.patch to have xattr support in + tar (cherry-picked from upstream) (Thanks proppy) (Closes: #739586) + + -- Michael Stapelberg <stapelberg@debian.org> Mon, 24 Feb 2014 19:34:16 +0100 + +golang (2:1.2-2) unstable; urgency=low + + * add patches/add-src-pkg-debug-elf-testdata-hello.patch to provide source + for the testdata/ ELF binaries (Closes: #716853) + + -- Michael Stapelberg <stapelberg@debian.org> Tue, 31 Dec 2013 18:28:29 +0100 + +golang (2:1.2-1) unstable; urgency=low + + * New upstream release. + * drop patches/archive-tar-fix-links-and-pax.patch, it is merged upstream + * godoc(1) is now in the Debian package golang-go.tools, it was moved into a + separate repository by upstream. + * move patches/godoc-symlinks.diff to golang-go.tools + + -- Michael Stapelberg <stapelberg@debian.org> Mon, 02 Dec 2013 23:57:24 +0100 + +golang (2:1.1.2-3) unstable; urgency=low + + * cherry-pick upstream commit: archive-tar-fix-links-and-pax.patch + (Closes: #730566) + + -- Michael Stapelberg <stapelberg@debian.org> Tue, 26 Nov 2013 18:59:27 +0100 + +golang (2:1.1.2-2) unstable; urgency=low + + * Build golang-go-linux-* for each architecture (Thanks James Page) + (Closes: #719611) + * Update lintian-overrides to override statically-linked-binary and + unstripped-binary-or-object for all of golang-go + + -- Michael Stapelberg <stapelberg@debian.org> Tue, 20 Aug 2013 08:13:40 +0200 + +golang (2:1.1.2-1) unstable; urgency=low + + * New upstream release. + * Relicense debian/ under the Go license to match upstream. All copyright + holders agreed to this. (Closes: #716907) + * golang-mode: don’t install for a number of emacs versions which are not + supported upstream (Thanks Kevin Ryde) (Closes: #702511, #717521) + + -- Michael Stapelberg <stapelberg@debian.org> Tue, 13 Aug 2013 13:47:58 +0200 + +golang (2:1.1.1-4) unstable; urgency=low + + * Disable stripping, it breaks go binaries on some architectures. This drops + the golang-dbg package which would be empty now. (Thanks Robie Basak) + (Closes: #717172) + + -- Michael Stapelberg <stapelberg@debian.org> Wed, 17 Jul 2013 19:15:18 +0200 + +golang (2:1.1.1-3) unstable; urgency=low + + * Ship */runtime/cgo.a in golang-go to ensure it is present. It can only be + used on the native architecture anyway (cannot be used when + cross-compiling), so having it in golang-go-$GOOS-$GOARCH is not + necessary. Even worse, since these packages are arch: all, they will be + built precisely once, and only the runtime/cgo.a for the buildd’s native + arch will be present. (Closes: #715025) + + -- Michael Stapelberg <stapelberg@debian.org> Thu, 11 Jul 2013 20:25:52 +0200 + +golang (2:1.1.1-2) unstable; urgency=low + + [ James Page ] + * Ensure smooth upgrade path from << 2:1.1-2 (Closes: #714838) + + -- Michael Stapelberg <stapelberg@debian.org> Wed, 03 Jul 2013 18:05:58 +0200 + +golang (2:1.1.1-1) unstable; urgency=low + + * Imported Upstream version 1.1.1 + + -- Ingo Oeser <nightlyone@googlemail.com> Fri, 14 Jun 2013 23:25:44 +0200 + +golang (2:1.1-2) unstable; urgency=low + + [ Ondřej Surý ] + * Promote Michael to Maintainer + + [ Michael Stapelberg ] + * Build golang-go-$GOOS-$GOARCH packages for cross-compiling (Closes: #710090) + * Build race detector on linux/amd64 (only supported arch) (Closes: #710691) + * Switch compression to xz (50% smaller binaries) + + -- Michael Stapelberg <stapelberg@debian.org> Fri, 07 Jun 2013 23:18:09 +0200 + +golang (2:1.1-1) unstable; urgency=low + + * New upstream release: Go 1.1! + * Remove the long obsolete goinstall debconf question and config file. + goinstall does not exist anymore since a long time. + This also obsoletes the need for any translations + (Closes: #685923, #692478) + * Emacs go-mode auto-mode-alist entry was fixed upstream (Closes: #670371) + + -- Michael Stapelberg <stapelberg@debian.org> Tue, 14 May 2013 19:36:04 +0200 + +golang (2:1.1~hg20130405-1) experimental; urgency=low + + * Provide a new hg tip snapshot. This includes what was recently released as + Go 1.1 beta. + + -- Michael Stapelberg <stapelberg@debian.org> Fri, 05 Apr 2013 18:24:36 +0200 + +golang (2:1.1~hg20130323-1) experimental; urgency=low + + * Provide a new hg tip snapshot. + * Add debian/watch (Closes: #699698) + + -- Michael Stapelberg <stapelberg@debian.org> Sat, 23 Mar 2013 11:31:26 +0100 + +golang (2:1.1~hg20130304-2) experimental; urgency=low + + * Fix FTBFS of binary-arch only builds (as performed by buildds) + caused by 'rm' not finding jquery.js in golang-doc + (Thanks Peter Green) + + -- Michael Stapelberg <stapelberg@debian.org> Tue, 05 Mar 2013 00:49:27 +0100 + +golang (2:1.1~hg20130304-1) experimental; urgency=low + + * Provide a hg tip snapshot (2013-03-04) in Debian experimental. + Current hg tip is a good approximation to Go 1.1 and should get + some testing within Debian in order to package Go 1.1 well when + it is released. Thanks to Andrew Gerrand. + + -- Michael Stapelberg <stapelberg@debian.org> Mon, 04 Mar 2013 21:28:58 +0100 + +golang (2:1.0.2-2) unstable; urgency=low + + * Add myself to uploaders, as discussed in #683421. + * cherry-pick r820ffde8c396 (net/http: non-keepalive connections close + successfully) (Closes: #683421) + + -- Michael Stapelberg <stapelberg@debian.org> Thu, 02 Aug 2012 14:25:58 +0200 + +golang (2:1.0.2-1.1) unstable; urgency=low + + * Non-maintainer upload. (as discussed with Ondřej in #679692) + * Fix godoc-symlinks.diff (godoc didn’t find docs) (Closes: #679692) + + -- Michael Stapelberg <stapelberg@debian.org> Fri, 20 Jul 2012 17:59:38 +0200 + +golang (2:1.0.2-1) unstable; urgency=low + + [ Ondřej Surý ] + * Imported Upstream version 1.0.2 + * Update Vcs fields to reflect new git repository location + * Kill get-orig-source, since 1.0.0, the tarballs can be downloaded from + webpage + + [ Michael Stapelberg ] + * golang-mode: use debian-pkg-add-load-path-item (Closes: #664802) + * add manpages (Closes: #632964) + * Use updated pt.po from Pedro Ribeiro (Closes: #674958) + + -- Ondřej Surý <ondrej@sury.org> Thu, 28 Jun 2012 12:14:15 +0200 + +golang (2:1.0.1-1) unstable; urgency=low + + * Imported Upstream version 1.0.1 + * Apply godoc patch to display package list correctly (Closes: #669354) + + -- Ondřej Surý <ondrej@debian.org> Wed, 02 May 2012 15:44:59 +0200 + +golang (2:1-6) unstable; urgency=low + + * Merge upstream patch to fix homedir issue + (http://code.google.com/p/go/source/detail?r=709120aecee0) + * Disable GNU/KFreeBSD build (Closes: #668794) + + -- Ondřej Surý <ondrej@debian.org> Wed, 18 Apr 2012 09:53:30 +0200 + +golang (2:1-5) unstable; urgency=low + + * Rewrite test conditions to make them more readable + (and fix the debian/rules to really not check on armel+kfreebsd) + * Patch upstream test to not fail on missing home directory + + -- Ondřej Surý <ondrej@debian.org> Sun, 15 Apr 2012 12:35:53 +0200 + +golang (2:1-4) unstable; urgency=low + + * Disable tests on Debian GNU/KFreeBSD, they just hang now (Closes: #668794) + * Disable tests on armel, but the invalid instruction needs fixing in + upstream + * Create fake home directory to pass the os/user test + + -- Ondřej Surý <ondrej@debian.org> Sun, 15 Apr 2012 10:49:09 +0200 + +golang (2:1-3) unstable; urgency=high + + * Use VERSION provided by upstream for packaging purposes + * Run tests as a part of a build process + * Install full src tree (except pkg/debug) because go command depend + on sources available + * Install sources without testdata and *_test.go + * Remove circular dependency golang-go->golang-doc->golang-go + * Make sure that timestamp on installed binaries and libraries is same + because go build/install recompiles everything if the go binary has + more recent timestamp than libraries (Closes: #668235) + + Need to update timestamps at postinst time because already created + directories can have time in the past + * Fix couple of lintian errors and warnings + + -- Ondřej Surý <ondrej@debian.org> Wed, 11 Apr 2012 23:21:47 +0200 + +golang (2:1-2) unstable; urgency=low + + * Remove preserving of old -tools settings, there are too many options + now anyway (Closes: #666007) + + -- Ondřej Surý <ondrej@debian.org> Fri, 06 Apr 2012 16:52:13 +0200 + +golang (2:1-1) unstable; urgency=low + + * New major upstream release Go 1 (Closes: #666942) + * Bumb epoch to 2, since 1 < 60 < 2011 (I wonder if next version will be 0 :) + * Debconf templates and debian/control reviewed by the debian-l10n- + english team as part of the Smith review project. (Closes: #663181) + * [Debconf translation updates] + + Pick existing translations from golang-weekly and do appropriate + sed magic to fit golang templates. (Closes: #666884, #666880, #666881) + + Dutch; (Jeroen Schot). (Closes: #664598) + + Czech (Michal Simunek). (Closes: #665385) + + Spanish; (Camaleón). (Closes: #666177) + + Danish (Joe Hansen). (Closes: #666526) + + -- Ondřej Surý <ondrej@debian.org> Fri, 06 Apr 2012 16:04:17 +0200 + +golang (1:60.3-2) unstable; urgency=low + + * debconf-gettextize package templates + + -- Ondřej Surý <ondrej@debian.org> Mon, 20 Feb 2012 22:01:10 +0100 + +golang (1:60.3-1) unstable; urgency=low + + * Imported Upstream version 60.3 + + -- Ondřej Surý <ondrej@debian.org> Mon, 28 Nov 2011 08:46:18 +0100 + +golang (1:60.2-1) unstable; urgency=low + + * Imported Upstream version 60.2 + + -- Ondřej Surý <ondrej@debian.org> Thu, 06 Oct 2011 08:57:00 +0200 + +golang (1:60.1-1) unstable; urgency=low + + * Imported Upstream version 60.1 + + -- Ondřej Surý <ondrej@debian.org> Mon, 19 Sep 2011 10:18:12 +0200 + +golang (1:60-1) unstable; urgency=low + + * Imported Upstream version 60 + * Save upstream VERSION to the archive + * Use GOVERSION as generated by src/version.bash on hg archive time + * Add support for goinstall dashboard debconf question in the Debian + packaging + * Read goinstall dashboard option from debian configuration file + * Remove 005-goinstall_dont_call_home_by_default.patch; replaced by + configuration option + * Fix directory name for upstream archive checkout + + -- Ondřej Surý <ondrej@debian.org> Tue, 13 Sep 2011 13:13:59 +0200 + +golang (1:59-1) unstable; urgency=low + + * Imported Upstream version 59 + * Refresh patches to a new release + * Fix FTBFS on ARM (Closes: #634270) + * Update version.bash to work with Debian packaging and not hg + repository + + -- Ondřej Surý <ondrej@debian.org> Wed, 03 Aug 2011 17:04:59 +0200 + +golang (1:58.1-2) unstable; urgency=low + + * Install golang-doc package by default (Recommends from golang-tools, + Depends from golang) + + -- Ondřej Surý <ondrej@debian.org> Mon, 18 Jul 2011 09:13:43 +0200 + +golang (1:58.1-1) unstable; urgency=low + + * Imported Upstream version 58.1 + + -- Ondřej Surý <ondrej@debian.org> Wed, 13 Jul 2011 08:39:04 +0200 + +golang (1:58-1) unstable; urgency=low + + * Imported Upstream version 58 + + Add NEWS file with upstream API changes + * Remove patch to not update standard package, fixed in upstream + + -- Ondřej Surý <ondrej@debian.org> Thu, 30 Jun 2011 15:36:35 +0200 + +golang (1:57.2-1) unstable; urgency=low + + * Imported Upstream version 57.2 + * More spelling fixes (Closes: #630660) + + -- Ondřej Surý <ondrej@debian.org> Thu, 16 Jun 2011 11:10:58 +0200 + +golang (1:57.1-4) unstable; urgency=low + + * Description update to have proper articles and capitalization + (Closes: #630189) + * Add extended description about Go being experimental and that the + languager can change between releases + + -- Ondřej Surý <ondrej@debian.org> Tue, 14 Jun 2011 21:38:11 +0200 + +golang (1:57.1-3) unstable; urgency=low + + * Fix "the Google's Go implementation" in extended description + (Closes: #627814) + * Update Vcs-* links + * Install vim ftplugin files into correct directory (Closes: #629844) + + -- Ondřej Surý <ondrej@debian.org> Thu, 09 Jun 2011 10:10:41 +0200 + +golang (1:57.1-2) unstable; urgency=low + + * Bump standards version to 3.9.2 + * Capitalize Kate (Closes: #627036) + * Import slightly modified patch to be more clear about $GOPATH + installs for non-root users + * Remove don't install deps patch from goinstall; deprecated by + $GOPATH installs + + -- Ondřej Surý <ondrej@debian.org> Mon, 23 May 2011 11:07:11 +0200 + +golang (1:57.1-1) unstable; urgency=low + + * Add support for dot-minor releases + * Imported Upstream version 57.1 + + -- Ondřej Surý <ondrej@debian.org> Mon, 16 May 2011 11:45:53 +0200 + +golang (1:57-3) unstable; urgency=low + + [ Florian Weimer ] + * golang-tools: install gofix binary + + [ Ondřej Surý ] + * Add lintian-overrides for gofix binary + + -- Ondřej Surý <ondrej@debian.org> Sat, 07 May 2011 20:41:58 +0200 + +golang (1:57-2) unstable; urgency=low + + * Remove weekly code from debian/rules + * Add golang meta-package + * Don't create tool chain symlinks twice + * Make debian/rules more generic for simpler sync between weekly + and release branches + + -- Ondřej Surý <ondrej@debian.org> Wed, 04 May 2011 16:48:24 +0200 + +golang (1:57-1) unstable; urgency=low + + * Imported Upstream version r57 + * Bumped epoch version to 1, to convert from date based versions + to release number based version + * Allow release to migrate to testing (Closes: #624408) + * Add kate and vim syntax highlighting (Closes: #624544) + * Add -dbg package with debugging symbols + + -- Ondřej Surý <ondrej@debian.org> Wed, 04 May 2011 01:20:07 +0200 + +golang (2011.04.27-2) unstable; urgency=low + + * Fix yet another build failure on kfreebsd (use linux userspace) + + -- Ondřej Surý <ondrej@debian.org> Fri, 29 Apr 2011 16:22:47 +0200 + +golang (2011.04.27-1) unstable; urgency=low + + * Imported Upstream version 2011.04.27 + * Update debian/rules to allow pulling weekly upstream releases + * Don't remove RUNPATH from binaries; fixed upstream (golang#1527) + * Set GOHOSTOS and GOHOSTARCH to match dpkg-architecture variables + * Add support for kfreebsd-i386, kfreebsd-amd64, armel and armhf + architectures + + 006-fix_kfreebsd_build.patch: + - Add GNU/KFreeBSD support by replacing all uname calls by $(GOOS) + + 007-use_native_dynamic_linker_on_kfreebsd.patch: + - Use native kfreebsd dynamic linker (/lib/ld-*.so.1) + * Add information about available architectures (Closes: #623877) + * Don't strip gotest + * Add Depends: golang-go to golang-tools + * Add better support for armhf + + -- Ondřej Surý <ondrej@debian.org> Thu, 28 Apr 2011 16:14:39 +0200 + +golang (2011.04.13-1) unstable; urgency=low + + [ Florian Weimer ] + * Delete bin directory in clean target + * Enable parallel build + * golang-src: install source files directly + * Use proper symlink targets for architecture-independent toolchain + names + * Emacs mode: indent keys in struct literals properly + + [ Ondřej Surý ] + * Imported Upstream weekly version 2011.04.13 + * Update patches to new weekly release + * Add lintian-override for gotest binary + + -- Ondřej Surý <ondrej@debian.org> Tue, 26 Apr 2011 09:59:28 +0200 + +golang (2011.03.07.1-1) unstable; urgency=low + + * Imported Upstream version 2011.03.07.1 + * Install to /usr/lib/go + * Remove xkcd strip to get rid of CC-NC-BY + * Update golang-src.install to new upstream + * Remove 002-use_GOROOT_FINAL_in_generated_binaries.patch; merged + upstream + * Make all .go files no-executable + * Update lintian-overrides to include both types of syntax + + -- Ondřej Surý <ondrej@debian.org> Wed, 20 Apr 2011 17:36:48 +0200 + +golang (2011.02.15-2) unstable; urgency=low + + [ Ondřej Surý ] + * Add ${misc:Depends} to golang-mode to shutup lintian + * Rehaul build system and add golang-src package with .go source files + * goinstall: do not automatically install prerequisities + * goinstall: don't report to dashboard by default + * Add a README.Debian about local modifications to goinstall + * Add warning about local modifications also directly to goinstall command + + [ Florian Weimer ] + * Fix syntax error in 004- + dont_reinstall_dependencies_in_goinstall.patch + + -- Ondřej Surý <ondrej@debian.org> Fri, 18 Feb 2011 16:02:09 +0100 + +golang (2011.02.15-1) unstable; urgency=low + + [ Obey Arthur Liu ] + * Added pkg-google git repo to control file + + [ Florian Weimer ] + * Build golang-mode package + + [ Ondřej Surý ] + * Imported Upstream version 2011.02.15 + * Don't compress godoc documentation + * Correctly use $GOROOT_FINAL in the build chain + * Remove RPATH/RUNPATH from go binaries + + -- Ondřej Surý <ondrej@debian.org> Fri, 18 Feb 2011 11:39:10 +0100 + +golang (2011.02.01.1-1) unstable; urgency=low + + [ Ivan Wong ] + * Initial release (Closes: #574371) + + [ Jonathan Nieder ] + * Fill out copyright file + * Rewrite debian/rules using dh driver + * debian: fix get-orig-source rule + * debian: do not install extra files on repeated build + * debian: fix reversed ‘if’ + * debian: do not leave around stale debian/env.sh+ file + * debian: Build-Depends on awk instead of gawk + * debian: add run-time dependency on perl + * debian: add build-time dependency on perl + * debian: fix setting of GOARM on arm + * debian: do not compress files in web page + * debian: install favicon + + [ Ondřej Surý ] + * Make myself a maintainer + * Add patch to allow IPv4 on IPv6 sockets (Courtesy of Florian Weimer) + * Use GOROOT_FINAL and change GOBIN to /usr/bin + * Get rid of env.sh and wrappers + * Add support for building in i386 pbuilder on amd64 architecture + * Rename source package to golang to match upstream repository name + * Add golang-doc package + * Split package into compiler, docs and tools + * Don't install quietgcc and hgpatch + * Don't generate fake gomake + * Update golang-doc package + * Export GOHOSTARCH and GOHOSTOS + * Disable build time checks + * Fail on missed installed files + * Revert s{tmp{golang-go{ change in DESTDIR + * Relicence debian/ files from versionless GPL to GPL-3 + * Move golang-doc to doc section + * Add more lintian overrides for Go binaries + * Install all 6,8,5 variants of commands + * Install golang-* symlinks for 6,8,5* commands + * Don't strip govet as well + * Remove ${shlibs:Depends} where it doesn't belong + * Move more html files to golang-doc package + * Remove codereview directory - some python code to deal with mercurial + + -- Ondřej Surý <ondrej@debian.org> Mon, 14 Feb 2011 17:42:39 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..7f8f011eb --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..b93cf928d --- /dev/null +++ b/debian/control @@ -0,0 +1,342 @@ +# DO NOT EDIT THIS FILE. EDIT debian/control.* instead! +Source: golang +Section: devel +Priority: optional +Maintainer: Michael Stapelberg <stapelberg@debian.org> +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-golang/golang.git +Vcs-Git: git://anonscm.debian.org/pkg-golang/golang.git +Build-Depends: debhelper (>= 7.4.10), bison, ed, mawk | awk, perl, netbase +Build-Depends-Indep: po-debconf +Standards-Version: 3.9.3 +Homepage: http://golang.org/ + +Package: golang-go +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, + golang-src (>= ${source:Version}), + golang-go-linux-${go:Hostarch} (= ${source:Version}) +Replaces: golang-weekly-go, golang-weekly-tools, golang-tools +Conflicts: golang-weekly-go, golang-weekly-tools, golang-tools +Provides: go-compiler, golang-weekly-go, golang-weekly-tools, golang-tools +Recommends: golang-go.tools +Description: Go programming language compiler + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a + fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. + . + This package provides an assembler, a compiler, and a linker for the + Go programming language. This is Google's implementation of the Go + tool chain. + +Package: golang-src +Replaces: golang-weekly-src, golang-go (<< 2:1-3~) +Conflicts: golang-weekly-src +Provides: golang-weekly-src +Breaks: golang-go (<< 2:1-3~) +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Go programming language compiler - source files + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a + fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. + . + This package provides the Go programming language source files needed + for godoc and goinstall. + +Package: golang-doc +Replaces: golang-weekly-doc +Conflicts: golang-weekly-doc +Provides: golang-weekly-doc +Depends: ${misc:Depends}, golang-go +Architecture: all +Section: doc +Description: Go programming language compiler - documentation + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a fast, + statically typed, compiled language that feels like a dynamically + typed, interpreted language. + . + This package provides the documentation for the Go programming + language. You can view the formatted documentation by running "godoc + --http=:6060", and then visiting http://localhost:6060/doc/install.html. + +Package: golang +Replaces: golang-weekly +Conflicts: golang-weekly +Provides: golang-weekly +Depends: ${misc:Depends}, + golang-go (>= ${source:Version}), + golang-src (>= ${source:Version}), + golang-doc (>= ${source:Version}) +Architecture: all +Description: Go programming language compiler - metapackage + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a + fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. + . + This package is a metapackage that, when installed, guarantees + that (most of) a full Go development environment is installed. + +Package: golang-mode +Architecture: all +Depends: ${misc:Depends}, emacs23 | emacsen, emacsen-common (>= 1.4.14) +Suggests: golang-go +Description: Go programming language - mode for GNU Emacs + This package provides a GNU Emacs major mode for editing code in + Google's Go programming language. + +Package: kate-syntax-go +Architecture: all +Depends: ${misc:Depends}, kate +Suggests: golang-go +Description: Go programming language - Kate highlighting syntax files + This package provides syntax files for the Kate editor for editing code + in Google's Go programming language. + +Package: vim-syntax-go +Architecture: all +Depends: ${misc:Depends}, vim +Recommends: vim-addon-manager +Suggests: golang-go +Description: Go programming language - Vim highlighting syntax files + This package provides syntax files for the Vim editor for editing code + in Google's Go programming language. + +Package: golang-go-linux-amd64 +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for linux_amd64 + This package contains the Go standard library, + compiled for linux_amd64. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-linux-arm +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for linux_arm + This package contains the Go standard library, + compiled for linux_arm. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-linux-386 +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for linux_386 + This package contains the Go standard library, + compiled for linux_386. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-freebsd-amd64 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for freebsd_amd64 + This package contains the Go standard library, + compiled for freebsd_amd64. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-freebsd-arm +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for freebsd_arm + This package contains the Go standard library, + compiled for freebsd_arm. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-freebsd-386 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for freebsd_386 + This package contains the Go standard library, + compiled for freebsd_386. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-windows-amd64 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for windows_amd64 + This package contains the Go standard library, + compiled for windows_amd64. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-windows-386 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for windows_386 + This package contains the Go standard library, + compiled for windows_386. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-darwin-amd64 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for darwin_amd64 + This package contains the Go standard library, + compiled for darwin_amd64. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-darwin-386 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for darwin_386 + This package contains the Go standard library, + compiled for darwin_386. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-netbsd-amd64 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for netbsd_amd64 + This package contains the Go standard library, + compiled for netbsd_amd64. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. + +Package: golang-go-netbsd-386 +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for netbsd_386 + This package contains the Go standard library, + compiled for netbsd_386. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. diff --git a/debian/control.base b/debian/control.base new file mode 100644 index 000000000..213ff39cf --- /dev/null +++ b/debian/control.base @@ -0,0 +1,125 @@ +Source: golang +Section: devel +Priority: optional +Maintainer: Michael Stapelberg <stapelberg@debian.org> +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-golang/golang.git +Vcs-Git: git://anonscm.debian.org/pkg-golang/golang.git +Build-Depends: debhelper (>= 7.4.10), bison, ed, mawk | awk, perl, netbase +Build-Depends-Indep: po-debconf +Standards-Version: 3.9.3 +Homepage: http://golang.org/ + +Package: golang-go +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, + golang-src (>= ${source:Version}), + golang-go-linux-${go:Hostarch} (= ${source:Version}) +Replaces: golang-weekly-go, golang-weekly-tools, golang-tools +Conflicts: golang-weekly-go, golang-weekly-tools, golang-tools +Provides: go-compiler, golang-weekly-go, golang-weekly-tools, golang-tools +Recommends: golang-go.tools +Description: Go programming language compiler + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a + fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. + . + This package provides an assembler, a compiler, and a linker for the + Go programming language. This is Google's implementation of the Go + tool chain. + +Package: golang-src +Replaces: golang-weekly-src, golang-go (<< 2:1-3~) +Conflicts: golang-weekly-src +Provides: golang-weekly-src +Breaks: golang-go (<< 2:1-3~) +Architecture: i386 amd64 armel armhf +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Go programming language compiler - source files + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a + fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. + . + This package provides the Go programming language source files needed + for godoc and goinstall. + +Package: golang-doc +Replaces: golang-weekly-doc +Conflicts: golang-weekly-doc +Provides: golang-weekly-doc +Depends: ${misc:Depends}, golang-go +Architecture: all +Section: doc +Description: Go programming language compiler - documentation + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a fast, + statically typed, compiled language that feels like a dynamically + typed, interpreted language. + . + This package provides the documentation for the Go programming + language. You can view the formatted documentation by running "godoc + --http=:6060", and then visiting http://localhost:6060/doc/install.html. + +Package: golang +Replaces: golang-weekly +Conflicts: golang-weekly +Provides: golang-weekly +Depends: ${misc:Depends}, + golang-go (>= ${source:Version}), + golang-src (>= ${source:Version}), + golang-doc (>= ${source:Version}) +Architecture: all +Description: Go programming language compiler - metapackage + The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, and + efficient. Its concurrency mechanisms make it easy to write programs + that get the most out of multicore and networked machines, while its + novel type system enables flexible and modular program construction. + Go compiles quickly to machine code yet has the convenience of + garbage collection and the power of run-time reflection. It's a + fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. + . + This package is a metapackage that, when installed, guarantees + that (most of) a full Go development environment is installed. + +Package: golang-mode +Architecture: all +Depends: ${misc:Depends}, emacs23 | emacsen, emacsen-common (>= 1.4.14) +Suggests: golang-go +Description: Go programming language - mode for GNU Emacs + This package provides a GNU Emacs major mode for editing code in + Google's Go programming language. + +Package: kate-syntax-go +Architecture: all +Depends: ${misc:Depends}, kate +Suggests: golang-go +Description: Go programming language - Kate highlighting syntax files + This package provides syntax files for the Kate editor for editing code + in Google's Go programming language. + +Package: vim-syntax-go +Architecture: all +Depends: ${misc:Depends}, vim +Recommends: vim-addon-manager +Suggests: golang-go +Description: Go programming language - Vim highlighting syntax files + This package provides syntax files for the Vim editor for editing code + in Google's Go programming language. diff --git a/debian/control.cross b/debian/control.cross new file mode 100644 index 000000000..592b4f94a --- /dev/null +++ b/debian/control.cross @@ -0,0 +1,18 @@ + +Package: golang-go-@OS@-@ARCH@ +Architecture: @BUILDARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} +Breaks: golang-go (<< 2:1.1-2) +Replaces: golang-go (<< 2:1.1-2) +Description: Go standard library compiled for @OS@_@ARCH@ + This package contains the Go standard library, + compiled for @OS@_@ARCH@. + . + This package is just one of a number of packages, each providing the Go + standard library for a specific operating system/architecture combination. + Go supports cross-compilation, so each of these packages is useful on any + architecture. + . + The files contained in this package are independent of the host architecture, + that is, you can use golang-go-linux-amd64 to generate a binary for + linux_amd64, even though you are executing the Go compiler on linux_386. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..ae2e96f78 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,1133 @@ +Source: https://go.googlecode.com/hg/ + +Files: * +Copyright: © 2009, 2010, The Go Authors. All rights reserved. +License: Go + +Files: include/*, src/lib9/*, src/libbio/*, src/pkg/runtime/386/*, + src/libmach/*, src/pkg/runtime/arm/vlop.s, src/pkg/runtime/arm/vlrt.c, + src/pkg/runtime/arm/memset.s, src/pkg/runtime/arm/memmove.s, + src/pkg/runtime/amd64/memmove.s, src/pkg/runtime/amd64/memmove.s, + src/pkg/math/fltasm_amd64.s, src/cmd/6c/txt.c, src/cmd/gopack/ar.c, + src/cmd/ld/lib.[ch], src/cmd/6a/a.[yh], src/cmd/6a/lex.c, + src/cmd/5g/gobj.c, src/cmd/5g/list.c, src/cmd/5g/gsubr.c, + src/cmd/5g/opt.h, src/cmd/8c/*, src/cmd/goyacc/goyacc.go, + src/cmd/5l/*, src/cmd/6g/reg.c, src/cmd/6g/gobj.c, + src/cmd/6g/peep.c, src/cmd/6g/list.c, src/cmd/6g/gsubr.c, + src/cmd/6g/opt.c, src/cmd/8l/*, src/cmd/nm/nm.c, + src/cmd/gc/bits.c, src/cmd/cc/*, src/cmd/5a/*, src/cmd/8g/reg.c, + src/cmd/8g/gobj.c, src/cmd/8g/peep.c, src/cmd/8g/list.c, + src/cmd/8g/gsubr.c, src/cmd/8g/opt.h, src/cmd/5c/*, src/cmd/6l/*, + src/cmd/8a/* +Origin: Plan 9 from User Space include/, src/lib9/, src/libmach/ + Inferno utils/include/, utils/libmach/, utils/6c/, utils/iar/, + utils/6l/, utils/6a/, utils/5c/, utils/8c/, utils/iyacc/, + utils/5l/, utils/6c/, utils/8l/, utils/nm/, utils/cc/, + utils/5a/, utils/8a/, lib9/, libkern/, libbio/ +Copyright: © 1994-1999 Lucent Technologies Inc. All rights reserved. + Portions © 1997-1999 Vita Nuova Limited + Portions © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com) + Portions © 2001-2007 Russ Cox. All rights reserved. + Portions © 2004,2006 Bruce Ellis + Portions © 1995-2007 C H Forsyth (forsyth@terzarima.net) + Revisions © 2000-2007 Lucent Technologies Inc. and others + Portions © 2009 The Go Authors. All rights reserved. +License: X11 + +Files: src/lib9/goos.c, src/lib9/win32.c, src/lib9/Makefile, + src/pkg/runtime/386/asm.s, src/pkg/runtime/386/closure.c, + src/pkg/runtime/arm/asm.s, src/pkg/runtime/arm/closure.c, + src/pkg/runtime/arm/cas5.s, src/libmach/fakeobj.c, + src/libmach/macho.h, src/cmd/6c/doc.go, src/cmd/6c/Makefile, + src/cmd/8c/doc.go, src/cmd/8c/Makefile, src/cmd/5l/doc.go, + src/cmd/5l/softfloat.c, src/cmd/5l/Makefile, src/cmd/8l/doc.go, + src/cmd/8l/Makefile, src/cmd/cc/doc.go, src/cmd/cc/Makefile, + src/cmd/5a/doc.go, src/cmd/5a/Makefile, src/cmd/5c/doc.go, + src/cmd/5c/Makefile, src/cmd/6l/doc.go, src/cmd/6l/Makefile, + src/cmd/8a/doc.go, src/cmd/8a/Makefile +Copyright: © 2009, 2010, The Go Authors. All rights reserved. +License: Go + +Files: include/fmt.h, src/lib9/utf/*, src/lib9/fmt/*, + src/pkg/runtime/rune.c +Copyright: © 1998-2002 by Lucent Technologies. + Portions © 2004 Google Inc. + Portions © 2009 The Go Authors. All rights reserved. +License: + The authors of this software are Rob Pike and Ken Thompson, + with contributions from Mike Burrows and Sean Dorward. + Copyright (c) 1998-2006 by Lucent Technologies. + Portions Copyright (c) 2004 Google Inc. + Portions Copyright (c) 2009 The Go Authors. All rights reserved. + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire notice + is included in all copies of any software which is or includes a copy + or modification of this software and in all copies of the supporting + documentation for such software. + THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY + REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY + OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +Files: src/lib9/utf/mkrunetype.c +Copyright: © 2009, The Go Authors. All rights reserved. +License: Go + +Files: src/cmd/cov/tree.[ch] +Copyright: © 2003-2007 Russ Cox, Tom Bergan, Austin Clements, + Massachusetts Institute of Technology + Portions © 2009 The Go Authors. All rights reserved. +License: X11 + +Files: src/cmd/prof/gopprof +Origin: based on src/pprof from google-perftools +Copyright: © 1998-2007, Google Inc. +License: Perftools +Notes: + This is a copy of http://google-perftools.googlecode.com/svn/trunk/src/pprof + with local modifications to handle generation of SVG images and + the Go-style pprof paths. These modifications will probably filter + back into the official source before long. + It's convenient to have a copy here because we need just the one + Perl script, not all the C++ libraries that surround it. + +Files: src/pkg/runtime/tiny/bootblock +Origin: Xv6 rev3 +Copyright: © 2006-2009 Frans Kaashoek, Robert Morris, Russ Cox, + Massachusetts Institute of Technology +License: X11 + +Files: src/pkg/debug/dwarf/testdata/typedef.macho, + src/pkg/debug/dwarf/testdata/typedef.elf +Source: src/pkg/debug/dwarf/testdata/typedef.c +Copyright: © 2009, The Go Authors. All rights reserved. +License: Go + +Files: src/pkg/debug/macho/testdata/gcc-amd64-darwin-exec-debug, + src/pkg/debug/macho/testdata/gcc-386-darwin-exec, + src/pkg/debug/macho/testdata/gcc-amd64-darwin-exec, + src/pkg/debug/elf/testdata/go-relocation-test-gcc424-x86-64.o, + src/pkg/debug/elf/testdata/gcc-amd64-linux-exec, + src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86.o, + src/pkg/debug/elf/testdata/gcc-386-freebsd-exec, + src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86-64.o +Source: ? + +Files: src/pkg/debug/elf/elf.go, src/cmd/ld/elf.h +Origin: FreeBSD src/sys/sys/elf{32,64,_common}.h, src/sys/*/include/elf.h +Copyright: © 1996-1998 John D. Polstra. All rights reserved. + © 2001 David E. O'Brien + Portions © 2009 The Go Authors. All rights reserved. +License: FreeBSD + +Files: src/pkg/math/log1p.go +Origin: Translated and simplified from FreeBSD /usr/src/lib/msun/src/s_log1p.c +Copyright: © 2010 The Go Authors. All rights reserved. + Based on code © 1993 by Sun Microsystems, Inc. All rights reserved. +License: Go + The original C code, the long comment, and the constants + below are from FreeBSD's /usr/src/lib/msun/src/s_log1p.c + and came with this notice. The go code is a simplified + version of the original C. + . + ==================================================== + Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + . + Developed at SunPro, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +Files: src/pkg/image/jpeg/idct.go +Origin: Translated from idct.c in the MPEG-2 (ISO/IEC 13818-4) + technical report video software verifier (mpeg2decode) + version 960109 +Copyright: © 1996, MPEG Software Simulation Group. All Rights Reserved. +License: MPEG + +Files: src/pkg/exp/spacewar/pdp1.go, src/pkg/exp/spacewar/spacewar.go +Origin: Translated from the Java emulator pdp1.java in Spacewar! +Copyright: © 1996 Barry Silverman, Brian Silverman, Vadim Gerasimov. + Portions © 2009 The Go Authors. +License: Spacewar! + +Files: src/pkg/exp/spacewar/code.go +Origin: The original Spacewar! +Copyright: See license +License: PD + This file contains the assembly language and machine code for + Spacewar!, the original PDP-1 video game. It is downloaded from + http://spacewar.oversigma.com/sources/sources.zip which has + the following notice at http://spacewar.oversigma.com/: + . + Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell, + and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by + Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz, + together with Alan Kotok, Steve Piner, and Robert A Saunders. + Spacewar! is in the public domain, but this credit paragraph must + accompany all distributed versions of the program. + . + This is the original version! Martin Graetz provided us with a + printed version of the source. We typed in in again - it was about + 40 pages long - and re-assembled it with a PDP-1 assembler written + in PERL. The resulting binary runs on a PDP-1 emulator written as + a Java applet. The code is extremely faithful to the original. There + are only two changes. 1)The spaceships have been made bigger and + 2) The overall timing has been special cased to deal with varying + machine speeds. + . + The "a", "s", "d", "f" keys control one of the spaceships. The "k", + "l", ";", "'" keys control the other. The controls are spin one + way, spin the other, thrust, and fire. + . + Barry Silverman + Brian Silverman + Vadim Gerasimov + +Files: src/pkg/exp/4s/xs.go, src/pkg/exp/4s/data.go +Origin: Derived from Plan 9's /sys/src/games/xs.c +Copyright: © 2003, Lucent Technologies Inc. and others. All Rights Reserved. + Portions © 2009 The Go Authors. All Rights Reserved. +License: Plan9 + +Files: src/cmd/goyacc/units.txt +Origin: Plan9's /lib/units +Copyright: © 2003, Lucent Technologies Inc. and others. All Rights Reserved. +License: Plan9 + +Files: src/cmd/goyacc/units.y +Origin: Derived from Plan9's /sys/src/cmd/units.y +Copyright: © 2003, Lucent Technologies Inc. and others. All Rights Reserved. + Portions © 2009 The Go Authors. All Rights Reserved. +License: Plan9 + +Files: src/pkg/html/testdata/webkit/* +Origin: WebKit LayoutTests/html5lib/resources/ +Copyright: © 2009, Apple Inc. All rights reserved. +License: WebKit + +Files: src/pkg/image/png/testdata/pngsuite/* +Origin: libpng 1.2.40, contrib/pngsuite/* +Copyright: © Willem van Schaik, 1999 +License: noderivs + Permission to use, copy, and distribute these images for any purpose and + without fee is hereby granted. + +Files: lib/codereview/* +Copyright: © 2007-2009 Google Inc. +License: Apache-2.0 + +Files: lib/godoc/godoc.html +Copyright: © 2009, 2010, The Go Authors. All rights reserved. +License: CC-BY-3.0 + Except as noted, this content is licensed under Creative Commons + Attribution 3.0 + +Files: misc/cgo/gmp/pi.go +Copyright: Brent Fulgham +Authors: contributed by The Go Authors. + based on pidigits.c (by Paolo Bonzini & Sean Bartlett, + modified by Michael Mellor) +License: Shootout + +Files: test/garbage/tree.go, test/bench/* +Copyright: Brent Fulgham +License: Shootout + +Files: favicon.ico, doc/gopher/* +Author: Renée French +License: CC-BY-3.0 + The mascot and logo were designed by + Renée French <http://reneefrench.blogspot.com>, who also designed + Glenda <http://plan9.bell-labs.com/plan9/glenda.html>, + the Plan 9 bunny. + The gopher is derived from one she used for an WFMU <http://wfmu.org/> + T-shirt design some years ago. + The logo and mascot are covered by the + Creative Commons Attribution 3.0 <http://creativecommons.org/licenses/by/3.0> + license. + +Files: doc/* +Copyright: © 2009, 2010, The Go Authors. All rights reserved. +License: CC-BY-3.0 + Except as noted, this content is licensed under Creative Commons + Attribution 3.0 + +Files: doc/htmlgen.go, doc/makehtml, doc/popups.js, doc/style.css, + doc/Makefile, doc/codelab/wiki/Makefile, doc/prog.sh, doc/progs/*, + doc/codewalk/codewalk.css, doc/codewalk/codewalk.js, + doc/codewalk/urlpoll.go, doc/talks/io2010/*.go +Copyright: © 2009, 2010, The Go Authors. All rights reserved. +License: Go + +Files: doc/talks/slidy.* +Origin: http://www.w3.org/Talks/Tools/Slidy/ +Copyright: © 2005 W3C (MIT, ERCIM, Keio), All Rights Reserved. +License: W3C + W3C liability, trademark, document use and software licensing + rules apply, see: + . + http://www.w3.org/Consortium/Legal/copyright-documents + http://www.w3.org/Consortium/Legal/copyright-software + +Files: debian/* +Copyright: 2010 Ivan Wong <ivanwyc@gmail.com> + 2010-2013 Ondřej Surý <ondrej@debian.org> + 2013 Michael Stapelberg <stapelberg@debian.org> +License: Go + +License: Go + Copyright © 2009 The Go Authors. All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + . + Subject to the terms and conditions of this License, Google hereby + grants to You a perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable (except as stated in this section) patent + license to make, have made, use, offer to sell, sell, import, and + otherwise transfer this implementation of Go, where such license + applies only to those patent claims licensable by Google that are + necessarily infringed by use of this implementation of Go. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that this + implementation of Go or a Contribution incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, then any patent licenses granted to You under this + License for this implementation of Go shall terminate as of the date + such litigation is filed. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the Apache License, Version 2.0 can be found at + /usr/share/common-licenses/Apache-2.0. + +License: X11 + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: FreeBSD + Copyright (c) 1996-1998 John D. Polstra. All rights reserved. + Copyright (c) 2001 David E. O'Brien + Portions Copyright 2009 The Go Authors. All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: MPEG + These software programs are available to the user without any license fee or + royalty on an "as is" basis. The MPEG Software Simulation Group disclaims + any and all warranties, whether express, implied, or statuary, including any + implied warranties or merchantability or of fitness for a particular + purpose. In no event shall the copyright-holder be liable for any + incidental, punitive, or consequential damages of any kind whatsoever + arising from the use of these programs. + . + This disclaimer of warranty extends to the user of these programs and user's + customers, employees, agents, transferees, successors, and assigns. + . + The MPEG Software Simulation Group does not represent or warrant that the + programs furnished hereunder are free of infringement of any third-party + patents. + . + Commercial implementations of MPEG-1 and MPEG-2 video, including shareware, + are subject to royalty fees to patent holders. Many of these patents are + general enough such that they are unavoidable regardless of implementation + design. + +License: Perftools + Copyright (c) 1998-2007, Google Inc. + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Shootout + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + * Neither the name of "The Computer Language Benchmarks Game" nor the + name of "The Computer Language Shootout Benchmarks" nor the names of + its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: WebKit + Copyright (C) 2009 Apple Inc. All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Spacewar! + Copyright (c) 1996 Barry Silverman, Brian Silverman, Vadim Gerasimov. + Portions Copyright (c) 2009 The Go Authors. + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + . + This package and spacewar.go implement a simple PDP-1 emulator + complete enough to run the original PDP-1 video game Spacewar! + See nacl/README for details on running them. + . + They are a translation of the Java emulator pdp1.java in + http://spacewar.oversigma.com/sources/sources.zip. + . + See also the PDP-1 handbook at http://www.dbit.com/~greeng3/pdp1/pdp1.html + . + http://spacewar.oversigma.com/readme.html begins: + . + Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell, + and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by + Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz, + together with Alan Kotok, Steve Piner, and Robert A Saunders. + Spacewar! is in the public domain, but this credit paragraph must + accompany all distributed versions of the program. + +License: Plan9 + Lucent Public License Version 1.02 + . + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE + ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES + RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + . + 1. DEFINITIONS + . + "Contribution" means: + . + a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original Program, + and + b. in the case of each Contributor, + i. changes to the Program, and + ii. additions to the Program; + where such changes and/or additions to the Program were added to the + Program by such Contributor itself or anyone acting on such Contributor's + behalf, and the Contributor explicitly consents, in accordance with + Section 3C, to characterization of the changes and/or additions as + Contributions. + . + "Contributor" means LUCENT and any other entity that has Contributed a + Contribution to the Program. + . + "Distributor" means a Recipient that distributes the Program, modifications to + the Program, or any part thereof. + . + "Licensed Patents" mean patent claims licensable by a Contributor which are + necessarily infringed by the use or sale of its Contribution alone or when + combined with the Program. + . + "Original Program" means the original version of the software accompanying + this Agreement as released by LUCENT, including source code, object code and + documentation, if any. + . + "Program" means the Original Program and Contributions or any part thereof + . + "Recipient" means anyone who receives the Program under this Agreement, + including all Contributors. + . + 2. GRANT OF RIGHTS + . + a. Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free copyright license to + reproduce, prepare derivative works of, publicly display, publicly + perform, distribute and sublicense the Contribution of such Contributor, + if any, and such derivative works, in source code and object code form. + . + b. Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free patent license under + Licensed Patents to make, use, sell, offer to sell, import and otherwise + transfer the Contribution of such Contributor, if any, in source code and + object code form. The patent license granted by a Contributor shall also + apply to the combination of the Contribution of that Contributor and the + Program if, at the time the Contribution is added by the Contributor, + such addition of the Contribution causes such combination to be covered + by the Licensed Patents. The patent license granted by a Contributor + shall not apply to (i) any other combinations which include the + Contribution, nor to (ii) Contributions of other Contributors. No + hardware per se is licensed hereunder. + . + c. Recipient understands that although each Contributor grants the licenses + to its Contributions set forth herein, no assurances are provided by any + Contributor that the Program does not infringe the patent or other + intellectual property rights of any other entity. Each Contributor + disclaims any liability to Recipient for claims brought by any other + entity based on infringement of intellectual property rights or + otherwise. As a condition to exercising the rights and licenses granted + hereunder, each Recipient hereby assumes sole responsibility to secure + any other intellectual property rights needed, if any. For example, if a + third party patent license is required to allow Recipient to distribute + the Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + . + d. Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright + license set forth in this Agreement. + . + 3. REQUIREMENTS + . + A. Distributor may choose to distribute the Program in any form under this + Agreement or under its own license agreement, provided that: + . + a. it complies with the terms and conditions of this Agreement; + . + b. if the Program is distributed in source code or other tangible form, a + copy of this Agreement or Distributor's own license agreement is included + with each copy of the Program; and + . + c. if distributed under Distributor's own license agreement, such license + agreement: + i. effectively disclaims on behalf of all Contributors all warranties + and conditions, express and implied, including warranties or + conditions of title and non-infringement, and implied warranties or + conditions of merchantability and fitness for a particular purpose; + ii. effectively excludes on behalf of all Contributors all liability for + damages, including direct, indirect, special, incidental and + consequential damages, such as lost profits; and + iii. states that any provisions which differ from this Agreement are + offered by that Contributor alone and not by any other party. + . + B. Each Distributor must include the following in a conspicuous location in + the Program: + . + Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved. + . + C. In addition, each Contributor must identify itself as the originator of its + Contribution in a manner that reasonably allows subsequent Recipients to + identify the originator of the Contribution. Also, each Contributor must agree + that the additions and/or changes are intended to be a Contribution. Once a + Contribution is contributed, it may not thereafter be revoked. + . + 4. COMMERCIAL DISTRIBUTION + . + Commercial distributors of software may accept certain responsibilities with + respect to end users, business partners and the like. While this license is + intended to facilitate the commercial use of the Program, the Distributor who + includes the Program in a commercial product offering should do so in a manner + which does not create potential liability for Contributors. Therefore, if a + Distributor includes the Program in a commercial product offering, such + Distributor ("Commercial Distributor") hereby agrees to defend and indemnify + every Contributor ("Indemnified Contributor") against any losses, damages and + costs (collectively "Losses") arising from claims, lawsuits and other legal + actions brought by a third party against the Indemnified Contributor to the + extent caused by the acts or omissions of such Commercial Distributor in + connection with its distribution of the Program in a commercial product + offering. The obligations in this section do not apply to any claims or Losses + relating to any actual or alleged intellectual property infringement. In order + to qualify, an Indemnified Contributor must: a) promptly notify the Commercial + Distributor in writing of such claim, and b) allow the Commercial Distributor + to control, and cooperate with the Commercial Distributor in, the defense and + any related settlement negotiations. The Indemnified Contributor may + participate in any such claim at its own expense. + . + For example, a Distributor might include the Program in a commercial product + offering, Product X. That Distributor is then a Commercial Distributor. If + that Commercial Distributor then makes performance claims, or offers + warranties related to Product X, those performance claims and warranties are + such Commercial Distributor's responsibility alone. Under this section, the + Commercial Distributor would have to defend claims against the Contributors + related to those performance claims and warranties, and if a court requires + any Contributor to pay any damages as a result, the Commercial Distributor + must pay those damages. + . + 5. NO WARRANTY + . + EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR + IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, + NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each + Recipient is solely responsible for determining the appropriateness of using + and distributing the Program and assumes all risks associated with its + exercise of rights under this Agreement, including but not limited to the + risks and costs of program errors, compliance with applicable laws, damage to + or loss of data, programs or equipment, and unavailability or interruption of + operations. + . + 6. DISCLAIMER OF LIABILITY + . + EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY + CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION + LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE + EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY + OF SUCH DAMAGES. + . + 7. EXPORT CONTROL + . + Recipient agrees that Recipient alone is responsible for compliance with the + United States export administration regulations (and the export control laws + and regulation of any other countries). + . + 8. GENERAL + . + If any provision of this Agreement is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of the + remainder of the terms of this Agreement, and without further action by the + parties hereto, such provision shall be reformed to the minimum extent + necessary to make such provision valid and enforceable. + . + If Recipient institutes patent litigation against a Contributor with respect + to a patent applicable to software (including a cross-claim or counterclaim in + a lawsuit), then any patent licenses granted by that Contributor to such + Recipient under this Agreement shall terminate as of the date such litigation + is filed. In addition, if Recipient institutes patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging that + the Program itself (excluding combinations of the Program with other software + or hardware) infringes such Recipient's patent(s), then such Recipient's + rights granted under Section 2(b) shall terminate as of the date such + litigation is filed. + . + All Recipient's rights under this Agreement shall terminate if it fails to + comply with any of the material terms or conditions of this Agreement and does + not cure such failure in a reasonable period of time after becoming aware of + such noncompliance. If all Recipient's rights under this Agreement terminate, + Recipient agrees to cease use and distribution of the Program as soon as + reasonably practicable. However, Recipient's obligations under this Agreement + and any licenses granted by Recipient relating to the Program shall continue + and survive. + . + LUCENT may publish new versions (including revisions) of this Agreement from + time to time. Each new version of the Agreement will be given a distinguishing + version number. The Program (including Contributions) may always be + distributed subject to the version of the Agreement under which it was + received. In addition, after a new version of the Agreement is published, + Contributor may elect to distribute the Program (including its Contributions) + under the new version. No one other than LUCENT has the right to modify this + Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, + Recipient receives no rights or licenses to the intellectual property of any + Contributor under this Agreement, whether expressly, by implication, estoppel + or otherwise. All rights in the Program not expressly granted under this + Agreement are reserved. + . + This Agreement is governed by the laws of the State of New York and the + intellectual property laws of the United States of America. No party to this + Agreement will bring a legal action under this Agreement more than one year + after the cause of action arose. Each party waives its rights to a jury trial + in any resulting litigation. + +License: W3C + This work (and included software, documentation such as READMEs, or + other related items) is being provided by the copyright holders under + the following license. + . + By obtaining, using and/or copying this work, you (the licensee) + agree that you have read, understood, and will comply with the + following terms and conditions. + . + Permission to copy, modify, and distribute this software and its + documentation, with or without modification, for any purpose and + without fee or royalty is hereby granted, provided that you include + the following on ALL copies of the software and documentation or + portions thereof, including modifications: + . + * The full text of this NOTICE in a location viewable to users of + the redistributed or derivative work. + . + * Any pre-existing intellectual property disclaimers, notices, or + terms and conditions. If none exist, the W3C Software Short + Notice should be included (hypertext is preferred, text is + permitted) within the body of any redistributed or derivative + code. + . + * Notice of any changes or modifications to the files, including + the date changes were made. (We recommend you provide URIs to the + location from which the code is derived.) + . + THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. + . + COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL + OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. + . + The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. + . + This version: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + . + This formulation of W3C's notice and license became active on December + 31 2002. This version removes the copyright ownership notice such that + this license can be used with materials other than those owned by the + W3C, reflects that ERCIM is now a host of the W3C, includes references + to this specific dated version of the license, and removes the + ambiguous grant of "use". Otherwise, this version is the same as the + previous version and is written so as to preserve the Free Software + Foundation's assessment of GPL compatibility and OSI's certification + under the Open Source Definition. + +License: CC-BY-3.0 + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS + CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS + PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE + WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND + AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS + LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU + THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH + TERMS AND CONDITIONS. + . + 1. Definitions + . + a. "Adaptation" means a work based upon the Work, or upon the Work + and other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and + includes cinematographic adaptations or any other form in which + the Work may be recast, transformed, or adapted including in any + form recognizably derived from the original, except that a work + that constitutes a Collection will not be considered an + Adaptation for the purpose of this License. For the avoidance of + doubt, where the Work is a musical work, performance or + phonogram, the synchronization of the Work in timed-relation + with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + . + b. "Collection" means a collection of literary or artistic works, + such as encyclopedias and anthologies, or performances, + phonograms or broadcasts, or other works or subject matter other + than works listed in Section 1(f) below, which, by reason of the + selection and arrangement of their contents, constitute + intellectual creations, in which the Work is included in its + entirety in unmodified form along with one or more other + contributions, each constituting separate and independent works + in themselves, which together are assembled into a collective + whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined above) for the purposes of + this License. + . + c. "Distribute" means to make available to the public the original + and copies of the Work or Adaptation, as appropriate, through + sale or other transfer of ownership. + . + d. "Licensor" means the individual, individuals, entity or entities + that offer(s) the Work under the terms of this License. + . + e. "Original Author" means, in the case of a literary or artistic + work, the individual, individuals, entity or entities who + created the Work or if no individual or entity can be + identified, the publisher; and in addition (i) in the case of a + performance the actors, singers, musicians, dancers, and other + persons who act, sing, deliver, declaim, play in, interpret or + otherwise perform literary or artistic works or expressions of + folklore; (ii) in the case of a phonogram the producer being the + person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of + broadcasts, the organization that transmits the broadcast. + . + f. "Work" means the literary and/or artistic work offered under the + terms of this License including without limitation any + production in the literary, scientific and artistic domain, + whatever may be the mode or form of its expression including + digital form, such as a book, pamphlet and other writing; a + lecture, address, sermon or other work of the same nature; a + dramatic or dramatico-musical work; a choreographic work or + entertainment in dumb show; a musical composition with or + without words; a cinematographic work to which are assimilated + works expressed by a process analogous to cinematography; a work + of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of + applied art; an illustration, map, plan, sketch or + three-dimensional work relative to geography, topography, + architecture or science; a performance; a broadcast; a + phonogram; a compilation of data to the extent it is protected + as a copyrightable work; or a work performed by a variety or + circus performer to the extent it is not otherwise considered a + literary or artistic work. + . + g. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this + License with respect to the Work, or who has received express + permission from the Licensor to exercise rights under this + License despite a previous violation. + . + h. "Publicly Perform" means to perform public recitations of the + Work and to communicate to the public those public recitations, + by any means or process, including by wire or wireless means or + public digital performances; to make available to the public + Works in such a way that members of the public may access these + Works from a place and at a place individually chosen by them; + to perform the Work to the public by any means or process and + the communication to the public of the performances of the Work, + including by public digital performance; to broadcast and + rebroadcast the Work by any means including signs, sounds or + images. + . + i. "Reproduce" means to make copies of the Work by any means + including without limitation by sound or visual recordings and + the right of fixation and reproducing fixations of the Work, + including storage of a protected performance or phonogram in + digital form or other electronic medium. + . + 2. Fair Dealing Rights. Nothing in this License is intended to + reduce, limit, or restrict any uses free from copyright or rights + arising from limitations or exceptions that are provided for in + connection with the copyright protection under copyright law or other + applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + . + b. to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise + identify that changes were made to the original Work. For + example, a translation could be marked "The original work was + translated from English to Spanish," or a modification could + indicate "The original work has been modified."; + . + c. to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + . + d. to Distribute and Publicly Perform Adaptations. + . + e. For the avoidance of doubt: + . + i. Non-waivable Compulsory License Schemes. In those + jurisdictions in which the right to collect royalties + through any statutory or compulsory licensing scheme cannot + be waived, the Licensor reserves the exclusive right to + collect such royalties for any exercise by You of the + rights granted under this License; + . + ii. Waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any + statutory or compulsory licensing scheme can be waived, the + Licensor waives the exclusive right to collect such + royalties for any exercise by You of the rights granted + under this License; and, + . + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event + that the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, + from any exercise by You of the rights granted under this + License. + . + The above rights may be exercised in all media and formats whether + now known or hereafter devised. The above rights include the right to + make such modifications as are technically necessary to exercise the + rights in other media and formats. Subject to Section 8(f), all + rights not expressly granted by Licensor are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + a. You may Distribute or Publicly Perform the Work only under the + terms of this License. You must include a copy of, or the + Uniform Resource Identifier (URI) for, this License with every + copy of the Work You Distribute or Publicly Perform. You may not + offer or impose any terms on the Work that restrict the terms of + this License or the ability of the recipient of the Work to + exercise the rights granted to that recipient under the terms of + the License. You may not sublicense the Work. You must keep + intact all notices that refer to this License and to the + disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of + the Work from You to exercise the rights granted to that + recipient under the terms of the License. This Section 4(a) + applies to the Work as incorporated in a Collection, but this + does not require the Collection apart from the Work itself to be + made subject to the terms of this License. If You create a + Collection, upon notice from any Licensor You must, to the + extent practicable, remove from the Collection any credit as + required by Section 4(b), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the + extent practicable, remove from the Adaptation any credit as + required by Section 4(b), as requested. + . + b. If You Distribute, or Publicly Perform the Work or any + Adaptations or Collections, You must, unless a request has been + made pursuant to Section 4(a), keep intact all copyright notices + for the Work and provide, reasonable to the medium or means You + are utilizing: (i) the name of the Original Author (or + pseudonym, if applicable) if supplied, and/or if the Original + Author and/or Licensor designate another party or parties (e.g., + a sponsor institute, publishing entity, journal) for attribution + ("Attribution Parties") in Licensor's copyright notice, terms of + service or by other reasonable means, the name of such party or + parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does + not refer to the copyright notice or licensing information for + the Work; and (iv) , consistent with Section 3(b), in the case + of an Adaptation, a credit identifying the use of the Work in + the Adaptation (e.g., "French translation of the Work by + Original Author," or "Screenplay based on original Work by + Original Author"). The credit required by this Section 4 (b) may + be implemented in any reasonable manner; provided, however, that + in the case of a Adaptation or Collection, at a minimum such + credit will appear, if a credit for all contributing authors of + the Adaptation or Collection appears, then as part of these + credits and in a manner at least as prominent as the credits for + the other contributing authors. For the avoidance of doubt, You + may only use the credit required by this Section for the purpose + of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or + explicitly assert or imply any connection with, sponsorship or + endorsement by the Original Author, Licensor and/or Attribution + Parties, as appropriate, of You or Your use of the Work, without + the separate, express prior written permission of the Original + Author, Licensor and/or Attribution Parties. + . + c. Except as otherwise agreed in writing by the Licensor or as may + be otherwise permitted by applicable law, if You Reproduce, + Distribute or Publicly Perform the Work either by itself or as + part of any Adaptations or Collections, You must not distort, + mutilate, modify or take other derogatory action in relation to + the Work which would be prejudicial to the Original Author's + honor or reputation. Licensor agrees that in those jurisdictions + (e.g. Japan), in which any exercise of the right granted in + Section 3(b) of this License (the right to make Adaptations) + would be deemed to be a distortion, mutilation, modification or + other derogatory action prejudicial to the Original Author's + honor and reputation, the Licensor will waive or not assert, as + appropriate, this Section, to the fullest extent permitted by + the applicable national law, to enable You to reasonably + exercise Your right under Section 3(b) of this License (right to + make Adaptations) but not otherwise. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, + LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, + STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF + TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, + OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. + SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, + SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY + APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY + LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR + EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, + EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this + License. Individuals or entities who have received Adaptations + or Collections from You under this License, however, will not + have their licenses terminated provided such individuals or + entities remain in full compliance with those licenses. + Sections 1, 2, 5, 6, 7, and 8 will survive any termination of + this License. + . + b. Subject to the above terms and conditions, the license granted + here is perpetual (for the duration of the applicable copyright + in the Work). Notwithstanding the above, Licensor reserves the + right to release the Work under different license terms or to + stop distributing the Work at any time; provided, however that + any such election will not serve to withdraw this License (or + any other license that has been, or is required to be, granted + under the terms of this License), and this License will continue + in full force and effect unless terminated as stated above. + . + 8. Miscellaneous + . + a. Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to + the Work on the same terms and conditions as the license granted + to You under this License. + . + b. Each time You Distribute or Publicly Perform an Adaptation, + Licensor offers to the recipient a license to the original Work + on the same terms and conditions as the license granted to You + under this License. + . + c. If any provision of this License is invalid or unenforceable + under applicable law, it shall not affect the validity or + enforceability of the remainder of the terms of this License, + and without further action by the parties to this agreement, + such provision shall be reformed to the minimum extent necessary + to make such provision valid and enforceable. + . + d. No term or provision of this License shall be deemed waived and + no breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver + or consent. + . + e. This License constitutes the entire agreement between the + parties with respect to the Work licensed here. There are no + understandings, agreements or representations with respect to + the Work not specified here. Licensor shall not be bound by any + additional provisions that may appear in any communication from + You. This License may not be modified without the mutual written + agreement of the Licensor and You. + . + f. The rights granted under, and the subject matter referenced, in + this License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and + Phonograms Treaty of 1996 and the Universal Copyright Convention + (as revised on July 24, 1971). These rights and subject matter + take effect in the relevant jurisdiction in which the License + terms are sought to be enforced according to the corresponding + provisions of the implementation of those treaty provisions in + the applicable national law. If the standard suite of rights + granted under applicable copyright law includes additional + rights not granted under this License, such additional rights + are deemed to be included in the License; this License is not + intended to restrict the license of any rights under applicable law. diff --git a/debian/docs b/debian/docs new file mode 100644 index 000000000..9975f3967 --- /dev/null +++ b/debian/docs @@ -0,0 +1,3 @@ +README +AUTHORS +CONTRIBUTORS diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 000000000..ed92c529b --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,9 @@ +[DEFAULT] +debian-branch = debian-sid +debian-tag = debian/%(version)s +upstream-branch = upstream-sid +upstream-tag = upstream/%(version)s +pristine-tar = True + +[git-dch] +meta = 1 diff --git a/debian/golang-doc.dirs b/debian/golang-doc.dirs new file mode 100644 index 000000000..7f9b877df --- /dev/null +++ b/debian/golang-doc.dirs @@ -0,0 +1 @@ +usr/share/doc/golang-doc/html diff --git a/debian/golang-doc.install b/debian/golang-doc.install new file mode 100644 index 000000000..d9b42132e --- /dev/null +++ b/debian/golang-doc.install @@ -0,0 +1,2 @@ +doc/* /usr/share/doc/golang-doc/html/ +favicon.ico /usr/share/doc/golang-doc diff --git a/debian/golang-doc.links b/debian/golang-doc.links new file mode 100644 index 000000000..68cc21040 --- /dev/null +++ b/debian/golang-doc.links @@ -0,0 +1,2 @@ +usr/share/doc/golang-doc/html /usr/lib/go/doc +usr/share/doc/golang-doc/favicon.ico /usr/lib/go/favicon.ico diff --git a/debian/golang-doc.lintian-overrides b/debian/golang-doc.lintian-overrides new file mode 100644 index 000000000..1d1f73718 --- /dev/null +++ b/debian/golang-doc.lintian-overrides @@ -0,0 +1,5 @@ +# While golang-doc ships HTML files, they are not intended to be viewed +# directly in a browser or other HTML-capable tool. Instead, they have to be +# served by using e.g. “godoc -http=:6060”, see also +# http://bugs.debian.org/702642 +golang-doc: possible-documentation-but-no-doc-base-registration diff --git a/debian/golang-go.config b/debian/golang-go.config new file mode 100644 index 000000000..f71492181 --- /dev/null +++ b/debian/golang-go.config @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule + +# Cleanup old debconf dashboard question that was removed in golang-go 2:1.1 +# -- 2013-05-14 stapelberg +db_purge diff --git a/debian/golang-go.dirs b/debian/golang-go.dirs new file mode 100644 index 000000000..33522f9a3 --- /dev/null +++ b/debian/golang-go.dirs @@ -0,0 +1,3 @@ +usr/bin +usr/lib/go +usr/share/go/src/ diff --git a/debian/golang-go.install b/debian/golang-go.install new file mode 100644 index 000000000..8c01776bb --- /dev/null +++ b/debian/golang-go.install @@ -0,0 +1,4 @@ +bin/go /usr/bin +bin/gofmt /usr/bin +pkg/obj /usr/lib/go/pkg/ +pkg/tool /usr/lib/go/pkg/ diff --git a/debian/golang-go.links b/debian/golang-go.links new file mode 100644 index 000000000..1deec127d --- /dev/null +++ b/debian/golang-go.links @@ -0,0 +1 @@ +usr/share/go/src /usr/lib/go/src diff --git a/debian/golang-go.lintian-overrides b/debian/golang-go.lintian-overrides new file mode 100644 index 000000000..829bbf350 --- /dev/null +++ b/debian/golang-go.lintian-overrides @@ -0,0 +1,4 @@ +# Stripping is not supported upstream and breaks the code. +golang-go: unstripped-binary-or-object +# Go always links statically. +golang-go: statically-linked-binary diff --git a/debian/golang-go.manpages b/debian/golang-go.manpages new file mode 100644 index 000000000..19f429f39 --- /dev/null +++ b/debian/golang-go.manpages @@ -0,0 +1 @@ +debian/man/* diff --git a/debian/golang-go.postinst b/debian/golang-go.postinst new file mode 100644 index 000000000..2f5bd34fb --- /dev/null +++ b/debian/golang-go.postinst @@ -0,0 +1,29 @@ +#!/bin/sh + +confdir=/etc/golang +conffile=$confdir/goinstall.conf + +set -e + +. /usr/share/debconf/confmodule + +# Cleanup old debconf dashboard question that was removed in golang-go 2:1.1 +# -- 2013-05-14 stapelberg +db_purge + +case "$1" in + configure) + # Remove obsolete goinstall.conf. + # -- 2013-05-14 stapelberg + if [ -e $conffile ]; then + rm -f $conffile + rmdir /etc/golang || true + fi + # Very ugly hack to set timestamps same as /usr/bin/go + find /usr/lib/go/pkg -exec touch -r /usr/bin/go {} \; + ;; + *) + ;; +esac + +#DEBHELPER# diff --git a/debian/golang-go.postrm b/debian/golang-go.postrm new file mode 100644 index 000000000..2cf582ef7 --- /dev/null +++ b/debian/golang-go.postrm @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +# purge the config file which is created in the postinst script +if [ "$1" = purge ] ; then + rm -f /etc/golang/goinstall.conf + rmdir /etc/golang || true +fi + +if [ "$1" = "purge" ] && [ -e /usr/share/debconf/confmodule ]; then + # Source debconf library. + . /usr/share/debconf/confmodule + # Remove my changes to the db. + db_purge +fi + +#DEBHELPER# + diff --git a/debian/golang-mode.emacsen-install b/debian/golang-mode.emacsen-install new file mode 100644 index 000000000..c028dfdb1 --- /dev/null +++ b/debian/golang-mode.emacsen-install @@ -0,0 +1,36 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/install/golang-mode + +FLAVOR=$1 +PACKAGE=golang-mode + +# A number of old emacs versions are not supported by upstream: +case $FLAVOR in + emacs|emacs19|emacs20|emacs21|xemacs21) + exit 0 + ;; +esac + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +# The byte-compiled files goes into the site-lisp directory. +BCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} +install -m 755 -d ${BCDIR} + +# The elisp source files are in the generic site-list directory. +SRCDIR=/usr/share/emacs/site-lisp/${PACKAGE} +SRC=`find ${SRCDIR} -name '*.el' -exec basename '{}' ';'` + +# Prepare for byte-compiling the source files. +cd ${BCDIR} +ln -sf ${SRCDIR}/*.el . +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF + +# Byte-compile elisp files. +FLAGS="--no-site-file --no-init-file --batch -l path.el -f batch-byte-compile" +${FLAVOR} ${FLAGS} ${SRC} +rm -f path.el + +exit 0 diff --git a/debian/golang-mode.emacsen-remove b/debian/golang-mode.emacsen-remove new file mode 100644 index 000000000..42231d3c9 --- /dev/null +++ b/debian/golang-mode.emacsen-remove @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/golang-mode +FLAVOR=$1 +PACKAGE=golang-mode + +# A number of old emacs versions are not supported by upstream: +case $FLAVOR in + emacs|emacs19|emacs20|emacs21|xemacs21) + exit 0 + ;; +esac + +echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} +rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +exit 0 diff --git a/debian/golang-mode.emacsen-startup b/debian/golang-mode.emacsen-startup new file mode 100644 index 000000000..5565b9a2e --- /dev/null +++ b/debian/golang-mode.emacsen-startup @@ -0,0 +1,7 @@ +;; -*-emacs-lisp-*- + +(let ((path "/usr/share/emacs/site-lisp/golang-mode")) + (when (file-exists-p path) + (debian-pkg-add-load-path-item path) + (require 'go-mode-load))) + diff --git a/debian/golang-mode.install b/debian/golang-mode.install new file mode 100644 index 000000000..1453aa7b5 --- /dev/null +++ b/debian/golang-mode.install @@ -0,0 +1 @@ +misc/emacs/*.el usr/share/emacs/site-lisp/golang-mode/ diff --git a/debian/golang-src.install b/debian/golang-src.install new file mode 100644 index 000000000..f034ba538 --- /dev/null +++ b/debian/golang-src.install @@ -0,0 +1,2 @@ +src /usr/share/go/ +test /usr/share/go/ diff --git a/debian/golang-src.lintian-overrides b/debian/golang-src.lintian-overrides new file mode 100644 index 000000000..aa1be30b5 --- /dev/null +++ b/debian/golang-src.lintian-overrides @@ -0,0 +1,4 @@ +# golang-src ships ELF object files as testdata for the debug/dwarf and +# debug/elf packages. +golang-src: arch-dependent-file-in-usr-share +golang-src: unstripped-binary-or-object diff --git a/debian/kate-syntax-go.install b/debian/kate-syntax-go.install new file mode 100644 index 000000000..978ab81e3 --- /dev/null +++ b/debian/kate-syntax-go.install @@ -0,0 +1 @@ +misc/kate/go.xml /usr/share/kde4/apps/katepart/syntax/ diff --git a/debian/man/go-build.1 b/debian/man/go-build.1 new file mode 100644 index 000000000..6e1794c7d --- /dev/null +++ b/debian/man/go-build.1 @@ -0,0 +1,80 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-BUILD 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go build +.RB [\|\-o +.IR output \|] +.RB [ +.IR "build flags" +.RB ] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Build compiles the packages named by the import paths, +along with their dependencies, but it does not install the results. + +If the arguments are a list of .go files, build treats them as a list +of source files specifying a single package. + +When the command line specifies a single main package, +build writes the resulting executable to output. +Otherwise build compiles the packages but discards the results, +serving only as a check that the packages can be built. + +The \-o flag specifies the output file name. If not specified, the +name is packagename.a (for a non-main package) or the base +name of the first source file (for a main package). +.SH OPTIONS +The build flags are shared by the build, install, run, and test commands: +.TP +.B \-a +force rebuilding of packages that are already up-to-date. +.TP +.B \-n +print the commands but do not run them. +.TP +.B \-p n +the number of builds that can be run in parallel. The default is the number of CPUs available. +.TP +.B \-v +print the names of packages as they are compiled. +.TP +.B \-work +print the name of the temporary work directory and do not delete it when exiting. +.TP +.B \-x +print the commands. +.TP +.B \-compiler name +name of compiler to use, as in runtime.Compiler (gccgo or gc) +.TP +.B \-gccgoflags 'arg list' +arguments to pass on each gccgo compiler/linker invocation +.TP +.B \-gcflags 'arg list' +arguments to pass on each 5g, 6g, or 8g compiler invocation +.TP +.B \-ldflags 'flag list' +arguments to pass on each 5l, 6l, or 8l linker invocation +.TP +.B \-tags 'tag list' +a list of build tags to consider satisfied during the build. +See the documentation for the go/build package for +more information about build tags. +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.P +For more about where packages and binaries are installed, see \fBgo-gopath\fP(1). + +.SH SEE ALSO +.BR go-install (1), +.BR go-get (1), +.BR go-clean (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-clean.1 b/debian/man/go-clean.1 new file mode 100644 index 000000000..bff689e2a --- /dev/null +++ b/debian/man/go-clean.1 @@ -0,0 +1,82 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-CLEAN 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go clean +.RB [\|\-i\|] +.RB [\|\-r\|] +.RB [\|\-n\|] +.RB [\|\-x\|] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Clean removes object files from package source directories. +The go command builds most objects in a temporary directory, +so go clean is mainly concerned with object files left by other +tools or by manual invocations of go build. + +Specifically, clean removes the following files from each of the +source directories corresponding to the import paths: + +.TP +.B _obj/ +old object directory, left from Makefiles +.TP +.B _test/ +old test directory, left from Makefiles +.TP +.B _testmain.go +old gotest file, left from Makefiles +.TP +.B test.out +old test log, left from Makefiles +.TP +.B build.out +old test log, left from Makefiles +.TP +.B *.[568ao] +object files, left from Makefiles + +.TP +.B DIR(.exe) +from go build +.TP +.B DIR.test(.exe) +from go test \-c +.TP +.B MAINFILE(.exe) +from go build MAINFILE.go +.P +In the list, DIR represents the final path element of the +directory, and MAINFILE is the base name of any Go source +file in the directory that is not included when building +the package. +.SH OPTIONS +.TP +.B \-i +The \-i flag causes clean to remove the corresponding installed +archive or binary (what 'go install' would create). + +.TP +.B \-n +The \-n flag causes clean to print the remove commands it would execute, +but not run them. + +.TP +.B \-r +The \-r flag causes clean to be applied recursively to all the +dependencies of the packages named by the import paths. + +.TP +.B \-x +The \-x flag causes clean to print remove commands as it executes them. +.P +For more about specifying packages, see \fBgo-packages\fP(7). + +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-env.1 b/debian/man/go-env.1 new file mode 100644 index 000000000..48a506dcd --- /dev/null +++ b/debian/man/go-env.1 @@ -0,0 +1,21 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-ENV 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go env +.RB [ +.IR "var ..." +.RB ] +.SH DESCRIPTION +Env prints Go environment information. + +By default env prints information as a shell script +(on Windows, a batch file). If one or more variable +names is given as arguments, env prints the value of +each named variable on its own line. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-fix.1 b/debian/man/go-fix.1 new file mode 100644 index 000000000..ed368882d --- /dev/null +++ b/debian/man/go-fix.1 @@ -0,0 +1,25 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-FIX 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go fix +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Fix runs the Go fix command on the packages named by the import paths. +.P +For more about fix, see 'godoc fix'. +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.P +To run fix with specific options, run 'go tool fix'. +.SH SEE ALSO +.BR go-fmt (1), +.BR go-vet (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-fmt.1 b/debian/man/go-fmt.1 new file mode 100644 index 000000000..fc555b821 --- /dev/null +++ b/debian/man/go-fmt.1 @@ -0,0 +1,37 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-FMT 1 "2012-06-15" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go fmt +.RB [\|\-n\|] +.RB [\|\-x\|] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Fmt runs the command 'gofmt \-l \-w' on the packages named +by the import paths. It prints the names of the files that are modified. +.P +For more about gofmt, see 'godoc gofmt'. +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.P +To run gofmt with specific options, run gofmt itself. +.SH OPTIONS +.TP +.B \-n +The \-n flag causes tool to print the command that would be +executed but not execute it. +.TP +.B \-x +The \-x flag causes clean to print remove commands as it executes them. +.SH SEE ALSO +.BR go-doc (1), +.BR go-fix (1), +.BR go-vet (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-get.1 b/debian/man/go-get.1 new file mode 100644 index 000000000..8f09ed1c8 --- /dev/null +++ b/debian/man/go-get.1 @@ -0,0 +1,59 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-GET 1 "2012-06-15" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go get +.RB [\|\-a\|] +.RB [\|\-d\|] +.RB [\|\-fix\|] +.RB [\|\-n\|] +.RB [\|\-p +.IR n \|] +.RB [\|\-u\|] +.RB [\|\-v\|] +.RB [\|\-x\|] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Get downloads and installs the packages named by the import paths, +along with their dependencies. + +When checking out or updating a package, get looks for a branch or tag that +matches the locally installed version of Go. The most important rule is that if +the local installation is running version "go1", get searches for a branch or +tag named "go1". If no such version exists it retrieves the most recent version +of the package. + +.SH OPTIONS +.TP +.B \-a, \-n, \-v, \-x, \-p +The \-a, \-n, \-v, \-x, and \-p flags have the same meaning as in 'go build' +and 'go install'. See \fBgo-build\fP(1). +.TP +.B \-d +The \-d flag instructs get to stop after downloading the packages; that is, +it instructs get not to install the packages. +.TP +.B \-fix +The \-fix flag instructs get to run the fix tool on the downloaded packages +before resolving dependencies or building the code. +.TP +.B \-u +The \-u flag instructs get to use the network to update the named packages +and their dependencies. By default, get uses the network to check out +missing packages but does not use it to look for updates to existing packages. +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.P +For more about how 'go get' finds source code to download, see \fBgo-remote\fP(7). +.SH SEE ALSO +.BR go-build (1), +.BR go-install (1), +.BR go-clean (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-install.1 b/debian/man/go-install.1 new file mode 100644 index 000000000..9e53bb2d8 --- /dev/null +++ b/debian/man/go-install.1 @@ -0,0 +1,28 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-INSTALL 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go install +.RB [ +.IR "build flags" +.RB ] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Install compiles and installs the packages named by the import paths, +along with their dependencies. +.P +For more about the build flags, see \fBgo-build\fP(1). +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.SH SEE ALSO +.BR go-build (1), +.BR go-get (1), +.BR go-clean (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-list.1 b/debian/man/go-list.1 new file mode 100644 index 000000000..b97c2504f --- /dev/null +++ b/debian/man/go-list.1 @@ -0,0 +1,104 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-LIST 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go list +.RB [\|\-e\|] +.RB [\|\-f +.IR format \|] +.RB [\|\-json\|] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +List lists the packages named by the import paths, one per line. + +The default output shows the package import path: + +.Vb 6 +\& code.google.com/p/google-api-go-client/books/v1 +\& code.google.com/p/goauth2/oauth +\& code.google.com/p/sqlite +.Ve + +.SH OPTIONS + +.TP +.B \-f +The \-f flag specifies an alternate format for the list, +using the syntax of package template. The default output +is equivalent to \-f '{{.ImportPath}}'. The struct +being passed to the template is: + +.Vb 6 +\& type Package struct { +\& Dir string // directory containing package sources +\& ImportPath string // import path of package in dir +\& Name string // package name +\& Doc string // package documentation string +\& Target string // install path +\& Goroot bool // is this package in the Go root? +\& Standard bool // is this package part of the standard Go library? +\& Stale bool // would 'go install' do anything for this package? +\& Root string // Go root or Go path dir containing this package +\& +\& // Source files +\& GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles, XTestGoFiles) +\& CgoFiles []string // .go sources files that import "C" +\& CFiles []string // .c source files +\& HFiles []string // .h source files +\& SFiles []string // .s source files +\& SysoFiles []string // .syso object files to add to archive +\& +\& // Cgo directives +\& CgoCFLAGS []string // cgo: flags for C compiler +\& CgoLDFLAGS []string // cgo: flags for linker +\& CgoPkgConfig []string // cgo: pkg-config names +\& +\& // Dependency information +\& Imports []string // import paths used by this package +\& Deps []string // all (recursively) imported dependencies +\& +\& // Error information +\& Incomplete bool // this package or a dependency has an error +\& Error *PackageError // error loading package +\& DepsErrors []*PackageError // errors loading dependencies +\& +\& TestGoFiles []string // _test.go files in package +\& TestImports []string // imports from TestGoFiles +\& XTestGoFiles []string // _test.go files outside package +\& XTestImports []string // imports from XTestGoFiles +\& } +.Ve +.TP +.B \-json +The \-json flag causes the package data to be printed in JSON format +instead of using the template format. +.TP +.B \-e +The \-e flag changes the handling of erroneous packages, those that +cannot be found or are malformed. By default, the list command +prints an error to standard error for each erroneous package and +omits the packages from consideration during the usual printing. +With the \-e flag, the list command never prints errors to standard +error and instead processes the erroneous packages with the usual +printing. Erroneous packages will have a non-empty ImportPath and +a non-nil Error field; other information may or may not be missing +(zeroed). +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-packages.7 b/debian/man/go-packages.7 new file mode 100644 index 000000000..ab6078d48 --- /dev/null +++ b/debian/man/go-packages.7 @@ -0,0 +1,66 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-PACKAGES 7 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH DESCRIPTION +Many commands apply to a set of packages: + +.Vb 6 +\& go action [packages] +.Ve + +Usually, [packages] is a list of import paths. + +An import path that is a rooted path or that begins with +a . or .. element is interpreted as a file system path and +denotes the package in that directory. + +Otherwise, the import path P denotes the package found in +the directory DIR/src/P for some DIR listed in the GOPATH +environment variable (see 'go help gopath'). + +If no import paths are given, the action applies to the +package in the current directory. + +The special import path "all" expands to all package directories +found in all the GOPATH trees. For example, 'go list all' +lists all the packages on the local system. + +The special import path "std" is like all but expands to just the +packages in the standard Go library. + +An import path is a pattern if it includes one or more "..." wildcards, +each of which can match any string, including the empty string and +strings containing slashes. Such a pattern expands to all package +directories found in the GOPATH trees with names matching the +patterns. As a special case, x/... matches x as well as x's subdirectories. +For example, net/... expands to net and packages in its subdirectories. + +An import path can also name a package to be downloaded from +a remote repository. Run 'go help remote' for details. + +Every package in a program must have a unique import path. +By convention, this is arranged by starting each path with a +unique prefix that belongs to you. For example, paths used +internally at Google all begin with 'google', and paths +denoting remote repositories begin with the path to the code, +such as 'code.google.com/p/project'. + +As a special case, if the package list is a list of .go files from a +single directory, the command is applied to a single synthesized +package made up of exactly those files, ignoring any build constraints +in those files and ignoring any other files in the directory. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-path.7 b/debian/man/go-path.7 new file mode 100644 index 000000000..13f696a5c --- /dev/null +++ b/debian/man/go-path.7 @@ -0,0 +1,77 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-PATH 7 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH DESCRIPTION +The Go path is used to resolve import statements. +It is implemented by and documented in the go/build package. + +The GOPATH environment variable lists places to look for Go code. +On Unix, the value is a colon-separated string. +On Windows, the value is a semicolon-separated string. +On Plan 9, the value is a list. + +GOPATH must be set to build and install packages outside the +standard Go tree. + +Each directory listed in GOPATH must have a prescribed structure: + +The src/ directory holds source code. The path below 'src' +determines the import path or executable name. + +The pkg/ directory holds installed package objects. +As in the Go tree, each target operating system and +architecture pair has its own subdirectory of pkg +(pkg/GOOS_GOARCH). + +If DIR is a directory listed in the GOPATH, a package with +source in DIR/src/foo/bar can be imported as "foo/bar" and +has its compiled form installed to "DIR/pkg/GOOS_GOARCH/foo/bar.a". + +The bin/ directory holds compiled commands. +Each command is named for its source directory, but only +the final element, not the entire path. That is, the +command with source in DIR/src/foo/quux is installed into +DIR/bin/quux, not DIR/bin/foo/quux. The foo/ is stripped +so that you can add DIR/bin to your PATH to get at the +installed commands. If the GOBIN environment variable is +set, commands are installed to the directory it names instead +of DIR/bin. + +Here's an example directory layout: + +.Vb 4 +\& GOPATH=/home/user/gocode +\& +\& /home/user/gocode/ +\& src/ +\& foo/ +\& bar/ (go code in package bar) +\& x.go +\& quux/ (go code in package main) +\& y.go +\& bin/ +\& quux (installed command) +\& pkg/ +\& linux_amd64/ +\& foo/ +\& bar.a (installed package object) +.Ve + +Go searches each directory listed in GOPATH to find source code, +but new packages are always downloaded into the first directory +in the list. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-remote.7 b/debian/man/go-remote.7 new file mode 100644 index 000000000..a1ca7a9fb --- /dev/null +++ b/debian/man/go-remote.7 @@ -0,0 +1,166 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-REMOTE 7 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH DESCRIPTION +An import path (see \fBgo-importpath\fP(1)) denotes a package +stored in the local file system. Certain import paths also +describe how to obtain the source code for the package using +a revision control system. + +A few common code hosting sites have special syntax: + +.TP +.B BitBucket (Mercurial) +.Vb 4 +\&import "bitbucket.org/user/project" +\&import "bitbucket.org/user/project/sub/directory" +.Ve + +.TP +.B GitHub (Git) +.Vb 4 +\&import "github.com/user/project" +\&import "github.com/user/project/sub/directory" +.Ve + +.TP +.B Google Code Project Hosting (Git, Mercurial, Subversion) +.Vb 4 +\&import "code.google.com/p/project" +\&import "code.google.com/p/project/sub/directory" +.Ve + +.Vb 4 +\&import "code.google.com/p/project.subrepository" +\&import "code.google.com/p/project.subrepository/sub/directory" +.Ve + +.TP +.B Launchpad (Bazaar) + +.Vb 4 +\&import "launchpad.net/project" +\&import "launchpad.net/project/series" +\&import "launchpad.net/project/series/sub/directory" +.Ve + +.Vb 4 +\&import "launchpad.net/~user/project/branch" +\&import "launchpad.net/~user/project/branch/sub/directory" +.Ve + +.P +For code hosted on other servers, import paths may either be qualified +with the version control type, or the go tool can dynamically fetch +the import path over https/http and discover where the code resides +from a <meta> tag in the HTML. + +To declare the code location, an import path of the form + +.Vb 6 +\& repository.vcs/path +.Ve + +specifies the given repository, with or without the .vcs suffix, +using the named version control system, and then the path inside +that repository. The supported version control systems are: + +.TP +.B Bazaar + .bzr +.TP +.B Git + .git +.TP +.B Mercurial + .hg +.TP +.B Subversion + .svn + +.P +For example, + +.Vb 6 +\& import "example.org/user/foo.hg" +.Ve + +denotes the root directory of the Mercurial repository at +example.org/user/foo or foo.hg, and + +.Vb 6 +\& import "example.org/repo.git/foo/bar" +.Ve + +denotes the foo/bar directory of the Git repository at +example.com/repo or repo.git. + +When a version control system supports multiple protocols, +each is tried in turn when downloading. For example, a Git +download tries git://, then https://, then http://. + +If the import path is not a known code hosting site and also lacks a +version control qualifier, the go tool attempts to fetch the import +over https/http and looks for a <meta> tag in the document's HTML +<head>. + +The meta tag has the form: + +.Vb 6 +\& <meta name="go-import" content="import-prefix vcs repo-root"> +.Ve + +The import-prefix is the import path corresponding to the repository +root. It must be a prefix or an exact match of the package being +fetched with "go get". If it's not an exact match, another http +request is made at the prefix to verify the <meta> tags match. + +The vcs is one of "git", "hg", "svn", etc, + +The repo-root is the root of the version control system +containing a scheme and not containing a .vcs qualifier. + +For example, + +.Vb 6 +\& import "example.org/pkg/foo" +.Ve + +will result in the following request(s): + +.Vb 6 +\& https://example.org/pkg/foo?go-get=1 (preferred) +\& http://example.org/pkg/foo?go-get=1 (fallback) +.Ve + +If that page contains the meta tag + +.Vb 6 +\& <meta name="go-import" content="example.org git https://code.org/r/p/exproj"> +.Ve + +the go tool will verify that https://example.org/?go-get=1 contains the +same meta tag and then git clone https://code.org/r/p/exproj into +GOPATH/src/example.org. + +New downloaded packages are written to the first directory +listed in the GOPATH environment variable (see \fBgo-path\fP(1)). + +The go command attempts to download the version of the +package appropriate for the Go release being used. +See \fBgo-install\fP(1) for more. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-run.1 b/debian/man/go-run.1 new file mode 100644 index 000000000..a43f5038e --- /dev/null +++ b/debian/man/go-run.1 @@ -0,0 +1,24 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-RUN 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go run +.RB [ +.IR "build flags" +.RB ] +.IR gofiles... +.RB [ +.IR arguments... +.RB ] +.SH DESCRIPTION +Run compiles and runs the main package comprising the named Go source files. +.P +For more about build flags, see \fBgo-build\fP(1). +.SH SEE ALSO +.BR go-build (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-test.1 b/debian/man/go-test.1 new file mode 100644 index 000000000..3fdfa20b0 --- /dev/null +++ b/debian/man/go-test.1 @@ -0,0 +1,75 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-TEST 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go test +.RB [\|\-c\|] +.RB [\|\-i\|] +.RB [ +.IR "build flags" +.RB ] +.RB [ +.IR packages +.RB ] +.RB [ +.IR "flags for test binary" +.RB ] +.SH DESCRIPTION +"Go test" automates testing the packages named by the import paths. +It prints a summary of the test results in the format: + +.Vb 6 +\& ok archive/tar 0.011s +\& FAIL archive/zip 0.022s +\& ok compress/gzip 0.033s +\& ... +.Ve + +followed by detailed output for each failed package. + +"Go test" recompiles each package along with any files with names matching +the file pattern "*_test.go". These additional files can contain test functions, +benchmark functions, and example functions. See \fBgo-testfunc\fP(7) for more. + +By default, go test needs no arguments. It compiles and tests the package +with source in the current directory, including tests, and runs the tests. + +The package is built in a temporary directory so it does not interfere with the +non-test installation. + +.SH OPTIONS + +In addition to the build flags, the flags handled by 'go test' itself are: + +.TP +.B \-c +Compile the test binary to pkg.test but do not run it. +.TP +.B \-i +Install packages that are dependencies of the test. +Do not run the test. +.P +The test binary also accepts flags that control execution of the test; these +flags are also accessible by 'go test'. See \fBgo-testflag\fP(7) for details. +.P +For more about build flags, see \fBgo-build\fP(1). +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.SH SEE ALSO +.BR go-build (1), +.BR go-vet (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-testflag.7 b/debian/man/go-testflag.7 new file mode 100644 index 000000000..f2b9f4903 --- /dev/null +++ b/debian/man/go-testflag.7 @@ -0,0 +1,87 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-TESTFLAG 7 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH DESCRIPTION +The 'go test' command takes both flags that apply to 'go test' itself +and flags that apply to the resulting test binary. + +The test binary, called pkg.test, where pkg is the name of the +directory containing the package sources, has its own flags: + +.TP +.B \-test.v +Verbose output: log all tests as they are run. +.TP +.B \-test.run pattern +Run only those tests and examples matching the regular expression. +.TP +.B \-test.bench pattern +Run benchmarks matching the regular expression. +By default, no benchmarks run. +.TP +.B \-test.cpuprofile cpu.out +Write a CPU profile to the specified file before exiting. +.TP +.B \-test.memprofile mem.out +Write a memory profile to the specified file when all tests +are complete. +.TP +.B \-test.memprofilerate n +Enable more precise (and expensive) memory profiles by setting +runtime.MemProfileRate. See 'godoc runtime MemProfileRate'. +To profile all memory allocations, use \-test.memprofilerate=1 +and set the environment variable GOGC=off to disable the +garbage collector, provided the test can run in the available +memory without garbage collection. +.TP +.B \-test.parallel n +Allow parallel execution of test functions that call t.Parallel. +The value of this flag is the maximum number of tests to run +simultaneously; by default, it is set to the value of GOMAXPROCS. +.TP +.B \-test.short +Tell long-running tests to shorten their run time. +It is off by default but set during all.bash so that installing +the Go tree can run a sanity check but not spend time running +exhaustive tests. +.TP +.B \-test.timeout t +If a test runs longer than t, panic. +.TP +.B \-test.benchtime n +Run enough iterations of each benchmark to take n seconds. +The default is 1 second. +.TP +.B \-test.cpu 1,2,4 +Specify a list of GOMAXPROCS values for which the tests or +benchmarks should be executed. The default is the current value +of GOMAXPROCS. +.P +For convenience, each of these \-test.X flags of the test binary is +also available as the flag \-X in 'go test' itself. Flags not listed +here are passed through unaltered. For instance, the command + +.Vb 6 +\& go test \-x \-v \-cpuprofile=prof.out \-dir=testdata \-update +.Ve + +will compile the test binary and then run it as + +.Vb 6 +\& pkg.test \-test.v \-test.cpuprofile=prof.out \-dir=testdata \-update +.Ve +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-testfunc.7 b/debian/man/go-testfunc.7 new file mode 100644 index 000000000..839fe1561 --- /dev/null +++ b/debian/man/go-testfunc.7 @@ -0,0 +1,63 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GO-TESTFUNC 7 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH DESCRIPTION +The 'go test' command expects to find test, benchmark, and example functions +in the "*_test.go" files corresponding to the package under test. + +A test function is one named TestXXX (where XXX is any alphanumeric string +not starting with a lower case letter) and should have the signature, + +.Vb 6 +\& func TestXXX(t *testing.T) { ... } +.Ve + +A benchmark function is one named BenchmarkXXX and should have the signature, + +.Vb 6 +\& func BenchmarkXXX(b *testing.B) { ... } +.Ve + +An example function is similar to a test function but, instead of using *testing.T +to report success or failure, prints output to os.Stdout and os.Stderr. +That output is compared against the function's "Output:" comment, which +must be the last comment in the function body (see example below). An +example with no such comment, or with no text after "Output:" is compiled +but not executed. + +Godoc displays the body of ExampleXXX to demonstrate the use +of the function, constant, or variable XXX. An example of a method M with +receiver type T or *T is named ExampleT_M. There may be multiple examples +for a given function, constant, or variable, distinguished by a trailing _xxx, +where xxx is a suffix not beginning with an upper case letter. + +Here is an example of an example: + +.Vb 6 +\& func ExamplePrintln() { +\& Println("The output of\\nthis example.") +\& // Output: The output of +\& // this example. +\& } +.Ve + +The entire test file is presented as the example when it contains a single +example function, at least one other function, type, variable, or constant +declaration, and no test or benchmark functions. + +See the documentation of the testing package for more information. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-tool.1 b/debian/man/go-tool.1 new file mode 100644 index 000000000..ebf8c26e0 --- /dev/null +++ b/debian/man/go-tool.1 @@ -0,0 +1,26 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-TOOL 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go tool +.RB [\|\-n\|] +.IR command +.RB [ +.IR args... +.RB ] +.SH DESCRIPTION +Tool runs the go tool command identified by the arguments. +With no arguments it prints the list of known tools. +.SH OPTIONS +.TP +.B \-n +The \-n flag causes tool to print the command that would be +executed but not execute it. +.P +For more about each tool command, see 'go tool command \-h'. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-version.1 b/debian/man/go-version.1 new file mode 100644 index 000000000..2c1ebe0a4 --- /dev/null +++ b/debian/man/go-version.1 @@ -0,0 +1,13 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-VERSION 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go version +.SH DESCRIPTION +Version prints the Go version, as reported by runtime.Version. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go-vet.1 b/debian/man/go-vet.1 new file mode 100644 index 000000000..a165fd5e6 --- /dev/null +++ b/debian/man/go-vet.1 @@ -0,0 +1,35 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO-VET 1 "2012-06-15" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go vet +.RB [\|\-n\|] +.RB [\|\-x\|] +.RB [ +.IR packages +.RB ] +.SH DESCRIPTION +Vet runs the Go vet command on the packages named by the import paths. +.P +For more about vet, see 'godoc vet'. +.P +For more about specifying packages, see \fBgo-packages\fP(7). +.P +To run the vet tool with specific options, run 'go tool vet'. +.SH OPTIONS +.TP +.B \-n +The \-n flag causes tool to print the command that would be +executed but not execute it. +.TP +.B \-x +The \-x flag causes clean to print remove commands as it executes them. +.SH SEE ALSO +.BR go-fmt (1), +.BR go-fix (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/go.1 b/debian/man/go.1 new file mode 100644 index 000000000..27ae4df98 --- /dev/null +++ b/debian/man/go.1 @@ -0,0 +1,66 @@ +.\" Hey, EMACS: -*- nroff -*- +.TH GO 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +go \- tool for managing Go source code +.SH SYNOPSIS +.B go +.RI command +.RI [ arguments ] +.SH DESCRIPTION +The Go distribution includes a command, named \fBgo\fP, that automates the +downloading, building, installation, and testing of Go packages and commands. +.SH COMMANDS +Each command is documented in its own manpage. For example, the \fBbuild\fP +command is documented in \fBgo-build\fP(1). The commands are: +.TP +.B build +compile packages and dependencies +.TP +.B clean +remove object files +.TP +.B doc +run godoc on package sources +.TP +.B env +print Go environment information +.TP +.B fix +run go tool fix on packages +.TP +.B fmt +run gofmt on package sources +.TP +.B get +download and install packages and dependencies +.TP +.B install +compile and install packages and dependencies +.TP +.B list +list packages +.TP +.B run +compile and run Go program +.TP +.B test +test packages +.TP +.B tool +run specified go tool +.TP +.B version +print Go version +.TP +.B vet +run go tool vet on packages +.SH EXAMPLES +TODO +.SH SEE ALSO +.BR go-build (1), +.BR go-clean (1). +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/man/gofmt.1 b/debian/man/gofmt.1 new file mode 100644 index 000000000..969a245e1 --- /dev/null +++ b/debian/man/gofmt.1 @@ -0,0 +1,108 @@ +.\" Hey, EMACS: -*- nroff -*- +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.TH GOFMT 1 "2012-05-13" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +gofmt \- formats Go programs +.SH SYNOPSIS +.B gofmt +.RI [ flags ] +.RI [ +.IR "path ..." +.RI ] +.SH DESCRIPTION +Without an explicit path, it processes the standard input. Given a file, +it operates on that file; given a directory, it operates on all .go +files in that directory, recursively. (Files starting with a period are +ignored.) By default, gofmt prints the reformatted sources to standard +output. + +.SH OPTIONS +.TP +.B \-d +Do not print reformatted sources to standard output. +If a file's formatting is different than gofmt's, print diffs +to standard output. +.TP +.B \-e +Print all (including spurious) errors. +.TP +.B \-l +Do not print reformatted sources to standard output. +If a file's formatting is different from gofmt's, print its name +to standard output. +.TP +.B \-r rule +Apply the rewrite rule to the source before reformatting. +.TP +.B \-s +Try to simplify code (after applying the rewrite rule, if any). +.TP +.B \-w +Do not print reformatted sources to standard output. +If a file's formatting is different from gofmt's, overwrite it +with gofmt's version. +.P +Formatting control flags: +.TP +.B \-comments=true +Print comments; if false, all comments are elided from the output. +.TP +.B \-tabs=true +Indent with tabs; if false, spaces are used instead. +.TP +.B \-tabwidth=8 +Tab width in spaces. +.P + +The rewrite rule specified with the \-r flag must be a string of the +form: + +.Vb 6 +\& pattern -> replacement +.Ve + +Both pattern and replacement must be valid Go expressions. In the +pattern, single-character lowercase identifiers serve as wildcards +matching arbitrary sub-expressions; those expressions will be +substituted for the same identifiers in the replacement. + +When gofmt reads from standard input, it accepts either a full Go +program or a program fragment. A program fragment must be a +syntactically valid declaration list, statement list, or expression. +When formatting such a fragment, gofmt preserves leading indentation as +well as leading and trailing spaces, so that individual sections of a Go +program can be formatted by piping them through gofmt. +.SH EXAMPLES +To check files for unnecessary parentheses: + +.Vb 6 +\& gofmt \-r '(a) \-> a' \-l *.go +.Ve + +To remove the parentheses: + +.Vb 6 +\& gofmt \-r '(a) \-> a' \-w *.go +.Ve + +To convert the package tree from explicit slice upper bounds to implicit +ones: + +.Vb 6 +\& gofmt \-r 'α[β:len(α)] \-> α[β:]' \-w $GOROOT/src/pkg +.Ve +.SH BUGS +The implementation of \-r is a bit slow. +.SH AUTHOR +.PP +This manual page was written by Michael Stapelberg <stapelberg@debian.org>, +for the Debian project (and may be used by others). diff --git a/debian/patches/add-src-pkg-debug-elf-testdata-hello.patch b/debian/patches/add-src-pkg-debug-elf-testdata-hello.patch new file mode 100644 index 000000000..4518bd157 --- /dev/null +++ b/debian/patches/add-src-pkg-debug-elf-testdata-hello.patch @@ -0,0 +1,17 @@ +Description: Source file to fix http://bugs.debian.org/716853 +Author: Michael Stapelberg <stapelberg@debian.org> +Last-Update: 2013-12-31 +Forwarded: https://codereview.appspot.com/46780043 + +Index: golang/src/pkg/debug/elf/testdata/hello.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ golang/src/pkg/debug/elf/testdata/hello.c 2013-12-31 18:25:09.268498582 +0100 +@@ -0,0 +1,7 @@ ++#include <stdio.h> ++ ++void ++main(int argc, char *argv[]) ++{ ++ printf("hello, world\n"); ++} diff --git a/debian/patches/add-tar-xattr-support.patch b/debian/patches/add-tar-xattr-support.patch new file mode 100644 index 000000000..904e0110d --- /dev/null +++ b/debian/patches/add-tar-xattr-support.patch @@ -0,0 +1,175 @@ +--- a/src/pkg/archive/tar/common.go ++++ b/src/pkg/archive/tar/common.go +@@ -57,6 +57,7 @@ + Devminor int64 // minor number of character or block device + AccessTime time.Time // access time + ChangeTime time.Time // status change time ++ Xattrs map[string]string + } + + // File name constants from the tar spec. +@@ -189,6 +190,7 @@ + paxSize = "size" + paxUid = "uid" + paxUname = "uname" ++ paxXattr = "SCHILY.xattr." + paxNone = "" + ) + +--- a/src/pkg/archive/tar/reader.go ++++ b/src/pkg/archive/tar/reader.go +@@ -139,8 +139,14 @@ + return err + } + hdr.Size = int64(size) ++ default: ++ if strings.HasPrefix(k, paxXattr) { ++ if hdr.Xattrs == nil { ++ hdr.Xattrs = make(map[string]string) ++ } ++ hdr.Xattrs[k[len(paxXattr):]] = v ++ } + } +- + } + return nil + } +--- a/src/pkg/archive/tar/reader_test.go ++++ b/src/pkg/archive/tar/reader_test.go +@@ -161,6 +161,46 @@ + }, + }, + }, ++ { ++ file: "testdata/xattrs.tar", ++ headers: []*Header{ ++ { ++ Name: "small.txt", ++ Mode: 0644, ++ Uid: 1000, ++ Gid: 10, ++ Size: 5, ++ ModTime: time.Unix(1386065770, 448252320), ++ Typeflag: '0', ++ Uname: "alex", ++ Gname: "wheel", ++ AccessTime: time.Unix(1389782991, 419875220), ++ ChangeTime: time.Unix(1389782956, 794414986), ++ Xattrs: map[string]string{ ++ "user.key": "value", ++ "user.key2": "value2", ++ // Interestingly, selinux encodes the terminating null inside the xattr ++ "security.selinux": "unconfined_u:object_r:default_t:s0\x00", ++ }, ++ }, ++ { ++ Name: "small2.txt", ++ Mode: 0644, ++ Uid: 1000, ++ Gid: 10, ++ Size: 11, ++ ModTime: time.Unix(1386065770, 449252304), ++ Typeflag: '0', ++ Uname: "alex", ++ Gname: "wheel", ++ AccessTime: time.Unix(1389782991, 419875220), ++ ChangeTime: time.Unix(1386065770, 449252304), ++ Xattrs: map[string]string{ ++ "security.selinux": "unconfined_u:object_r:default_t:s0\x00", ++ }, ++ }, ++ }, ++ }, + } + + func TestReader(t *testing.T) { +@@ -180,7 +220,7 @@ + f.Close() + continue testLoop + } +- if *hdr != *header { ++ if !reflect.DeepEqual(*hdr, *header) { + t.Errorf("test %d, entry %d: Incorrect header:\nhave %+v\nwant %+v", + i, j, *hdr, *header) + } +@@ -253,7 +293,7 @@ + } + + // check the header +- if *hdr != *headers[nread] { ++ if !reflect.DeepEqual(*hdr, *headers[nread]) { + t.Errorf("Incorrect header:\nhave %+v\nwant %+v", + *hdr, headers[nread]) + } +Binary files /dev/null and b/src/pkg/archive/tar/testdata/xattrs.tar differ +--- a/src/pkg/archive/tar/writer.go ++++ b/src/pkg/archive/tar/writer.go +@@ -236,6 +236,12 @@ + return tw.err + } + ++ if allowPax { ++ for k, v := range hdr.Xattrs { ++ paxHeaders[paxXattr+k] = v ++ } ++ } ++ + if len(paxHeaders) > 0 { + if !allowPax { + return errInvalidHeader +--- a/src/pkg/archive/tar/writer_test.go ++++ b/src/pkg/archive/tar/writer_test.go +@@ -10,6 +10,7 @@ + "io" + "io/ioutil" + "os" ++ "reflect" + "strings" + "testing" + "testing/iotest" +@@ -338,6 +339,45 @@ + } + } + ++func TestPaxXattrs(t *testing.T) { ++ xattrs := map[string]string{ ++ "user.key": "value", ++ } ++ ++ // Create an archive with an xattr ++ fileinfo, err := os.Stat("testdata/small.txt") ++ if err != nil { ++ t.Fatal(err) ++ } ++ hdr, err := FileInfoHeader(fileinfo, "") ++ if err != nil { ++ t.Fatalf("os.Stat: %v", err) ++ } ++ contents := "Kilts" ++ hdr.Xattrs = xattrs ++ var buf bytes.Buffer ++ writer := NewWriter(&buf) ++ if err := writer.WriteHeader(hdr); err != nil { ++ t.Fatal(err) ++ } ++ if _, err = writer.Write([]byte(contents)); err != nil { ++ t.Fatal(err) ++ } ++ if err := writer.Close(); err != nil { ++ t.Fatal(err) ++ } ++ // Test that we can get the xattrs back out of the archive. ++ reader := NewReader(&buf) ++ hdr, err = reader.Next() ++ if err != nil { ++ t.Fatal(err) ++ } ++ if !reflect.DeepEqual(hdr.Xattrs, xattrs) { ++ t.Fatalf("xattrs did not survive round trip: got %+v, want %+v", ++ hdr.Xattrs, xattrs) ++ } ++} ++ + func TestPAXHeader(t *testing.T) { + medName := strings.Repeat("CD", 50) + longName := strings.Repeat("AB", 100) diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 000000000..0a51bc14f --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +add-src-pkg-debug-elf-testdata-hello.patch +add-tar-xattr-support.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..ab5e3fdb1 --- /dev/null +++ b/debian/rules @@ -0,0 +1,204 @@ +#!/usr/bin/make -f +# This file is in the public domain. +# You may freely use, modify, distribute, and relicense it. + +PACKAGE = golang + +libexecdir := /usr/lib/go +datadir := /usr/share/go +bindir := /bin + +# We loop over supported operating systems and architectures multiple times, +# so these two variables contain a centralized version of that code. +# The variables $$os and $$arch can be used inside such a loop. +FOR_GO_ARCH := for os in $$(echo linux freebsd windows darwin netbsd); do \ + archs="amd64 386"; \ + [ "$$os" = "linux" ] || [ "$$os" = "freebsd" ] && archs="amd64 arm 386"; \ + for arch in $$(echo $$archs); do +FOR_GO_ARCH_END := done; done + +build-arch build-indep build clean install binary-arch binary-indep binary: debian/control + +dh --parallel $(opt_no_act) $@ + +override_dh_auto_clean: + rm -rf bin pkg + # golang-go-$os-$arch.install files are auto-generated in override_dh_install + rm -f debian/golang-go-*.install + rm -f debian/*+ + rm -f debian/build.stamp + rm -f test/pass.out test/run.out test/times.out + rm -rf debian/home + +override_dh_auto_build: debian/build.stamp + +override_dh_auto_test: +ifeq ($(RUN_TEST), true) + cd $(CURDIR)/src && \ + $(CURDIR)/debian/test.bash $(GOROOT)/pkg/tool/$(GOHOSTOS)_$(GOHOSTARCH); +else + : +endif + +override_dh_compress: + dh_compress -Xusr/share/doc/$(PACKAGE)-doc/html -Xusr/share/doc/$(PACKAGE)-doc/godoc + +# Generates debian/control from debian/control.base and debian/control.cross. +# In the latter, @OS@ and @ARCH@ are replaced with every supported combination +# of operating system and architecture (e.g. linux_amd64, linux_386, …). +gencontrol: + echo "# DO NOT EDIT THIS FILE. EDIT debian/control.* instead!" > debian/control.tmp + cat debian/control.base >> debian/control.tmp + ${FOR_GO_ARCH} \ + BUILDARCHS=all; \ + [ "$$os" = "linux" ] && BUILDARCHS="i386 amd64 armel armhf"; \ + sed -e "s,@OS@,$$os,g; s,@ARCH@,$$arch,g; s,@BUILDARCHS@,$$BUILDARCHS,g" debian/control.cross >> debian/control.tmp; \ + ${FOR_GO_ARCH_END} + mv debian/control.tmp debian/control + +override_dh_install: + -${FOR_GO_ARCH} \ + echo "pkg/$${os}_$${arch} /usr/lib/go/pkg/" > debian/golang-go-$$os-$$arch.install; \ + [ "$$arch" = "amd64" ] && [ "$$os" = "linux" ] && echo "pkg/linux_amd64_race /usr/lib/go/pkg" >> debian/golang-go-$$os-$$arch.install; \ + echo "golang-go-$$os-$$arch: arch-independent-package-contains-binary-or-object" > debian/golang-go-$$os-$$arch.lintian-overrides; \ + ${FOR_GO_ARCH_END} + # Install the native runtime/cgo.a to the golang-go package. + # runtime/cgo is only built for the native architecture, but the + # golang-go-OS-ARCH packages are built on one particular buildd, which + # might either be i386 or amd64. + echo "listing of $$(pwd):"; ls -hlR . + echo "listing of GOBIN: ($(GOBIN))"; ls -hlR $(GOBIN) + for file in $$(cd pkg/ && ls */runtime/cgo.a); do \ + mkdir -p $(CURDIR)/debian/golang-go/usr/lib/go/pkg/$$(dirname $$file); \ + mv pkg/$$file $(CURDIR)/debian/golang-go/usr/lib/go/pkg/$$file; \ + done + dh_install --fail-missing + # Remove .syso files of the race detector; it is not used yet and the files are arch-dependent. + find $(CURDIR)/debian/golang-src/usr/share/go/src/pkg/runtime/race -type f -name '*.syso' -delete + # Remove Plan9 rc(1) scripts + find $(CURDIR)/debian/golang-src/usr/share/go/src -type f -name "*.rc" -delete + # Remove empty /usr/share/go/src from golang-go, it is provided by golang-src + find $(CURDIR)/debian/golang-go/usr/share/go/src -type d -delete + # Subsequently, /usr/share/go is empty, too, so remove + find $(CURDIR)/debian/golang-go/usr/share/go -type d -delete + # For some reason, Go cross-compiles a handful of tools: {yacc,fix,api,vet,cgo}. + # Delete those, as they cannot be ran anyway. + # This is tracked upstream at https://code.google.com/p/go/issues/detail?id=5667 + (cd $(CURDIR)/debian/golang-go/usr/lib/go/pkg/tool && find . -depth -path "./$(GOHOSTOS)_$(GOHOSTARCH)*" -prune -o -delete) + # Touch built and installed files and directories to have same timestamp + touch $(CURDIR)/debian/golang-go/usr/lib/go/pkg + find $(CURDIR)/debian/golang-go/usr/lib/go/pkg -exec touch -r $(CURDIR)/debian/golang-go/usr/lib/go/pkg {} \; + +override_dh_strip: + # strip disabled as golang upstream doesn't support it and it makes go + # crash. See http://bugs.debian.org/717172 + +override_dh_prep: + dh_prep + echo 'go:Hostarch=$(GOHOSTARCH)' >> debian/golang-go.substvars + +override_dh_builddeb: + dh_builddeb -- -Zxz + +override_dh_shlibdeps: + dh_shlibdeps -Xtestdata -Xtest + +debian/build.stamp: + rm -f debian/build.stamp + mkdir -p $(GOBIN) + # Build native tools first, then bootstrap all other GOOS/GOARCH combinations. + cd src && bash ./make.bash --no-banner + # For the race detector to work (go test -race), we need to install the + # std library with the race detector enabled. This will result in + # having an additional “architecture” directory, e.g. linux_amd64_race. + # + # The race detector currently only works on linux/amd64. The check within + # the following loop works precisely the same way src/race.bash does. + -${FOR_GO_ARCH} \ + export GOARCH=$$arch; \ + export GOOS=$$os; \ + cd src && bash ./make.bash --no-clean; \ + [ "$$arch" = "amd64" ] && [ "$$os" = "linux" ] && $(GOBIN)/go install -race std; \ + cd ..; \ + ${FOR_GO_ARCH_END} + >debian/build.stamp + +opt_no_act = +RUN_TEST := true + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + $(warning no support for disabling optimization) +endif + +ifneq (,$(findstring n,$(MAKEFLAGS))) + opt_no_act = --no-act +endif + +ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + RUN_TEST := false +endif + +GOROOT := $(CURDIR) +GOROOT_FINAL := $(libexecdir) +GOBIN := $(CURDIR)$(bindir) +GOARM := + +DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null) +DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null) +DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null) +DEB_BUILD_ARCH_OS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS 2>/dev/null) +DEB_BUILD_ARCH_CPU := $(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null) + +ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd) + RUN_TEST := false + GOHOSTOS := freebsd +else ifeq ($(DEB_BUILD_ARCH_OS), linux) + GOHOSTOS := linux +else + $(error unrecongized build host kernel $(DEB_BUILD_ARCH_OS)!) +endif + +ifeq ($(DEB_HOST_ARCH_OS), kfreebsd) + RUN_TEST := false + GOOS := freebsd +else ifeq ($(DEB_HOST_ARCH_OS), linux) + GOOS := linux +else + $(error unrecognized kernel $(DEB_HOST_ARCH_OS)!) +endif + +ifeq ($(DEB_BUILD_ARCH_CPU), i386) + GOHOSTARCH := 386 +else ifeq ($(DEB_BUILD_ARCH_CPU), amd64) + GOHOSTARCH := amd64 +else ifeq ($(DEB_BUILD_ARCH_CPU), arm) + GOHOSTARCH := arm +else ifeq ($(DEB_BUILD_ARCH_CPU), armhf) + GOHOSTARCH := arm +else + $(error unrecognized build host instruction set $(DEB_HOST_ARCH_CPU)!) +endif + +ifeq ($(DEB_HOST_ARCH_CPU), i386) + GOARCH := 386 + GOPREFIX := 8 +else ifeq ($(DEB_HOST_ARCH_CPU), amd64) + GOARCH := amd64 + GOPREFIX := 6 +else ifeq ($(DEB_HOST_ARCH_CPU), arm) + GOARCH := arm + GOPREFIX := 5 +ifeq ($(DEB_HOST_ARCH), armel) + RUN_TEST := false + GOARM := 5 +else ifeq ($(DEB_HOST_ARCH), armhf) + GOARM := 6 +else + $(error unrecognized arm architecture $(DEB_HOST_ARCH)!) +endif +else + $(error unrecognized instruction set $(DEB_HOST_ARCH_CPU)!) +endif + +export GOROOT GOROOT_FINAL GOOS GOARCH GOARM GOBIN GOHOSTARCH GOHOSTOS + +.PHONY: build clean install binary-arch binary-indep binary diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 000000000..eaa4578ce --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,10 @@ +golang source: source-contains-prebuilt-binary src/pkg/debug/dwarf/testdata/typedef.elf +golang source: source-contains-prebuilt-binary src/pkg/debug/elf/testdata/gcc-amd64-linux-exec +golang source: source-contains-prebuilt-binary src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86.obj +golang source: source-contains-prebuilt-binary src/pkg/debug/elf/testdata/gcc-386-freebsd-exec +golang source: source-contains-prebuilt-binary src/pkg/debug/elf/testdata/gcc-amd64-openbsd-debug-with-rela.obj +golang source: source-contains-prebuilt-windows-binary src/pkg/debug/pe/testdata/gcc-386-mingw-exec +golang source: source-contains-prebuilt-binary src/pkg/debug/elf/testdata/go-relocation-test-gcc424-x86-64.obj +golang source: source-contains-prebuilt-binary src/pkg/debug/elf/testdata/go-relocation-test-gcc441-x86-64.obj +golang source: source-contains-prebuilt-windows-binary src/pkg/debug/pe/testdata/gcc-386-mingw-obj +golang source: source-contains-prebuilt-binary src/pkg/runtime/race/race_linux_amd64.syso diff --git a/debian/test.bash b/debian/test.bash new file mode 100755 index 000000000..d8f6c055f --- /dev/null +++ b/debian/test.bash @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -e +eval $($1/dist env -p) +bash run.bash --no-rebuild --banner diff --git a/debian/vim-registry/vim-syntax-go.yaml b/debian/vim-registry/vim-syntax-go.yaml new file mode 100644 index 000000000..aee788212 --- /dev/null +++ b/debian/vim-registry/vim-syntax-go.yaml @@ -0,0 +1,8 @@ +addon: go-syntax +description: "Addon to highlight Google's Go" +files: + - syntax/go.vim + - ftdetect/gofiletype.vim + - ftplugin/go/fmt.vim + - ftplugin/go/import.vim + - indent/go.vim
\ No newline at end of file diff --git a/debian/vim-syntax-go.install b/debian/vim-syntax-go.install new file mode 100644 index 000000000..3c3bd54f4 --- /dev/null +++ b/debian/vim-syntax-go.install @@ -0,0 +1,5 @@ +misc/vim/ftdetect/*.vim /usr/share/vim/addons/ftdetect/ +misc/vim/syntax/*.vim /usr/share/vim/addons/syntax/ +misc/vim/ftplugin/go/*.vim /usr/share/vim/addons/ftplugin/go/ +misc/vim/indent/*.vim /usr/share/vim/addons/indent/ +debian/vim-registry/*.yaml /usr/share/vim/registry/ diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..9ae51be85 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://code.google.com/p/go/wiki/Downloads .*/go([0-9.]*)\.src\.tar\.gz |