gnewsense-dev
[Top][All Lists]
Advanced

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

Re: [Gnewsense-dev] Debderive


From: Sam Geeraerts
Subject: Re: [Gnewsense-dev] Debderive
Date: Fri, 10 Feb 2012 23:09:00 +0100
User-agent: Thunderbird 2.0.0.24 (X11/20101029)

Stayvoid wrote:
 > 1. "This software intends to make it easy to create a package
repository that's derived from Debian." [1]
Can't we just use reprepro for this purpose? AFAIK there is no
difference between Debian and GNS Parkes.

We could. But we want to update the repo in a periodic (e.g. daily) cron job, which would need a bit of scripting anyway. So I put in a bit more effort so that we could have a simpler configuration (imo) than reprepro's and not have to worry about it's many options. The effort/simplicity balance didn't turn out completely as I'd hoped, but I'm pretty happy with it.

A stable Parkes will have some packages excluded, some patched and some added. If there was to be no difference between gNewSense and Debian than there was no need for gNewSense and we could just put Debian on the list of free distros.

2. I'm new to Python and to the development itself. I just don't know
what is the best way to start. I don't have enough experience to see
missing features etc. What should I read to understand how everything
works? It will be nice if you tell me about some missing features and
a way to solve them. For example: foo feature is missing. Go read bar
to make it work.

Since it's an abstraction of reprepro it's good to know the basics of that. Read the man page about conf/distributions and conf/updates. Look in debderive.py for "_do" to see which commands it uses and read about those. If you want to try Debderiver out yourself it's good to have a local repo to test with. It's not necessary to get all of Debian, use debmirror to fill it with just a few packages (use [1] for inspiration).

Debderiver has a todo list [2]. I also just realized that there's no dependency checking in the script. It should at least check if reprepro is installed. A simple check to see if /usr/bin/reprepro exists would be a nice start.

Documentation (README, INSTALL, FAQ) also needs improving. A new and outside perspective like yours can be a great contribution. Patches for those files, or just questions about how to get it working are welcome. If those files don't make it clear (for someone who knows what a deb mirror looks like) how to use it without asking me, then it's a bug.

3. What is the best way to share my code? Should I use something like
pastebin? Will it be ok to paste the code in a letter's body? Should I
use something else (bzr)?

You could send a patch (produced with 'diff -Nru') to this mailing list. You could also put your Bazaar branch somewhere public and tell us about it. I don't think Savannah supports personal (i.e. linked to user instead of project) branches, but maybe you have your own hosting or you could use Launchpad.

4. Debderiver is licensed under the GNU GPL v3. Should I attach the
license's text to every peace of code that I want to share? A line of
code is a code. Is it really necessary to ship oneliners with the text
of the license?

If you submit a patch without mentioning a license it's assumed to be under the same license(s) as the code you're patching. Some projects, like Linux, have a sign-off procedure [3]. You don't have to add the license to patches you contribute to gNewSense, but if you're paranoid about it, you can just say the name of the license (e.g. GPLv3) instead of the whole license text.

If you have any further questions, please ask.

[1] http://bzr.savannah.gnu.org/lh/gnewsense/metad/annotate/head:/cron.daily/02_bpo-sync
[2] http://bzr.savannah.gnu.org/lh/gnewsense/debderiver/annotate/head:/TODO
[3] http://www.elinux.org/Legal_Issues



reply via email to

[Prev in Thread] Current Thread [Next in Thread]