Converting from debstd to debhelper: ----------------------------------- Debhelper is designed to be mostly backwards compatible to debstd. I say mostly because I haven't made debhelper handle everything that debstd does yet, and in a few cases, debhelper does things differently (and I hope, better). In general, you can switch over to using debhelper as follows. In your debian/rules, you currently will have some lines that read something like this: debstd CHANGES TODO README dpkg-gencontrol dpkg --build debian/tmp .. Debhelper comes with a command called dh_debstd that mimics the behavior of debstd, by calling various debhelper commands. So in the root directory of your package you are converting, run: dh_debstd CHANGES TODO README --verbose --no-act Notice the parallel to the debstd command above, I just added "--verbose --no-act" to the end. This will make dh_debstd output a list of commands that it thinks will emulate what debstd would have done, without actually doing anything to your package. The list will look similar to this: dh_installdirs dh_installdocs TODO README dh_installexamples dh_installchangelogs CHANGES dh_installmenu dh_installcron dh_installmanpages dh_movefiles dh_strip dh_compress dh_fixperms dh_suidregister dh_shlibdeps dh_gencontrol dh_makeshlibs dh_installdeb dh_md5sums dh_builddeb Now copy that output into debian/rules, replacing the debstd command, as well as any dpkg-gencontrol and dpkg --build commands. Finally, debstd automatically modified postinst, postrm, etc scripts. Some of the debhelper apps do that too, but they do it differently. Debstd just appends its commands to the end of the script. Debhelper requires that you insert a tag into your scripts, that will tell debhelper where to insert commands. So if you have postinst, postrm, etc scripts, add a line reading "#DEBHELPER#" to the end of them. Once you think it's all set up properly, do a test build of your package. If it works ok, I recommend that you compare the new package and the old debstd-generated package very closely. Pay special attention to the postinst, postrm, etc scripts, and make sure that the new package contains all the same files as the old, with the same permissions. -- Joey Hess