TRivial Package Manager
  • Shell 94%
  • Makefile 3.4%
  • C 2.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alex Klinkhamer 5f7e969182 Merge pull request #1 from styler96/master
Add alternative TRIP_FS_PKG in conf file
2017-08-25 20:12:42 -07:00
etc-trip Add alternative TRIP_FS_PKG 2017-08-24 16:01:33 +10:00
pkg Mount /dev/pts using --bind 2015-06-08 17:46:14 -04:00
.gitignore Mount /dev/pts using --bind 2015-06-08 17:46:14 -04:00
COPYING Ready for release 2010-04-24 21:35:45 -04:00
Makefile Update README; Use config in /etc/trip/ by default 2015-06-23 22:47:52 -04:00
README.md Update README; Use config in /etc/trip/ by default 2015-06-23 22:47:52 -04:00
trip.c Update README; Use config in /etc/trip/ by default 2015-06-23 22:47:52 -04:00
trip.sh Update README; Use config in /etc/trip/ by default 2015-06-23 22:47:52 -04:00
tripskel Update README; Use config in /etc/trip/ by default 2015-06-23 22:47:52 -04:00

Trip is GPLv2, see COPYING.

This is a continuation/fork of Pierre Hebert's TRIvial Package manager. ref1 ref2

Installation

To run, you need the unionfs-fuse package or similar file system (see Notes section).

Building and installing is the normal procedure.

git clone https://github.com/grencez/trip.git trip
cd trip
make
sudo make install

This puts scripts and binaries in /usr/bin/, configs in /etc/trip/, and mount points in /mnt/trip/. Additionally, trip will use /var/lib/trip/ to store package information.

make uninstall-bin
make install-bin

Local Config

To use $HOME/.trip/ instead of /etc/trip/, run with the following commands for a default installation:

sudo make install-bin
sudo install -d /mnt/trip/lfs /mnt/trip/union /mnt/trip/pkg
cp -r -T etc-trip ~/.trip

Many caveats exist though.

  • If /etc/trip/ exists, it will be used as a default before $HOME/.trip/. In this case, you must explicitly use the TRIP_CONFIG_DIR environment variable or the -c flag.
  • The line Defaults env_keep += "HOME" must exist in your /etc/sudoers file (edit with visudo).

Usage

The quick way to install packages is simply:

tripskel <progname> <version>  <source>
sudo trip -b <progname>-<version>
sudo trip -i <progname>-<version>-<arch>.tar.gz

For example: Uninstall previous versions before building, else you won't get the files that overlap on install!

cd ~/packaging/apvlv
tripskel apvlv 0.0.9.6 ~/Downloads/apvlv-0.0.9.6.tar.gz
# List previous version.
trip -l | grep apvlv
# Uninstall previous version.
sudo trip -u apvlv-0.0.9.5-x86_64
sudo trip -u apvlv-doc-0.0.9.5-x86_64
# Build.
sudo trip -b apvlv-0.0.9.6
# Install.
sudo trip -i apvlv-0.0.9.6-x86_64.tar.gz
sudo trip -i apvlv-doc-0.0.9.6-x86_64.tar.gz

Notes

Only configuration for unionfs-fuse is provided, but /etc/trip/conf can be modified to use other union file systems.

Packages are built and installed on a tmpfs by default, which can cause a system to run out of memory if it does not have much RAM or if the package is very large. To avoid this, change the TRIP_FS_PKG_MOUNT command in /etc/trip/conf to mount a file (instead of RAM) via loopback to TRIP_FS_PKG. I successfully did this in the past with the non-FUSE version of UnionFS, but could not do it with AUFS.

Please bug me, Alex Klinkhamer @ (com.gmail::grencez) about relevant stuff. Updates found at https://github.com/grencez/trip