You are not logged in.

#1 2010-03-26 18:06:08

augustl
Member
Registered: 2010-02-22
Posts: 33

How do I make a program easily distributable with pacman, apt, etc?

I'm a ruby programmer. The code I have distributed so far has been Ruby libraries for use in Ruby programs, so I have distributed them as Ruby Gems, Ruby's own package manager.

I'm writing a program now though that is a tool that web programmers can use (a JavaScript integration test tool). Most web programmers are unfamiliar with Ruby, having to install ruby gems and type "gem install mylib" would be foreign to them, while pacman or apt-get or whatever their OS level package manager is, would be familiar, be easier for them, and generally make more sense.

So my question is: How should I write this tool to make it distributable with pacman and apt-get and similar package managers?

Last edited by augustl (2010-03-26 18:07:05)

Offline

#2 2010-03-26 18:17:31

Pierre
Developer
From: Bonn
Registered: 2004-07-05
Posts: 1,964
Website

Re: How do I make a program easily distributable with pacman, apt, etc?

Good question. I have no idea about ruby nor gems but I have quite a lot experience with packaging. So this is some kind of general advice:
* Summary first: Make it as easy as possible. Packagers are not dumb but usually have a lot of other things to do.
* Provide some kind of transparent development: release schedules, change logs, information about updates (rss, mailinglist etc.)
* Technically you should provide some kind of mechanism to copy/install all needed files to a destinated location.
* Provide details information about dependencies (e.g. which versions of ruby do I need and what else)

Offline

#3 2010-03-26 18:24:45

augustl
Member
Registered: 2010-02-22
Posts: 33

Re: How do I make a program easily distributable with pacman, apt, etc?

Pierre wrote:

Technically you should provide some kind of mechanism to copy/install all needed files to a destinated location.

Rubygems itself has a "install.rb" which lets you run "sudo ruby install.rb" to install it. Afaik it takes some arguments similar to the ./configure of C projects, where you can choose the prefix that defaults to /usr/local and so on. Is that what you had in mind?

Pierre wrote:

* Provide details information about dependencies (e.g. which versions of ruby do I need and what else)

Haven't thought about that. My tool will most likely depend on other ruby libraries, that are distributed as gems. Perhaps I could vendor them. That doesn't seem right, though, potentially having two copies of the same code goes against the purpose of having a package manager.

In general, an arch package could perhaps depend on ruby gems itself, and use it to install my tool. I.e. http://aur.archlinux.org/packages/ruby1 … l/PKGBUILD seems to do this.

Last edited by augustl (2010-03-26 18:25:30)

Offline

#4 2010-03-26 18:37:09

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: How do I make a program easily distributable with pacman, apt, etc?

You can look at the package standards wiki pages. There's a proto file in abs for rubygem-based packages as well.

Offline

#5 2010-03-26 23:23:06

Runiq
Member
From: Germany
Registered: 2008-10-29
Posts: 1,053

Re: How do I make a program easily distributable with pacman, apt, etc?

This would be the job of packagekit, though I don't know much else besides the name about it. hmm

Offline

Board footer

Powered by FluxBB