I love Debian, and its packaging system, everybody loves it but if someone wanted to build its own package after downloading source from Debian repositories could be issued by missing dependencies, and to resolve them some little steps need to be done.
Supposing you want to build a small package like aee a clean and very easy to use text editor for the console. Switch to your preferred build directory, and issue apt-get source aee, cd to the newly created directory and try to issue sudo dpkg-buildpackage. If every dependencies is satisfied your build will start, and you will have your new and fresh compiled packages in the parent direrctory. On the contrary imagine that some dependencies were not installed, your command will stop. The simplest way to do this is to install pbuilder and tricky make the use of one of the utility provided by this package.
Within your build directory issue /usr/lib/pbuilder/pbuilder-satisfydepends and it will recursively install all the missing packages. As you note this is command is not in your path cause is strictly related to pbuilder and rely to pbuilderrc PBUILDERSATISFYDEPENDSCMD option. The default backend is the aptitude one that is faster and more accurate, there are other implementations too (experimental, gdebi, classic) that you can easily test by setting the option accordingly.
This is the point, if you use the aptitude backend all unused packages on your system will be removed removed before installing dependencies cause aptitute is configured to act this way by default, but we don't want this to happen, maybe we need other packages later. The only thing to do is to search within aptitude options. aptitude --> Options (CTRL-T for the menu) --> Preferences, and uncheck "Remove unused packages automatically", as you can see through the above screenshot (TIP: click to zoom).



No comments:
Post a Comment