[03:15] <etank> class is in session :)
[03:15] <crimsun> ok, the first thing I did was rename wine-doors-0.1pre1.tar.gz to wine-doors_0.1~pre1.orig.tar.gz
[03:16] <crimsun> I then extracted it (tar xf)
[03:16] <etank> ok
[03:16] <crimsun> I then removed the existing debian symlink and recreated dist/debian as debian-upstream
[03:17] <crimsun> I then created a new debian subdir and cp'd everything in debian-upstream into debian
[03:17] <etank> you recreated the symlink as debian-upstream?
[03:17] <crimsun> yes, you also could have used mv
[03:18] <crimsun> completely your prerogative.  I intend to leave a pointer to the existing upstream structure as closely as possible.
[03:18] <crimsun> At this point you should decide what packaging scheme you wish to use.
[03:19] <crimsun> The existing debian-upstream approach is fairly straightforward debhelper.
[03:19] <etank> whatever is easy to use / learn and works
[03:19] <crimsun> Well, I can't make that call for you. :)
[03:19] <etank> in this case what would you recommend using?
[03:19] <crimsun> well, I'd use cdbs.
[03:20] <crimsun> As the maintainer, you have to weigh some choices.
[03:20] <crimsun> Using cdbs introduces an additional build-dependency but simplifies your debian/rules
[03:20] <etank> at this point i am still learning so cdbs is fine with me
[03:21] <crimsun> ok, make sure you have a Web browser window/tab open to https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml
[03:21] <etank> ok
[03:22] <etank> i was looking at that and the docs that were installed with cdbs on my system
[03:22] <crimsun> we can start with something straightforward.  Let's fix debian/changelog
[03:23] <crimsun> e.g., http://pastebin.ca/543266
[03:23] <crimsun> (I've not changed the date -R yet, but you can do that)
[03:24] <etank> would you use 'dch -i' for this ?
[03:24] <crimsun> I don't recommend it, since you only need one entry.
[03:24] <crimsun> I would just recreate debian/changelog
[03:25] <crimsun> You can accomplish that with your favorite $EDITOR
[03:27] <etank> recreate or just add to the top of the existing one?
[03:27] <crimsun> the former
[03:27] <crimsun> it doesn't make sense to retain the existing debian/changelog entries
[03:28] <etank> i would have thought that the creators changes would need to be included
[03:28] <etank> done
[03:29] <crimsun> no, they only need to be retained _inside the distro_
[03:29] <crimsun> since you're working on the initial packaging for the Ubuntu distro, your changelog entry is the first.
[03:29] <etank> i see
[03:30] <crimsun> Furthermore, the original changelog is preserved in debian-upstream/changelog if anyone truly wishes to inspect the pedigree
[03:30] <etank> makes sense
[03:33] <crimsun> after you've modified debian/changelog, it's time to make a note regarding the symlink change.
[03:33] <crimsun> cat >README.Debian-Source\
[03:33] <crimsun> err
[03:33] <crimsun> cat >README.Debian-Source
[03:33] <crimsun> The debian/ shipped in upstream has been recreated as a symlink
[03:33] <crimsun> (debian-upstream -> dist/debian).
[03:33] <crimsun> ^D
[03:34] <crimsun> (this is inside debian/, BTW)
[03:34] <etank> so i add that to the README ?
[03:34] <crimsun> using the precise syntax I've given you
[03:34] <crimsun> README.Debian-Source is the filename
[03:35] <etank> done
[03:36] <crimsun> ok, the next file to modify is debian/control
[03:36] <crimsun> you'll need to add cdbs as a build-dependency
[03:37] <etank> is that as @cdbs@ ?
[03:37] <crimsun> no, just cdbs.
[03:37] <crimsun> you'll also need to bump the minimum required version of debhelper to >= 5
[03:37] <etank> should the standards version be changed?
[03:38] <etank> or does that matter?
[03:38] <crimsun> I would bump it to 3.7.2; we'll ensure later that it adheres to Policy 3.7.2.
[03:39] <etank> maintainer stays as the upstream person right
[03:39] <crimsun> next up is to change the Maintainer field according to https://wiki.ubuntu.com/DebianMaintainerField
[03:40] <crimsun> after that, I'd change the Description
[03:41] <crimsun> e.g., http://pastebin.ca/543300
[03:42] <crimsun> then:
[03:42] <crimsun> cat >compat
[03:42] <crimsun> 5
[03:42] <crimsun> ^D
[03:42] <crimsun> (that's for debhelper compat)
[03:42] <etank> i need to add a XSBC-Original-Maintainer right?
[03:43] <crimsun> no, because there's no Debian maintainer yet
[03:43] <crimsun> thus, the only Maintainer is MOTU.
[03:44] <etank> changes made
[03:44] <crimsun> ok, so let's review.
[03:44] <crimsun> so far we've modified/created changelog, compat, control, and README.Debian-Source
[03:45] <etank> right
[03:45] <crimsun> ok, next up is debian/menu
[03:46] <crimsun> it needs to be reformatted: e.g., http://pastebin.ca/543308
[03:46] <etank> compat went in debian too right?
[03:46] <crimsun> correct.
[03:47] <etank> ok
[03:47] <etank> so all that was done in menu was moving each element to a seperate line?
[03:48] <etank> is that just to make it easier to read later
[03:48] <crimsun> formatting is important, and yes.
[03:48] <crimsun> those are tabs, BTW.
[03:48] <etank> my vim converts a tab to 4 spaces. will that work OK?
[03:49] <crimsun> I'd use a tab.
[03:50] <etank> done
[03:51] <crimsun> ok, next up is debian/copyright
[03:52] <crimsun> e.g., http://pastebin.ca/543315
[03:53] <crimsun> note that that debian/copyright is incomplete
[03:53] <crimsun> you need to further modify it so it mentions Debian's/Ubuntu's inclusion of common licenses on the user's filesystem.
[03:55] <crimsun> note the additions of lines 35-39 at http://pastebin.ca/543321
[03:56] <etank> ok
[03:58] <crimsun> ok, now off to debian/rules
[03:59] <etank> this is one of the files that i just do not understand
[03:59] <etank> up until now i have understood most everything that we have done
[03:59] <crimsun> debian/rules is really the "heart" of Debian/Ubuntu packaging
[04:00] <etank> and it would be the "one" (really more than that) thing that i dont get
[04:01] <etank> cdbs is supposed to make it easier thought right
[04:01] <crimsun> it does
[04:01] <etank> is it like calling templates of rules?
[04:01] <crimsun> now, make sure you've got a Web browser window/tab open to https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml#id2528674
[04:01] <crimsun> we'll be following the New Python policy.
[04:02] <crimsun> (sorry, phone call)
[04:02] <etank> no problem at all
[04:05] <crimsun> (ok, back)
[04:06] <crimsun> essentially there are two Python approaches, python-support and python-central
[04:06] <crimsun> the nice thing is that you don't have to know a thing about either; you just have to pick one
[04:06] <etank> cool
[04:07] <crimsun> so, pick one :)
[04:07] <etank> it was heads so python-support
[04:08] <crimsun> ok, so you'll need a DEB_PYTHON_SYSTEM = pysupport  line
[04:09] <etank> where does it go
[04:09] <crimsun> before you include include /usr/share/cdbs/1/class/python-distutils.mk
[04:09] <crimsun> without the redundant include, of course
[04:10] <crimsun> (the New Python policy section in the CDBS documentation, which you're hopefully following alongside, documents that)
[04:11] <etank> so should i be starting with a clean rules file?
[04:11] <etank> i was trying to figure out where these lines go in the current one
[04:11] <crimsun> I'd delete everything except for the "python setup.py install -S --prefix=/ --temp=$(CURDIR)/debian/wine-doors/" line in the existing install: target
[04:16] <etank> does this look right?
[04:16] <etank> http://pastebin.ca/543389
[04:16] <etank> except i have #!/usr/bin/make -f on the first line
[04:18] <etank> http://pastebin.ca/543395
[04:20] <crimsun> sec, Internet connection is not cooperating
[04:37] <crimsun> ok
[04:37] <crimsun> sorry about that
[04:37] <crimsun> now
[04:37] <etank> np
[04:37] <crimsun> it turns out that you don't even need the Python policy
[04:38] <crimsun> it's actually much simpler
[04:38] <etank> simpler == better
[04:39] <crimsun> upstream's setup.py, however, is crackful
[04:39] <crimsun> they really ought to use distutils
[04:41] <crimsun> cf. http://pastebin.ca/543449
[04:41] <crimsun> note that you need to make corresponding changes to debian/control
[04:42] <crimsun> cf. http://pastebin.ca/543454
[04:43] <crimsun> note that you can erase debian/{config,*.template*} as both are unused
[04:43] <etank> no deb-conf?
[04:43] <crimsun> correct, see above.
[04:44] <crimsun> now, the last step for debian/control will be to roll in the dependencies.
[04:44] <crimsun> you'll need to add these from http://www.wine-doors.org/wordpress/?page_id=3
[04:46] <etank> all of them?
[04:46] <crimsun> well, some of them imply others
[04:46] <etank> right. wine calls cabextract
[04:47] <crimsun> no, not in that sense
[04:47] <crimsun> meaning, e.g., adding python-glade2 as a Depends to Package: wine-doors implies a dependency on python, so you don't list python as a dependency.
[04:48] <crimsun> python-glade2 also covers libcairo2 and python2.4-cairo
[04:49] <etank> so would this be correct?
[04:49] <etank> Depends: wine, python, python-glade2, python-libxml2
[04:50] <crimsun> nope
[04:50] <crimsun> Depends: wine, python-gnome2-desktop, python-libxml2, python-glade2
[04:51] <crimsun> now, at the expense of doing _all_ the packaging for you :), I'm going to just point out some remaining issues.
[04:51] <crimsun> most importantly, the man page needs fixing
[04:52] <crimsun> also very important is the fact that you need to reroll the original tarball with the debian-upstream symlink in place but _without_ the debian dir
[04:52] <crimsun> after you do that, you'll need to modify the version and the original tarball's filename to reflect this
[04:53] <crimsun> I've posted the rerolled tarball as http://adhd.irule.net/~crimsun/wine-doors_0.1~pre1.repacked.orig.tar.gz
[04:53] <crimsun> and the version that should be used in debian/changelog is 0.1~pre1.repacked-0ubuntu1
[04:54] <etank> im still up on the man page part
[04:54] <etank> what would need to be fixed there?
[04:54] <crimsun> the sections and the headers
[04:55] <crimsun> there are lots of walkthroughs to help you with that, so I'm not going to cover that here
[04:56] <crimsun> finally, the Debianized source package needs a full copy of the GPL.  Upstream's LICENSE file is insufficient; a complete copy of the GPL needs to ship with it.
[04:56] <etank> i thought that if it was a common license then it could just be mentioned where it is on the system
[04:57] <crimsun> no
[04:57] <crimsun> the license explicitly states that the user should have received a full copy of the GPL with the source code.
[04:57] <crimsun> "You should have received a copy of the GNU General Public License along with this program"
[04:57] <crimsun> if you do not ship a full copy of the GPL, the archive admins will reject the source package.
[04:59] <etank> i was going from http://www.debian.org/doc/maint-guide/ch-dreq.en.html#s-copyright  "License can be found in the file `/usr/share/common-licenses/GPL-2'."
[04:59] <crimsun> that should be in debian/copyright, yes.
[05:00] <crimsun> however, it is still required that the source package ship with a full copy of the GPL as per the terms of the license itself.
[05:01] <crimsun> do you have any additional questions thus far?
[05:01] <etank> i am so lost at this point i dont even know where to begin
[05:01] <crimsun> ok, where are you lost?
[05:02] <crimsun> have you understood the changes to [rerolled]  debian/ *
[05:02] <crimsun> debian/* , rather
[05:02] <crimsun> 1) changed changelog -> only 1 entry necessary
[05:02] <crimsun> 2) created compat (contents "5")
[05:03] <crimsun> 3) created README.Debian-Source (mentioned new symlink)
[05:03] <crimsun> 4) changed control
[05:03] <crimsun> 5) changed menu
[05:03] <crimsun> 6) changed rules
[05:03] <crimsun> 7) removed unnecessary files (*.template*, config)
[05:04] <crimsun> which of those seven changes is unclear at this point?
[05:04] <etank> i dont know what 2 was for
[05:04] <etank> i still dont get rules
[05:05] <crimsun> ok.  (2) is used because you have a versioned build-dependency in debian/control on debhelper (>= 5)
[05:05] <etank> why would a the symlink stuff go in README.Debian-Source and not in the changelog
[05:05] <etank> and i dont even remember what was changed in control
[05:06] <crimsun> you've simplified debian/rules (6) to use cdbs [along with debhelper, but cdbs will handle that for you because you've included the debhelper file]  and not just debhelper
[05:07] <crimsun> the symlink is mentioned in README.Debian-Source because you have to reroll (and thus rename) the original upstream tarball
[05:07] <etank> what is the process of doing that
[05:07] <crimsun> to what does "that" refer?
[05:07] <etank> i can create a tarball but what needs to be changed in the rerolling?
[05:08] <crimsun> ok, here, I'll walk you through that part
[05:08] <crimsun> create a scratch dir and CWD into it
[05:08] <crimsun> then, extract the _original_ upstream tarball
[05:09] <crimsun> then CWD into the root of the extracted source
[05:09] <etank> <dumb question> by CWD into it you mean just 'cd scatch'
[05:09] <crimsun> yes
[05:09] <crimsun> CWD == change working directory
[05:09] <crimsun> now note how the extracted original upstream tarball has debian -> dist/debian//
[05:10] <etank> yup
[05:10] <crimsun> we want that to actually be debian-upstream -> dist/debian/
[05:11] <crimsun> so, we'll do this:  mv debian debian-upstream
[05:11] <etank> ok
[05:11] <crimsun> next, we need to reroll this current version as the "repacked" tarball.
[05:12] <etank> so that was it
[05:12] <crimsun> so, we'll back out one directory (cd ..) and use tar+gzip to reroll the "original" [which is now the "repacked"]  tarball
[05:12] <etank> moving the symlink to match what was done
[05:13] <etank> tar zcvf wine-doors_0.1~pre1.repacked.orig.tar.gz wine-doors-0.1pre1 ?
[05:13] <crimsun> tar cf wine-doors_0.1~pre1.orig.repacked.tar wine-doors-0.1pre1/
[05:13] <crimsun> && gzip -9 wine-doors_0.1~pre1.orig.repacked.tar
[05:13] <crimsun> sorry
[05:13] <crimsun> wrong order
[05:14] <crimsun> tar cf wine-doors_0.1~pre1.repacked.orig.tar wine-doors-0.1pre1/
[05:14] <crimsun> gzip -9 wine-doors_0.1~pre1.repacked.orig.tar
[05:15] <crimsun> then when you extract it, you'll create debian/ in that repacked version and go through those 7 changes listed above
[05:15] <crimsun> this is good practice, since you should reroll that tarball with the full version of the GPL included as COPYING
[05:16] <crimsun> is that a bit clearer?
[05:16] <etank> somewhat
[05:16] <crimsun> ok.
[05:16] <etank> would the tar command that i typed have done the same thing?
[05:16] <crimsun> sure
[05:16] <etank> just checking
[05:17] <etank> one last question
[05:17] <crimsun> (although I always use tar & gzip -9 as separate steps due to some systems locally using a different compression level by default)
[05:18] <etank> once all of the stuff is done what command is used to create the deb
[05:18] <crimsun> debuild -S -sa -uc -us
[05:18] <etank> i used debuild -S before and then sudo pbuilder ../*.dsc
[05:18] <crimsun> or, if you have a GPG key already posted, debuild -S -sa -k0xfoo
[05:19] <crimsun> and then, yes, pass the dsc to pbuilder build
[05:20] <etank> ok
[05:21] <etank> i still have lots of questions but i will have to ask them later
[05:21] <crimsun> these steps will get you started with a wine-doors source package
[05:21] <etank> i dont think my brain can handle much more
[05:21] <crimsun> that's ok, I covered a lot more than just converting to CDBS
[05:21] <etank> thank you for all your help
[05:21] <crimsun> np, anytime.
[05:22] <etank> the only place that i even saw cdbs come into play was in control and rules
[05:22] <crimsun> correct
[05:22] <etank> but i guess that it gets called by debuild
[05:22] <crimsun> well, what ultimately builds the package is dpkg-buildpackage(1)
[05:22] <etank> i think that i am starting to understand the mechanics of it all
[05:23] <etank> just not how the files need to be laid out for it all to work
[05:23] <etank> that and the policies
[05:23] <crimsun> CDBS is just a system of redefined Makefile rules to make your life a bit easier
[05:23] <etank> like sending the full GPL with it
[05:23] <crimsun> yes, there are lots of policies - too many to cover in just a few hours
[05:24] <crimsun> it'll take a good few months to become exposed to the myriad policies at work
[05:24] <etank> other than playing like this, what else can i do to learn more about MOTU(ing)
[05:24] <crimsun> a good place to supplement packaging is the Debian New Maintainer's Guide
[05:24] <etank> i've read that
[05:25] <etank> then i read the ubuntu packagingguide
[05:25] <crimsun> the Contributing wiki page linked in the topic of #ubuntu-motu is helpful (hopefully)
[05:27] <etank> i will look at that again tomorrow
[05:27] <etank> thanks again for the help
[05:27] <etank> good night