=== xeruno [n=xeruno@cable201-233-49-165.epm.net.co] has joined #ubuntu-classroom | ||
=== merriam_ [n=merriam@85-211-245-180.dyn.gotadsl.co.uk] has joined #ubuntu-classroom | ||
=== n2diy_ [n=darryl@ppp-42d429bc.wlks.losch.net] has joined #ubuntu-classroom | ||
=== crimsun [n=crimsun@pdpc/supporter/silver/crimsun] has joined #ubuntu-classroom | ||
=== helfire [n=helfire@71-36-220-4.roch.qwest.net] has joined #ubuntu-classroom | ||
=== etank [n=etank@ubuntu/member/etank] has joined #ubuntu-classroom | ||
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:15 |
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:16 |
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:17 |
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:18 |
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:19 |
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:20 |
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:21 |
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:22 |
crimsun | e.g., http://pastebin.ca/543266 | 03:23 |
crimsun | (I've not changed the date -R yet, but you can do that) | 03:23 |
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:24 |
crimsun | You can accomplish that with your favorite $EDITOR | 03:25 |
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:27 |
etank | i would have thought that the creators changes would need to be included | 03:28 |
etank | done | 03:28 |
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:29 |
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:30 |
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:33 |
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:34 |
etank | done | 03:35 |
crimsun | ok, the next file to modify is debian/control | 03:36 |
crimsun | you'll need to add cdbs as a build-dependency | 03:36 |
etank | is that as @cdbs@ ? | 03:37 |
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom | ||
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:37 |
etank | or does that matter? | 03:38 |
=== leonel [n=leonel@189.155.129.205] has joined #ubuntu-classroom | ||
crimsun | I would bump it to 3.7.2; we'll ensure later that it adheres to Policy 3.7.2. | 03:38 |
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:39 |
crimsun | after that, I'd change the Description | 03:40 |
crimsun | e.g., http://pastebin.ca/543300 | 03:41 |
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:42 |
crimsun | no, because there's no Debian maintainer yet | 03:43 |
crimsun | thus, the only Maintainer is MOTU. | 03:43 |
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:44 |
etank | right | 03:45 |
crimsun | ok, next up is debian/menu | 03:45 |
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:46 |
etank | ok | 03:47 |
etank | so all that was done in menu was moving each element to a seperate line? | 03:47 |
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:48 |
crimsun | I'd use a tab. | 03:49 |
etank | done | 03:50 |
crimsun | ok, next up is debian/copyright | 03:51 |
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom | ||
crimsun | e.g., http://pastebin.ca/543315 | 03:52 |
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:53 |
crimsun | note the additions of lines 35-39 at http://pastebin.ca/543321 | 03:55 |
etank | ok | 03:56 |
crimsun | ok, now off to debian/rules | 03:58 |
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 | 03:59 |
etank | and it would be the "one" (really more than that) thing that i dont get | 04:00 |
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:01 |
crimsun | (sorry, phone call) | 04:02 |
etank | no problem at all | 04:02 |
crimsun | (ok, back) | 04:05 |
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:06 |
crimsun | so, pick one :) | 04:07 |
etank | it was heads so python-support | 04:07 |
crimsun | ok, so you'll need a DEB_PYTHON_SYSTEM = pysupport line | 04:08 |
=== _neversfelde [n=neversfe@nrbg-4db44651.pool.einsundeins.de] has joined #ubuntu-classroom | ||
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:09 |
crimsun | (the New Python policy section in the CDBS documentation, which you're hopefully following alongside, documents that) | 04:10 |
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:11 |
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:16 |
etank | http://pastebin.ca/543395 | 04:18 |
crimsun | sec, Internet connection is not cooperating | 04:20 |
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom | ||
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:37 |
crimsun | it's actually much simpler | 04:38 |
etank | simpler == better | 04:38 |
crimsun | upstream's setup.py, however, is crackful | 04:39 |
crimsun | they really ought to use distutils | 04:39 |
crimsun | cf. http://pastebin.ca/543449 | 04:41 |
crimsun | note that you need to make corresponding changes to debian/control | 04:41 |
crimsun | cf. http://pastebin.ca/543454 | 04:42 |
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:43 |
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:44 |
etank | all of them? | 04:46 |
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom | ||
crimsun | well, some of them imply others | 04:46 |
etank | right. wine calls cabextract | 04:46 |
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:47 |
crimsun | python-glade2 also covers libcairo2 and python2.4-cairo | 04:48 |
etank | so would this be correct? | 04:49 |
etank | Depends: wine, python, python-glade2, python-libxml2 | 04:49 |
crimsun | nope | 04:50 |
crimsun | Depends: wine, python-gnome2-desktop, python-libxml2, python-glade2 | 04:50 |
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:51 |
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:52 |
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:53 |
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:54 |
crimsun | there are lots of walkthroughs to help you with that, so I'm not going to cover that here | 04:55 |
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:56 |
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:57 |
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. | 04:59 |
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:00 |
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:01 |
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:02 |
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:03 |
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:04 |
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:05 |
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:06 |
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:07 |
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:08 |
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:09 |
etank | yup | 05:10 |
crimsun | we want that to actually be debian-upstream -> dist/debian/ | 05:10 |
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:11 |
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:12 |
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:13 |
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:14 |
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:15 |
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:16 |
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:17 |
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:18 |
crimsun | and then, yes, pass the dsc to pbuilder build | 05:19 |
etank | ok | 05:20 |
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:21 |
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:22 |
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 |
=== macconline [n=macconli@190.37.62.104] has joined #ubuntu-classroom | ||
crimsun | yes, there are lots of policies - too many to cover in just a few hours | 05:23 |
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:24 |
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom | ||
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:25 |
etank | i will look at that again tomorrow | 05:27 |
etank | thanks again for the help | 05:27 |
etank | good night | 05:27 |
=== crimsun [n=crimsun@pdpc/supporter/silver/crimsun] has left #ubuntu-classroom [] | ||
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom | ||
=== porthose [n=charliej@72.24.69.50] has joined #ubuntu-classroom | ||
=== DerXero [n=patrick@dslb-082-083-136-088.pools.arcor-ip.net] has joined #ubuntu-classroom | ||
=== blenderhead001 [n=blenderh@adsl-068-209-133-121.sip.jax.bellsouth.net] has joined #ubuntu-classroom | ||
=== porthose_ [n=charliej@72.24.69.50] has joined #ubuntu-classroom | ||
=== _neversfelde [n=neversfe@nrbg-4db44270.pool.einsundeins.de] has joined #ubuntu-classroom | ||
=== zween [n=zween@BADb6c7.bad.pppool.de] has joined #ubuntu-classroom | ||
=== nalioth [i=nalioth@freenode/staff/ubuntu.member.nalioth] has joined #ubuntu-classroom | ||
=== SWAT [n=SWAT@ubuntu/member/swat] has joined #ubuntu-classroom | ||
=== porthose_ [n=charliej@72.24.69.50] has joined #ubuntu-classroom | ||
=== allee [n=ach@dialin-212-144-128-032.pools.arcor-ip.net] has joined #ubuntu-classroom | ||
=== zween_ [n=zween@vpn-001.vpn.net.ed.ac.uk] has joined #ubuntu-classroom | ||
=== porthose_ [n=charliej@72.24.69.50] has joined #ubuntu-classroom | ||
=== blenderhead001 [n=blenderh@adsl-068-209-133-121.sip.jax.bellsouth.net] has joined #ubuntu-classroom | ||
=== hedix [i=usr16269@c1.edrana.lt] has joined #ubuntu-classroom | ||
=== SWAT [n=SWAT@ubuntu/member/swat] has joined #ubuntu-classroom | ||
=== hjmf [n=hjmf@138.Red-83-45-117.dynamicIP.rima-tde.net] has joined #ubuntu-classroom | ||
=== neversfelde_ [n=neversfe@nrbg-4db4455a.pool.einsundeins.de] has joined #ubuntu-classroom | ||
=== jrib [n=jrib@upstream/dev/jrib] has joined #ubuntu-classroom | ||
=== allee [n=ach@dialin-212-144-132-018.pools.arcor-ip.net] has joined #ubuntu-classroom | ||
=== hedix [i=usr16295@c1.edrana.lt] has joined #ubuntu-classroom | ||
=== stuart_ [n=stuart@135.27.233.220.exetel.com.au] has joined #ubuntu-classroom | ||
=== PriceChild [n=pricechi@ubuntu/member/pricechild] has joined #ubuntu-classroom | ||
=== neversfelde [n=neversfe@nrbg-4db4455a.pool.einsundeins.de] has joined #ubuntu-classroom | ||
=== neversfelde [n=neversfe@nrbg-4db44471.pool.einsundeins.de] has joined #ubuntu-classroom | ||
=== n2diy [n=darryl@ppp-42d428a1.wlks.losch.net] has joined #ubuntu-classroom | ||
=== Martinp23 [n=Martinp2@wikimedia/Martinp23] has joined #ubuntu-classroom | ||
=== yharrow [n=sysadmin@unaffiliated/yharrow] has joined #ubuntu-classroom | ||
=== sacater [n=sacater@colchester-lug/member/sacater] has joined #ubuntu-classroom | ||
=== xeruno [n=xeruno@cable201-233-49-165.epm.net.co] has joined #ubuntu-classroom | ||
=== elkbuntu [n=melissa@ubuntu/member/elkbuntu] has joined #ubuntu-classroom | ||
=== porthose [n=charliej@72.24.69.50] has joined #ubuntu-classroom | ||
=== yharrow_ [n=sysadmin@h-67-100-107-133.nycmny83.dynamic.covad.net] has joined #ubuntu-classroom | ||
=== yharrow [n=sysadmin@unaffiliated/yharrow] has joined #ubuntu-classroom | ||
=== blenderhead001 [n=blenderh@adsl-068-209-133-121.sip.jax.bellsouth.net] has joined #ubuntu-classroom | ||
=== Martinp23 [n=Martinp2@wikimedia/Martinp23] has joined #ubuntu-classroom | ||
=== zween_ [n=zween@BADb012.bad.pppool.de] has joined #ubuntu-classroom | ||
=== allee [n=ach@dialin-145-254-254-174.pools.arcor-ip.net] has joined #ubuntu-classroom |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!