Emdebian Grip Guide
Preparing a Debian-compatible distro
This Guide seeks to highlight some problems which may affect the maintenance of an Emdebian Grip server and the reasoning behind the workarounds.
[ overrides ] [ building Grip ] [ testing suite ] [ handling a release ]- Use of override files
Although source packages usually determine the Priority of each binary package built from that source, Debian also uses override files to change priorities to fix other problems - without necessarily changing the actual setting in the package.
Override files have useful benefits within Emdebian Grip, so the functionality has been incorporated into the emdebian-grip-server scripts that are used to maintain the Emdebian Grip repository. The content of the current override files can be found at:
Unstable: override.sid.main
Testing: override.lenny.main
To handle overrides, use a combination of emgrip-dupes and grip-override-replace.pl. Duplicates are a problem for repository updates, so always check for and remove duplicates using emgrip-dupes. When a package from Debian uses a Section that puts the binary package into an inappropriate component for Grip (e.g. dbus is Section: devel), set the override for unstable and use grip-override-replace.pl to action the override in the repository itself.
Architectures: override.architectures contains references to packages which are Architecture: all but depend on packages which are Architecture: any and only present on certain architectures. This file is used by grip-overridearch.pl to prevent unsatisfiable dependencies by removing the Architecture: all package where the dependency is missing.
- Does Grip recompile packages?
No. It might look as if em_autogrip is building packages when viewing the output or build logs but it is simply using dpkg --build to repack the archive after removing files determined by the DEB_BUILD_OPTIONS passed to emgrip.
emgrip itself is based on dpkg-cross code and is functionally similar to how lintian operates - except that once the processing is finished, dpkg-cross and emgrip repack the .deb with modified contents whereas lintian simply throws the content away.
- testing support.
em_autogrip can setup a basic repository, but adding a testing repository will require some manual configuration of reprepro, including the override support above.
- handling releases
If your repository uses a testing repository, there is probably an expectation that testing will, eventually, become stable. Emdebian includes a short overview of the release process.
Back to the Emdebian Project homepage.