Nov 022012

It has been some time since last post and many things happened: one of those is that I have been invited to work with the people at and I gladly accepted 🙂
Work there is really interesting and I feel like I’m learning a lot.

But the thing I felt most urgent, as I had chosen Slackware to host the services I administer at work and a new version of slackware is out, is to upgrade the lxc host and containers to slackware-14.0.

So I made some tests to adapt the procedure I described for slackware-13.37 (you might want to have a look at that too, mainly for the network setup) to the new version, trying at first to run a minimal slackware64-14.0 container on a slackware64-14.0 host.

I switched to slackpkg to install the packages in the container as I think, with just little modifications, it can be safely used as debootstrap is used on Debian: it also supports itself templates, so they can be used to install custom selections of packages (creating /etc/slackpkg/templates/mytemplate.template and passing the variable TEMPLATE=mytemplate to the lxc-create command).
So I patched it: here you can find the patched version for slackware and slackware64, and here is the one for slackwarearm.

I assembled a new template, placed it in my host filesystem as /usr/lib64/lxc/templates/lxc-slackware

cd /usr/lib64/lxc/templates
wget --no-check-certificate
mv lxc-slackware
chmod +x lxc-slackware

and installed my minimal slack with it

MIRROR= lxc-create -f /path_to/chuckd.config -n chuckd -t slackware
  • arch defaults to the host’s one. The template supports slackware{,64,arm} but this option makes sense only specifying arch=i486 on a x86_64 host to install a 32 bit container – only case possible/tested ATM
  • SUITE defaults to “14.0” (and it’s tested with that 😉 )
  • TEMPLATE defaults to “minimal-lxc” (in the previous article you can see the list of packages used)
  • MIRROR defaults to “” and points to a slackpkg mirror, the main tree, withouth the /slackware-$SUITE/ at the end.
    You can use also a local folder: supposing you have a mirror of the latest slackware64-14.0 in /my/path/slackware64-14.0 use MIRROR=cdrom://my/path. As this will be set as the default mirror in the container (during creation), in this case you surely have to edit it after (that path won’t be accessible by the container).
  • chuckd.config is the configuration file for the container (two examples are available in the previous article, depending on the chosen network setup)
  • chuckd is the name of the container
  • slackware is the linux flavour of the container

Then I edited /var/lib/lxc/chuckd/rootfs/etc/rc.d/rc.inet1.conf and /var/lib/lxc/chuckd/rootfs/etc/resolv.conf, the network configuration files of the container, with its network settings (IPADDR[0], NETMASK[0], GATEWAY and nameserver) and I started it with

screen -dmS init-chuckd /usr/bin/lxc-start -n chuckd

because launching it using a detached screen session leaves me an usable console (and I can reattach it, if needed).
And I happily connected to it through the network via ssh (or “lxc-console -n chuckd”) 🙂

While chatting with Alien Bob, he suggested me to try to install a full slackware on a lxc container, as a friend had tried it and got some problem logging in after.
I thought that happened because devices are defined outside of the containers and generally they don’t like manual adding or things like udev messing around, so I adapted the template also to disable an eventual /etc/rc.d/rc.udev and blacklisted the devs package (don’t install it in a container).
After that, I was able to install a full slackware64 in the container

slackpkg update
slackpkg install slackware64

While I was there, I tested also a remote connection through the nx protocol, installing freenx in the container with sbopkg

installpkg sbopkg-0.36.0-noarch-1_cng.tgz
sbopkg -r
sbopkg -i nx
sh /var/lib/sbopkg/SBo/14.0/network/freenx/
sbopkg -i freenx

and I connected to it from the host with nxclient.

Aug 232010

LXDE logo

as I promised, I have added the necessary branches to my’s git master fork, so it will be easy to build a complete LXDE desktop using sbopkg.
I used existing components, I added alien bob’s scripts adapting them to template and I wrote some from scratch.

    UPDATE: all the components are submitted to now so there’s no particular need to set up my repository, unless you want latest testing (but working) stuff for current.
    I also removed the gnome-vfs building option because it’s obsolete starting with slackware 13.37; libatasmart, sg3utils, udisk, upower and gvfs are part of slackware since 14.0.
    Other modifications have been done at the end of 2015 following the latest development choices.
    I’ll try to keep it updated with the latest fixes, you can see them in the branch list of the git repository, so you can use them individually.

