LM's, Join the Debian (and/or Ubuntu) Multimedia Team!
Moderators: MattKingUSA, khz
LM's, Join the Debian (and/or Ubuntu) Multimedia Team!
One Musician, One package!
In this topic: http://linuxmusicians.com/viewtopic.php?f=44&t=809
Funkmuscle talks about autopackage, a solution for getting rid of the building problems for Linux audio apps on different distros.
I think a better solution to solve those problems is making the Linux audio packages available for the distros, as *.deb for the Debian based distros for example.
When more people join the Debian multimedia team, more audio packages are available with just one command (apt-get install <package>)!
Many people here builds Debian packages for themselves. Why not choose one or two favorite packages and maintain it for the Debian Multimedia Team? It will help the Linux audio/musicians community much more then only working solo.
Why the Debian multimedia team?
1) Because they want to improve Debian and derivatives (like Ubuntu) for music production!
2) A lot of people use Debian (based) distro's, Debian itself, 64studio, Ubuntu, Sidux, Mepis etc.
3) The Debian Multimedia Team works closely together with The MOTUMedia team in Ubuntu and vice versa. Building for the Debian Multimedia Team = building for Ubuntu (Studio) too.
4) You will learn to build quality packages
5) You get help from the team and you don't have to become a Debian or Ubuntu Developer, you can just be and stay an package maintainer.
What can I do?
1) Build or improve packages for the Debian Multimedia Team. It's recommended to maintain packages you use yourself often.
2) Report bugs and wishes: http://linuxmusicians.com/viewtopic.php ... 3863#p3863
3) Join the Debian multimedia team mailing list: http://lists.alioth.debian.org/mailman/ ... aintainers
Where can I find more info?
wiki:
http://wiki.debian.org/DebianMultimedia
http://wiki.debian.org/DebianMultimedia ... pPackaging
Debian package HowTo:
http://wiki.debian.org/HowToPackageForDebian
Debian New Maintainers' guide:
http://www.debian.org/doc/maint-guide/
To make packaging more easy you can use CDBS:
https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml
The Debian Multimedia team use guilt to manage patches:
http://pkg-perl.alioth.debian.org/howto/quilt.html
http://wiki.debian.org/HolgerLevsen
Building packages for Debian on Ubuntu:
https://wiki.ubuntu.com/PbuilderHowto
Pbuilder (for if you don't run Debian unstable):
http://www.netfort.gr.jp/~dancer/softwa ... r-doc.html
edit: Contributing to Debian Multimedia Team, is contributing to Ubuntu (among others).
The MOTUMedia team in Ubuntu works closely together with The Debian Multimedia Team. https://launchpad.net/~motumedia
So subscribe to both teams if you are a Ubuntu user would be a good idea!
edit:
I also noticed you got a lot of good help building your first package on the Debian mentors mailinglist.
http://mentors.debian.net/cgi-bin/welcome
http://www.mail-archive.com/debian-ment ... /info.html
In this topic: http://linuxmusicians.com/viewtopic.php?f=44&t=809
Funkmuscle talks about autopackage, a solution for getting rid of the building problems for Linux audio apps on different distros.
I think a better solution to solve those problems is making the Linux audio packages available for the distros, as *.deb for the Debian based distros for example.
When more people join the Debian multimedia team, more audio packages are available with just one command (apt-get install <package>)!
Many people here builds Debian packages for themselves. Why not choose one or two favorite packages and maintain it for the Debian Multimedia Team? It will help the Linux audio/musicians community much more then only working solo.
Why the Debian multimedia team?
1) Because they want to improve Debian and derivatives (like Ubuntu) for music production!
2) A lot of people use Debian (based) distro's, Debian itself, 64studio, Ubuntu, Sidux, Mepis etc.
3) The Debian Multimedia Team works closely together with The MOTUMedia team in Ubuntu and vice versa. Building for the Debian Multimedia Team = building for Ubuntu (Studio) too.
4) You will learn to build quality packages
5) You get help from the team and you don't have to become a Debian or Ubuntu Developer, you can just be and stay an package maintainer.
What can I do?
1) Build or improve packages for the Debian Multimedia Team. It's recommended to maintain packages you use yourself often.
2) Report bugs and wishes: http://linuxmusicians.com/viewtopic.php ... 3863#p3863
3) Join the Debian multimedia team mailing list: http://lists.alioth.debian.org/mailman/ ... aintainers
Where can I find more info?
wiki:
http://wiki.debian.org/DebianMultimedia
http://wiki.debian.org/DebianMultimedia ... pPackaging
Debian package HowTo:
http://wiki.debian.org/HowToPackageForDebian
Debian New Maintainers' guide:
http://www.debian.org/doc/maint-guide/
To make packaging more easy you can use CDBS:
https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml
The Debian Multimedia team use guilt to manage patches:
http://pkg-perl.alioth.debian.org/howto/quilt.html
http://wiki.debian.org/HolgerLevsen
Building packages for Debian on Ubuntu:
https://wiki.ubuntu.com/PbuilderHowto
Pbuilder (for if you don't run Debian unstable):
http://www.netfort.gr.jp/~dancer/softwa ... r-doc.html
edit: Contributing to Debian Multimedia Team, is contributing to Ubuntu (among others).
The MOTUMedia team in Ubuntu works closely together with The Debian Multimedia Team. https://launchpad.net/~motumedia
So subscribe to both teams if you are a Ubuntu user would be a good idea!
edit:
I also noticed you got a lot of good help building your first package on the Debian mentors mailinglist.
http://mentors.debian.net/cgi-bin/welcome
http://www.mail-archive.com/debian-ment ... /info.html
Last edited by studio32 on Tue Apr 21, 2009 2:41 pm, edited 20 times in total.
Using Pbuilder
The packages should be build in an Debian unstable (sid) environment. If you don't use sid but stable, testing or even another kind of distro like Ubuntu, you can easily set up an chroot evironment, which makes you able to build sid packages anyway. Check out pbuilder and/or cowbuilder
http://www.netfort.gr.jp/~dancer/softwa ... r-doc.html
for Ubuntero's:
https://wiki.ubuntu.com/PbuilderHowto
edit: another advantage of building for Debian is that you don't have to become a official debian developer (DD), you can just become and stay a package maintainer (with or without a mentor)
http://people.debian.org/~mpalmer/debia ... #packaging
http://www.netfort.gr.jp/~dancer/softwa ... r-doc.html
for Ubuntero's:
https://wiki.ubuntu.com/PbuilderHowto
edit: another advantage of building for Debian is that you don't have to become a official debian developer (DD), you can just become and stay a package maintainer (with or without a mentor)
http://people.debian.org/~mpalmer/debia ... #packaging
Last edited by studio32 on Tue Apr 21, 2009 2:26 pm, edited 2 times in total.
packaging for 64studio
Also for the coming 64studio 3.0 there is a need for packages to build. You could contribute by building packages for the debian multimedia team!
http://lists.64studio.com/pipermail/64s ... 02621.html
http://lists.64studio.com/pipermail/64s ... 02624.html
http://lists.64studio.com/pipermail/64s ... 02630.html
http://lists.64studio.com/pipermail/64s ... 02621.html
http://lists.64studio.com/pipermail/64s ... 02624.html
http://lists.64studio.com/pipermail/64s ... 02630.html
Last edited by studio32 on Tue Apr 21, 2009 2:25 pm, edited 1 time in total.
packaging for Ubuntu: MOTUMedia
Contributing to Debian Multimedia Team, is contributing to Ubuntu (among others).
The MOTUMedia team in Ubuntu works closely together with The Debian Multimedia Team. https://launchpad.net/~motumedia
So subscribe to both teams if you are a Ubuntu user would be a good idea!
quote from the Debian Multimedia Team mailinglist
The MOTUMedia team in Ubuntu works closely together with The Debian Multimedia Team. https://launchpad.net/~motumedia
So subscribe to both teams if you are a Ubuntu user would be a good idea!
quote from the Debian Multimedia Team mailinglist
> I think building packages for Debian could also improve Debian
> > derivatives, like Ubuntu, for multimedia production. And Ubuntu users
> > could contribute to the Debian multimedia team by maintaining packages.
> > It would be nice if Debian and Ubuntu users could have some kind of
> > working together to improve Debian and Ubuntu for multimedia production.
Yes, Good idea! That's what I've intended when I've created the
MOTUMedia team. Unfortunately, the only active people were slomo,
crimsun and myself.
> > Ubuntu users could contribute to the Debian Multimedia Team to maintain
> > packages, but they also want to be sure that their packages they make
> > for Debian will hit Ubuntu of course.
We already have too many packages for too little manpower. So any help
is more than welcome!
> > So I was wondering:
> >
> > 1) how can I maintain a multimedia package for Debian and be sure that
> > it hits Ubuntu (Studio) too?
I'd say get that package imported in a git branch on
git.debian.org. Distributed development is ideal for this usecase.
> > 2) how can I make a Ubuntu package from an Debian package?
> > 3) how can I make an Debian package from an Ubuntu package?
Ubuntu and Debian packages share the same format. Ideally there are no
differences between the debian and the ubuntu package.
For packages that need to have some difference, I'd suggest to maintain
the ubuntu package in a git branch. That way merging back and forth
remains easy.
> > 4) how could we improve this 'working together'?
Subscribe to this mailing list, send patches to existing packages, get
the packages accepted, make sure that packages from debian are kept
up-to-date in ubuntu.
I already do that for the ubuntu ffmpeg and mplayer packages, and I
start to feel a bit lonley
Last edited by studio32 on Tue Apr 21, 2009 2:26 pm, edited 1 time in total.
- nathan
- Site Admin
- Posts: 405
- Joined: Mon Dec 11, 2006 8:53 pm
- Location: Phoenix, AZ
- Been thanked: 5 times
- Contact:
Re: LM's, Join the Debian (and/or Ubuntu) Multimedia Team!
Thanks for all this info. I will definitely be thinking about packages I could possibly maintain...is there a list of packages that need maintainers?
Building the package
That's great. Others are busy too and also I have packaged some and ready to upload now. Pick an small package first, maybe a synth or something? Subscribe to the mailinglist and also to the debian-mentors mailinglist, they can help you a lot. I also contact the upstream author (the author of the package) he can also help a lot and give info about build-depends and depends, maybe provide an manpage etc.
Here is an chat with someone who helped me and I build packages this way, using cdbs to make it more easy:
(I assume you read the debian package build howto or debian new maintainers guide)
Here is an list with packages, RFP = request for package
http://bugs.debian.org/cgi-bin/pkgrepor ... 0gmail.com
edit: maybe this is a good one to start with: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522884
First mail the upstream author about you plans..
See also http://wiki.debian.org/DebianMultimedia ... pPackaging
Here is an chat with someone who helped me and I build packages this way, using cdbs to make it more easy:
(I assume you read the debian package build howto or debian new maintainers guide)
Code: Select all
dh_make -e my.email@mail.com -f ../rumor-1.0.3b.tar.gz -c gpl -b
and what does: -c gpl -b
: -c gpl sets the license in debian/copyright to GPL (which is what rumor is distributed under)
: -b uses CDBS
Fill in debian/control with the required information... debian/changelog... etc.
: also, run ``grep -rin copyright *'' from the source root to make sure that there aren't any other
authors.
so, I'd make a ~/tmp_debian_files/ and mv *.ex ~/tmp_debian_files/ ... then I'd run debuild -S -sa
from the source root.
cd .. && lintian -I --pedantic rumor-foo.dsc
that tmp folder I make in /rumor-x/debian ?
no, outside, you can make it in /tmp or /home/wherever.
: You just want to move the *.ex and *.EX files out of the debian/ directory... but keep them as a
reference for later on.
debuild -S -sa -k<Your key>
mmh I've set a key, but forgot.. howto get it?
gpg --list-keys <name>
what does this do btw, lintian -I --pedantic rumor-foo.dsc ?
Sweet, now, copy watch.ex back to debian/watch ... edit it (man uscan if I rememer correctly...)
lintian checks for packaging errors. -I displays informational tags. --pedantic ``Pedantic tags are
Lintian at its most pickiest and include checks for particular packaging styles''
now, go back to the source directory, debuild -S -sa -k<foo>
then rerun lintian.
if it's clean, try building the dsc-
how building the dsc?
: with pbuilder
pbuilder --build rumor.foo.dsc
pbuilder --update first
http://bugs.debian.org/cgi-bin/pkgrepor ... 0gmail.com
edit: maybe this is a good one to start with: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522884
First mail the upstream author about you plans..
See also http://wiki.debian.org/DebianMultimedia ... pPackaging
Last edited by studio32 on Tue Apr 21, 2009 6:47 pm, edited 3 times in total.
menu entries
some info about menu entries:
For the traditional Debian menu entries, see:
http://www.debian.org/doc/packaging-man ... index.html
For FreeDesktop.org menu entries, see:
- Packaging information:
https://wiki.ubuntu.com/PackagingGuide/ ... es#Desktop
- Specifications: http://standards.freedesktop.org/deskto ... ec/latest/
- List of categories:
http://standards.freedesktop.org/menu-s ... t/apa.html
- The "desktop-file-validate" tool to check if the file looks correct.
Of course you can look at other packages how they do it...
For the traditional Debian menu entries, see:
http://www.debian.org/doc/packaging-man ... index.html
For FreeDesktop.org menu entries, see:
- Packaging information:
https://wiki.ubuntu.com/PackagingGuide/ ... es#Desktop
- Specifications: http://standards.freedesktop.org/deskto ... ec/latest/
- List of categories:
http://standards.freedesktop.org/menu-s ... t/apa.html
- The "desktop-file-validate" tool to check if the file looks correct.
Of course you can look at other packages how they do it...
manpages
Making manpages:
I always ask an upstream author to provide one.
Tools which are useful:
help2man
gmanedit
For example I have an rumor manpage for the package rumor in /debian
and I have an file in the debian folder:
with the content:
I always ask an upstream author to provide one.
Tools which are useful:
help2man
gmanedit
For example I have an rumor manpage for the package rumor in /debian
Code: Select all
rumor.1
Code: Select all
rumor.manpages
Code: Select all
debian/rumor.1
uploading package to Debian Multimedia (or mentors.debian.ne
I've uploaded today, whysynth, rumor, xjadeo and jack-mixer. I hope they are right.
I've introduced myself to the on the pkg-multimedia-maintainer mailinglist
And registered myself on alioth.debian
I reported my login name to pkg-multimedia-...
They gave me access, and I uploaded it:
(please have a look to git-buildpackage.)
For new projects, I usually do something like:
See also at the bottom of this page!
http://wiki.debian.org/DebianMultimedia ... pPackaging
more info about working with git:
http://wiki.debian.org/Alioth/Git
http://lists.alioth.debian.org/pipermai ... 04293.html
http://www.kernel.org/pub/software/scm/ ... anual.html
It's also possible to upload it to mentors.debian.net ( http://mentors.debian.net/cgi-bin/maintainer-intro ), but it's pretty hard sometimes to get an sponsor, so if it's an audio/video package, the pkg-multimedia team is the best way to go IMO.
I've introduced myself to the on the pkg-multimedia-maintainer mailinglist
And registered myself on alioth.debian
I reported my login name to pkg-multimedia-...
They gave me access, and I uploaded it:
Code: Select all
git-import-dsc your-source-package.dsc
For new projects, I usually do something like:
Code: Select all
ssh <user>@git.debian.org
cd /git/pkg-multimedia
./setup-repository <project> "Project description"
[logout]
cd /path/to/local/<project>
git remote add alioth ssh://<user>@git.debian.org/git/pkg-multimedia/<project>.git
git push alioth master
git push alioth --tags
http://wiki.debian.org/DebianMultimedia ... pPackaging
more info about working with git:
http://wiki.debian.org/Alioth/Git
http://lists.alioth.debian.org/pipermai ... 04293.html
http://www.kernel.org/pub/software/scm/ ... anual.html
It's also possible to upload it to mentors.debian.net ( http://mentors.debian.net/cgi-bin/maintainer-intro ), but it's pretty hard sometimes to get an sponsor, so if it's an audio/video package, the pkg-multimedia team is the best way to go IMO.
Last edited by studio32 on Thu May 28, 2009 11:17 am, edited 1 time in total.
final stage: upload to Debian
My first package will hit Debian soon
I hope it inspires people to follow me in building some packages!The package looks in very good shape, nice job! I've just re-touched a
bit the description because some lines where longer than 80 chars
(there were lintian warnings for them). You can get my changes with
git pull.
I've just uploaded the package to Debian, it will be hold in the NEW
queue until it passes all QA checks.
http://ftp-master.debian.org/new.html
When upstream doesn't install menu entry / icon
A quick tutorial about debian packaging "states". When you build your
package everything that needs to be compiled gets compiled. Then
everything is installed into a temporary directory inside debian/ then
various dh_ commands are run to change/make the temporary directories
fit for actual binary .deb. At the the end metadata, maintainer
scripts and those temp directories are compressed into an archive with
name ending in deb.
To get better understanding let's do this:
1) Change into the directory of your package, eg. cd foo-1.0/
2) Run this command
debuild binary
3) Now go into debian/ and look what you have in there. A good way to
see what's there is to run this:
du -a
This should show all the files in all subdirectrories. One particular
directory you want to look at is the one named after your package
(hope you are still following, I'm talking about foo-1.0/debian/foo).
It has all the files that will end up in the final deb. Sometimes (if
you are building more than one package) you will have 3 folders e.g.:
tmp/ foo/ foo-data/
Sometimes you will notice that upstream compilation doesn't install
everything you want. In that case you create the debian/$foo.install
files.
Case 1 Single package (you are only creating ONE deb)
Step 1) create debian/install
Step 2) For each missing file/directory write one line:
source destination-dir
Where source is path relative the toplevel source directory (foo-1.0),
and destination-dir is where you want the files to end up when your
package is installed on the system eg. (usr/share/lib/)
Case 2 Multiple deb package (youare creating MORE THAN ONE deb)
Step 1) create debian/$(package).install eg. if you want to install
something additionally into a package called supercow-data you create
a file debian/supercow-data.intall
Step 2) Same as in case 1.
> > I have package.install
> >
> > with:
> >
> > debian/tmp/usr/share/applications/* usr/share/applications/
Most likely you want to simply write
upstream/location/of/desktop/files usr/share/applications
And rename "package.install" into simply "install".
"upstream/location/of/desktop/files" is the path to the .desktop
file/files in the tarball
eg. one of my upstreams has desktop files in
vitables-2.0/unixapp/vitables.desktop so in my debian/install I have
this line:
unixapp/vitables.desktop usr/share/applications
Hope this helps. please take a little bit of time and play around with
it to understand which paths you need to be using when. It's something
I had to spend a little while to get the hang of.
Re: LM's, Join the Debian (and/or Ubuntu) Multimedia Team!
I'm glad I see more and more (especially Ubuntu people) help packaging for the Debian Multimedia team. Good for Debian, AVLinux, Ubuntu, Ubuntu Studio and 64studio
Consider to join to
Consider to join to