User:Renich/Go Packaging Guidelines

From FedoraProject

< User:Renich(Difference between revisions)
Jump to: navigation, search
(Building)
(style revission)
Line 27: Line 27:
 
For now and as noted [http://code.google.com/p/go/issues/detail?id=1239#c3 here], go has no intention to satisfy the FHS or POSIX standards.
 
For now and as noted [http://code.google.com/p/go/issues/detail?id=1239#c3 here], go has no intention to satisfy the FHS or POSIX standards.
  
This said, it is not impossible to put the binaries and libraries where they should be: /usr/bin/ and /usr/lib64/go accordingly.
+
This said, it is not impossible to put the binaries and libraries where they should be: <code/usr/bin</code> and <code>/usr/lib64/go</code> accordingly.
  
Besides this, go needs a ''src'' directory inside the libraries dir; this is: ''/usr/lib64/go/src''
+
Besides this, <code>go</code> needs a <code>src</code> directory inside the libraries dir; this is: <code>/usr/lib64/go/src</code>
  
 
==== Documentation ====
 
==== Documentation ====

Revision as of 06:49, 4 February 2011

Contents

Description

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.

It, also, includes a plethora of packages and related projects.

Go Packaging

Naming

Since go is a compiler and comes with many packages (libraries); distributed independently. Packaging guidelines should be applied only to those projects that expand go's functionality. Independent standalone packages should be named applying the NamingGuidelines.

Building

Warning (medium size).png

This can be done with ( The Packaging Howto):

%global _enable_debug_package 0
%global debug_package %{nil}
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}

File Placement

For now and as noted here, go has no intention to satisfy the FHS or POSIX standards.

This said, it is not impossible to put the binaries and libraries where they should be: <code/usr/bin</code> and /usr/lib64/go accordingly.

Besides this, go needs a src directory inside the libraries dir; this is: /usr/lib64/go/src

Documentation

Go Packages and Projects

Naming

Building

File Placement

Documentation

Tips for Packagers

Reference

Websites

Oficial website: http://golang.org/

Projects: http://godashboard.appspot.com/project

Packages: http://godashboard.appspot.com/package

Communication

Mailing list: http://groups.google.com/group/golang-nuts

IRC: irc://irc.freenode.net/go-nuts

Twitter: http://twitter.com/go_nuts

Blog: http://blog.golang.org/