[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Go (golang) packaging, part 2

On Fri, Feb 01, 2013 at 10:00:32AM +0000, Jon Dowland wrote:
> As a Haskell developer, I find cabal much more convenient than nothing,
> in the situation where the library I want is not packaged by Debian yet.
> If I want my haskell libraries and programs to reach a wide audience, I
> need to learn Cabal anyway.

If you are writing libraries to add to the language, then I don't consider
you a normal developer using the language.

> And yet they do, and so we need to manage it.

And certainly saying "We will package things for distribution using the
package and installation system we have" is managing it.  Upstream and
whine all they want about not using their install system, and they will
be Wrong.

Upstream can do what they want if they think there is a need, but if
they don't consider that a lot of people don't want yet another system
then that's their problem and they do not need to be catered to by
everyone else.  If they want their stuff used by people they have to
make it accessible in a normal manner that fits in with whatever a given
distribution does.

> Remember that Debian does not just provide a package management system: it also
> provides repositories and dictates what goes in them according to the DFSG.
> Whilst adding new repositories is relatively simple for users (and growing in
> popularity for upstreams), installing bare .deb files is still not a very
> smooth process (although massively improved by e.g. gdebi these days)

You generally don't have to because things are in Debian archives already.

> From an upstream POV, they want their software in the hands of end users. They
> don't want to have to learn and build a myriad of different package types
> (.deb, .rpm, etc.) and crucially neither do we. In many cases they don't want
> to have to wait for a distro to package their software for them either.

So what?  A lot of us want stable systems that works and is consistent.
They don't have to package everything, they just have to make it possible
to get the sources and build them and allow them to be packaged and
distributed in a consistent manner (unlike Ocracle's Java these days
for example).

If you want bleeding edge, then you are not a normal user and you
certainly aren't a system administrator that wants to keep a controlled
system they can reproduce.

I know dpkg --get-selections will tell me all the software installed on
the system so I can do the same on another one.  If yet another package
maanger gets involved I have to know about it and do something different
to handle that.  That's not a good thing.

> In the Go case, their users are people who might have a shell/web account but
> not admin access on a shared host somewhere, running god knows what distro and
> version, hence having a self-contained fat binary that is guaranteed to run
> wherever libc is meets their goals.

That's a different goal than running a nice debian system.

Len Sorensen

Reply to: