Distribution Independent Package Managing Tool, A BSD
Ports-like
package managing tool that inherits the UNIX
philosophies. DIPMT is designed for high clarity,
absolute irrestrictability and strong extensibility
to provide simple mechanism while keeping as same
ability of using sourcecode as possible.

Dipmt is coming from
Gentoo's portage (also FreeBSD's port) and
Slackware's KISS. The main purpose of dipmt is to
help LFS users, and also help people using
distributions like Debian, Fedora etc. It provides
supports of all operations one can do to a software
package, such as downloading, unpacking, patching,
compiling, installing, removing and updating etc,
with lots of scripts like in Gentoo's portage. But
unlike portage, it is not trying to solve any
dependency problems. Furthermore, it is coded with
only shell script (almost all shell code is POSIX
shell actually) and ISO C, to reach the minimal
dependencies on other packages. It uses init-script
like scripts to work with installing scripts, so
users can add/remove operations easily. This make it
completely clear and highly configurable to
users.

There are several "levels" using dipmt. On the basic
level, one can do everything himself: download the
source code of a package, unpack it, compile it and
finally install it. But he also gets no assistant
from dipmt. On higher level, he can only use
configuring part and/or installing and removing
part of the installing scripts, so he knows what he
is doing yet, but does not lost the benefit coming
with dipmt such as configuring a package in his
favorite way and cleaning all files of a package
without its source code. Finally, he can just use
a single command to install/remove/update a
package.

Configuring part of installing script is nearly the
same as Gentoo's USE flag. This is supported by
dipmt since it is so powerful. Installing part of
installing script will try to record contents of a
package, which will be useful when the removing part
trying to remove the package without its source code.
Besides, it can also package contents of a package
so this package can be installed easily on another
computer.

Removing packages and updating system is a bit
difficult due to the lack of dependency checking. To
solve this, dipmt records the order of installing
packages and the reason of installing a specific
package. This information can be conveniently viewed
so that the administrator can decide whether a
package can be removed more lightly and the updating
process is easier.

Features

- completely clear and
highly configurable to users
- searching, installing, updating and removing
packages are able to be accomplished with a single
command, but not restricted to this command
- trying best to complete 'configure' options before
compiling
- remove a package without it's source code residing
in file system
- packaging installed packages
- save installation log to give enough information
about which package can be removed
- all coded with shell script and ISO C, so it
depends only base system components
- it is distribution indepent

Remark

The development of
dipmt is started recently, and the model it uses is
new. So the format of installing scripts may be
modified in the future. Because of this, it is not
appropriate to refer it here (I am really so sorry
for this). After this model being tested with
practice, it will be showed. And I was not able to
register a website, so I will mail the source code
if needed.