-
Not Synced
Thank you very much.
-
Not Synced
Thanks everybody for coming,…
-
Not Synced
If you are packaging software and you want
me to work on with you,
-
Not Synced
this is how you can do that.
-
Not Synced
It is a very self-??? talk:
-
Not Synced
I just want to explain some of the things
that I like,
-
Not Synced
some practice that I prefer about Debian
packaging,
-
Not Synced
and I don't pretend this is any sort of
official,
-
Not Synced
permanent or final thing.
-
Not Synced
I just wanted to share some ideas that I
have about the way that I work with
-
Not Synced
packages, in the hope that maybe, hmm,
for two hopes:
-
Not Synced
One is that I hope that I can show you
something that you have not heard of,
-
Not Synced
or maybe you were doing differently,
-
Not Synced
or maybe you think it is the right think
to do and it is just nice to see somebody
-
Not Synced
somebody else doing it.
-
Not Synced
My second hope is that you can tell me
what I am doing wrong,
-
Not Synced
and you can help me learn and improve
on my own packaging techniques.
-
Not Synced
If you see something that I am proposing
up here,
-
Not Synced
and you think there is a problem with it,
I would like to hear about it too.
-
Not Synced
I just want to see more of the culture
within Debian,
-
Not Synced
of people who are doing packaging,
explaining what they are doing,
-
Not Synced
and so I thought I would just step up and
explain:
-
Not Synced
"Here is some of the practice that I do",
-
Not Synced
In the hope that other people will do the
same and explain what they are doing,
-
Not Synced
and maybe they can learn from me and
I can learn from them.
-
Not Synced
Without much further ????, I am just going
to dive into it.
-
Not Synced
If you have questions, I am perfectly
happy to be interrupted,
-
Not Synced
we have some folks with walking mics
in the crowd:
-
Not Synced
you can just raise your hand.
-
Not Synced
I you have got a question or an
interruption or whatever,
-
Not Synced
that is fine.
-
Not Synced
I ??? I got the whole 15 minutes,
I think there are 20 minutes,
-
Not Synced
I ??? the whole time, so there will be
also time for questions at the end
-
Not Synced
if you prefer.
-
Not Synced
But I do not mind being interrupted.
-
Not Synced
So, this is all on this web page here,
-
Not Synced
you could probably skip this talk and go
read the web page,
-
Not Synced
but then you would not have the nice
??? actions,
-
Not Synced
and it is easier to tell me that I am
wrong in person,
-
Not Synced
so I would like to have that happen.
-
Not Synced
I put this up on the Debian wiki,
-
Not Synced
because I want anyone to be able to find
it.
-
Not Synced
If you thing you have got some good ideas,
you should put it on the Debian Wiki too:
-
Not Synced
other people can take advantage of the
ideas that you have got.
-
Not Synced
First baseline is: I really like revision
control.
-
Not Synced
And I know that it makes me a certain
flavor on nerd,
-
Not Synced
but when we are working with things that
are as complicated as software packages,
-
Not Synced
hmmm, I think a lot of people don't get
that in Debian we are not just working on
-
Not Synced
one software package:
-
Not Synced
you are actually probably, if you are doing
a responsibly work,
-
Not Synced
on at least two software packages, and
maybe 5.
-
Not Synced
So you have got the version that is
unstable and you have got
-
Not Synced
the version that you try to maintain for
stable as well.
-
Not Synced
And we are committing to doing maintenance
work.
-
Not Synced
A lot of our work in the project is ???
in nature:
-
Not Synced
we want to clean up the mess and we want
us to stay out of the way and
-
Not Synced
to make sure things work, functionally,
-
Not Synced
for people who are relying on the
operating system to not get in their way.
-
Not Synced
So revision control I think is really
helpful because it means you can
-
Not Synced
keep track of what changes you have done
on different branches of the project
-
Not Synced
while you are maintaining both of them.
-
Not Synced
Basically, ??? require working with
the revision system I am comfortable with,
-
Not Synced
I prefer Git, I am not going to have a
religious word about it.
-
Not Synced
If upstream uses Git, I am even happier,
and I try to make my packaging depend on
-
Not Synced
upstream's revision control.
-
Not Synced
I like to use 'git-buildpackage', and I
like to use it with debhelper.
-
Not Synced
If you have not tried out
'git-buildpackage',
-
Not Synced
we are going to have a
'git-buildpackage' skill share session
-
Not Synced
later on today actually, and I welcome
you to come and share your tricks with it,
-
Not Synced
or learn some tricks from other people.
-
Not Synced
It is a particular way that you can keep
your Debian packaging in a Git repository,
-
Not Synced
and it helps you to keep track of all of
the changes that ave happened within
-
Not Synced
your packaging and within upstream to
make sure you are not accidentally
-
Not Synced
making other changes.
-
Not Synced
So it is very easy to go back and review
what you have done.
-
Not Synced
I find that really useful.
-
Not Synced
I definitely also like to keep upstream's
source code in the same revision control
-
Not Synced
system.
-
Not Synced
I like to keep the tarballs in the
revision control system because it means
-
Not Synced
that if someone is interested, they can
uses a tool called 'debcheckout'.
-
Not Synced
You can use 'debcheckout' with a name of
a package:
-
Not Synced
you say just "I am really interested in
package 'foo',
-
Not Synced
let me see the source code for that":
-
Not Synced
debcheckout foo
-
Not Synced
You get the source code, and you get the
source code from a revision control
-
Not Synced
system that you can now track and you
can just propose changes on.
-
Not Synced
You can also extract the tarball from that
revision control system.
-
Not Synced
'debcheckout' actually works even if you
do not have upstream stuff in there,
-
Not Synced
but I like to keep it all in one revision
control system,
-
Not Synced
it is just easier to find everything when
you want.
-
Not Synced
Some of these things that I prefer have
to do with what the upstream software
-
Not Synced
developer has done, so I am less inclined
to try the package an upstream software
-
Not Synced
project if they just throw tarballs here
over the wall to an FTP side
-
Not Synced
every now and then.
-
Not Synced
It makes it more difficult for me to know
what they are doing,
-
Not Synced
and why they are doing it.
-
Not Synced
So i like it, I have already said, when
upstream uses Git,
-
Not Synced
I also like when upstream signs their
releases,
-
Not Synced
and say "hey, this is specific release",
-
Not Synced
Because that is a signal that I can use,
or somebody else that understands the
-
Not Synced
project: as said "we think that this
something that other people can use",
-
Not Synced
or "this is a particular version we would
like other people to test".
-
Not Synced
There are a lot of other situations where
maybe it is not so important.
-
Not Synced
And having that be cryptographically
signed is really useful.