Differences between revisions 44 and 139 (spanning 95 versions)
Revision 44 as of 2009-03-16 03:30:42
Size: 19445
Editor: anonymous
Comment: converted to 1.6 markup
Revision 139 as of 2020-01-14 09:31:49
Size: 12765
Editor: ?umlaeute
Comment: add `gbp import-orig --uscan` as the preferred way to import a new upstream.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
DebianMultimedia
----
{{{ This page contains information already on other pages.
Help is welcome to remove the duplicate parts,
and to update or remove the obsolete parts.
No need to ask before editing. }}}

This page thanks to great work from [[TimHall]], shamelessly re-used by dancerj, updated by [[billitch]].
#format wiki
#language en
<<BR>>

||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="border:0; padding:0em;"><<TableOfContents(2)>>||
||<style="border:0; padding:0.5em;"><<Navigation(siblings,1)>>||

= Develop Packaging =
Line 14: Line 14:
http://qa.debian.org/developer.php?login=debian-multimedia@lists.debian.org

http://qa.debian.org/developer.php?login=pkg-multimedia-maintainers@lists.alioth.debian.org

New packages should set the Maintainer field to {{{Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>}}}. Existing packages should move to using that address on a best-effort basis.

All source packages shoud use the [[http://git.debian.org/git/pkg-multimedia/|pkg-multimedia git area]] in alioth.
https://qa.debian.org/developer.php?login=debian-multimedia@lists.debian.org 

https://qa.debian.org/developer.php?login=pkg-multimedia-maintainers@lists.alioth.debian.org ([[https://lists.debian.org/debian-multimedia/2018/01/msg00000.html|deprecated]])

New packages should set the Maintainer field to {{{Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>}}}. Existing packages should move to using that address on a best-effort basis.

All source packages must be hosted at [[https://salsa.debian.org/multimedia-team/|multimedia-team]] on Salsa.
Line 24: Line 24:
The !DeMuDi (Debian Multimedia Distribution) project needs help to create new Debian packages and maintain the existing ones. If you want to contribute to this effort, but you are new to the Debian packaging systems, here follows some information to get you started. The Debian Multimedia Maintainers need help to create new Debian packages and maintain the existing ones. If you want to contribute to this effort, but you are new to the Debian packaging systems, here follows some information to get you started. Also see [[DebianMultimedia/Sponsoring]] for Best Practices with regard to obtaining sponsorship for your uploads if you are not a DD or DM.
Line 27: Line 27:
  * Packages should use git, as mentioned above.   * Packages should use git, as mentioned above. Desirable is being able to use DebianPkg:git-buildpackage.
Line 29: Line 29:
  * Quilt should be used for patch management, and the ''master'' branch should only differ from the ''upstream'' branch in files inside the debian/ directory. This means no direct changes to the source.
  * The maintainer field should be set to {{{Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>}}}
  * The git repository should be hosted in alioth, under the pkg-multimedia project. It should forward commit messages to {{{pkg-multimedia-commits@lists.alioth.debian.org}}} and ''package''{{{_cvs@packages.qa.debian.org}}}
   * You can use the setup-repository script in /git/pkg-multimedia to create the bare repository with commit messages enabled. The repository should be named as the source package name for the message forwarding to work (eg, the repository for source package liblo is named liblo.git).
  * DebianPkg:quilt should be used for patch management, and the ''master'' branch should only differ from the ''upstream'' branch in files inside the debian/ directory. This means no direct changes to the source in the master branch.
  * In order to keep patches uniform, maintainers should configure DebianPkg:quilt by means of a {{{~/.quiltrc}}} file in accordance with the [[http://www.debian.org/doc/manuals/maint-guide/modify.en.html#quiltrc|Debian New Maintainers' Guide]]. Torsten Glaser suggested a more sophisticated {{{~/.quiltrc}}} file resulting from the team's discussion, the Perl and Maintainer’s Guide suggestions in ''clean'' POSIX shell on the [[http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/2012-June/027969.html|pkg-multimedia-maintainers list]].
  * Patches should have a [[http://dep.debian.net/deps/dep3/|DEP-3]] compliant header, and should be submitted upstream (if relevant) before uploading to Debian.
  * The maintainer field should be set to {{{Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>}}}
  * The git repository should be hosted on salsa, under the multimedia-team project. It should forward commit messages to {{{dispatch+}}}''package''{{{_vcs@tracker.debian.org}}}.
Line 34: Line 35:

== Workflow guidelines ==
  * '''One change per commit'''. This is very important, it eases review, cherry picking, bisecting (and thus debugging) and backporting.
  * Do not commit `debian/changelog` along with the changes. This practice makes cherry picking and backporting changes unnecessarily hard. The changelog is generated with [[DebianMan:1/git-dch|git-dch(1)]] at the time of upload. Also, packages should use the changelog release heuristic of [[DebianMan:1/dch|dch(1)]].
  * The commit message should have a short (<78 characters) summary of the change followed by a newline. After that, you can elaborate on the change. The summary is treated specially by various tools like [[DebianMan:1/git-dch|git-dch(1)]], or the commitdiff mailer.
  * After each upload to the Debian FTP servers, the first commit should be creating a new changelog entry, to ease testing of unreleased packages.
  * Tags should be created (and signed) by the uploading DD, in the case of the debian tags in the master branch, and by the person importing the upstream sources in the case of upstream tags.
  * To indicate that the package is ready for upload, update debian/changelog to include the target distribution (i.e. 'unstable' or 'experimental'). Otherwise just leave 'UNRELEASED'. If you want a review or help, just ask on this mailing list.
Line 40: Line 49:

== Lists of packages and applications ==

  * [[http://www.debian.org/devel/wnpp/|Work-Needing and Prospective Packages]]

Key to status column

  * '''O''' - The package has been ‘Orphaned’. It needs a new maintainer as soon as possible. If the package has a Priority higher or equal to standard, the severity should be set to important.
  * '''RFA''' - This is a ‘Request for Adoption’. Due to lack of time, resources, interest or something similar, the current maintainer is asking for someone else to maintain this package. They will maintain it in the meantime, but perhaps not in the best possible way. In short: the package needs a new maintainer.
  * '''RFH''' - This is a ‘Request For Help’. The current maintainer wants to continue to maintain this package, but they need some help to do this, because their time is limited or the package is quite big and needs several maintainers.
  * '''ITP''' - This is an ‘Intent To Package’. Please submit a package description along with copyright and URL in such a report.
  * '''RFP''' - This is a ‘Request For Package’. Someone has found an interesting piece of software and would like someone else to maintain it for Debian. Please submit a package description along with copyright and URL in such a report.
  * '''not in WNPP''' - That's because you haven't submitted an RFP for it yet (see above).

You can click on the links in this column to bring up the full bug reports.

== Audio and multimedia applications which need help ==

''The table below could be better managed through BTS's user tags. This would allow syncing this info with the current one in BTS without duplicated work. This page is currently generated using a semi-automated process. I have separated the packages into two lists - the first is a prioritised list of Debian packages which require help or adoption, the second is packages that have not made it into Debian.''

|| '''Package''' || '''Status''' || '''Maintainer''' || '''Comment''' ||
|| [[http://bugs.debian.org/metamail|metamail]] || [[http://bugs.debian.org/274451|O:]] || Debian QA Group || An implementation of MIME - Popcon users: 1492 ||
|| [[http://bugs.debian.org/mpg321|mpg321]] || [[http://bugs.debian.org/471770|O:]] || Debian QA Group || A Free command-line mp3 player, compatible with mpg123 - Popcon users: 1058 ||
|| [[http://bugs.debian.org/xli|xli]] || [[http://bugs.debian.org/431760|ITA:]] || Debian QA Group || command line tool for viewing images in X11 - Popcon users: 4450 ||
|| [[http://bugs.debian.org/swh-plugins|swh-plugins]] || [[http://bugs.debian.org/503497|O:]] || Anand Kumria || Steve Harris's LADSPA plugins - Popcon users: 553 ||
|| [[http://bugs.debian.org/gnuift|gnuift]] || [[http://bugs.debian.org/471251|O:]] || Debian QA Group || GNU Image Finding Tool - index and search images by content - Popcon users: 541 ||
|| [[http://bugs.debian.org/gimageview|gimageview]] || [[http://bugs.debian.org/472707|O:]] || Debian QA Group || Image Viewer using GTK+ - Popcon users: 429 ||
|| [[http://bugs.debian.org/gtkam|gtkam]] || [[http://bugs.debian.org/472712|O:]] || Takuo KITAME || GTK+ application for digital still cameras - Popcon users: 390 ||
|| [[http://bugs.debian.org/vamps|vamps]] || [[http://bugs.debian.org/484543|O:]] || Debian QA Group || Tool to recompress and modify the structure of a DVD - Popcon users: 315 ||
|| [[http://bugs.debian.org/mp3splt|mp3splt]] || [[http://bugs.debian.org/488931|O:]] || Debian QA Group || Splits MP3 and Ogg Vorbis files without reencoding - Popcon users: 190 ||
|| [[http://bugs.debian.org/lineakd|lineakd]] || [[http://bugs.debian.org/393174|O:]] || Debian QA Group || Linux support for Easy Access and Internet Keyboards - Popcon users: 159 ||
|| [[http://bugs.debian.org/fluidsynth|fluidsynth]] || [[http://bugs.debian.org/503528|O:]] || Eric Van Buggenhaut || Real-time MIDI software synthesizer - Popcon users: 159 ||
|| [[http://bugs.debian.org/jack-tools|jack-tools]] || [[http://bugs.debian.org/469929|O:]] || Debian QA Group || various JACK tools: plumbing, play, udp, ctl, scope, clock - Popcon users: 149 ||
|| [[http://bugs.debian.org/qsynth|qsynth]] || [[http://bugs.debian.org/503527|O:]] || Eric Van Buggenhaut || fluidsynth MIDI sound synthesiser front-end - Popcon users: 147 ||
|| [[http://bugs.debian.org/sweep|sweep]] || [[http://bugs.debian.org/503496|O:]] || Anand Kumria || An editor for sound samples - Popcon users: 129 ||
|| [[http://bugs.debian.org/quiteinsane|quiteinsane]] || [[http://bugs.debian.org/390837|O:]] || Debian QA Group || A Qt based X11 frontend for SANE (Scanner Access Now Easy) - Popcon users: 121 ||
|| [[http://bugs.debian.org/gqmpeg|gqmpeg]] || [[http://bugs.debian.org/472735|O:]] || David B. Harris || a GTK+ front end to mpg321/mpg123 and ogg123 - Popcon users: 117 ||
|| [[http://bugs.debian.org/gamix|gamix]] || [[http://bugs.debian.org/370080|O:]] || Debian QA Group || Graphical sound mixer for ALSA - Popcon users: 113 ||
|| [[http://bugs.debian.org/preview.app|preview.app]] || [[http://bugs.debian.org/454450|O:]] || Debian QA Group || General purpose image viewer for GNUstep - Popcon users: 86 ||
|| [[http://bugs.debian.org/gkrellmss|gkrellmss]] || [[http://bugs.debian.org/438730|O:]] || Debian QA Group || Plugin for GKrellM that has a VU meter and a chart - Popcon users: 77 ||
|| [[http://bugs.debian.org/burn|burn]] || [[http://bugs.debian.org/451712|O:]] || Gaetano Paolone (bigpaul) || Command line Data-CD, Audio-CD, ISO-CD, Copy-CD - Popcon users: 74 ||
|| [[http://bugs.debian.org/nas|nas]] || [[http://bugs.debian.org/354174|RFH:]] || Steve McIntyre || The Network Audio System - Popcon users: 141 ||
|| [[http://bugs.debian.org/mp3wrap|mp3wrap]] || [[http://bugs.debian.org/457131|O:]] || Debian QA Group || Utility for MP3 wrapping (rolling multiple MP3s into one) - Popcon users: 66 ||
|| [[http://bugs.debian.org/flite|flite]] || [[http://bugs.debian.org/428168|RFA:]] || Mario Lang || A small run-time speech synthesis engine - Popcon users: 75 ||
|| [[http://bugs.debian.org/ecawave|ecawave]] || [[http://bugs.debian.org/431141|O:]] || Debian QA Group || graphical audio file editor - Popcon users: 55 ||
|| [[http://bugs.debian.org/xmcd|xmcd]] || [[http://bugs.debian.org/486771|O:]] || Debian QA Group || X11 based CD player - Popcon users: 54 ||
|| [[http://bugs.debian.org/imgseek|imgseek]] || [[http://bugs.debian.org/477488|O:]] || Debian QA Group || image viewer and manager with content based query - Popcon users: 54 ||
|| [[http://bugs.debian.org/kradio|kradio]] || [[http://bugs.debian.org/429873|RFA:]] || Steffen Joeris || Comfortable Radio Application for KDE - Popcon users: 69 ||
|| [[http://bugs.debian.org/mctools-lite|mctools-lite]] || [[http://bugs.debian.org/352538|O:]] || Debian QA Group || A CD player and audio mixer for X - Popcon users: 50 ||
|| [[http://bugs.debian.org/openexr|openexr]] || [[http://bugs.debian.org/494877|RFA:]] || dato@net.com.org.es || the OpenEXR image library - Popcon users: 50 ||
|| [[http://bugs.debian.org/tkmixer|tkmixer]] || [[http://bugs.debian.org/472085|O:]] || Debian QA Group || An audio mixer with Tk interface - Popcon users: 37 ||
|| [[http://bugs.debian.org/mesademos|mesademos]] || [[http://bugs.debian.org/471990|O:]] || Debian QA Group || Example programs for Mesa (and OpenGL in general) - Popcon users: 35 ||
|| [[http://bugs.debian.org/pydance-music|pydance-music]] || [[http://bugs.debian.org/388360|O:]] || Debian QA Group || Songs and step patterns for pydance - Popcon users: 34 ||
|| [[http://bugs.debian.org/dtmfdial|dtmfdial]] || [[http://bugs.debian.org/490041|O:]] || Christoph Berg || DTMF Tone Dialer - Popcon users: 32 ||
|| [[http://bugs.debian.org/wavsplit|wavsplit]] || [[http://bugs.debian.org/500357|RFA:]] || Cyril Bouthors || Splits wavfiles into tracks - Popcon users: 41 ||
|| [[http://bugs.debian.org/mserv|mserv]] || [[http://bugs.debian.org/473895|O:]] || Nick Estes || local centralised multiuser music server - Popcon users: 30 ||
|| [[http://bugs.debian.org/libvisual-projectm|libvisual-projectm]] || [[http://bugs.debian.org/494502|O:]] || William Pitcock || libvisual module for projectM - Popcon users: 30 ||
|| [[http://bugs.debian.org/galrey|galrey]] || [[http://bugs.debian.org/451713|O:]] || Debian QA Group || Command line image gallery generator. It also makes thumbnails - Popcon users: 29 ||
|| [[http://bugs.debian.org/cdtool|cdtool]] || [[http://bugs.debian.org/419334|ITA:]] || Max Vozeler || text-based audio CD player and CD-ROM control commands - Popcon users: 219 ||
|| [[http://bugs.debian.org/workbone|workbone]] || [[http://bugs.debian.org/429178|O:]] || Debian QA Group || A simple text-based CD player - Popcon users: 27 ||
|| [[http://bugs.debian.org/poe.app|poe.app]] || [[http://bugs.debian.org/450489|O:]] || Debian QA Group || Vorbis comment editor - Popcon users: 27 ||
|| [[http://bugs.debian.org/mpg123-el|mpg123-el]] || [[http://bugs.debian.org/503552|O:]] || Ryuichi Arafune || a front-end program to mpg123 audio player on Emacsen - Popcon users: 27 ||
|| [[http://bugs.debian.org/freqtweak|freqtweak]] || [[http://bugs.debian.org/456176|O:]] || Debian QA Group || Realtime audio frequency spectral manipulation - Popcon users: 27 ||
|| [[http://bugs.debian.org/pic2fig|pic2fig]] || [[http://bugs.debian.org/354627|O:]] || Debian QA Group || Convert PIC drawings to FIG drawings - Popcon users: 23 ||
|| [[http://bugs.debian.org/xaos|xaos]] || [[http://bugs.debian.org/483249|ITA:]] || Debian QA Group || real-time interactive fractal zoomer - Popcon users: 169 ||
|| [[http://bugs.debian.org/transcriber|transcriber]] || [[http://bugs.debian.org/406133|O:]] || Debian QA Group || transcribe speech data using an integrated editor - Popcon users: 21 ||
|| [[http://bugs.debian.org/juice|juice]] || [[http://bugs.debian.org/499256|O:]] || Abraham vd Merwe || playlist editor / player frontend - Popcon users: 21 ||
|| [[http://bugs.debian.org/camediaplay|camediaplay]] || [[http://bugs.debian.org/487730|O:]] || David Coe || Still Camera Digital Interface - Popcon users: 20 ||
|| [[http://bugs.debian.org/wsoundserver|wsoundserver]] || [[http://bugs.debian.org/465919|O:]] || Debian QA Group || Window Maker Sound Server - Popcon users: 19 ||
|| [[http://bugs.debian.org/view3ds|view3ds]] || [[http://bugs.debian.org/471991|O:]] || Debian QA Group || Simple viewer for 3D Studio files - Popcon users: 19 ||
|| [[http://bugs.debian.org/tkpaint|tkpaint]] || [[http://bugs.debian.org/312841|O:]] || Debian QA Group || Versatile bitmap/pixmap editing tool - Popcon users: 19 ||
|| [[http://bugs.debian.org/sdr|sdr]] || [[http://bugs.debian.org/465856|O:]] || Debian QA Group || An Mbone Conference Scheduling and Booking System (SDR) - Popcon users: 19 ||
|| [[http://bugs.debian.org/smilutils|smilutils]] || [[http://bugs.debian.org/462534|RFA:]] || Roland Mas || Digital Video command line utilities - Popcon users: 20 ||
|| [[http://bugs.debian.org/wsoundprefs|wsoundprefs]] || [[http://bugs.debian.org/465918|O:]] || Debian QA Group || Preferences editor for the Window Maker sound server - Popcon users: 14 ||
|| [[http://bugs.debian.org/wsola|wsola]] || [[http://bugs.debian.org/474524|O:]] || Debian QA Group || allows one to speed/slow audio without altering its pitch - Popcon users: 14 ||
|| [[http://bugs.debian.org/tapiir|tapiir]] || [[http://bugs.debian.org/352539|O:]] || Debian QA Group || A tool for real time audio delay and feedback effects - Popcon users: 14 ||
|| [[http://bugs.debian.org/wmscope|wmscope]] || [[http://bugs.debian.org/400945|O:]] || Debian QA Group || Graphical representation of sound waves in a dockapp - Popcon users: 13 ||
|| [[http://bugs.debian.org/kguitar|kguitar]] || [[http://bugs.debian.org/439530|ITA:]] || Debian QA Group || Stringed instrument tablature editor for KDE - Popcon users: 100 ||
|| [[http://bugs.debian.org/qliss3d|qliss3d]] || [[http://bugs.debian.org/446448|RFA:]] || Steffen Joeris || demonstration tool for Lissajous figures - Popcon users: 15 ||
|| [[http://bugs.debian.org/cinepaint|cinepaint]] || [[http://bugs.debian.org/465691|RFP:]] || Andrew Lau || tool for motion picture frame-by-frame painting, retouching and dust-busting - Popcon users: 41 ||
|| [[http://bugs.debian.org/nyquist|nyquist]] || [[http://bugs.debian.org/483581|RFA:]] || Hans Fugal || a language for music composition and sound synthesis - Popcon users: 13 ||
|| [[http://bugs.debian.org/cmus|cmus]] || [[http://bugs.debian.org/484734|ITA:]] || Julien Louis || Lightweight ncurses audio player - Popcon users: 60 ||
|| [[http://bugs.debian.org/pydance|pydance]] || [[http://bugs.debian.org/388361|ITA:]] || Debian QA Group || dancing simulation game similar to the kind in arcades - Popcon users: 34 ||
|| [[http://bugs.debian.org/prokyon3|prokyon3]] || [[http://bugs.debian.org/430431|ITA:]] || Gustavo Franco || A mp3 and ogg/vorbis manager and tag editor - Popcon users: 31 ||
|| [[http://bugs.debian.org/iripdb|iripdb]] || [[http://bugs.debian.org/375010|RFA:]] || Christoph Siess (CHS) || Generates the DB files for the iRiver iHP-1xx - Popcon users: 4 ||
|| [[http://bugs.debian.org/gmod|gmod]] || [[http://bugs.debian.org/141693|RFA:]] || Riku Voipio || Module player for Ultrasound and SB AWE soundcards - Popcon users: 4 ||
|| [[http://bugs.debian.org/mp3roaster|mp3roaster]] || [[http://bugs.debian.org/455918|ITA:]] || Ivo Marino || A Perl hack for burning audio CDs out of MP3/OGG/FLAC/WAV files - Popcon users: 20 ||
|| [[http://bugs.debian.org/mma|mma]] || [[http://bugs.debian.org/465165|ITA:]] || Debian QA Group || Musical Midi - Popcon users: 12 ||
|| [[http://bugs.debian.org/python-oss|python-oss]] || [[http://bugs.debian.org/440783|ITA:]] || Debian QA Group || Open Sound System (OSS) interface for Python - Popcon users: 3 ||
|| rtirq || [[http://bugs.debian.org/307786|RFP:]] || free@agnula.org || Startup script for realtime-preempt enabled kernels ||
|| opustex || [[http://bugs.debian.org/503521|O:]] || Anthony Fok || Typeset music scores with TeX ||
|| lives || [[http://bugs.debian.org/247337|ITP:]] || costela@debian.org || LiVES is the Linux Video Editing System ||
|| [[http://bugs.debian.org/festvox-suopuhe-mv|festvox-suopuhe-mv]] || [[http://bugs.debian.org/474019|RFA:]] || Niko Tyni || Finnish male speaker for festival - Popcon users: 0 ||
|| [[http://bugs.debian.org/festvox-suopuhe-lj|festvox-suopuhe-lj]] || [[http://bugs.debian.org/474018|RFA:]] || Niko Tyni || Finnish female speaker for Festival - Popcon users: 0 ||
|| em8300 || [[http://bugs.debian.org/346583|RFA:]] || Nicolas Boullis || Drivers for DXR3/Hollywood+ decoder cards ||
|| dvbcut || [[http://bugs.debian.org/457272|RFP:]] || oberger@ouvaton.org || Qt application for cutting parts out of DVB streams ||
Last Updated: 2008-11-25 -- [[TimHall]]


=== Packages not in Debian ===
|| '''Package''' || '''Status''' || '''Upstream''' || '''Comment''' ||
|| dirac || not in WNPP || http://dirac.sf.net/ || video codec that provides general-purpose video compression and decompression tools comparable with state-of-the-art systems - package available ||
|| gplflash || not in WNPP || [[http://gplflash.sourceforge.net/|http://gplflash.sourceforge.net/]] || a fully Flash 7-compliant replacement for the restrictively licensed [[FlashPlayer|Adobe/Macromedia Flash Player and browser plugin]] ||
|| ingen || not in WNPP || http://wiki.drobilla.net/Ingen || modular audio processing system for GNU/Linux audio systems using the Jack audio server and LV2, LADSPA or DSSI plugins. In process of being Orphaned / RFP'd ||
|| latencytest || not in WNPP || http://www.alsa-project.org/~iwai/alsa.html#LatencyTest || Tool to measure kernel latency ||
|| midicomp || not in WNPP || [[http://midicomp.opensrc.org/|http://midicomp.opensrc.org/]] || utility to "compile" and "decompile" midi files from/to text files ||
|| opledit || not in WNPP || [[http://repetae.net/john/computer/opledit/]] || OPL2 and OPL3 patch editor ||
|| rivendell || not in WNPP || http://www.rivendellaudio.org/ || complete radio broadcast automation solution ||
|| rtsynth || not in WNPP || [[http://www.linux-sound.org/rtsynth/|http://www.linux-sound.org/rtsynth/]] || a midi event triggered real time synth for Linux ||
|| wasp || not in WNPP || || LADSPA plugins ||
|| yatm || not in WNPP || [[http://delysid.org/yatm.html|http://delysid.org/yatm.html]] || Ogg and mp3 player with time stretching capabilities ||
  * [[http://wiki.debian.org/Alioth/Git|Using git on Alioth]]
  * [[http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html | git-buildpackage online documentation]] (offline: /usr/share/doc/git-buildpackage/manual-html)
  * [[http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html|Debian Library Packaging guide]]

== Proposing new packages for the Multimedia Team ==

 * Don't bother with git for packaging new software. Instead, package it properly following DebianPolicy and the [[ http://www.debian.org/doc/developers-reference/ | DevelopersReference ]].

 * If you are confident with your package, propose it for review on the pkg-multimedia-maintainers mailing list. Link to your package preferably in a way that can be easily used with [[dget]]. The [[https://mentors.debian.net|Debian Mentors]] site is a good place.

 * Members of the team will then review your package and give you hints how to improve it. If the package is "good enough" (at the reviewer's discretion), they will setup a repository on git.debian.org and integrate your package while preserving attribution.

== Working on existing packages with git for newbies ==

 * As a very basic introduction, first read [[PackagingWithGit]].

 * We generally follow the workflow and defaults of [[ http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html | git-buildpackage ]]. Besides `gbp-import-orig(1)`, the use of `git-buildpackage` is up to you. Using `git` works as well.

 * Locate the packaging branch on https://salsa.debian.org/multimedia-team.

 * Use [[ http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.man.gbp.clone.html | gbp-clone(1) ]] to get a copy of the repository. E.g.

{{{
$ gbp clone --pristine-tar git@salsa.debian.org:multimedia-team/jack-audio-connection-kit.git
}}}

 * Do changes to that branch, build the package, test your changes, and commit early and often!

 * If someone else has committed while you are working on the branch, you need to integrate his changes. For this you have 2 options:

 * If your local changes are rather minor and clean, rebase when using [[ http://www.kernel.org/pub/software/scm/git/docs/git-pull.html | git-pull(1) ]]:
{{{
$ git pull --rebase origin
}}}

 * If you rather don't want to break your history because you think that your changes are rather large and are likely to interfere with the other changes, better merge them with:

{{{
$ git pull origin
}}}

 * In case you want to cleanup your local commits before pushing, use [[ http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html | git-rebase(1) ]]:

{{{
$ git rebase -i origin/master
}}}

   You will be presented a textfile where you can specify what of your local commits you want to modify, drop or squish (merge with the previous one). You can also improve your commit message here.

   Make sure that you don't rewrite already published commits.

 * In order to get comments on your (preferably cleaned up) commits, use use merge requests on [[https://salsa.debian.org|salsa]] or use [[ http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html | git-format-patch(1) ]] to generate patches of your commits and email them to the mailing list.

 * None of the steps above require membership in the multimedia-team group. All of that can be done totally anonymously!

= Common tasks for team members =

== Uploading proposed package to the team git repository ==

 * First create a repository on [[https://salsa.debian.org|Salsa]].

 * Then import the sources locally, register the remote archive and push your commits (i.e. upload changes) with the following commands:

{{{
$ cd /path/to/sources/
$ gbp import-dsc --pristine-tar <project>_0.0.1-1.dsc
$ cd <project>
$ git remote add origin git@salsa.debian.org:multimedia-team/<project>.git
$ git push origin master upstream pristine-tar --follow-tags
}}}

 * If the package hasn't been uploaded yet, then debian tag should be deleted: (thus debian tag can be created on upload)

{{{
$ git tag -d debian/0.0.1-1
}}}

== Uploading new upstream version to existing repository ==

 * Updating a git branch: {{{
$ git checkout master
$ git pull
}}} or by running: {{{
$ gbp pull
}}}

 * Updating local branches without switching to them: {{{
$ git remote update
$ git fetch origin upstream:upstream pristine-tar:pristine-tar
}}}

 * Merging a new upstream version: {{{
$ gbp import-orig --pristine-tar --uscan
}}} or, if you `uscan` does not work for some reasons, you can also import a local tarball: {{{
$ gbp import-orig --pristine-tar /path/to/<package>_0.0.1.orig.tar.bz
}}}

 * Resolving merge conflicts, review your changes e.g. with `git`: {{{
$ git commit
}}}

 * Pushing new revisions: {{{
$ git push origin master upstream pristine-tar --follow-tags --dry-run
}}} If you are happy, remove the --dry-run parameter. Alternatively: {{{
$ gbp push
}}}

 * '''Assumptions in all cases'''
 * in the source tree
 * the remote 'origin' is setup properly


== Removing/Adding debian tags to repository ==

 * Removing debian tag: {{{
$ git tag -d debian/0.0.1-1
}}}

 * Adding debian tag: {{{
$ gbp buildpackage --git-tag-only
}}} Alternatively, it's possible to create tags by hand: {{{
$ git tag [-a|-s] "debian/0.0.1-1" -m "Debian release 0.0.1-1"
}}}
  * -s (or -u <key>) for GPG-signed tag
  * -a for unsigned tag

 * Pushing tags: {{{
$ git push origin master --follow-tags
}}}

 * Replacing a previously set tag: {{{
$ git tag -f [-a|-s] "debian/1.2.3-1" -m "Debian release 1.2.3-1"
}}}

== Common configuration options ==

These parameters should be placed in the `debian/gbp.conf` file.
(uncomment compression line if upstream tarball(s) are not gzip-compressed)
{{{
[DEFAULT]
pristine-tar = True
#compression = bzip2
}}}

'''If you adopt the dpkg source format ''3.0 (quilt)'' you should:'''

* Add this to debian/source/format file

{{{
3.0 (quilt)
}}}

* Add this to .gitignore file

{{{
.pc
}}}

== Bugs for packages found in DMO ==

If there is a bug that is not found in the Debian version of a package but found only in the DMO version of the package, it is helpful to mark such bugs with a usertag. The procedure we take to mark such bugs is as follows.

Send an email to close the bug (NNNNN-done@bugs.debian.org) and also to the BTS bug control interface (control@bugs.debian.org). Closing the bug will automatically notify the submitter of the bug as well. The contents of the email must begin with the following lines.

{{{
user debian-multimedia@lists.debian.org
usertags NNNNNN dmo
tags NNNNNN = unreproducible
notfound NNNNNN <version1>
notfound NNNNNN <version2>
...
notfixed NNNNNN <version1>
notfixed NNNNNN <version2>
...
stop
}}}

These lines are read by the BTS bug control interface. The 'user' line must be set to 'debian-multimedia@lists.debian.org' so that the usertag can be set. The 'usertags' marks the bug with the usertag 'dmo'. The 'tags' line will reset all tags on the bug so that it will only contain one tag, the 'unreproducible' tag. The 'notfound' lines removes all instances where the BTS says the bug is found. These lines need to be added for each version the BTS says the bug is found against. In case the BTS says there are versions of the package the bug is fixed, the 'notfixed' lines must also be added just like the 'notfound' lines to unmark all versions where the BTS says the bug is fixed. Finally, the 'stop' line stops processing for the BTS control interface.

After the 'stop' line, write a message explaining that this bug does not exist against the version of the package in Debian and is being close and marked as such. It's also helpful to recommend users to report the bug to dmo.

All such marked bugs can be viewed at http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=dmo;users=debian-multimedia@lists.debian.org.


1. Develop Packaging

2. Packages maintained by the Debian Multimedia Team

Here you can find a list of packages maintained by the Debian Multimedia Team:

https://qa.debian.org/developer.php?login=debian-multimedia@lists.debian.org

https://qa.debian.org/developer.php?login=pkg-multimedia-maintainers@lists.alioth.debian.org (deprecated)

New packages should set the Maintainer field to Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>. Existing packages should move to using that address on a best-effort basis.

All source packages must be hosted at multimedia-team on Salsa.

3. How to help with packaging

The Debian Multimedia Maintainers need help to create new Debian packages and maintain the existing ones. If you want to contribute to this effort, but you are new to the Debian packaging systems, here follows some information to get you started. Also see DebianMultimedia/Sponsoring for Best Practices with regard to obtaining sponsorship for your uploads if you are not a DD or DM.

3.1. Packaging guidelines

  • Packages should use git, as mentioned above. Desirable is being able to use git-buildpackage.

  • Upstream sources should be kept in the upstream branch and the the debian packaging in the master branch.

  • quilt should be used for patch management, and the master branch should only differ from the upstream branch in files inside the debian/ directory. This means no direct changes to the source in the master branch.

  • In order to keep patches uniform, maintainers should configure quilt by means of a ~/.quiltrc file in accordance with the Debian New Maintainers' Guide. Torsten Glaser suggested a more sophisticated ~/.quiltrc file resulting from the team's discussion, the Perl and Maintainer’s Guide suggestions in clean POSIX shell on the pkg-multimedia-maintainers list.

  • Patches should have a DEP-3 compliant header, and should be submitted upstream (if relevant) before uploading to Debian.

  • The maintainer field should be set to Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>

  • The git repository should be hosted on salsa, under the multimedia-team project. It should forward commit messages to dispatch+package_vcs@tracker.debian.org.

  • The control file should use the Vcs-Git and Vcs-Browser tags.

3.2. Workflow guidelines

  • One change per commit. This is very important, it eases review, cherry picking, bisecting (and thus debugging) and backporting.

  • Do not commit debian/changelog along with the changes. This practice makes cherry picking and backporting changes unnecessarily hard. The changelog is generated with git-dch(1) at the time of upload. Also, packages should use the changelog release heuristic of dch(1).

  • The commit message should have a short (<78 characters) summary of the change followed by a newline. After that, you can elaborate on the change. The summary is treated specially by various tools like git-dch(1), or the commitdiff mailer.

  • After each upload to the Debian FTP servers, the first commit should be creating a new changelog entry, to ease testing of unreleased packages.
  • Tags should be created (and signed) by the uploading DD, in the case of the debian tags in the master branch, and by the person importing the upstream sources in the case of upstream tags.
  • To indicate that the package is ready for upload, update debian/changelog to include the target distribution (i.e. 'unstable' or 'experimental'). Otherwise just leave 'UNRELEASED'. If you want a review or help, just ask on this mailing list.

3.3. Documentation

3.4. Proposing new packages for the Multimedia Team

  • Don't bother with git for packaging new software. Instead, package it properly following DebianPolicy and the DevelopersReference.

  • If you are confident with your package, propose it for review on the pkg-multimedia-maintainers mailing list. Link to your package preferably in a way that can be easily used with ?dget. The Debian Mentors site is a good place.

  • Members of the team will then review your package and give you hints how to improve it. If the package is "good enough" (at the reviewer's discretion), they will setup a repository on git.debian.org and integrate your package while preserving attribution.

3.5. Working on existing packages with git for newbies

$ gbp clone --pristine-tar git@salsa.debian.org:multimedia-team/jack-audio-connection-kit.git
  • Do changes to that branch, build the package, test your changes, and commit early and often!
  • If someone else has committed while you are working on the branch, you need to integrate his changes. For this you have 2 options:
  • If your local changes are rather minor and clean, rebase when using git-pull(1):

$ git pull --rebase origin
  • If you rather don't want to break your history because you think that your changes are rather large and are likely to interfere with the other changes, better merge them with:

$ git pull origin
  • In case you want to cleanup your local commits before pushing, use git-rebase(1):

$ git rebase -i origin/master
  • You will be presented a textfile where you can specify what of your local commits you want to modify, drop or squish (merge with the previous one). You can also improve your commit message here. Make sure that you don't rewrite already published commits.
  • In order to get comments on your (preferably cleaned up) commits, use use merge requests on salsa or use git-format-patch(1) to generate patches of your commits and email them to the mailing list.

  • None of the steps above require membership in the multimedia-team group. All of that can be done totally anonymously!

4. Common tasks for team members

4.1. Uploading proposed package to the team git repository

  • First create a repository on Salsa.

  • Then import the sources locally, register the remote archive and push your commits (i.e. upload changes) with the following commands:

$ cd /path/to/sources/
$ gbp import-dsc --pristine-tar <project>_0.0.1-1.dsc
$ cd <project>
$ git remote add origin git@salsa.debian.org:multimedia-team/<project>.git
$ git push origin master upstream pristine-tar --follow-tags
  • If the package hasn't been uploaded yet, then debian tag should be deleted: (thus debian tag can be created on upload)

$ git tag -d debian/0.0.1-1

4.2. Uploading new upstream version to existing repository

  • Updating a git branch:

    $ git checkout master
    $ git pull

    or by running:

    $ gbp pull
  • Updating local branches without switching to them:

    $ git remote update
    $ git fetch origin upstream:upstream pristine-tar:pristine-tar
  • Merging a new upstream version:

    $ gbp import-orig --pristine-tar --uscan

    or, if you uscan does not work for some reasons, you can also import a local tarball:

    $ gbp import-orig --pristine-tar /path/to/<package>_0.0.1.orig.tar.bz
  • Resolving merge conflicts, review your changes e.g. with git:

    $ git commit
  • Pushing new revisions:

    $ git push origin master upstream pristine-tar --follow-tags --dry-run

    If you are happy, remove the --dry-run parameter. Alternatively:

    $ gbp push
  • Assumptions in all cases

  • in the source tree
  • the remote 'origin' is setup properly

4.3. Removing/Adding debian tags to repository

  • Removing debian tag:

    $ git tag -d debian/0.0.1-1
  • Adding debian tag:

    $ gbp buildpackage --git-tag-only

    Alternatively, it's possible to create tags by hand:

    $ git tag [-a|-s] "debian/0.0.1-1" -m "Debian release 0.0.1-1"
    • -s (or -u <key>) for GPG-signed tag

    • -a for unsigned tag
  • Pushing tags:

    $ git push origin master --follow-tags
  • Replacing a previously set tag:

    $ git tag -f [-a|-s] "debian/1.2.3-1" -m "Debian release 1.2.3-1"

4.4. Common configuration options

These parameters should be placed in the debian/gbp.conf file. (uncomment compression line if upstream tarball(s) are not gzip-compressed)

[DEFAULT]
pristine-tar = True
#compression = bzip2

If you adopt the dpkg source format 3.0 (quilt) you should:

* Add this to debian/source/format file

3.0 (quilt)

* Add this to .gitignore file

.pc

4.5. Bugs for packages found in DMO

If there is a bug that is not found in the Debian version of a package but found only in the DMO version of the package, it is helpful to mark such bugs with a usertag. The procedure we take to mark such bugs is as follows.

Send an email to close the bug (NNNNN-done@bugs.debian.org) and also to the BTS bug control interface (control@bugs.debian.org). Closing the bug will automatically notify the submitter of the bug as well. The contents of the email must begin with the following lines.

user debian-multimedia@lists.debian.org
usertags NNNNNN dmo
tags NNNNNN = unreproducible
notfound NNNNNN <version1>
notfound NNNNNN <version2>
...
notfixed NNNNNN <version1>
notfixed NNNNNN <version2>
...
stop

These lines are read by the BTS bug control interface. The 'user' line must be set to 'debian-multimedia@lists.debian.org' so that the usertag can be set. The 'usertags' marks the bug with the usertag 'dmo'. The 'tags' line will reset all tags on the bug so that it will only contain one tag, the 'unreproducible' tag. The 'notfound' lines removes all instances where the BTS says the bug is found. These lines need to be added for each version the BTS says the bug is found against. In case the BTS says there are versions of the package the bug is fixed, the 'notfixed' lines must also be added just like the 'notfound' lines to unmark all versions where the BTS says the bug is fixed. Finally, the 'stop' line stops processing for the BTS control interface.

After the 'stop' line, write a message explaining that this bug does not exist against the version of the package in Debian and is being close and marked as such. It's also helpful to recommend users to report the bug to dmo.

All such marked bugs can be viewed at http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=dmo;users=debian-multimedia@lists.debian.org.


Work in progress : We're checking all the WNPP bugs and updating infos on this page.


CategorySound