MethylBlue
  1. Filelight
  2. Codeine
  3. Wocka
  4. Blog
  5. Detritus
  6. Home

Wocka

With Wocka you can install from source but still add the application to your pacman database. Effectively, Wocka is checkinstall for distros that use pacman, eg. Arch Linux.

Here is an example of typical usage, installing an application called foobar:

~$ tar xzf foobar-0.3.tar.gz
~$ cd foobar-0.3
foobar-0.3$ ./configure
[[snip]]
foobar-0.3$ make
[[snip]]
foobar-0.3$ su
Password:
foobar-0.3# wocka
==> Guessing package metadata
Package name: foobar
Package version: 0.3
==> Checking this installation is sane
Apparently sane
==> Executing 'make install'
cp -f "build/foobar" "/usr/bin/foobar"
strip "/usr/bin/foobar"
==> Analysing install.log
==> Creating database entry
Writing to /var/lib/pacman/local/foobar-0.3-1
foobar-0.3#
foobar-0.3# pacman -Ql foobar
foobar /usr/bin/foobar

Wocka installs the application using make install, watches the install with Installwatch, and then inserts an entry for the package in the database, it determines the metadata, eg. the package name and version, automagically.

My goal with Wocka was to make trying out new stuff from source, fun, and managed, packagedly.

Downloads

Wocka 0.5

Released 17-Feb-2007

Older Packages

Features

Upgrading

You can make install over an old version with the --upgrade switch. The old package is not uninstalled, but its entry is removed from the database. The old package information is merged with the new, so no orphan files are created.

Revision Control

Wocka will extract the revision number for Subversion and CVS checkouts. You get a package like foo-svn-53788

Build System Detection

Wocka detects which build system is required, eg. Scons, Unsermake, gmake.

Safety

Wocka checks that the package it is about to install and create is sane, ie. there is no such entry already, the database is writable, and several other checks. It would suck to install the application and end up with an invalid package entry.

Reliabilty

Check the code, at every step it was designed with safety first to make sure nothing bad can happen to your system.

FAQ

I Don't Install from Source!

If you are never install from source, then Wocka probably isn't much use to you.

How About AUR?

  1. There isn't always an AUR package;
  2. You may want to install an older version of an application than AUR provides;
  3. You can't wait for the AUR to be updated, and a new Amarok was just released!
  4. It's nice to be in control of the build process.

However, if you prefer to use AUR, Wocka can still be useful:

~$ wocka --aur codeine
Type `cd codeine && makepkg' to build the package

How About ABS?

  1. Writing your own PKGBUILD isn't always simple;
  2. Makepkg controls all three steps, configure, make, make install, which is fine unless something goes wrong, when it then can be tedious to fix and time-wasting;
  3. Creating a package means you have to install twice, once to make the package, and a second time with pacman -A. This is time-consuming, especially if you don't need to keep the package;
  4. Some installs do things other than copying files. You then have to identify these eroneous modifications and script them into the PKGBUILD post-install function;
  5. Not all build systems obey things like DESTDIR, or have prefixing capability, so ABS won't work.

It is my opinion ABS is for people who want to distribute pacman packages, and for the AUR. If you just want to install some application from source, it's easier to use Wocka.

But if you absolutely must have a package file, wocka can generate a PKGBUILD for you, it'll even fill in the metadata fields automagically:

~$ tar xzf codeine-1.0.1.tar.gz
~$ cd codeine-1.0.1
codeine-1.0.1$ wocka --pkgbuild
codeine-1.0.1$ makepkg

History

Pacgen

Wocka was called Pacgen, but there are other projects called pacgen, and since wocka doesn't actually generate packages, I was looking for another name straight away.

I liked pacgen though since it made the link to pacman a bit clearer and sensible.

Why Wocka?

Pacman, the famous computer game character, makes the noise "wocka, wocka, wocka!" as he chases after pills, fruit and ghosts :)

Miscellaneous

Contributions are welcome, and likely the only way wocka will improve much more, please send patches my way.