You are not logged in.

#1 2014-05-18 04:11:47

kraileth
Member
Registered: 2013-04-20
Posts: 12

Contributing to ArchBSD

Hi!

I've got a couple of questions again! While ArchBSD works extremely well given the little manpower of the project, there's of course always room for improvement. My last question how I could help with ArchBSD received the answer that enabling the [*testing] repositories and providing feedback if something breaks could be a valuable contribution. Another obvious way would be adding packages to the AUR.

Now I found that the wiki keeps silent about that topic. But shouldn't possibilities to contribute be covered there? I don't know enough about ArchBSD to just start a wiki article on it myself (e.g. I'm aware that there has been a request for donations in the past. However I have no idea what the current status is!).

Well, just wanted to bring that point to attention. However I'd also like to get beyond that. Here's a little background:

I've taken a few hours in the evening during the last week to play with ArchBSD. Building i686 packages, I've run into quite a few problems, some of which I could solve and some of which I couldn't. Most problems seemed to come from older i686 packages which were built on a 9.1 release and are semi-broken after the world update (and especially the iconv move). For that reason I decided to build an i686 system from the ground up. I took a working i686 installation and tried to build each and every package of base, base-devel and git (to be able to clone the PKGBUILDs of the abs). Then I wanted to do a clean installation using these packages and step by step build up a system with X11 and some DE with the official repositories disabled so that everything built by myself would be a current package.

However I ran into trouble soon. There are a few packages which won't build with the PKGBUILDs in the ABS (like gcc, libgcrypt, cmake, etc.). Others do build but seem t be broken like the freebsd-* packages: If I do a pacstrap with these packages, the installation won't boot (complains about beastie.4th being unavailable or something like that). For that reason I was forced to "mix" the new system by creating two repositories ("i686" and "external" - the later containing 20 packages taken from the official repos). Currently "i686" holds way over 400 packages mostly just built from the PKGBUILDs in the abs, quite some which had to be modified (or updated) and a few imported from Arch Linux.

Since I've come to really like ArchBSD by now, I formated another pc as well and installed ArchBSD on it. So now I have both a i686 and an x86_64 system available to test if the changes to the PKGBUILDs break anything and if the newly imported ones work on both platforms. I've built packages for two desktop environments which are neither part of the official repositories nor the AUR (mate and EDE) and of course a whole lot of dependencies for them.

As one might guess, this process led to the discovery of a lot of small and some more serious glitches. Now I'd like to know what I could do to not just keep the improvements that I made for myself! How am I supposed to contribute these kind of changes?

- In case of seriously broken PKGBUILDs I could mail the maintainer. Is that the right approach?
- There are quite a few packages in [extra] which have makedepends or even depends on packages from [community]. Coming from the ArchLinux world I consider this a bug. Does ArchBSD follow a different policy or should this be fixed if there was more manpower available?
- I came across a number of PKGBUILDs which are just broken because the download URL changed. This can be fixed easily but there's probably no reason why anybody should do the same thing again when the package needs to be rebuilt next time. For that reason I'd like to just give the changes I made back.
- Any updated package could probably go into [*testing]. I have no idea how to do this.

I think that the correct way would be the following: 1. Sign up with GitHub. 2. Fork ArchBSD/abs. 3. Create a branch so that the main fork can be kept in sync. 4. Make modifications in the branch. 5. Make a pull request.

Is this even going in the right direction? I've never used GitHub before (only have some experience with SVN and fossil) and for that reason I have no idea if this is what it works like. If I'm wrong: What is the correct way to handle things? Are there any project guidelines to read before trying to contribute? Is that kind of contribution by a BSD greenhorn even welcome or is it actually undesired?

Offline

#2 2014-05-19 05:37:00

Blµb
Administrator
Registered: 2013-01-24
Posts: 57

Re: Contributing to ArchBSD

kraileth wrote:

Now I found that the wiki keeps silent about that topic. But shouldn't possibilities to contribute be covered there?

It should, we just need to find the time and motivation to write some wiki pages.

kraileth wrote:

There are a few packages which won't build with the PKGBUILDs in the ABS (like gcc, libgcrypt, cmake, etc.). Others do build but seem t be broken like the freebsd-* packages.

From our current ABS? That's weird. It can of course happen that world updates require updates to PKGBUILDs, but the freebsd-* PKGBUILDs should work. They work for us after all, and we build them on ArchBSD (obviously). However, i686 is still heavily under construction as we don't use it, but there's a lot of progress on that lately.

kraileth wrote:

Since I've come to really like ArchBSD by now, I formated another pc as well and installed ArchBSD on it. So now I have both a i686 and an x86_64 system available to test if the changes to the PKGBUILDs break anything and if the newly imported ones work on both platforms. I've built packages for two desktop environments which are neither part of the official repositories nor the AUR (mate and EDE) and of course a whole lot of dependencies for them.

Looking forward to seeing those packages and/or PKGBUILDs.

kraileth wrote:

As one might guess, this process led to the discovery of a lot of small and some more serious glitches. Now I'd like to know what I could do to not just keep the improvements that I made for myself! How am I supposed to contribute these kind of changes?

- In case of seriously broken PKGBUILDs I could mail the maintainer. Is that the right approach?
- There are quite a few packages in [extra] which have makedepends or even depends on packages from [community]. Coming from the ArchLinux world I consider this a bug. Does ArchBSD follow a different policy or should this be fixed if there was more manpower available?
- I came across a number of PKGBUILDs which are just broken because the download URL changed. This can be fixed easily but there's probably no reason why anybody should do the same thing again when the package needs to be rebuilt next time. For that reason I'd like to just give the changes I made back.
- Any updated package could probably go into [*testing]. I have no idea how to do this.

I think that the correct way would be the following: 1. Sign up with GitHub. 2. Fork ArchBSD/abs. 3. Create a branch so that the main fork can be kept in sync. 4. Make modifications in the branch. 5. Make a pull request.
...

Out of laziness and the fact that very often we just do standard changes (very rarely no changes at all) to the PKGBUILDs we often don't update the maintainer comments.
We should start enforcing a rule about that...
If the issues are purely ArchBSD related, the best options are IRC or the github issue tracker. If it's an issue on linux as well, the ArchLinux maintainer will want to know too (AL bugtracker or email).

github fork/pullrequests are definitely a good idea as its interface makes it easy for us to review changes

In any case we encourage the use of IRC, as lots of issues you get when you first get into building packages for ArchBSD will be known and can quickly be answered there. There's a wiki entry with general information (the PKGBUILD entry) but some quirks just haven't made it there yet.

Offline

#3 2014-05-19 08:45:20

Amzo
Administrator
Registered: 2013-01-21
Posts: 144

Re: Contributing to ArchBSD

Most of the packages you've mentioned for i686 I've already fixed and pushed to testing.

You can enable testing by commenting out the two lines in /etc/pacman.conf

[testing]
Include = /etc/pacman.d/mirrorlist

It's located near the bottom of the config. As for the maintainers, I sorta leave them in as they were the ones that did the initial work on the PKGBUILDS from ArchLinux. we normally just fix them up, and add the required patches.

Lastly, it's normally better to fork https://github.com/ArchBSD/abs and send pull request with your changes.

Offline

#4 2014-06-12 23:38:04

kraileth
Member
Registered: 2013-04-20
Posts: 12

Re: Contributing to ArchBSD

Finally found some time on the computer again! In the time since my last post I built some packages and uploaded them to a publically available repository (660 packages to be precise). If anybody is interested in i686 packages, you can have a look at the current package list.

The repository can be used by adding http://www.elderlinux.org/repos/archbsd/ as the server together with i686 as $repo in pacman.conf.

It provides packages to build a simple desktop system. Here are just a few of them:

- Most packages of the MATE desktop (much improved GNOME 2 fork)
- The EDE desktop (for people who want/need a really light-weight desktop)
- Midori (webkit based browser)
- Audacious (Winamp like player)
- GIMP
- Filezilla
- Codeblocks IDE
- Texlive-bin
- Chocolate Doom (to have at least one game available! wink)

I've also signed up on GitHub and forked the abs repository. Will take a closer look at git next (as I've only worked with other VCS so far) and then play around with GitHub a little. I'll post here again when I feel confortable with these tools. Expect some pull requests then.

Offline

#5 2014-09-06 11:08:15

pintergreg
Member
Registered: 2014-09-06
Posts: 1

Re: Contributing to ArchBSD

Are your PKGBUILDS available for your packages? I would like to compile MATE for x86_64.
Thanks.

Offline

Board footer

Powered by FluxBB