the quick install guide:

download and install the latest version of sbopkg (if you don’t have it already, as it’s a must-have application for slackware 😉 )
Launch it, and only if you using current, go to the Utilities menu and use the Repository option to select the SBo-git repository. If you’re using stable just leave the default settings and jump at the queue part.
You can also use some command line alternatives 😉
you can then go back to the main menu and select the Sync option.
If you find any problems syncing (still only in current case), just

rm -fR /var/lib/sbopkg/SBo-git
sbopkg -r

use this text file as /var/lib/sbopkg/queues/lxde.sqf


then launch

sbopkg -i lxde

choose in the dialog to keep the queue options and you’ve only to wait a little. 🙂

at the end, launching xwmconfig you can choose xinitrc.lxde and the next time you enter in X you’ll have a brand new shiny LXDE desktop. 😀

Aug 062010

hi, finally found the time to work a little on LXDE: I’ve prepared a second round of slackbuilds and packages based mainly on the git version of the various components (many improvements in there).
hope I haven’t missed anything of the things spotted (still have to do experiments with suspend).
maybe is better if I just cut and paste from the README.txt of the download folder

LXDE for slackware current

many of the slackbuilds here are from alien bob's repository and

I simply adapted/updated some things to build on current and added some others.
You can check the build scripts used in the "build" folder:
LXDE.SlackBuild is the script to launch (it uses a build queue, it's a modified
version of kde build script).

I updated the version of the stuff beyond the latest stable packages on sourceforge,
as on git there's lotta new interesting stuff going on:

- new libfm and pcmanfm with automounting/udisks support
- new lxappearance (this is version 2, renamed in the build script)
- many translation and other updates

How to use:

* install the packages for your architecture:

  - the i486 ones if you are running slackware-current
  - the x86_64 ones if you are running slackware64-current

packages are UNTESTED on 13.1 (but, who knows, they might work ;) )

* be sure to have installed the packages tango-icon-theme (for the default
  desktop icons/menu theme), vte (for lxterminal), atk, glib, pango, cairo and
  gtk+2 from the official slackware repository (obviously also X packages :P).

* run xwmconfig as user and choose the lxde session.

* start/restart X.

* if you want to run lxdm as the session manager (optional) apply the patch that you can
  find in this directory (instructions are inside the patch itself) to

these packages include *one* update of the standard slackware packages, glib2,
but unfortunately is needed for the new libfm.

if you find any problems report them on this linuxquestion thread

I’m only a little disappointed for having to upgrade glib2 but, you know, it’s testing stuff 🙂

soon I’ll try to do branches about these packages on my fork so I can use this stuff in my sbopkg queue: for eric scripts I think I’ll do a first commit in the corresponding branch adding the original script and a second one with the modified version (I tried to follow the autools-template).

you can find on the download page also a .tar of the build folder (with the sources folder and links in the slackbuilds folders too, for easy self-building).

happy testing! 🙂

EDIT: looks like suspend works! 😀

May 302010

As Robby Workman has announced on the users mailing list, they started a git repository for managing their slackbuilds. 🙂

This, besides being great news, has some implications: my SBo-git repository for -current has no sense to be continued anymore, as the logic (and Robby too :D) tells me to rebase my work on their repository.
It’s was also much cleaner and ordered, but I forked it on github and I started playing on it to have a branch to use to build my sbopkg queue.

so, if you want to follow my mods, the new address is:

