You are not logged in.

#1 2014-09-14 07:48:44

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

2 Years of ArchBSD

Well, the project has been around for 2 years now, so I decided to make a post on what has been achieved with the project so far.

What is ArchBSD!!

ArchBSD is a project that aims to provide a rolling release distribution based on FreeBSD, following the same packaging standards as ArchLinux, we want to provide the latest packages available:

However, some packages will never be as recent as the packages available for Linux due to the heavy patching needed, so we then provide the latest packages the ports have available.

Before I started the project, when using FreeBSD you could either use ports, or outdated binary packages which seemed to lack frequent updates. FreeBSD was still using old style pkg_* tools,
and maintaining ports took a lot of the time away from other tasks on the system. Thus I decided on using pacman and bringing the latest possible packages.

Essentially, ArchBSD is FreeBSD + pacman.

Multilib

With ArchBSD, it is possible to use multilib functionality, the same way as ArchLinux. The multilib packages can both be compiled with clang or gcc. This obviously didn't work at first, due to the nature of FreeBSD,
however with wrappers now provided for basic system headers, the split freebsd-lib32 package as well as a patched gcc. It is possible to compile and distrbute lib32 packages for x86_64 user. So the ability to run wine is easy.

A simple:

pacman -S wine

Will install the needed lib32 packages, setup the 32bit ldconfig paths and you'd be good to go.

pkgdepdb

One of the problems with ports, would be having to rebuild all ports during an upggrade, or when a library bump occurred. Thus we have pkgdepdb.
pkgdepdb using libalpm and reads package created by makepkg. It will keep a database and report what packages have been broken due to an upgrade. It will post a daily list of packages to our IRC channel which can easilly be fixed.

example:

<absd|log> ==> [repo-report] finished: [broken:274] [depend-issues:374] [file-conflicts:15] [libstdc++ linked:49]), check: http://users.archbsd.net/~blub/repo-report/2014-09-13

pkgdepdb will also work on ArchLinux, so feel free to try it. Source code for pkgdepdb is http://www.github.com/Blub/pkgdepdb

version check

Of course with a small amount of people keeping track of the packages, we need a way to compare packages version. So we have the version checks. It works by pulling the databases from ArchLinux and
comparing the packages version to our own, and reporting which of our packages are outdated. Of course we'll always have some outdated packages which require heavy patching and unable to update,
but we're wanting to keep most of our outdated packages to a minimum.

Linux Base

Our Linux base for running packages like doom3, epsxe, flashplugin has been worked on to provide a complete working ArchLinux base. The way the base is packaged is the same as ArchLinux.

pacman -S linux-base

With this you could install just the Archlinux base and chroot or setup a jail to use. Otherwise if you're just wanting the packages flash, it will pull only the needed linux dependencies in.


example:

pacman -S flashplugin

Packages (6): linux-alsa-oss-1.0.17-3  linux-glib-1.2.10-2  linux-gtk-1.2.10-1  linux-sdl-1.2.14-1  linux-sdl_ttf-2.0.9-1 

Total Download Size:    2.10 MiB

When new functionality is added to the linuxulator, we can easilly upgrade our linux base, and once epoll is implemented: Hopefully a working steam package.

makepkg and pacman

makepkg has also seen some added functionality added to assist with packaging:

  • clang
       This option can set the compiling for the package to either clang or gcc options=(clang)

  • libtoolfix
       libtool sucks on FreeBSD, and thus needs patching to fix library version
      options=(libtoolfix)

  • fbsd10fix
       With FreeBSD 10 a lot of autotools had checks for freebsd1*) which would break, this of course fixes that and is the default option in makepkg

  some additional variables are CONFIG_SITE and OSVERSION

6P3XyHM.png

Offline

#2 2014-09-20 17:25:25

neoxic
Member
Registered: 2014-08-09
Posts: 5

Re: 2 Years of ArchBSD

Ride on! Awesome project! Personally, I aggressively use all the three - FreeBSD, ArchBSD and Archlinux - as part of my cross-platform development. And it's truly amazing to be in such deep touch of these technologies.

Offline

Board footer

Powered by FluxBB