/srv/irclogs.ubuntu.com/2007/06/06/#ubuntu-classroom.txt

=== 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
etankclass is in session :)03:15
crimsunok, the first thing I did was rename wine-doors-0.1pre1.tar.gz to wine-doors_0.1~pre1.orig.tar.gz03:15
crimsunI then extracted it (tar xf)03:16
etankok03:16
crimsunI then removed the existing debian symlink and recreated dist/debian as debian-upstream03:16
crimsunI then created a new debian subdir and cp'd everything in debian-upstream into debian03:17
etankyou recreated the symlink as debian-upstream?03:17
crimsunyes, you also could have used mv03:17
crimsuncompletely your prerogative.  I intend to leave a pointer to the existing upstream structure as closely as possible.03:18
crimsunAt this point you should decide what packaging scheme you wish to use.03:18
crimsunThe existing debian-upstream approach is fairly straightforward debhelper.03:19
etankwhatever is easy to use / learn and works03:19
crimsunWell, I can't make that call for you. :)03:19
etankin this case what would you recommend using?03:19
crimsunwell, I'd use cdbs.03:19
crimsunAs the maintainer, you have to weigh some choices.03:20
crimsunUsing cdbs introduces an additional build-dependency but simplifies your debian/rules03:20
etankat this point i am still learning so cdbs is fine with me03:20
crimsunok, make sure you have a Web browser window/tab open to https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml03:21
etankok03:21
etanki was looking at that and the docs that were installed with cdbs on my system03:22
crimsunwe can start with something straightforward.  Let's fix debian/changelog03:22
crimsune.g., http://pastebin.ca/54326603:23
crimsun(I've not changed the date -R yet, but you can do that)03:23
etankwould you use 'dch -i' for this ?03:24
crimsunI don't recommend it, since you only need one entry.03:24
crimsunI would just recreate debian/changelog03:24
crimsunYou can accomplish that with your favorite $EDITOR03:25
etankrecreate or just add to the top of the existing one?03:27
crimsunthe former03:27
crimsunit doesn't make sense to retain the existing debian/changelog entries03:27
etanki would have thought that the creators changes would need to be included03:28
etankdone03:28
crimsunno, they only need to be retained _inside the distro_03:29
crimsunsince you're working on the initial packaging for the Ubuntu distro, your changelog entry is the first.03:29
etanki see03:29
crimsunFurthermore, the original changelog is preserved in debian-upstream/changelog if anyone truly wishes to inspect the pedigree03:30
etankmakes sense03:30
crimsunafter you've modified debian/changelog, it's time to make a note regarding the symlink change.03:33
crimsuncat >README.Debian-Source\03:33
crimsunerr03:33
crimsuncat >README.Debian-Source03:33
crimsunThe debian/ shipped in upstream has been recreated as a symlink03:33
crimsun(debian-upstream -> dist/debian).03:33
crimsun^D03:33
crimsun(this is inside debian/, BTW)03:34
etankso i add that to the README ?03:34
crimsunusing the precise syntax I've given you03:34
crimsunREADME.Debian-Source is the filename03:34
etankdone03:35
crimsunok, the next file to modify is debian/control03:36
crimsunyou'll need to add cdbs as a build-dependency03:36
etankis that as @cdbs@ ?03:37
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom
crimsunno, just cdbs.03:37
crimsunyou'll also need to bump the minimum required version of debhelper to >= 503:37
etankshould the standards version be changed?03:37
etankor does that matter?03:38
=== leonel [n=leonel@189.155.129.205] has joined #ubuntu-classroom
crimsunI would bump it to 3.7.2; we'll ensure later that it adheres to Policy 3.7.2.03:38
etankmaintainer stays as the upstream person right03:39
crimsunnext up is to change the Maintainer field according to https://wiki.ubuntu.com/DebianMaintainerField03:39
crimsunafter that, I'd change the Description03:40
crimsune.g., http://pastebin.ca/54330003:41
crimsunthen:03:42
crimsuncat >compat03:42
crimsun503:42
crimsun^D03:42
crimsun(that's for debhelper compat)03:42
etanki need to add a XSBC-Original-Maintainer right?03:42
crimsunno, because there's no Debian maintainer yet03:43
crimsunthus, the only Maintainer is MOTU.03:43
etankchanges made03:44
crimsunok, so let's review.03:44
crimsunso far we've modified/created changelog, compat, control, and README.Debian-Source03:44
etankright03:45
crimsunok, next up is debian/menu03:45
crimsunit needs to be reformatted: e.g., http://pastebin.ca/54330803:46
etankcompat went in debian too right?03:46
crimsuncorrect.03:46
etankok03:47
etankso all that was done in menu was moving each element to a seperate line?03:47
etankis that just to make it easier to read later03:48
crimsunformatting is important, and yes.03:48
crimsunthose are tabs, BTW.03:48
etankmy vim converts a tab to 4 spaces. will that work OK?03:48
crimsunI'd use a tab.03:49
etankdone03:50
crimsunok, next up is debian/copyright03:51
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom
crimsune.g., http://pastebin.ca/54331503:52
crimsunnote that that debian/copyright is incomplete03:53
crimsunyou need to further modify it so it mentions Debian's/Ubuntu's inclusion of common licenses on the user's filesystem.03:53
crimsunnote the additions of lines 35-39 at http://pastebin.ca/54332103:55
etankok03:56
crimsunok, now off to debian/rules03:58
etankthis is one of the files that i just do not understand03:59
etankup until now i have understood most everything that we have done03:59
crimsundebian/rules is really the "heart" of Debian/Ubuntu packaging03:59
etankand it would be the "one" (really more than that) thing that i dont get04:00
etankcdbs is supposed to make it easier thought right04:01
crimsunit does04:01
etankis it like calling templates of rules?04:01
crimsunnow, make sure you've got a Web browser window/tab open to https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml#id252867404:01
crimsunwe'll be following the New Python policy.04:01
crimsun(sorry, phone call)04:02
etankno problem at all04:02
crimsun(ok, back)04:05
crimsunessentially there are two Python approaches, python-support and python-central04:06
crimsunthe nice thing is that you don't have to know a thing about either; you just have to pick one04:06
etankcool04:06
crimsunso, pick one :)04:07
etankit was heads so python-support04:07
crimsunok, so you'll need a DEB_PYTHON_SYSTEM = pysupport  line04:08
=== _neversfelde [n=neversfe@nrbg-4db44651.pool.einsundeins.de] has joined #ubuntu-classroom
etankwhere does it go04:09
crimsunbefore you include include /usr/share/cdbs/1/class/python-distutils.mk04:09
crimsunwithout the redundant include, of course04:09
crimsun(the New Python policy section in the CDBS documentation, which you're hopefully following alongside, documents that)04:10
etankso should i be starting with a clean rules file?04:11
etanki was trying to figure out where these lines go in the current one04:11
crimsunI'd delete everything except for the "python setup.py install -S --prefix=/ --temp=$(CURDIR)/debian/wine-doors/" line in the existing install: target04:11
etankdoes this look right?04:16
etankhttp://pastebin.ca/54338904:16
etankexcept i have #!/usr/bin/make -f on the first line04:16
etankhttp://pastebin.ca/54339504:18
crimsunsec, Internet connection is not cooperating04:20
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom
crimsunok04:37
crimsunsorry about that04:37
crimsunnow04:37
etanknp04:37
crimsunit turns out that you don't even need the Python policy04:37
crimsunit's actually much simpler04:38
etanksimpler == better04:38
crimsunupstream's setup.py, however, is crackful04:39
crimsunthey really ought to use distutils04:39
crimsuncf. http://pastebin.ca/54344904:41
crimsunnote that you need to make corresponding changes to debian/control04:41
crimsuncf. http://pastebin.ca/54345404:42
crimsunnote that you can erase debian/{config,*.template*} as both are unused04:43
etankno deb-conf?04:43
crimsuncorrect, see above.04:43
crimsunnow, the last step for debian/control will be to roll in the dependencies.04:44
crimsunyou'll need to add these from http://www.wine-doors.org/wordpress/?page_id=304:44
etankall of them?04:46
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom
crimsunwell, some of them imply others04:46
etankright. wine calls cabextract04:46
crimsunno, not in that sense04:47
crimsunmeaning, 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
crimsunpython-glade2 also covers libcairo2 and python2.4-cairo04:48
etankso would this be correct?04:49
etankDepends: wine, python, python-glade2, python-libxml204:49
crimsunnope04:50
crimsunDepends: wine, python-gnome2-desktop, python-libxml2, python-glade204:50
crimsunnow, at the expense of doing _all_ the packaging for you :), I'm going to just point out some remaining issues.04:51
crimsunmost importantly, the man page needs fixing04:51
crimsunalso very important is the fact that you need to reroll the original tarball with the debian-upstream symlink in place but _without_ the debian dir04:52
crimsunafter you do that, you'll need to modify the version and the original tarball's filename to reflect this04:52
crimsunI've posted the rerolled tarball as http://adhd.irule.net/~crimsun/wine-doors_0.1~pre1.repacked.orig.tar.gz04:53
crimsunand the version that should be used in debian/changelog is 0.1~pre1.repacked-0ubuntu104:53
etankim still up on the man page part04:54
etankwhat would need to be fixed there?04:54
crimsunthe sections and the headers04:54
crimsunthere are lots of walkthroughs to help you with that, so I'm not going to cover that here04:55
crimsunfinally, 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
etanki thought that if it was a common license then it could just be mentioned where it is on the system04:56
crimsunno04:57
crimsunthe 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
crimsunif you do not ship a full copy of the GPL, the archive admins will reject the source package.04:57
etanki 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
crimsunthat should be in debian/copyright, yes.04:59
crimsunhowever, 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
crimsundo you have any additional questions thus far?05:01
etanki am so lost at this point i dont even know where to begin05:01
crimsunok, where are you lost?05:01
crimsunhave you understood the changes to [rerolled]  debian/ *05:02
crimsundebian/* , rather05:02
crimsun1) changed changelog -> only 1 entry necessary05:02
crimsun2) created compat (contents "5")05:02
crimsun3) created README.Debian-Source (mentioned new symlink)05:03
crimsun4) changed control05:03
crimsun5) changed menu05:03
crimsun6) changed rules05:03
crimsun7) removed unnecessary files (*.template*, config)05:03
crimsunwhich of those seven changes is unclear at this point?05:04
etanki dont know what 2 was for05:04
etanki still dont get rules05:04
crimsunok.  (2) is used because you have a versioned build-dependency in debian/control on debhelper (>= 5)05:05
etankwhy would a the symlink stuff go in README.Debian-Source and not in the changelog05:05
etankand i dont even remember what was changed in control05:05
crimsunyou'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 debhelper05:06
crimsunthe symlink is mentioned in README.Debian-Source because you have to reroll (and thus rename) the original upstream tarball05:07
etankwhat is the process of doing that05:07
crimsunto what does "that" refer?05:07
etanki can create a tarball but what needs to be changed in the rerolling?05:07
crimsunok, here, I'll walk you through that part05:08
crimsuncreate a scratch dir and CWD into it05:08
crimsunthen, extract the _original_ upstream tarball05:08
crimsunthen CWD into the root of the extracted source05:09
etank<dumb question> by CWD into it you mean just 'cd scatch'05:09
crimsunyes05:09
crimsunCWD == change working directory05:09
crimsunnow note how the extracted original upstream tarball has debian -> dist/debian//05:09
etankyup05:10
crimsunwe want that to actually be debian-upstream -> dist/debian/05:10
crimsunso, we'll do this:  mv debian debian-upstream05:11
etankok05:11
crimsunnext, we need to reroll this current version as the "repacked" tarball.05:11
etankso that was it05:12
crimsunso, we'll back out one directory (cd ..) and use tar+gzip to reroll the "original" [which is now the "repacked"]  tarball05:12
etankmoving the symlink to match what was done05:12
etanktar zcvf wine-doors_0.1~pre1.repacked.orig.tar.gz wine-doors-0.1pre1 ?05:13
crimsuntar 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.tar05:13
crimsunsorry05:13
crimsunwrong order05:13
crimsuntar cf wine-doors_0.1~pre1.repacked.orig.tar wine-doors-0.1pre1/05:14
crimsungzip -9 wine-doors_0.1~pre1.repacked.orig.tar05:14
crimsunthen when you extract it, you'll create debian/ in that repacked version and go through those 7 changes listed above05:15
crimsunthis is good practice, since you should reroll that tarball with the full version of the GPL included as COPYING05:15
crimsunis that a bit clearer?05:16
etanksomewhat05:16
crimsunok.05:16
etankwould the tar command that i typed have done the same thing?05:16
crimsunsure05:16
etankjust checking05:16
etankone last question05: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
etankonce all of the stuff is done what command is used to create the deb05:18
crimsundebuild -S -sa -uc -us05:18
etanki used debuild -S before and then sudo pbuilder ../*.dsc05:18
crimsunor, if you have a GPG key already posted, debuild -S -sa -k0xfoo05:18
crimsunand then, yes, pass the dsc to pbuilder build05:19
etankok05:20
etanki still have lots of questions but i will have to ask them later05:21
crimsunthese steps will get you started with a wine-doors source package05:21
etanki dont think my brain can handle much more05:21
crimsunthat's ok, I covered a lot more than just converting to CDBS05:21
etankthank you for all your help05:21
crimsunnp, anytime.05:21
etankthe only place that i even saw cdbs come into play was in control and rules05:22
crimsuncorrect05:22
etankbut i guess that it gets called by debuild05:22
crimsunwell, what ultimately builds the package is dpkg-buildpackage(1)05:22
etanki think that i am starting to understand the mechanics of it all05:22
etankjust not how the files need to be laid out for it all to work05:23
etankthat and the policies05:23
crimsunCDBS is just a system of redefined Makefile rules to make your life a bit easier05:23
etanklike sending the full GPL with it05:23
=== macconline [n=macconli@190.37.62.104] has joined #ubuntu-classroom
crimsunyes, there are lots of policies - too many to cover in just a few hours05:23
crimsunit'll take a good few months to become exposed to the myriad policies at work05:24
etankother than playing like this, what else can i do to learn more about MOTU(ing)05:24
crimsuna good place to supplement packaging is the Debian New Maintainer's Guide05:24
etanki've read that05:24
=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-classroom
etankthen i read the ubuntu packagingguide05:25
crimsunthe Contributing wiki page linked in the topic of #ubuntu-motu is helpful (hopefully)05:25
etanki will look at that again tomorrow05:27
etankthanks again for the help05:27
etankgood night05: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!