summaryrefslogtreecommitdiff
path: root/doc/from-debstd
diff options
context:
space:
mode:
Diffstat (limited to 'doc/from-debstd')
-rw-r--r--doc/from-debstd63
1 files changed, 63 insertions, 0 deletions
diff --git a/doc/from-debstd b/doc/from-debstd
new file mode 100644
index 00000000..86f29dce
--- /dev/null
+++ b/doc/from-debstd
@@ -0,0 +1,63 @@
+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 --noact" 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 <joeyh@master.debian.org>