2ManDVD                multimedia/2ManDVD: updated to 1.3.3, miscellaneous cleanups
LiVES                  multimedia/LiVES: fixed link to lives-exe binary, miscellaneous cleanups
audacity               audio/audacity: updated to latest 1.3.12 beta, miscellaneous cleanups
avidemux               multimedia/avidemux: fixed md5sum, added alien bob's fix for x86_64 paths and plugins build code
cabextract             system/cabextract: miscellaneous cleanups
cherokee               network/cherokee: updated to 1.0.1, added some configure options, miscellaneous cleanups
cksfv                  misc/cksfv: miscellaneous cleanups
clamav                 system/clamav: updated to 0.96.1, rewritten clamd.conf.patch, miscellaneous cleanups
cryptopp               libraries/cryptopp: downgraded to 5.5.2 for aMule
darkstat               network/darkstat: miscellaneous cleanups
dvgrab                 multimedia/dvgrab: miscellaneous cleanups
encfs                  revert system/encfs removal and adds a patch for the new toolchain
ffmpeg                 multimedia/ffmpeg: updated to r23248, added a configure option, miscellaneous cleanups
ffmpegthumbnailer      desktop/ffmpegthumbnailer: updated to 2.0.2, miscellaneous cleanups
foremost               system/foremost: miscellaneous cleanups
gavl                   libraries/gavl: added.
gdk-pixbuf             libraries/gdk-pixbuf: miscellaneous cleanups
gpac                   revert multimedia/gpac removal, adds a patch for the new libpng and miscellaneous cleanups
gst-plugins-bad        multimedia/gst-plugins-bad: updated to 0.10.18, miscellaneous cleanups
gst-plugins-ugly       multimedia/gst-plugins-ugly: updated to 0.10.14, miscellaneous cleanups
gst-python             libraries/gst-plugins-python: updated to 0.10.18, miscellaneous cleanups
hping3                 network/hping3: miscellaneous cleanups
id3                    audio/id3: miscellaneous cleanups
kino                   multimedia/kino: updated to 1.3.4 for the new ffmpeg
kvirc                  network/kvirc: updated to 4.0rc3 for qt4 build, miscellaneous cleanups
libiconv               libraries/libiconv: added libiconv, a text conversion library
libnice                libraries/libnice: downgraded to 0.0.10 for farsight2
libunicap              libraries/libunicap: added libunicap, a video capture library
ltris                  games/ltris: miscellaneous cleanups
mjpegtools             multimedia/mjpegtools: miscellaneous cleanups
obconf                 desktop/obconf: miscellaneous cleanups
perl-Compress-Raw-Zlib libraries/perl-Compress-Raw-Zlib: added perl-Compress-Raw-Zlib, a Perl interface to the zlib compression library
perl-Compress-Zlib     libraries/perl-Compress-Zlib: added perl-Compress-Zlib, a Perl interface to the zlib compression library
perl-IO-Compress-Base  libraries/perl-IO-Compress-Base: added perl-IO-Compress-Base, the base class for all IO::Compress and IO::Uncompress Perl modules
perl-IO-Compress-Zlib  libraries/perl-IO-Compress-Zlib: added perl-IO-Compress-Zlib, a Perl interface to allow reading and writing of gzip and zip files/buffers
python-twisted         network/python-twisted: miscellaneous cleanups
python2-chardet        libraries/python2-chardet: miscellaneous cleanups
scummvm                revert games/scummvm removal, updated to 1.1.1
snack                  audio/snack: added snack, a sound toolkit
soundtouch             revert libraries/soundtouch removal, updated to 1.5.0, miscellaneous cleanups
vice                   system/vice: added patch to fix build, miscellaneous cleanups
wmCalClock             desktop/wmCalClock: miscellaneous cleanups
wmMoonClock            desktop/wmMoonClock: miscellaneous cleanups
wmSun                  desktop/wmSun: miscellaneous cleanups
wmakerconf             desktop/wmakerconf: miscellaneous cleanups
wminfo                 desktop/wminfo: miscellaneous cleanups
wmnet                  desktop/wmnet: miscellaneous cleanups
wmweather              desktop/wmweather: miscellaneous cleanups
wormux                 games/wormux: updated to, miscellaneous cleanups
wvdial                 revert network/wvdial removal, updated to 1.6.1, miscellaneous cleanups
wxcam                  multimedia/wxcam: miscellaneous cleanups
x264                   multimedia/x264: updated to 20100425, added configure option, miscellaneous cleanups
zisofs-tools           revert system/zisofs-tools removal, miscellaneous cleanups

soon I’ll manage to build the queue on a fresh installed slackware 13.1 to try this new repository (last packages was built using SBo-git) so stay tuned if you prefeer prebuilt fresh goodies 🙂

