Packageless Packages with GNU Stow

Wojciech 'vifon' Siewierski

Packages from the repositories

Why do we need them?

Why do we like them?

  • They are easy to update.
  • They are easy to remove.
  • They handle their dependencies.
  • They are adjusted for our system.
  • They are trustworthy.

Self-made packages

  • Needed (?) for the applications not present in the repositories*.
  • Cumbersome to create.
  • *) Including the manually downloadable 3rd party packages.

What is needed

  • How to build the application.
  • The dependencies.
  • Additional metadata.
  • How to use a dpkg/rpm/makepkg/… .
  • They are easy to update.
  • They are easy to remove.
  • They handle their dependencies.
  • They are adjusted for our system.
  • They are trustworthy.

GNU Stow "packages"

Vim

  • bin
    • vim
  • lib
    • libvim.so
  • share
    • vim-icon.png

Emacs

  • bin
    • emacs
  • lib
    • libemacs.so
  • share
    • emacs-icon.png

Stow

  • bin
    • emacs -> ../stow/emacs/bin/emacs
    • vim -> ../stow/vim/bin/vim
  • lib
    • libemacs.so -> ../stow/emacs/lib/libemacs.so
    • libvim.so -> ../stow/vim/lib/libvim.so
  • share
    • emacs-icon.png -> ../stow/emacs/share/emacs-icon.png
    • vim-icon.png -> ../stow/vim/share/vim-icon.png

  • They are easy to update.
  • They are easy to remove.
  • They handle their dependencies.
  • They are adjusted for our system.
  • They are trustworthy.

What is needed

  • How to build the application.
  • The dependencies.
  • Additional metadata.
  • How to use GNU Stow.

Bonus: Works on every system!

Thank you

...and let me show you how it works!