Archive for June, 2009

Building RPMs, part one

Saturday, June 27th, 2009

The following is an excerpt from the IRC Packaging Lesson ; in red instructions for root (please use sudo – never use a system as root):

  • yum groupinstall development-tools
  • yum install rpm-build rpmdevtools
  • rpmdev-setuptree

The last command will setup the following directories:

rpmbuild directory tree

rpmbuild directory tree

BUILD

This directory will contain the build of the source code you want to package. Roughly equivalent to the directory where you tar xjf source.tarball.bz2 ; cd source.tarball ; .configure ; make

BUILDROOT

The directory where the package will be built.

RPMS

The rpm produced will end in this directory. This is the binary rpm, the one you want to install in the system to use that cute application of yours.

SOURCES

Tarballs will end up here. These are the .gz or bz2 downloaded to build the application; usually contains source files, in the common autotools format.

SPECS

Spec files are the files which define how to package software, which dependencies to look for, and some more stuff. It’s the only file you need (apart from source code) to really build a package.

SRPMS

SRPMS files are RPMS which contain source and SPEC file to rebuild packages with rpm.

OK, right now I will close the entry. A new one in a few days.

Getting lost

Thursday, June 25th, 2009

At Byte-code meetup I just launched the idea for a new projet to support the Prince2 project management methodology.

Right now, I just registered at sourceforge and nothing else. But the plan is clear (and will be managed in a Prince2 manner, by the way):

  • Django / Python powered
  • GPL v2
  • Integration with external tools ( trac comes to mind, but also taskjuggler )

Django is a little hazard – never programmed seriously in Python, and the Django world is a new one for me. Anyway, I am just willing to move away from the Java world for a while.

Now comes the best – I will try to do it using Fedora way . This means that every additional package (Python or Django) will be rpm’ed.

Django by itself it’s a no-brainer – just yum install Django (observe the capital ‘D’ here), but I was looking at Pinax and some more Django extensions, mostly hosted at google code.

Benefits of this plan:

  • Enhance package building knowledge
  • Easy installation
  • Really join fedora community

So I will create a new category, starting today, where I will summarize my steps. Stay tuned.

Home Server – Part Three

Friday, June 12th, 2009

Well, a six month release cycle make me wonder, so instead of keeping my home server up to date with fedora, I decided to give Centos 5.3 a try.

It went…well, apart from a known issue with my motherboard network card. CentOS 5.3 installs all right without complaining, but every few seconds the network card delays the response.

Given that I use the little beast for dhcp, DNS and iscsi, this is not what i was looking for. Luckily enough, after searching for a while, I found the issue (module r8169) and built the r8168 with dkms provided by rpmforge.

Now all is going well. Another addition to the setup, I bought a Western Digital MyBook Studio II for backup and safety purposes. Two disks, one terabyte each, raid 1 setting.

Exported part of it through iscsi for the mac (storage of all digital photos through iPhoto, thanks) and the rest is for me. Connection is fast (esata2), and, anyway, I am using it mostly through WiFi, so anything could be fast enough (except USB 1.1, i think).

Happy? Yes, now I am confident my backups will survive a disk failure. I did not find iscsi-target (IET implementation) in a CentOS 64 bit package, through.