DEBIAN: Debianization
[glsdk/gst-plugins-ugly0-10.git] / debian / HACKING.Debian
1 Hacking GStreamer for Debian
2 ============================
4 An addition to the README.Debian that has Debian package hacking notes.
6 Everything should now be versioned.
8 - To update dependencies edit debian/build-deps.in
10 - To rebuild package files from .in files:
12   debian/rules maint
14 - After a version update to check for missing files run:
16   debian/maint missing
17   debian/maint missing-libs
18   debian/maint missing-so
20 - To update package files edit gstreamer-foo then rebuild package files.  This
21   will generate the gstreamerX.Y-foo file.  Also update debian/rules and
22   debian/control.in as needed.
24 - The packaging tries to stay close of upstream choice. gstreamerX.Y-misc has
25   most of the files, extra packages are made for the sinks and by group of 
26   depends (gnome, x, ...)
28 - Provide gstreamerX.Y-videosink and gstreamerX.Y-audiosink as needed.
30 - All interfaces and generic libraries go in libgstreamer-plugins, libraries
31   with external dependencies have their own package such as libgstreamer-gconf.
33 - Applications go in gstreamerX.Y-plugins-base-apps
36 File listing
37 ------------
39 build-deps:
40   - generated from "build-deps.in" abd "extra deps" in "rules
41     debian/build-deps:":
42     * "build-deps.in" lists build-depends for Debian main packages
43     * "extra deps" is a shell script outputting additional build-depends
44       if you are building additional plugins
45   - serves generation with "control.in" and "mk.control" of "control" in
46     "rules debian/control::"
47 build-deps.in:
48   - lists build-depends for Debian main packages
49   - serves generation with "extra deps" of "build-deps" in "rules
50     debian/build-deps:"
51 changelog: handled classically
52 compat: handled classically
53 control:
54   - generated for "rules maint"
55   - generated from "control.in" and "build-deps" in "rules debian/control::":
56     * "build-deps" lists build-depends to be inserted in "control
57       Build-Depends:"
58     * "control.in" serves of template for package descriptions of Debian main
59       packages and makes use of special stanzas enclosed in "@" such as
60       "@GST_ABI" which are replaced via sed in "rules debian/control::"
61     * "extra deps" is a shell script outputting additional binary packages
62       if you are building additional plugins
63 control.in:
64   - serves generation of "control" in "rules debian/control::" via "mk.control"
65     called in "rules debian/control::"
66   - template for package descriptions of Debian main packages and makes use of
67     special stanzas enclosed in "@" such as "@GST_ABI" which are replaced via
68     sed in "rules debian/control::"
69 copyright: handled classically
70 extra:
71   - serves the generation of build-deps of additional packages not in Debian
72     main in "rules debian/build-deps:"
73   - serves the generation of additional binary packages if you are building
74     additional plugins in "rules debian/control::"
75 gstreamer-$plugin.install:
76   - serves the generation of $gst_pkgname-$plugin.install (for example
77     gstreamer-alsa.install serves the generation of gstreamerX.Y-alsa.install) in
78     "rules pre-build::" via dynamic "@"-enclosed variables replacement
79   - some plugins are handled specially and some special variables are available
80 gstreamer-plugins-base-apps.install: this isn't really a plugin, but the
81                                     gstreamerX.Y-plugins-base-apps package
82 gstreamer-plugins-base-apps.manpages: man pages for the gstreamerX.Y-plugins-base-apps
83                                 package
84 HACKING.Debian: this file
85 libgstreamer-plugins-base-dev.install libgstreamer-plugins-base.install: handled similarly has gstreamerX.Y-plugins-base-apps
86 maint: makefile wrapping some targets of "rules" with some sh filtering
87 mk.control:
88   - Perl script serving the generation of "control" which reads "build-deps"
89     and "control.in", and replaces the "BUILDDEPS" stanza with the build-deps
90 patches: handled classically
91 README.Debian: handled classically
92 rules: handled classically, with special targets "maint:", and
93        "debian/build-deps:"
94 watch: handled classically
96 This file is the initial work of:
97 David I. Lehn <dlehn@debian.org>  Tue, 13 Apr 2004 21:28:55 -0400
98 and had some additions by:
99 Loic Minier <lool@dooz.org>  Sun, 19 Jun 2005 19:04:58 +0200
100 Sebastien Bacher <seb128@debian.org>  Wed, 14 Dec 2005 17:00:21 +0100