Giter Site home page Giter Site logo

trip's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.