108 | | stop at 36:00 |
| 108 | Example of debhelper utilities: |
| 109 | - dh_ \[tab complete] |
| 110 | - dh_install* |
| 111 | - dh_install -- copy files into package -- cannot be renamed |
| 112 | -- .install files -- list directories without prefix (TODO: check that we need to and/or still should) |
| 113 | -- not difference for multiple binary packages |
| 114 | - dh_installcron (cron.d, cron.hourly, etc) |
| 115 | - dh_installinit (possible aside on init scripts, etc) |
| 116 | -- also calls update-rc.d to "install" init script, by modifying your maintainer script |
| 117 | - dh_link (while simple, symlink policies) -- e.g. pine->alpine via alpine-config |
| 118 | - dh_fixperms |
| 119 | |
| 120 | things that sanity-check the build process: |
| 121 | e.g. dh_testroot |
| 122 | |
| 123 | features: |
| 124 | - dh_shlibdeps |
| 125 | - different from dpkg-shlibdeps because it will find all binaries for you |
| 126 | |
| 127 | |
| 128 | DEBHELPER token in maintainer scripts (Lintian will warn if you miss it) |
| 129 | |
| 130 | Show example of /var/lib/dpkg/info/(maintainer script) vs actual maintainer script in source to demo debhelper-added snippets |
| 131 | |
| 132 | |
| 133 | == CDBS == |
| 134 | |
| 135 | common debian build system |
| 136 | |
| 137 | debhelper.mk - runs all the dh_foo things for you |
| 138 | |
| 139 | |
| 140 | classes vs rules |
| 141 | e.g. class = autotools, python, makefiles, apache ant, etc. |
| 142 | rules = how to do things (config-package, quilt, debhelper.mk) |
| 143 | |
| 144 | autotools.mk knows how to run configure, make make install, etc., but also knows to pass --prefix, etc. |
| 145 | makefile.mk knows how to run make, make install |
| 146 | |
| 147 | read the .mk files to know what overrides are available. |
| 148 | |
| 149 | == debathena development == |
| 150 | |
| 151 | Use dasource, because it deals with autogoo |
| 152 | |