tinypackage

Up / English / Japanese / ChangeLog / tinypackage-0.1.0.tar.gz / tinypackage-bootstrap-0.1.0.tar.gz

tinypackage is a lightweight package manager on UNIX system. This is useful enough for managing softwares installed by compiling from tarball.

Requirements

Getting Started

1. Creating package root

For example, we choose /opt for package root directory. Create it.

# mkdir /opt

2. Installing

Put tinypkg' script into package root.

# cp tinypkg /opt/

3. Configure Environment Variable

For Borune Shell users, please append following line into /etc/profile.

eval `/opt/tinypkg profile`

Logout, then login again. Some environment variables for running softwares under tinypackage are set.

Above command is same as running following commands:

export PATH="/opt/.bin:$PATH"
export LD_LIBRARY_PATH="/opt/.lib:$LD_LIBRARY_PATH"
export LIBRARY_PATH="/opt/.lib:$LIBRARY_PATH"
export C_INCLUDE_PATH="/opt/.include:$C_INCLUDE_PATH"
export MANPATH="/opt/.man:$MANPATH"

Sorry for C Shell users, tinypackage does not generate commands for csh,tcsh yet.

4. Installing First Software

For example, we are going to install GNU Hello - http://www.gnu.org/software/hello/hello.html. Get hello-2.1.1.tar.gz from GNU Hello's homepage, then unpack it.

Move into the source directory, then install it as following.

$ ./configure --prefix=/opt/hello
$ make
# make install

Now GNU Hello has been installed into /opt/hello.

5. Updating Symlinks of Shared Files

Once you have installed software, you have to run 'tinypkg update'.

# /opt/tinypkg update
Updating: bin, lib, include, man

This creates symbolic links for shared files like /opt/.bin/hello -> /opt/hello/bin/hello. Now your shell or application can find commands, shared libraries, archive files, header files or man pages.

6. Running Software

Let's run GNU Hello!

$ hello
Hello, world!

If you want to install another software, do same thing from '4. Installing First Software'.

Operations for Installed Packages

Listing Package

Run 'tinypkg list'.

$ /opt/tinypkg list
+ ruby
+ fcgi
+ hello
- ruby-1.8.0

Mark means:

Making Package Available/Unavailable

You can temporary make packages unavailable. (means it doesn't create symbolic links for that package's files. )

For example, you want to make ruby-1.8.0 unavailable. Run 'tinypkg unavail':

# /opt/tinypkg unavail ruby-1.8.0
- ruby-1.8.0
Updating: bin, lib, include, man

Package directory has been moved into /opt/_unavail/ruby-1.8.0, and it is ignored by 'tinypkg update'.

When you want to make ruby-1.8.0 available again, run 'tinypkg avail':

# /opt/tinypkg avail ruby-1.8.0
+ ruby-1.8.0
Updating: bin, lib, include, man

Removing Package

For example, you want to remove GNU Hello permanently. You can do it by following:

# rm -rf /opt/hello
# /opt/tinypkg update

It's very simple. tinypackage also provides convenient task 'tinypkg purge'. Following command is same as above.

# /opt/tinypkg purge hello
P hello
Updating: bin, lib, include, man

Copyright and License Notice

This program is free software distributed under BSD-style license term described in file COPYING.

Copyright 2003-, Shirai,Kaoru <shirai@korinkan.co.jp>