/srv/irclogs.ubuntu.com/2009/06/18/#ubuntu-classroom.txt

watersd after i get to 60% tells me it's an input/output error ... so .. i can use the thing from fedora to make a live os on my flash drive ... boot that way .. but .. I cant get it to run in safe mode ... dont know how08:42
=== redarrow_ is now known as redarrow
=== Quintasan_ is now known as Quintasan
=== n0p_ is now known as n0p
hullap_will the logs be uploaded anywhere?13:08
nalioth!logs13:13
ubot2Channel logs can be found at http://irclogs.ubuntu.com/ - See also !OpenWeek13:13
hullap_cool, thanks nalioth13:20
nalioth:)13:20
=== mmaret__ is now known as mmaret
=== yofel_ is now known as yofel
watersI have just installed ubuntu .. However i am having a problem with it. I used the unetbootin-windows to make a usb install drive, and download from ftp. Everything worked great. When i boot for the the first time. Blanks screen.16:51
joaopintowaters, the support channel is #ubuntu16:52
watersyeah .. im in it .. just not alot of support ..16:52
pARAd0X85hi17:59
pARAd0X85what's the time now in UTC ?17:59
pARAd0X8517:0018:01
pARAd0X85so I should wait one hour !18:01
pleia2yes, the next class is in one hour :)18:02
Raildate --utc ;)18:02
pARAd0X85jeu. juin 18 18:02:11 UTC 200918:04
pARAd0X85Rail: thanks, I have learnt something now !18:09
RailpARAd0X85: you are welcome :)18:10
jumpingjackhello18:27
pARAd0X85so19:03
jumpingjackso?19:03
pARAd0X85everybody here ?19:03
pARAd0X85it is time !19:04
pARAd0X85where is our teacher ?19:04
pleia2here we go :)19:06
JontheEchidnaheh, thought it was in an hour. stupid daylight savings19:06
JontheEchidnaHello all, and welcome to my packaging training session.19:06
neversfelde:)19:06
JontheEchidnaPackaging simple KDE apps and plasma widgets (plasmoids) is quite easy.19:06
JontheEchidnaToday I am going to walk you through packaging an example plasmoid and answer some questions afterwards.19:07
JontheEchidnaThe plasmoid I chose for today is the Plasmaboard plasma widget (http://kde-look.org/content/show.php/Plasmaboard?content=101822)19:07
JontheEchidnathis is a virtual keyboard applet19:07
JontheEchidnaTo start things off, just hit the first download button and save the file as "plasma-widget-plasmaboard_0.51.orig.tar.gz"19:07
JontheEchidnaNext, navigate to the directory you saved it in and run "tar -xvf plasma-widget-plasmaboard_0.51.orig.tar.gz"19:07
JontheEchidnaFor good measure, we can rename the resulting directory to plasma-widget-plasmaboard-0.51 using "mv plasmaboard plasma-widget-plasmaboard-0.51"19:07
JontheEchidnaNow we're all set. Almost. ;-)19:08
JontheEchidnaAs you may or may not know, packaging an application involves making a set of rules for the packaging application.19:08
JontheEchidnaThese rules are contained in a "debian" directory that we place inside the program's folder.19:08
JontheEchidnaI have an unfilled skeleton debian dir that we can use here: http://www.2shared.com/file/6363052/c020b794/debiantar.html (Click the "click here" link near the bottom of the blue box)19:08
JontheEchidnaextract that with tar -xvf and copy the debian directory over to the source directory.19:09
JontheEchidnanow I'll wait for everybody to catch up19:09
JontheEchidnaNow we can get started packaging.19:09
JontheEchidnacd to the debian directory19:09
JontheEchidnaYou'll see 5 files19:10
JontheEchidnathese contain the info that the devscripts use to build the package19:10
JontheEchidnaFirst off, open the "changelog" file with nano/kate/vim/emacs or whatever text editor you like.19:10
JontheEchidnaWe want to make it look like:19:10
JontheEchidnaplasma-widget-plasmaboard (0.51-0ubuntu1) karmic; urgency=low19:10
JontheEchidna* Initial release.19:10
JontheEchidna -- Your Name <your@email.www>  Thu, 13 Dec 2007 17:00:00 +000019:10
JontheEchidnaFrom our skeleton file, I gave the package a name (plasma-widget-plasmaboard) and a version (0.51)19:10
JontheEchidnaThe bottom line you'd fill in yourself ;-)19:11
lex79hi JontheEchidna :P19:11
JontheEchidna\o19:11
neversfeldeQuestions later?19:11
JontheEchidnaI can take questions now in #ubuntu-classroom-chat19:11
* nellery can paste them for you if you want19:12
JontheEchidnathanks19:12
JontheEchidnaOh, we also want to close a "needs-packaging" bug when we make new packages19:12
JontheEchidna* Initial release. (LP: #bugnumbergoeshere)19:12
JontheEchidnacurrently plasmaboard doesn't have a bug, but that'd need to change before this package could be uploaded to ubuntu19:13
JontheEchidnadebian/compat: this file just contains a compatiblity level which tells the devscripts how to behave. For this package we want '7'.19:13
JontheEchidna<neversfelde> JontheEchidna: I always wonder what to do, if there is a wrong directory layout after unpacking the source. Am I allowed to rename the directory manually?19:13
nelleryQuestion: I always wonder what to do, if there is a wrong directory layout after unpacking the source. Am I allowed to rename the directory manually?19:13
JontheEchidnaeheh19:13
nelleryyou can probably handle it on your own :P19:14
JontheEchidnayeah19:14
JontheEchidnaI don't think its too evil to just rename the directory after you extract it and repack it19:14
JontheEchidnathough I generally just rename it locally, make my package, then build the package without changing the orig19:14
JontheEchidnaAnyway, compat we dont' need to touch for now, so continuing19:16
JontheEchidnaControl is where a lot of the magic happens. Open that up in your text editor next.19:16
JontheEchidnaLet's go over each field:19:16
JontheEchidnaSource: this is the name of the source package; in this case: plasma-widget-plasmaboard19:16
JontheEchidnaI should note that the debian/kubuntu standard for naming plasmoids is plasma-widget-x19:16
JontheEchidna<kervel> JontheEchidna: about renaming files : when you just go mess around in the "upstream" source by hand when creating a package, you have to redo that on every release , right ?19:17
JontheEchidnayou'd generally have to rename the directory each time you updated the package, but for source code changes we have patch systems19:17
JontheEchidnaMaintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com> - all packages in universe have this Maintainer field.19:18
JontheEchidnaXSBC-original-maintainer is where you put your info19:18
JontheEchidnaBuild-Depends: what the source needs to be built (successfully) We will want what's already there plus pkg-kde-tools, which has various tools for building kde packages and kdelibs5-dev, which contains the development files that all KDE apps need.19:18
JontheEchidnaBuild-Depends: debhelper (>= 7), cdbs, pkg-kde-tools, kdelibs5-dev19:19
JontheEchidna^is what it would look like19:19
JontheEchidnaJontheEchidna> Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com> I've seen recently that since MOTU is going away, we use a different address for new packages19:19
JontheEchidnaI've vaguely heard about this, but nothing concrete19:20
JontheEchidna<neversfelde> JontheEchidna: which build deps should get a version like debhelper (>= 7). As many as possible?19:20
JontheEchidnawe generally only do this when its necessary19:20
JontheEchidnalike when a package won't build with a lesser version19:21
JontheEchidnabut for debhelper we generally always give a minimum version19:21
JontheEchidnaStandards-Version - the debian-policy version that this package complies with. Current is 3.8.2. One can always find the lastest version here: http://www.us.debian.org/doc/debian-policy/19:21
JontheEchidnaHomepage: simply a link to the projects homepage. (http://kde-look.org/content/show.php/Plasmaboard?content=101822)19:22
JontheEchidnaNow for the binary package:19:22
JontheEchidnabut first a question: <neversfelde> JontheEchidna: so for plasmaboard kdelibs5-dev should be (>=4.2.90) because it does not work with KDE 4.2.4?19:22
JontheEchidnayes, that'd be a good idea. for example this would show that it would not be a good idea to backport this to jaunty19:23
JontheEchidnaand in fact I hadn't thought about that19:23
JontheEchidnamoving on:19:23
JontheEchidnaPackage - name of the package, for single packages it should be the same as Source.19:24
JontheEchidnaArchitecture: Set this to any, since it can build on any cpu architecture. Packages that don't have to be compiled could use "all"19:24
JontheEchidnaDepends: ${shlibs:Depends} - the build process calls a script called dh_shlibs which calculates all the dependencies that the package needs to run and replaces them here. For a simple KDE package like this, this should be fine as it is19:24
JontheEchidnaDescription: a short description of what the package contains and underneath that a longer description of the package.19:24
JontheEchidnaAny questions on control?19:24
neversfeldeyes19:25
neversfeldewe place for example Section: kde19:26
JontheEchidnaoh, forgot that one19:26
JontheEchidnayes, section would be kde19:26
JontheEchidnawhich would make this show up in the kde section of package managers19:26
neversfeldeon the second position, debian sometimes places it after Standards-Version, I guess we are right? :)19:26
JontheEchidnaThe order isn't so important19:27
JontheEchidnaas long as its in a somewhat normal position19:27
JontheEchidnawell, for section anyway19:27
neversfeldeok19:27
JontheEchidnadebian/copyright: This file is very, very important. Otherwise chances are that the package won't get past the NEW queue. Every license and copyright holder must be listed. What I do is go around the source: `grep "Copyright" *` and filtering it all out later by directories.19:27
JontheEchidnalooks to pretty much be Copyright (C) 2009 by Björn Ruberg <bjoern@ruberg-wegener.de>19:28
JontheEchidnayou'd also fill in some info about the package itself19:29
JontheEchidnathe creation date, and the license that you're releasing the packaging under (usually the same as the software)19:30
JontheEchidnadebian/rules: This is where all the magic *really* happens.19:30
JontheEchidnaThis file tells the devscripts how to build the package.19:30
JontheEchidnaFortunately, many smart dudes have made pre-made cdbs files which do all that for us.19:31
JontheEchidnaAll we have to do for a simple package such as this is put in the file:19:31
JontheEchidnainclude /usr/share/cdbs/1/rules/debhelper.mk19:31
JontheEchidnainclude /usr/share/pkg-kde-tools/makefiles/1/cdbs/kde.mk19:31
JontheEchidna(under what is already there)19:31
JontheEchidnakde.mk is the file that has all the magic and tells the devscripts how to build the package, but it needs debhelper.mk so we include that also.19:31
JontheEchidnakde.mk is from pkg-kde-tools, which is why we have a build-dep on that19:32
JontheEchidnaand that is pretty much it19:32
JontheEchidnaInstall fakeroot and devscripts next.19:32
JontheEchidnaThen you can build your package by running "debuild -us -uc", and if all went well it should build the plasmoid and package it.19:32
JontheEchidnaIf you have a GPG key set up you can just do "debuild" but for now making unsigned packages should be sufficient for our purposes.19:32
JontheEchidnaand I will take questions after I move my laundry on (be back in 3 or so minutes)19:33
JontheEchidnaeh, laundry's not quite dry yet19:35
JontheEchidnaonce debuild is done doing its thing, go up to the directory above the source directory19:35
JontheEchidnaand you should have debs19:35
JontheEchidnasudo dpkg -i *deb19:36
JontheEchidnarun kbuildsycoca419:36
JontheEchidnaand then the plasmoid should appear in the widgets list19:36
JontheEchidnathis would also be how you package simple KDE apps19:37
JontheEchidnamore complicated ones that ship their own libraries would require more complicated packaging19:37
JontheEchidnabut that'd be a whole other session :)19:37
JontheEchidna<kervel> JontheEchidna: can you tell a bit about how debuild manages to get all the "to be installed" files in a .deb without touching /usr and so on19:38
JontheEchidnathe /usr/share/pkg-kde-tools/makefiles/1/cdbs/kde.mk file does all that magic19:39
JontheEchidnait tells cmake to install all the files to debian/tmp/ and then it copies all of those into the .deb19:39
JontheEchidna<loic-m> Question: plasma widgets don't come with their own icon?19:39
JontheEchidnathey should. Probably would need to bug upstream about that19:39
JontheEchidna<kervel> JontheEchidna: and it does so without doing configure --prefix=debian/tmp (as the prefix is sometimes hardcoded in binaries)19:41
JontheEchidnaI believe kde.mk gets that stuff from cmake.mk from the cdbs package19:42
JontheEchidnaWell, that's pretty much all I had for this session19:48
JontheEchidnayou can find me in #ubuntu-motu or #kubuntu-devel if you have questions, plus I'll probably idle here for a bit19:48
nellerythanks for the great session JontheEchidna19:49
JontheEchidnayou're welcome19:49
javithank you very much :D19:50
fabrice_spthanks JontheEchidna :-)19:50
neversfeldethanks JontheEchidna19:52
JontheEchidnaOne last thing, if you're interested in contributing I'd recommend getting a GPG key and signing the ubuntu code of conduct: https://launchpad.net/codeofconduct19:53
JontheEchidnaand then get your package into revu19:53
JontheEchidnahttps://wiki.ubuntu.com/MOTU/Packages/REVU19:54
loic-mthanks for the session JontheEchidna19:57
=== rmcbride_ is now known as rmcbride
=== bac` is now known as bac
javibye20:27
kn100am i interrupting anything?20:28

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