Announcement: Paktahn, a successor to yaourt

[This post is geared towards ArchLinux users. It might confuse you if you're not part of that audience.]

yaourt, the popular Pacman wrapper, doesn’t seem to be maintained anymore and has quite some problems (e.g. UI nits, security issues, huge shell codebase). And people are starting to get tired of it because basic things stop working.

But since yaourt’s interface is so great I have decided to code up an alternative called Paktahn (after a ship type from Wing Commander).

Paktahn screenshot

But what can it do?

For now it supports yaourt’s two most helpful (IMHO) operation modes:

pak query
Search AUR and repositories for QUERY in packages names and descriptions and display the results. Ask for one or more packages to be installed.
pak -S package
Install PACKAGE from repositories or AUR.

Paktahn comes with a highly efficient caching system resulting in a speed that will blow your mind if you’re used to Pacman or yaourt.

I’ve been using the current version of Paktahn for weeks now and it has never failed me.

How to get it

Add one of the following sections to your pacman.conf:

# i686
[paktahn]
Server = http://viridian-project.de/~sky/paktahn/repo

# x86_64, package contributed by Gour
[paktahn]
Server = http://viridian-project.de/~sky/paktahn/repo/x86_64

There’s no x86_64 package yet since I cannot build them and no one else has contributed one yet. However you can build it from source: Paktahn on AUR. You need to install a patched version of SBCL before attempting to do so.

Development happens here: http://developer.berlios.de/projects/paktahn/

Discussion thread: http://bbs.archlinux.org/viewtopic.php?id=77674

Contributions, bug reports, comments and praise are all welcome, as are donations since I’m an independent software developer.

Comments

  1. September 19th, 2009 | 1:10 pm

    yaourt is still maintened by wain ;)
    your package ->
    download : 12,64 Mo
    installed : 42,39 Mo
    o_O, damned

  2. September 19th, 2009 | 4:20 pm

    I’ve been told before that yaourt is still maintained, but the facts make it seem otherwise.

    In any case it’s not secure, slow and hard to extend. :(

    I agree that Paktahn’s binary is quite large. You can use Exepak to bring it down to 11M: http://aur.archlinux.org/packages.php?ID=30286

  3. D
    September 19th, 2009 | 6:43 pm

    How about upgrading? Especially, the packages installed from AUR.

  4. September 19th, 2009 | 6:58 pm

    Upgrade and removal will be part of the next release.

  5. mike
    September 19th, 2009 | 8:35 pm

    > Paktahn comes with a highly efficient caching system resulting in a speed that will blow your mind if you’re used to Pacman or yaourt.

    Any more words on this?

    What’s better/faster?

    Would it be feasible to port this back to C and include it in Pacman?

  6. September 20th, 2009 | 10:30 am

    Mike,

    Pacman uses a database consisting of a lot of files. This is good from a human perspective (debugging, fixing, manipulating) but bad for performance.

    With Paktahn I have decided to keep that advantage but add a binary caching layer. The cache is updated whenever it is stale, i.e. when the Pacman db is newer than the cache.

    This could be integrated into Pacman as well, but someone would have to do it of course. :)

  7. mike
    September 20th, 2009 | 11:09 am

    So pacman -Sy would still take as long as before, right?

    This database update takes far to long imho.

  8. September 20th, 2009 | 11:25 am

    Yes. The only way to work around that is frobbing the package database directly. You can use `pacman-cage’ to speed up all db operations by putting the dbs into their own file system.

  9. maninalift
    September 20th, 2009 | 4:23 pm

    I’m not bothered by speed really, pacman and yaourt are pretty fast as far as I’m concerned but I was blissfully unaware that yaourt was unmaintained so I’d better switch. Thanks for the work and the heads-up.

    The main thing is reliability. Broken packaging is bad.

    Does pak not yet support removing packages?

  10. September 20th, 2009 | 5:54 pm

    maninalift,

    do note that others claim that yaourt is still maintained, so make an informed decision on your own. :)

    Paktahn will support package removal very soon. It’s simple to add and important to have.

  11. mike
    September 20th, 2009 | 10:29 pm

    Can’t you just uninstall everything via pacman?

    That should be fast.

  12. September 20th, 2009 | 10:40 pm

    Yes, that’s the way I planned it. Will be a snap, probably part of 0.8.1 even.

  13. maninalift
    September 21st, 2009 | 4:57 pm

    Should packages installed though yaourt be removed though the same?

  14. September 21st, 2009 | 7:21 pm

    You can always remove Arch packages with Pacman, no matter how you installed them.

  15. September 22nd, 2009 | 10:43 am

    Cool that it’s comming along so nicely. A replacement to yaourt is long over-due in my mind :-)

    Unfortunately I can’t make much use of pakthan until it supports ‘provides’. I noticed that was the first bug raised, so hopefully that won’t take too long.

  16. September 22nd, 2009 | 10:55 am

    Yes, I’m in the midst of working on support for provides; basic -R support is already finished so I expect 0.8.1 will be done by the weekend.

  17. September 23rd, 2009 | 9:10 am

    Great to hear. Any chance of also getting updates to work properly?

    Currently on my system yaourt tells me the following:

    kernel26-bfs: 2.6.31-1 => 2.6.31-232

    While paktahn won’t let me upgrade:

    % paktahn -S kernel26-bfs
    ==> Package "kernel26-bfs" is already installed, skipping.
  18. September 23rd, 2009 | 10:24 am

    The cause for this is two-fold; the main missing feature is support for versioning, which will be part of the next major release (i.e. not 0.8.1). The situation in your example can be fixed temporarily by asking the user whether he wishes to reinstall the packages he explicitly requested to install. This temporary workaround is already filed here:

    http://developer.berlios.de/feature/?func=detailfeature&feature_id=4785&group_id=11152

  19. frank
    September 23rd, 2009 | 10:29 pm

    hello i get this error when I install a package

    ==> ERROR: Ejecutar makepkg como root es una MALA idea y puede causar
    Daño catastrófico permanente a tu sistema. Si tú
    quieres ejecutarlo como root, por favor, usa la opción –asroot.

    ==> Makepkg failed (status 1)

    Please choose how you want to proceed:
    0: [SKIP-PACKAGE] Skip package “opera” and continue
    1: [QUIT ] Quit Paktahn

    [0-1] ==>

    Any idea how to fix it?

    thanks

  20. September 24th, 2009 | 9:04 am

    Have you started Paktahn as root?

    Makepkg refuses to build packages when you’re root, which is a good thing.

    You should use Paktahn as a normal user; it will invoke sudo as needed.

  21. October 3rd, 2009 | 7:06 am

    Maybe a bug:
    I installed paktahn on my X86-64 system.When I install a package from aur,after building,an error occurs: XXXXX-i686.pkg.tar.gz could not open.
    Why it is searching for an i686 package on my 64 system??

  22. October 3rd, 2009 | 9:02 am

    Hamo,

    thanks for your report.

    This bug has been fixed in Paktahn 0.8.1 which will be released soon.

  23. Clifford
    November 8th, 2009 | 4:56 pm

    I just installed paktahn and I seem to be getting an error. I searched for a program and it displayed the results, after that I tried to install the program it paktahn returned this:

    ==> System call error 2 (No such file or directory)

    I’ve removed paktahn and then reinstalled it and then it returned this:

    ==> Cache “local” is out of date, refreshing.

    ==> System call error 2 (No such file or directory)

    Am I doing something wrong?

  24. November 9th, 2009 | 3:06 pm

    Hi Clifford,

    does it help to remove $HOME/.paktahn ?

    If not then create a file $HOME/.paktahn/config.lisp with the following contents:

    (setf pak::*on-error* :backtrace)

    Then run Paktahn again and send me the output.

  25. Transmutated
    November 15th, 2009 | 4:11 am

    Is there a way to update all packages downloaded from AUR with paktahn with one command?

  26. November 15th, 2009 | 10:54 am

    Transmutated,

    this is blocked by versioning support but will be possible soon (I guess in a few weeks).

  27. Transmutated
    November 16th, 2009 | 3:25 am

    Thats what it sounded like from the comments above, but I just wanted to make sure. Thanks for the great little app.

  28. November 16th, 2009 | 7:12 pm

    This is very nice, but I wish it had more of yaourt’s features, like checking for updates for AUR packages.

Leave a reply