Hi, Umm, since the intent is not to make the old way of doing things incorrect, we can do one of two things. Here are psuedo patches that detail the approaches. (I personally prefer the second approach).
First, the minimal change:: ====================================================================== CC = gcc CFLAGS = -O2 -g -Wall # sane warning options vary between programs LDFLAGS = # none install -s # (or use strip on the files in debian/tmp) ... The `-g' flag is useful on compilation so that you have available a full set of debugging symbols in your built source tree, in case anyone should file a bug report involving (for example) a core dump. + Alternately, you could use an environment variable + BUILD_DEBUG, which, if set to `yes', would cause compilation + to be done with -g. The resulting binaries in your built + source tree will then contain the full set of debugging + symbols. You can also provide a target `build-debug' in + debian/rules which has the same effect as setting + BUILD_DEBUG to `yes'. This can be done quite simply, with + the folowing lines: + build-debug: BUILD_DEBUG=yes + build-debug: build ====================================================================== The second way: we don't just offer an alternative, we deprecate the old method, but let it be still legal. ====================================================================== CC = gcc - CFLAGS = -O2 -g -Wall # sane warning options vary between programs + # sane warning options vary between programs + ifeq (,$(findstring $(BUILD_DEBUG),YES yes Yes)) + CFLAGS = -O2 -g -Wall + else + CFLAGS = -O2 -Wall + endif LDFLAGS = # none - install -s # (or use strip on the files in debian/tmp) ... The `-g' flag is useful on compilation so that you have available a full set of debugging symbols in your built source tree, in case anyone should file a bug report involving (for example) a core dump. + It is acceptable, but deprecated, to always have -g in + ``CFLAGS'', and ``use install -s'' to install binaries or use + ``strip'' on the binaries in debian/tmp, but that make it + hard to create a debuggable debian package, and increase + build time for all builds, since debugging information is + created and then stripped away. The preferred method is to + use an environment variable BUILD_DEBUG, which, if set to + `yes', would cause compilation to be done with -g. The + resulting binaries in your package will then contain the full + set of debugging symbols. You can also provide a target + `build-debug' in debian/rules which has the same effect as + setting BUILD_DEBUG to `yes'. This can be done quite simply, + with the folowing lines: + build-debug: BUILD_DEBUG=yes + build-debug: build ====================================================================== manoj -- Overall, the philosophy is to attack the availability problem from two complementary directions: to reduce the number of software errors through rigorous testing of running systems, and to reduce the effect of the remaining errors by providing for recovery from them. An interesting footnote to this design is that now a system failure can usually be considered to be the result of two program errors: the first, in the program that started the problem; the second, in the recovery routine that could not protect the system. A.L. Scherr, "Functional Structure of IBM Virtual Storage Operating Systems, Part II: OS/VS-2 Concepts and Philosophies," IBM Systems Journal, Vol. 12, No. 4. Manoj Srivastava <[EMAIL PROTECTED]> <http://www.debian.org/%7Esrivasta/> Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E