Autopackage
===========

Note: Autopackage merged with Listaller http://listaller.tenstral.net/
in 2010 and is now defunct.

Homepage: http://autopackage.org/

This tool acts as a wrapper for GCC and tries hard to produce a
package that can work on many GNU/Linux distributions. No .deb / .rpm
/ .tgz with different versions of each distros - one size fits all!

In particular, it will recompile with an older glibc that everybody
have, and double-compile C++ apps against libstdc++ versions 5 and 6.


My favorite documentation so far is the tutorial:
http://web.archive.org/web/20090204004157/http://autopackage.org/docs/tutorials/glb.html
and the explanation of binary portability issues:
http://web.archive.org/web/20090122221524/http://autopackage.org/docs/devguide/ch07.html


Our autopackage was init'd through:
$ makepackage --mkspec > default.apspec.in

The package can be generated through:
$ cd ~/freedink/ # not ~/freedink/autopackage/
$ makepackage

Note: makepackage will attempt to manually strip executables:
  Scanning and stripping ELF binaries ... done
This will also strip bundled resources (appened zip file). If you want
to avoid that, give makepackage the '-s' option.


If that's the first time you install an autopackage:
http://autopackage.org/docs/howto-install/

If you already installed the Autopackage manager, but wish to use the
command line:
$ package install "GNU FreeDink 1.07.20070916.package"
$ package remove freedink


Currently we do not deal with SDL dependencies, but I wonder whether
they can be statically built... Apparently the best is to assume the
user has SDL installed, and statically compiled non-widespread
dependencies.


To check for binaries dependencies, don't use plain 'ldd' - since it
also shows indirect dependencise. Use:

- scandeps # part of aptools

- Visual Dependency Walker or 'visual-ldd' -
  http://ftp.sunsite.dk/projects/autopackage/packages/Visual%20Dependency%20Walker%201.2.package

- ldd -u # not sure about "unused"? Doesn't show libc.so.6
