Limba 0.4.2

Limba is an experimental cross-distribution package installation scheme. It utilizes file system virtualization (overlayfs) to allow 3rd-party application bundles to run unmodified alongside distro packages. It's a possible successor to Listaller/AutoPackage, integrates with PackageKit and XDG desktop management facilities.

Tags c install packaging overlayfs linux
License GNU LGPL
State initial

Recent Releases

0.4.229 Mar 2015 03:15 feature bugfix: Add quick dirty lipkg schroot builder. Install the package build helper. Add udev foundation. Interpret foundation dependencies. Export application icons. Add note about translations. Add runtime kernel version check for Linux 3.18. tests: Create test virtual environment in separate binary. Bugfixes: Fix bug causing the IPK payload archive to be layouted incorrectly. Update manpages.
0.4.111 Mar 2015 11:45 feature bugfix: Features: Include contrib/ directory. Inject multiarch library path into the application's environment. Improve the updates API. Rewrite buildlist Vala code to C code. Bugfixes: Fix some GIR annotations. Install .desktop files into local/share/applications to override distro packages. runapp: Ensure argv0 of a spawned application is always its absolute executable path. Create applications directory if it doesn't exist yet.
0.4.021 Feb 2015 11:05 feature bugfix: Released: 2015-02-20 Features: Add new lirepo tool to create repositories Allow adding packages to a repository Compress Index file of repositories Make cache download repository metadata repo: Register AppStream metadata files Use Freedesktop namespace for DBus service and PolKit rules Make Limba DBus service kdbus-safe Encode architecture in repo package names Allow Limba to query the package cache Write single cache file for AppStream metadata Use the new "bundle" tag in AppStream 0.8 Implement installations from remote sources Handle multiple architectures inone repository Sign repositories by default lipa: Add command to receive trust a key tests: Add fake GPG home with dummy key lipa: Implement command to install remote package Encode requirements in runtime definition Set systemd service name in D-Bus service file Implement a very simple way of listing potential updates Implement update mechanism Bugfixes: Use pool.sks-keyservers.net as default keyserver Fail with a less scary message if signing key could not be fetched Collect cruft packages on system shutdown Get rid of all unit-test hacks by creating a fake root environment Perform some loose kernel version checks before compiling Limba Disable Travis CI: We need a recent kernel with OverlayFS now Fix keyring test again, by giving the test container network access Fix some potential bugs found by static code analysis Don't filter languages when reading AppStream metadata Fool the testsuite, since GPGMe is still not behaving like the docs say Don't list faded packages as installed
0.3.009 Jan 2015 16:05 feature bugfix: The Limba package sources are now expected in the lipkg/ subdirectory Packages are signed by default. Pass the --no-signature option to lipkgen to disable this. Package signing requires a running GPG agent at time. Features: Allow installations without setting the suid bit. Improve performance of the config parser. Add initial foundations list. Implement support for signing packages. Handle arch:any notation in package sources. Validate signatures of IPK packages. lipkgen: Allow disabling of package-signing. Expose trust-level in installer. lipkgen: Print better signing result messages. Use PolKit to check for authorization. Call helper for privileged local-install action. Don't use the generic, odd "pkginstall" name for lipkg sources. Time out helper daemon on inactivity. Write improved compiler error output in maintainer mode. Bugfixes: runapp: overlayfs is called overlay. runapp: Use "overlayfs" on older Linux kernels. Fix typo in runapp.c. lipkgen: Fix extraction of packages if no destination directory is defined. Check for architecture match when installing. Always create format-versioned packages. Warn about empty package-ids. When loading pkg metadata, do not override metainfo values with NULL. Dont crash if we encounter e.g. a non-armored signature. Increase GPG keyserver timeout. Adjust to AppStream API changes.
0.2.018 Dec 2014 08:30 major feature: This version is still experimental and not API-stable. This release uses /opt/bundle as root prefix now. Add write-support for package-index. Implement support for installing packages with embedded dependencies. Implement embedded-dependency generation into package builder. Compress base IPK archive using GZip. Make API a bit more GUI-friendly. Allow using a different AppStream library for data loading. lipkgen: Allow generating a very simple project structure. Register wrappers for new binaries. Allow dependencies in child packages to be satisfied by parent-packages. Only register commands for executable files in /bin. Make installer respect version number and version relations. lipkgen: Try to pretty-print the autogenerated XML. Write a magic number into IPK packages. Mark packages which have not been installed manually as automatic. Use /opt/bundle as root. lipkgen: Add command to dump the contents of a package. lipa: Add command to clean up unused packages. Get rid of li_touch_dir helper. Test for component metadata earlier. Add more GIR annotations. Clean up blank values in config metadata. Only add ROOT/lib to LD_LIBRARY_PATH. Only create a runtime for packages which need one. Make sure we always create complete runtimes on installation. Reset cache after cleanup.