< Previous | Contents | Next >
10.3.1. Forking Kali Packages
Please refer to section 9.1, “Modifying Kali Packages” [page 222] for explanations about this topic.
All packages can be forked if you have a good reason but you must be aware that forking a package has a cost, since you have to update it every time that Kali publishes an update. Here are some reasons why you might want to fork a package:
• To add a patch to fix a bug or add a new feature. Although in most cases, you will want to submit that patch to the upstream developers so that the bug is fixed or the feature is added at the source.
• To compile it with different options (assuming that there are good reasons why Kali did not compile it with those options; otherwise it might be best to discuss this with Kali developers to see if they can enable the desired options).
By contrast, here are some bad reasons to fork a package along with suggestions of how to handle your problem:
• To modify a configuration file. You have multiple, better options like using configuration management to automatically install a modified configuration file or installing a configu- ration package that will put a file in a configuration directory (when available) or that will divert the original configuration file.
• To update to a newer upstream version. Again, it is better to work with developers to update the package directly in Debian or Kali. With the rolling release model, updates are rather quick to reach end users.
Among all the available packages, there are some that are building blocks of Kali Linux and that could be interesting to fork in some situations:
• kali-meta: this source package builds all the kali-linux-* meta packages and notably kali-linux- full, which defines what packages are installed in the default Kali Linux ISO image.
• desktop-base: This source package contains various miscellaneous files that are used by de- fault in desktop installations. Consider forking this package if you would like to show your organization’s brand in the default background or change the theme of the desktop.
• kali-menu: this package defines the structure of the Kali menu and provides .desktop files for all applications that should be listed in the Kali menu.