Main Docs Downloads Forum About
SourceForge.net Logo
  What is dipmt?
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.
- 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
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.

DIPMT Project Home Pages, power by Casit