Giselher's Blog RSS Feed

What’s next?

Posted on by giselher Posted in ArchHurd, GNU/Hurd Tagged , Leave a comment

I finished PHP yesterday, so what’s next? Well, to be honest I like to convince more people to maintain packages for Archhurd, because It gets harder every day to maintain the packages we have and starting packaging new things are more time consuming than update packages you know already.

If you are interested in helping us you can start with dropping by in our IRC channel #archhurd on chat.freenode.net. There  is always someone activ in this channel and fear not we are always friendly and do not eat your cat.

procfs

I wrote about procfs earlier and that it lacks some important feartures. You may be pleased to hear that Jeremie König a GSOC student that is working for Hurd, completly rewrote procfs. I only have to wait for melpo to return from his vacation and that he will rebuild hurd with the new procfs code. If it offers all features that we know from linux than we can iron out a lot of bugs and I can start building top, htop and other tools.

Status & storeio – My new favorite translator

Hy guise,

I didn’t worked much on PHP and other server technologies, because the live cd is on its way and I did update some more or less essential packages, which are used for the live cd or are popular by the users. By the way! I am so happy that I finally fixed the python package. Python worked for me, because I accidently install it to root and not to the pkgdir and I thought that I uploaded the fixed package long ago. But then a friend of barrucadu, who wanted to build namcap to test his packages, told me that python still doesn’t work. After dowloading some patches from debian we now have both, a working python build and namcap in the AUR for now.

Package Status

There is also a new syslog-ng package in testing, which does not depend on pidof. Due to the lack of a working /proc implementation pidof does not work. But fear not, work is going on the source code of procfs.  We sooner or later got a working /proc and all the nice things that are depending on it, like top.

To be more developer friendly for future hurders,  I added cvs and mercurial. We now cover almost every VCS, except for Subversion, which will surely come someday (if I have enough time).

Wiki Status

I also change some wiki pages, especialy the translator page, which I will quote below. This pages gives an overview about the most important ones for end user, if there are end users at the moment. Please have a look if you like. http://wiki.archhurd.org/wiki/Translators

I will make this post a bit longer than, because I didn’t post yesterday

storeio – A flexible block device translator

I’d like to present my new favorite translator, by the name storeio.

storeio is a translator which creates a block device from the given file. It also supports compressed files with gunzip and bunzip2 but I recommend not to use any compression, didn’t work as expected and takes forever to mount. You sure are asking yourself what you can do with a block device? Well, once created you can created a filesystem on it and mount it on a directory and put data into it. Because of the fact that the file is now a block device, you’re able to work with filesystem tools, like mkfs and fsck, on it. You can also create a ramdisk witk it.

Enough wtih the talk, lets show some examples. From here on I will quote the wiki page about translators. Sorry for the format. Look at our wike page if you like to see it in a better format.

storeio

storeio is like losetup on linux, but with more advantages. It also supports compression with gzip and bzib2 or normal files.

It creates a block device with the given file or arguments.

 settrans -ca loop0 /hurd/storeio -T file FILE
 settrans -ca loop1 /hurd/storeio -T gunzip FILE.gz

ATTENTION: storeio can not size the given file. A possibility to create a file with a given size is to use dd.

 dd if=/dev/null of=FILE bs=42MB

This will create an empty file with the size of 42MB. You can now work with the new block device. You can use it as temporary filesystem (ramdisk) or as portable filesystem.

ramdisk
 settrans -ca ramdisk0 /hurd/storeio -T copy zero:32M
 mkfs.ext2 -F -b 4096 ramdisk0
 settrans -ao ramdisk0 /hurd/ext2fs.static ramdisk0

First we create a buffer with copy and getting the size with zero. (Just like dd, but without invoking a file) Then we create the filesystem on our blockdevice and mounting it with ext2fs. The argument -o (orphan) replaces the previous translator with a new one without forcing it away.

portable vfs

The following example shows how to create virtual filesystems in a file.

 dd if=/dev/zero of=your.img bs=SIZE
 settrans -ca loop0 /hurd/storio -T file your.img
 mkfs.ext2 -F -b 4096 loop0
 settrans -ca mount /hurd/ext2fs.static loop0

Fist create a file with any size and create the block device with storeio then create the filesystem and mount it.

You can also lay the translators on top of each other.

 settrans -a your.img /hurd/storeio -T file your.img
 settrans -ao your.img /hurd/ext2fs your.img

The file your.img is now a directory and you can use it as such.

 cp your things your.img/
 ls your.img/things/

To unmount the filesystem.

 settrans -g your.img

ATTENTION: I noticed that if you lay one translator onto another you can only remove the one on top. I don’t know if this is a feature or bug, but after that procedure you only need to use ext2fs to mount the image, which is pretty handy after all.

HAMP (Hurd Apache MySQL PHP)!

Posted on by giselher Posted in ArchHurd Tagged , , 4 Comments

After hours and 100 hacks later I finally got apache and its dependencies built, except for libsasl and libldap, which I thought are impossible to build for Hurd. But then diegonc, a archhurd user that works on the xkb keyboard drivers, told me that he used a patch to build libldap. Now I can rebuild apr-util and apache again and thats not easy, because apache compiles itself three times in the archlinux PKGBUILD. I don’t know why, but I do it too.

Apache PKGBUILD

     for mpm in prefork worker itk; do
                if [ "${mpm}" = "itk" ]; then
                        <---snip--->
                        autoconf
                fi
                mkdir build-${mpm}
                pushd build-${mpm}
                ../configure --enable-layout=Arch \
                        <---snip--->
                make
                if [ "${mpm}" = "prefork" ]; then
                        make DESTDIR="${pkgdir}" install
                else
                        install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}"
                fi
                popd
        done

The good news is, that packages like IMAP and MySQL are building without any major problems. I hope that we soon can setup a HAMP system to host a website or something similar

First Commit

Posted on by giselher Posted in General Tagged 3 Comments

I finally got a blog. Well, I did have one for a python game I wrote, but I did not a single post on it.

I will write about the status of my Arch Hurd packages, the progress on my devtools for Arch and general Linux and GNU/Hurd stuff. I might also write about other kernels like Minix and other stuff I feel like writing.

To also add usefull information to this post, I shall announce that I am currently working on packaging apache and PHP. This is rather big task because they have a lot of dependencies I have to build first in order the build apache and PHP.

For the current status of this packages look at my wiki page (http://wiki.archhurd.org/wiki/User:Giselher#Apache.2FPHP).

I also have some ideas for my devtools, like combine my addpkg and addgit script into one script, which does also a git commit.

See About for further information about me.

Navigation

Archives

Meta