P.S. in the meantime I managed to do lxde packages for slackware 13.1 from alien bob’s lxde build scripts and some stuff from, to create a slax-remix module to have an alternate desktop on that live distribution (it’s based on ex-current, now 13.1, too).
if you want to try them and report back any problem, I’ll be glad to improve them (if I am able to). 🙂

May 252010

as announced on slackware main site the 13.1 release of the oldest linux distribution is ready 🙂

slackware confirm itself one of the most innovative distribution in the field, with software updates surpassing latest ubuntu 😀

The SBo-git repository is ready too to be used with sbopkg on this new slackware version.

if you need fresh additional packages beside slackware standard full install, I built some (using sbopkg and SBo-git) for my personal use (the list) that I gladly share:

I massconverted now also the compat32 packages (waiting for official updates from alien bob) for running 32 bit software on multilib slackware64: if you are using those in the past, remember to remove libv4l-compat32 (it has been superseded by v4l-utils) before doing

upgradepkg --install-new --reinstall */*.txz

while in compat32 folder.

May 192010

updated SBo-git with some small fixes after the updates of 2 days ago: this is the repo at today.
there’s also a new contributor, Greg Tourte! 🙂

soon I’ll fix the individual branches to do a rebase and a merge in a new branch derived from master: after all, it looks cleaner to me than apply lot of fixes to current. 🙂

I also rebuilt my x86_64 packages (soon the i686 ones will follow).

then I’ll wait for the new 13.1 repository: alien bob hints about surprises and that stimulated a lot my curiosity 😀

May 082010

updated all my -currents to latest status (13.1 beta1: as usual, if you want you can check the current commits/branches on SBo-git page) and rebuilt all my stuff (x86_64 and i686).

I managed to set up also a redmine site to have a frontend for my projects. 🙂

but the best thing is that SBo-git has a new contributor of patches/fixes: tnx a lot and welcome, grissiom. 😀

Apr 282010

good news for who’s using sbopkg with sbo-git as a repository.
tnx to 55020 for the setup instructions:

Just to point out, sbopkg already has support for git repositories. 
So you can use the "current" branch of Ponce's unofficial repository in sbopkg
by creating a file at /etc/sbopkg/repos.d/30-SBo-git.repo containing the following text:

# Repo Branch Description Tag Tool Link CheckGPG
SBo-git current "Unofficial repository for -current" _SBo git git:// ""

Then, within sbopkg, you should go to the Utilities menu and use the Repository option
to select the SBo-git repository.
You can then go back to the main menu and select the Sync option as usual.

I’m improving my git-fu and now, using binary patching, I will update directly the -current branch without recreating.
that means, basically, that you can sync it from inside sbopkg with no need to delete/reset old checked out git files. 🙂
this will work for you if you have checked last time my 20100425 commit, if not you have to

rm -fR /var/lib/sbopkg/SBo-git

one last time (I hope :P)

I’ve setup a file .gitattributes in the root of the git repository with this content

*.gz binary
*.bz2 binary
*.tgz binary

then i diffed the two latest master commits

git diff --binary b3541a6a8166ba54b41f104746bbf4119e501935 05f5636958c44b6fb5042cbaae3721536f5f51a2 > /tmp/sbo.diff

then I switched to branch “current”.
here I checked if some of the updated slackbuilds matched the ones I’m mantaining and to avoid confilcts applying the patch from master I restored their state in the tree at the one they have on master before last update: in this specific case only gpac was affected

cd multimedia
rm -fR gpa*
tar xf gpac.tar.gz
chmod 644 gpac/gpac.SlackBuild
cd ..

after that I applied the patch from master into this branch

git apply --binary /tmp/sbo.diff

then I removed the .gitattributes file and added new files

rm .gitattributes
git add .

and then I commited

git commit -a -m "sbo repo for current 20100428"
git push origin current

results are shown in the SBo-git homepage.

I’ll try to update the current branch this way from now on. 🙂

Apr 252010

– added two files to the new avidemux branch (i forgot in the last commit :P).
– added abiword.

here is the commit.