/srv/irclogs.ubuntu.com/2010/03/19/#ubuntu-mobile.txt

=== NCommand1r is now known as NCommander
=== ogra_ is now known as ogra
xperiapersia: are you online ?14:22
persiaI am.  You wanted to talk about packaging?14:23
xperiayes exactly. do you have any time now or should we make it other day ?14:23
persiaI have some time.14:24
persiaFor me, the hardest part of packaging is documenting the authorship and licensing.14:24
persiaAnd I recommend doing that first.  It's less frustrating to get stuck there before you do anything else, then after you have a nearly working product.14:25
xperiaohh great. i am ready. i have built everything allready on my host so it need only packaging.14:25
xperiaokay then say me what do i need to have and execute14:25
persiaFor copyright, you'll want to go through *every* file in the source, and document the author, the copyright holder, and the license.14:25
persiaThese days, I tend to use http://dep.debian.net/deps/dep5/ as  a format for that document14:26
xperiapersia. ihave allready a LICENSE.GPL file inside the sources14:28
xperia The Qtopia Environment is Copyright (C) 2000-2001 Trolltech AS and14:28
xperia  other authors as specified in the file headers.14:28
xperia You may use, distribute and copy the Qtopia Environment under the terms14:28
xperia of GNU General Public License version 2, which is displayed below.14:28
xperia.....14:28
persiaUnderstood.  You need to redocument it, to demonstrate that you've done the review as part of the packaging.14:29
persiaIf everything is truly licensed properly, and all under the same license, this can be very quick and easy.14:29
xperiaokay then i will now install dep5 and start it14:30
persiaMost of the time I find a few files that aren't documented properly, and need to go chase the authors to make sure the right license headers may be added, etc.14:30
persiaNothing to install.  It's just a text file.14:30
xperiaexist some full example that i can modify only or do i need to read the whole site14:33
=== NCommand1r is now known as NCommander
persiaThere are some examples on that page.14:34
persiaBut only that page should be sufficient, including examples.14:34
xperiapersia: ahh okay i see it now at the end14:35
xperiapersia: i have it now. http://paste-bin.com/view/f851b18d14:43
persiaxperia: That was fast :)14:47
persiaxperia: I'd recommend just listing yourself for debian/* so that you don't need to add file headers to each file.14:48
persiaAlso, You list copyright 2000-2001 : did you maybe mean 2000-2010?14:48
xperiait has to go forward :-) used the first example14:48
persiaOK.  So, how does this build?14:49
xperiawell it build great.14:50
xperia./configure14:50
xperiamake14:50
xperiaworks great14:50
xperiawithout any problems14:50
xperiamaybe  need to specifiy some prefix-install folder now14:50
persiaUnpack your source.14:51
persiamake a directory debian/ in the source14:51
xperiaokay will do14:51
xperiaokay done14:52
persiacopy the file you created from the DEP5 guide to debian/copyright14:53
persiaCopy /usr/share/doc/debhelper/examples/rules.tiny to debian/rules14:53
persiaecho 7 > debian/compat14:53
persiadch --create to start a changelog: add the package name, ${version}-0ppa1 (we'll start with a ppa, and can go from there), target lucid, urgency low, changelog entry "Initial Packaging"14:54
xperiais debian/copyright the folder or the file i have now debian/copyright/copyright14:55
persiaNext create debian/control in a text editor: http://www.debian.org/doc/debian-policy/ch-controlfields.html documents the fields and relevant policies.14:55
persiadebian/copyright should be the text file.14:55
xperiapersia: what if i have allready a existing big ChangeLog file ? Do i need still to create a new one ?14:59
persiaYes.15:00
persiaBasically you want to separate the changelog for the packaging from the changelog for the software.15:00
persiadebian/changelog should only contain changes to how it's packaged.15:00
persia./ChangeLog contains the changes to trunk, etc.15:00
persiaWhen there's a new release of the software, just add "New upstream version" in debian/changelog.15:01
persiaBut most debian/changelog entries will end up being stuff like "Rebuild against new libfoo", "Adjusted udev rules to match new semantics", "Update to standards-version x.y.z", etc.15:02
persia(this is a luxury you will have because of your close relationship with upstream.  If the people writing the software and the people packaging the software are very different, more complex things may apepar in debian/changelog)15:02
xperiaokay. wotking on creating the change log. with dch --create15:04
xperiadoes this changelog file need to be moved later to the debian folder15:04
xperiabecouse i am outside of the debian folder all the time15:04
persiadch --create will automatically create it in the debian folder15:06
xperiaIs this here corect writen this way in my console ?15:09
xperiaPACKAGE opie, (VERSION)1.2.5-0ppa1 UNRELEASED; urgency=low target lucid15:09
xperia  * Initial Packaging. (Closes: #XXXXXX)15:09
xperia -- administrator <administrator@localhost>  Fri, 19 Mar 2010 16:05:48 +010015:09
persiaNot quite.15:10
xperiaor do i need15:10
xperiaopie 1.2.5-0ppa1 urgency=low target=lucid15:10
persiaYou want the parentheses.15:11
persiaAnd you can't use the name opie : it's been taken since before your project started.15:11
persiaSo you need to have a different package name.15:11
xperiaohh man how should i named it then. it exist allready a package from 2004 but dont know how it is called15:11
persiamaybe "opi-env" ?15:11
xperiagood tip. i will use opie-desktop as gnome-desktop or ubuntu-desktop15:12
persiaThat works,.15:13
xperiajust need to know if i need to remove the Words like PACKAGE and so on15:13
xperiais this here needed15:14
xperiaopie-desktop 1.2.5-0ppa1 urgency=low target=lucid15:14
persiaYou want something like:15:14
xperiaor this here15:14
xperiaPACKAGE opie-desktop (VERSION)1.2.5-0ppa1 UNRELEASED; urgency=low target=lucid15:14
persiaopie-desktop (1.2.5-0ppa1) lucid; urgency=low15:15
xperiaawesome have done it :-) 15:17
xperiacat debian/changelog15:17
xperiaopie-desktop 1.2.5-0ppa1 lucid; urgency=low15:17
xperia  * Initial Packaging. (Closes: #XXXXXX)15:17
xperia -- administrator <administrator@localhost>  Fri, 19 Mar 2010 16:05:48 +010015:17
persiaWell, fix your name and email :)15:17
persiaYou need those to match an identity from `gpg --list-secret-keys`15:18
xperiaokay great ! thanks for the Tip.15:20
xperiawill change that direct now15:20
xperiahave change it: http://paste-bin.com/view/305b942d15:22
xperianow on to creating this control file15:22
persiaThis is the most manual part after copyright, but if you just follow down the page in the debian policy manual, there's a good chance you'll end up with something mostly right.15:23
xperiahmmm this is a litlle more tricky now :-) cant find any examples at first sight15:24
persiaAside from Description, it's mostly just key-value entries, in RFC822 format.15:25
persiaSo:15:25
persiaSource: opie-desktop15:25
persiaMaintainer: ${name & email from changelog}15:25
persiaSection: ${pick one}15:25
xperiaahh great thanks15:26
persiaPriority: optional15:26
persia...15:26
persiaPut a blank line between the source paragraph and any additional paragraphs.15:26
persiaAnd read the docs on Description closely: there's a very specific format15:26
xperiawhat should i write for 15:31
xperiaArchitecture15:31
xperiathe package build great on a i38615:31
xperiait should work too on a arm or other arch15:31
xperiathe main goal is having it for arm15:31
xperiabut also for i38615:32
persiaany works15:32
persiaThat will try to compile for each available architecture separatly.15:33
xperiaokay15:35
xperiapersia: have done it15:38
xperiahttp://paste-bin.com/view/bc52629915:38
persiaAlmost.15:40
persiaYou need to start with Source:15:40
persiaPackage: belongs inthe second paragraph.15:40
persiaBoth Source: and Package: should be opie-desktop15:40
persiaThat's the name being assigned, not that actual source.15:40
persiaVersion: doesn't belong there15:40
persiasection, priority, maintainer, homepage belong in the Source: paragraph.15:41
persiaArchitecture & Description belong in the Package: paragraph.15:41
persiaThe order should ideally be that shown on the policy page.15:41
xperiahmmm i have study the section 5.3 :-) and it looks like i needed to look at section 5.215:41
persiaheh15:42
xperiapersia: i think i have understand it now. http://paste-bin.com/view/f1d96cc015:48
persiaSection, Priority, and Homepage are preferred in the first paragraph instead of the second, if they can go there.15:49
persiaSo delete them from the second paragraph (no need for duplication)15:49
xperiaoky have done it. the control file should be done now if i am not wrong15:50
persiaNot quite.15:50
persiaYou'll want to add Build-Depends to the first paragraph, and Depends to the second.15:51
persiaDepends: is probably just: 15:51
persiaDepends: ${shlibs:Depends}, ${misc:Depends}15:51
persiaBuild-Depends needs to come from you, but should start with "debhelper (>= 7)"15:51
xperiaohhhhh that is now a step more heavy15:52
xperiacan i write the line Depends: ${shlibs:Depends}, ${misc:Depends}15:52
xperiaexact the same way in the control file or do i need to specify exactly what for packages are needed15:53
persiaFor Depends: you can start with the exact same way.15:53
xperiaokay15:54
persiaWith Build-Depends, you'll need to add all the -dev libraries you need to build.15:54
xperiaokay i think that should be very easy15:57
xperiaall the dev-libs that i need are written here http://opie.handhelds.org/cgi-bin/moin.cgi/BuildOpie15:57
persiaRight.15:58
persiaAdd all the required ones and all the optional ones.15:59
xperiaBuild-Depends: debhelper (>= 7), libfreetype6-dev, libjpeg62-dev, libpam0g-dev, libpng12-dev, zlib1g-dev, libasound2-dev, libsysfs-dev, libpcsclite-dev, pkg-config, libbluetooth-dev, libobexftp0-dev, libopenobex1-dev, libpcap-dev, libsqlite3-dev, libxine-dev16:01
xperiais that good from thy syntax point of view ?16:01
=== robbiew_ is now known as robbiew
persiaYep.16:03
persiaSo let's see the entire control file, all assembled.16:03
xperiaokay http://paste-bin.com/view/1d24b0be16:04
persiaIdeally the order of the various entries should match the order in which they are presented in policy16:05
persiaOther than that, looks pretty good.16:05
persiaOh, and Description needs changing.16:05
persiaGo read policy about Description again.16:05
xperiaokay changed the order and look now at Description16:06
xperiaso what does i need to change in the description field.16:09
xperiado i need to encapsle the lines with < >16:09
xperiaor o i need to make more than one space between the first and the second  Text Phrase ?16:09
persiaxperia: After Description: you want a single line synopsis.  This should complete the cloze "${PACKAGE} is (a/the) ${SHORT_DESCRIPTION}".16:12
persiaBelow that line you should have at least three lines going into detail about the package, each proceeded by a single space.16:12
persiasee policy 5.6.13 and 3.416:13
xperiaohh this rules drives me crazy. how about his now ?16:16
xperiahttp://paste-bin.com/view/44d042f916:16
persiaTry to keep each line of the description under 70 characters :)16:17
persiaBut that's the last edit for now.16:17
persiaSo, now you're ready to build a source package.16:17
xperiaohhhh cant beleve it. need to shorten this lines16:18
persiaDo you have a release tarball of opie that you unpacked when you started?16:18
persiaJust description.  Leave build-depends alone for now16:18
xperiawait wait need to shorten the description lines16:18
xperiaokay done.16:19
xperiano i have builded from trunk. it is very stable16:19
xperiathe rlease version is a litlle old and dont has the newest changes16:20
xperiai have followed step by step this howto. it is very easy and and works great.16:21
xperiahttp://opie.handhelds.org/cgi-bin/moin.cgi/BuildOpie16:21
persiaWell, that's a little frustrating, because it makes it a bit messy, but we can try to work around that.16:22
persiaGrab the release tarball anyway.16:22
xperiaare you sure ? the release is heavy outdated 16:26
xperiahttp://opie.handhelds.org/cgi-bin/moin.cgi/Source16:26
xperiai have worked only as described on the page with this16:26
xperiagit clone git://gitorious.org/opie/opie.git16:26
xperiaif i am not wrong it should exist a snapshot of this git tree as tarball16:26
persiaWell, we need a tarball.16:27
persiaSo we can make a tarball of the snapshot *or* we can use the old tarball.16:27
persiaWe'll use the snapshot source in either case.16:27
xperialet me find it http://gitorious.org/opie/opie16:27
xperiahttp://gitorious.org/opie/opie/archive-tarball/master16:28
xperiathis should it be16:28
xperiahttp://gitorious.org/opie/opie/trees/master16:28
xperiaokay i have the .tar.gz16:29
xperiashould i extaract it or just save it16:29
persiaJust save it.16:30
persiaWhat version is the tar.gz ?16:30
xperiathe newest 1.2.5 (trunk)16:31
xperiait is named opie-opie-master.tar.gz16:32
persiaOK.16:32
persiaRename that to opie-desktop_1.2.5.orig.tar.gz16:32
xperiadoes it need to be copyed to debian/16:33
persiaNope.  It needs to be in the directory above the source.16:34
xperiaokay have done the renaming16:36
persiaOK.  Now, add a changelog entry16:38
persia(just run dch)16:38
persiaReport that you updated to a git snapshot with today's date and the SHA hash16:38
xperiawell have done dch but for some reasn i am getting this16:41
xperiahttp://paste-bin.com/view/f172481916:41
persiaSomehow debian/changelog got messed up.16:42
persiaDelete it, and recreate it.16:42
persiaOh, I see.16:42
persiaYou missed the () around the version.16:42
xperiapersia: you are right. the problem was the missings ()16:45
xperiaokay it works now reporting the change in the changelog16:45
persiaExcellent.  paste your new modified changelog?16:46
xperianeed only to add the SHA hash number. is that the SHA Hash number from the gitorious page or should i create a new one ?16:48
persiaYou want the hash from the git tree so others can replicate your work.16:49
persiaI believe that date + SHA hash identifies a unique state of source.16:49
xperiaokay have done it16:56
persiaOK.  So paste the debian/changelog16:57
xperiahttp://paste-bin.com/view/c40a723116:57
persiaI usually delete the [NAME] stuff when it's just me, but doesn't matter for now.16:58
xperiaokay16:58
persiaNext, run `debuild -S -i -I `16:58
persiaThis *should* build you a source package.16:58
persiaIf it doesn't, we'll hunt down the errors.16:58
xperiaokay now it is getting interessting :-)16:58
xperiadebuild: fatal error at line 685:16:59
xperiafound debian/changelog in directory16:59
xperia  /media/usbdisk/LinuXperiaOS/opiehome/opie16:59
xperiabut there's no debian/rules there!  Are you in the source code tree?16:59
persiaDid you copy /usr/share/doc/debhelper/examples/rules.tiny to debian/rules ?16:59
xperiaohh i have rules.tiny17:00
xperiaokay it works :-)17:00
persiaSo you have a diff.gz and .dsc?17:01
xperiadpkg-source: info: building opie-desktop using existing opie-desktop_1.2.5.orig.tar.gz17:02
xperiait is working at this line here at the moment17:02
persiaThat'll take a while.  It's preparing a diff between the git snapshot and the tarball17:02
xperiaahhh okay. in my case this will sure go abaout 30 min as i have a slow build host17:03
xperiapersia: in this case i recomend to meet us in 30 min again here. till then we make a litlle break17:04
persiaheh17:05
xperia:-)17:05
xperiathis will sure need some 30 min :-)17:05
xperiaahh no it proceed :-)17:05
xperiaohhh that dont look gooog :-)17:06
xperiagood17:06
persiaWhat happened?17:07
xperiahave a lot of this lines here 17:07
xperiadpkg-source: error: cannot represent change to opie/core/launcher/.obj/x86-linux/moc_qprocess.o: binary file contents changed17:07
xperiadpkg-source: error: cannot represent change to opie/core/launcher/.obj/x86-linux/moc_mediumwidget.o: binary file contents changed17:07
xperiadpkg-source: error: cannot represent change to opie/core/launcher/.obj/x86-linux/moc_mediadlg.o: binary file contents changed17:07
xperiadpkg-source: error: cannot represent change to opie/core/multimedia/opieplayer/modplug/.obj/x86-linux/tables.o: binary file contents changed17:07
xperiadpkg-source: error: cannot represent change to opie/core/multimedia/opieplayer/modplug/.obj/x86-linux/memfile.o: binary file contents changed17:07
xperiait works still17:08
persiaNo, it doesn't.17:08
persiaDid you run any build commands in that source before we started?17:08
xperiareally ? what si wrong17:08
xperiawell yes :-) wanted to know if it builds17:08
persiaOK.17:09
persiaWell, that's the issue.17:09
persiaSO17:09
xperiadid not wanted to have some strange surprises17:09
persiaMake a new directory.17:09
xperiaokay17:09
persiaget your snapshot17:09
persiacopy the entire contents of the debian/ directory we constructed in there.17:09
persiaPut the orig.tar.gz one level down.17:09
persiarun `dbuild -S -i -I` again.17:10
persia(in the new directory)17:10
persiaYou need the tree *before* it's built.17:10
xperiaso okay i have created now in /media/usbdisk/opiehome the dir "debian-packager"17:13
xperiawill now clone the git sources there with git clone git://gitorious.org/opie/opie.git17:13
xperiacopy the debian folder from previous17:14
xperiaand look that the snapshot file opie-desktop_1.2.5.orig.tar.gz17:14
xperiais located in /media/usbdisk/opiehome17:14
persiaRight.17:17
persiaAnd then build the source package.17:17
xperiapersia: the thing is that the extracted sources need some symlinking to other files and packages17:25
xperiahttp://opie.handhelds.org/cgi-bin/moin.cgi/BuildOpie#head-263fce4b2279b68f6de230fff90c8d725add4c0f17:25
xperiahow can this be solved so it can be done automagicly17:25
persiaDo you need these to build, or to run?17:26
xperiauic compiler is needed to compile opie17:27
xperiaand qfvb is needed for runnning17:28
persiaThen you first need to package the uic compiler.17:28
persiaAnd qfvb17:28
persia(unless they are already packaged)17:28
xperiaahhh dont we have them allready in the package repo. let me see if they exist17:28
xperiapersia: uic-qt2 dont looks like it is in the repo but it can be find precompiled here17:31
xperiahttp://linuxtogo.org/~mickeyl/tools/17:31
persiaYou need to have it compiled in the repo, not use precompiled sources.17:32
persiaThe same recipe we used for opie-desktop can be used for that.17:32
xperiaohhh okay17:33
persiaNote that this recipe produces buggy packages (but a buggy package can be debugged, and a non-existent package can't be)17:33
xperiaokay i understand. in this case i will start now to create two dirs for creating the needed packages.17:34
xperianeed some 20 to 40 minutes17:34
persiaNo worries.  I think you'll end up needing a bunch of time over 2-3 weeks, as a rough estimate.17:35
xperiaohhhh nooooo17:36
persia?17:36
xperiasuch long :-)17:36
persiaWell, making a package takes 20 minutes.17:38
persiaThen it's buggy.17:38
persiaSo you have to fix the bugs.17:38
persiaYou're proposing to package a compiler, which tends to have odd, hard to track down issues, a virtual framebuffer, which ends up being all sorts of odd to configure and use, *and* a comprehensive integrated suite of applications.17:39
persiaSo I'm expecting you'll run into a lot of issues along the way.17:39
xperiammmmhhhh okay in this case i will look to try first to package the uic compiler and the virtual frambuffer.17:49
xperia have thinked it should be more easy to package opie as it nearly compile for every architecture from the sources in open embedded17:49
xperiamaybe have to look also how the whole thing with compiling works in open embedded. i know 100% that it fetch allways the newest sources from the git repo and compile it for the different archs. for the arm arch however if i am not wrong they use qemu17:50
persiaqemu can also be used in Ubuntu.17:52
persiaI think the difference is that Ubuntu requires everything to be packaged first, whereas OE provides a framework that supports a mix of packaged and unpackaged software.17:53
xperiathe most easy thing in this case would be to look in open embedded how they compile uic and qtvfb. hmm let me just see it as i have it her on my usbdisk17:54
xperiahmmm open embedded has packages that are fully missed in ubuntu-mobile18:02
xperiaxqt18:02
xperiaxqt218:02
xperiahttp://xqt.sourceforge.jp/18:02
xperiaohh man that looks like a lot of work :-(18:03
=== doko__ is now known as doko
xperiapersia: i will rethink the whole think with packaging opie for debian. it is way to high for me ! will probably stick with open embedded for the moment18:10
persiaxperia: OK.  I understand.18:10
xperiathanks a lot for your very helpfull time. have learned somevery good stuff about what is needed for packaging.18:11
persiaNo problem.  At least I know it's a mountain of work next time someone asks me about packaging OPIE.18:12
xperiaokay see you next time persia and a lot of success with ubuntu-mobile !18:13
xperiabye.18:13

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!