[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Thank you very much. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Thanks everybody for coming,… Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you are packaging software and you want\Nme to work on with you, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,this is how you can do that. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It is a very self-??? talk: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I just want to explain some of the things\Nthat I like, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,some practice that I prefer about Debian\Npackaging, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and I don't pretend this is any sort of\Nofficial, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,permanent or final thing. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I just wanted to share some ideas that I\Nhave about the way that I work with Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,packages, in the hope that maybe, hmm,\Nfor two hopes: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,One is that I hope that I can show you\Nsomething that you have not heard of, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or maybe you were doing differently, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or maybe you think it is the right think\Nto do and it is just nice to see somebody Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,somebody else doing it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,My second hope is that you can tell me\Nwhat I am doing wrong, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and you can help me learn and improve\Non my own packaging techniques. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you see something that I am proposing\Nup here, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and you think there is a problem with it,\NI would like to hear about it too. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I just want to see more of the culture\Nwithin Debian, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,of people who are doing packaging,\Nexplaining what they are doing, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and so I thought I would just step up and\Nexplain: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"Here is some of the practice that I do", Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,In the hope that other people will do the\Nsame and explain what they are doing, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and maybe they can learn from me and\NI can learn from them. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Without much further ????, I am just going\Nto dive into it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you have questions, I am perfectly\Nhappy to be interrupted, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we have some folks with walking mics\Nin the crowd: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you can just raise your hand. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I you have got a question or an\Ninterruption or whatever, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,that is fine. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I ??? I got the whole 15 minutes,\NI think there are 20 minutes, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I ??? the whole time, so there will be\Nalso time for questions at the end Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,if you prefer. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,But I do not mind being interrupted. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So, this is all on this web page here, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you could probably skip this talk and go\Nread the web page, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but then you would not have the nice\N??? actions, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and it is easier to tell me that I am\Nwrong in person, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so I would like to have that happen. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I put this up on the Debian wiki, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because I want anyone to be able to find\Nit. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you thing you have got some good ideas,\Nyou should put it on the Debian Wiki too: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,other people can take advantage of the\Nideas that you have got. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,First baseline is: I really like revision\Ncontrol. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And I know that it makes me a certain\Nflavor on nerd, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but when we are working with things that\Nare as complicated as software packages, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,hmmm, I think a lot of people don't get\Nthat in Debian we are not just working on Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,one software package: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you are actually probably, if you are doing\Na responsibly work, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,on at least two software packages, and\Nmaybe 5. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So you have got the version that is\Nunstable and you have got Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the version that you try to maintain for\Nstable as well. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And we are committing to doing maintenance\Nwork. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,A lot of our work in the project is ???\Nin nature: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we want to clean up the mess and we want\Nus to stay out of the way and Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to make sure things work, functionally,\N Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,for people who are relying on the\Noperating system to not get in their way. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So revision control I think is really\Nhelpful because it means you can Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,keep track of what changes you have done\Non different branches of the project Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,while you are maintaining both of them. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Basically, ??? require working with\Nthe revision system I am comfortable with, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I prefer Git, I am not going to have a\Nreligious word about it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If upstream uses Git, I am even happier,\Nand I try to make my packaging depend on Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,upstream's revision control. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I like to use 'git-buildpackage', and I\Nlike to use it with debhelper. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you have not tried out\N'git-buildpackage', Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we are going to have a\N'git-buildpackage' skill share session Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,later on today actually, and I welcome\Nyou to come and share your tricks with it, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or learn some tricks from other people. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It is a particular way that you can keep\Nyour Debian packaging in a Git repository, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and it helps you to keep track of all of\Nthe changes that ave happened within Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,your packaging and within upstream to\Nmake sure you are not accidentally Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,making other changes. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So it is very easy to go back and review\Nwhat you have done. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I find that really useful. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I definitely also like to keep upstream's\Nsource code in the same revision control Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,system. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I like to keep the tarballs in the\Nrevision control system because it means Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,that if someone is interested, they can\Nuses a tool called 'debcheckout'. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can use 'debcheckout' with a name of\Na package: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you say just "I am really interested in\Npackage 'foo', Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,let me see the source code for that": Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,debcheckout foo Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You get the source code, and you get the\Nsource code from a revision control Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,system that you can now track and you\Ncan just propose changes on. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can also extract the tarball from that\Nrevision control system. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,'debcheckout' actually works even if you\Ndo not have upstream stuff in there, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but I like to keep it all in one revision\Ncontrol system, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it is just easier to find everything when\Nyou want. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Some of these things that I prefer have\Nto do with what the upstream software Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,developer has done, so I am less inclined\Nto try the package an upstream software Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,project if they just throw tarballs here\Nover the wall to an FTP side Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,every now and then. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It makes it more difficult for me to know\Nwhat they are doing, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and why they are doing it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So i like it, I have already said, when\Nupstream uses Git, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I also like when upstream signs their\Nreleases, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and say "hey, this is specific release", Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Because that is a signal that I can use,\Nor somebody else that understands the Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,project: as said "we think that this\Nsomething that other people can use", Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or "this is a particular version we would\Nlike other people to test". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,There are a lot of other situations where\Nmaybe it is not so important. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And having that be cryptographically\Nsigned is really useful. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I care about cryptographic signature on\Nsoftware because I want to know that Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,what I am running is related to the code\Nthat somebody else out should be run. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And if you don't verify your software\Ncryptographically, anyone could Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,intercept the network connection\Nbetween you and that software, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and modify the software before it gets\Nto you. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And the cryptographic signature just says: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"look, this is a version that I am OK\Nwith. I am putting it out there and Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it comes from me". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And so I can have a trace back to that\Npoint. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,??? just talk about briefly about how you\Ndo cryptographic verification of upstream. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You might know upstream: you might know\Nthem personally, you know their key Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,already, that is fine. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,That is not the usual case: we work on\Nthe Internet. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,In the situation where your upstream is\Nsigning their tarballs Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and you have not met them, you do not\Nhave to sign their key, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you do not have to say "I announce this\Nis their key". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This is probably the same one that is\Nsigning every release, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so you should keep track of that. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Debian has a nice way to keep track of\Nthat: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you can tell Debian how to find the new\Nversion of the upstream tarball. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This is in the Debian 'watch' file. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If you type 'man uscan', you can learn\Nmore about Debian 'watch', Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and Debian 'watch' has now a feature that\Nlets you say Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"that is not only this way you find the\Ntarball, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but upstream publishes signatures\Nand the signatures look like this". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You know, they got a '.sig' at the end. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So there is a particular arcane way to\Nspecify that, but if you specify that, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,then 'uscan' can find not only the\Nupstream tarball but can find the Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,upstream signature and, if you drop\Nupstream's signing key - Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,which of course I did not put on the wiki\Npage, someone should add it that and Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,fix it - you can put the upstream signing\Nkey in 'debian/upstream/signing-key.asc'. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then if you do that, when you say\N'uscan', you can tell… Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Maybe some people here do notk\Nnow how to use 'uscan'. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,'uscan' is a very simple tool,\Nyou run it from a software package that Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,has a 'debian' directory, or even one\Nlevel up if you keep all of your software Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,packages in one folder. You can go one\Nlevel up and say 'uscan', and it will look Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,in all of the folder that are children\Nof it, and look for new version by Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,trying to find for new upstreams versions\Nin 'debian/watch'. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And if you have configured 'debian/watch'\Nproperly, it can find the new upstream Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,signatures, and if you have got the\N'upstream/signing-key.asc', then Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it will actually verify the signature for\Nyou as part of fetching the new Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,upstream tarball. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So you can get all of those things just\Nby setting ???? that way. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,There is a hand up down there, could we\Nget the mic down to the hand ?\N Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Or to the person who has that hand, it is\Nnot just a hand. [public laugh] Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[someone] Publish a tarball and a hash, '.sha1',\Nand sign that hash, '.sha1.asc'. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Can 'uscan' cope with this and check the\Nsignature on the hash and that the hash Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,belongs to that tarball ? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[Daniel] I do not believe that 'uscan' can\Ndo that currently. So anybody out there Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,who wants to make things better for the\Nworld should go hack on 'uscan': Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,that is a pretty straightforward thing\Nthat we should fix because I agree Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,that is common pattern. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[someone] I have no answer to this\Nquestion by I have another question: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,how do you convince upstreams who do\Nnot release tarballs or who do Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,not set tags in Git ? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[Daniel] Who do not make tags in Git ? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[someone] Yes, if there is no tags you\Ncan not check out a tarball. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Is there any good way to convince\Nupstream to do this ? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[Daniel] Git has this nice feature, which\Nis that you can create a tag, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,which is associate with a particular\Nrevision, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and you would like to have a tag\Neverywhere that a tarball has been Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,released from. I am tempted to pull up\Na Git view and show people some tags. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,The question that you ask is a social\None, not just a technical one, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and I actually find that my upstreams\Nare pretty responsive. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Usually I frame my request as "hey, it\Nlooks like you made this tarball from Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,this particular commit 'id'. If you could\Ntag you releases, it would be really Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,helpful to me, and here is the command\Nthat I would use to tag the release". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And I say "git tag…" and of course I\Ncan never remember so first I look it up, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but it is either 'tag name' 'commit id' or\N'commit id' 'tag name'. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,But I would look it up and I would write\Nthe e-mail so that all they have to do is Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,they read it, understand my argument,\Nand execute one command. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then it starts them ?????? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And if you say 'tag -s' then your tag will\Nbe cryptographically signed, which Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I think is a really good thing to do too. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So, cryptographic verification of\Nupstream. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,As I said, I want to keep upstream's code\Nin the revision control system. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I also like to keep… Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,In my ideal case upstream is using Git:\NI am using Git for packaging. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I actually like to keep upsteam's Git\Nhistory fully in my repository, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so that I do not just have the tarballs,\Nbut I actually have all of their commits. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And that turns out to be really useful\Nfor two specific cases: Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,In one case, there is a common scenario\Nwhere upstream will fix a bug, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but they have not made a release yet. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And that bug is really, really obviously\Nproblematic for the folks who are Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,using Debian, so want to fix it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,All I can do, because I have their full\Nrevision history, I can use Git to "cherry Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,pick" the upstream commit. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then I "cherry pick" that upstream\Ncommit and I can have it applied Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,separately and release an Debian version\Nthat has the fix, even before upstream Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,has made a release with the fix. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So one nice thing about having upstream\Nrevision is that I can pull fixes from Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,upstream before they decided\Nto release it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,The other advantage is the other\Nway around. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Often when I am doing packaging,\NI discover a problem, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and maybe I can fix the problem. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And if that maybe I am already shipping\Na Debian package that fixes the problem. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If my Debian fixes can be directly applied\Nto upstream, then I can use whatever Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,they