[08:42] d 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 how === redarrow_ is now known as redarrow === Quintasan_ is now known as Quintasan === n0p_ is now known as n0p [13:08] will the logs be uploaded anywhere? [13:13] !logs [13:13] Channel logs can be found at http://irclogs.ubuntu.com/ - See also !OpenWeek [13:20] cool, thanks nalioth [13:20] :) === mmaret__ is now known as mmaret === yofel_ is now known as yofel [16:51] I 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:52] waters, the support channel is #ubuntu [16:52] yeah .. im in it .. just not alot of support .. [17:59] hi [17:59] what's the time now in UTC ? [18:01] 17:00 [18:01] so I should wait one hour ! [18:02] yes, the next class is in one hour :) [18:02] date --utc ;) [18:04] jeu. juin 18 18:02:11 UTC 2009 [18:09] Rail: thanks, I have learnt something now ! [18:10] pARAd0X85: you are welcome :) [18:27] hello [19:03] so [19:03] so? [19:03] everybody here ? [19:04] it is time ! [19:04] where is our teacher ? [19:06] here we go :) [19:06] heh, thought it was in an hour. stupid daylight savings [19:06] Hello all, and welcome to my packaging training session. [19:06] :) [19:06] Packaging simple KDE apps and plasma widgets (plasmoids) is quite easy. [19:07] Today I am going to walk you through packaging an example plasmoid and answer some questions afterwards. [19:07] The plasmoid I chose for today is the Plasmaboard plasma widget (http://kde-look.org/content/show.php/Plasmaboard?content=101822) [19:07] this is a virtual keyboard applet [19:07] To start things off, just hit the first download button and save the file as "plasma-widget-plasmaboard_0.51.orig.tar.gz" [19:07] Next, navigate to the directory you saved it in and run "tar -xvf plasma-widget-plasmaboard_0.51.orig.tar.gz" [19:07] For good measure, we can rename the resulting directory to plasma-widget-plasmaboard-0.51 using "mv plasmaboard plasma-widget-plasmaboard-0.51" [19:08] Now we're all set. Almost. ;-) [19:08] As you may or may not know, packaging an application involves making a set of rules for the packaging application. [19:08] These rules are contained in a "debian" directory that we place inside the program's folder. [19:08] I 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:09] extract that with tar -xvf and copy the debian directory over to the source directory. [19:09] now I'll wait for everybody to catch up [19:09] Now we can get started packaging. [19:09] cd to the debian directory [19:10] You'll see 5 files [19:10] these contain the info that the devscripts use to build the package [19:10] First off, open the "changelog" file with nano/kate/vim/emacs or whatever text editor you like. [19:10] We want to make it look like: [19:10] plasma-widget-plasmaboard (0.51-0ubuntu1) karmic; urgency=low [19:10] * Initial release. [19:10] -- Your Name Thu, 13 Dec 2007 17:00:00 +0000 [19:10] From our skeleton file, I gave the package a name (plasma-widget-plasmaboard) and a version (0.51) [19:11] The bottom line you'd fill in yourself ;-) [19:11] hi JontheEchidna :P [19:11] \o [19:11] Questions later? [19:11] I can take questions now in #ubuntu-classroom-chat [19:12] * nellery can paste them for you if you want [19:12] thanks [19:12] Oh, we also want to close a "needs-packaging" bug when we make new packages [19:12] * Initial release. (LP: #bugnumbergoeshere) [19:13] currently plasmaboard doesn't have a bug, but that'd need to change before this package could be uploaded to ubuntu [19:13] debian/compat: this file just contains a compatiblity level which tells the devscripts how to behave. For this package we want '7'. [19:13] 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] Question: 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] eheh [19:14] you can probably handle it on your own :P [19:14] yeah [19:14] I don't think its too evil to just rename the directory after you extract it and repack it [19:14] though I generally just rename it locally, make my package, then build the package without changing the orig [19:16] Anyway, compat we dont' need to touch for now, so continuing [19:16] Control is where a lot of the magic happens. Open that up in your text editor next. [19:16] Let's go over each field: [19:16] Source: this is the name of the source package; in this case: plasma-widget-plasmaboard [19:16] I should note that the debian/kubuntu standard for naming plasmoids is plasma-widget-x [19:17] 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] you'd generally have to rename the directory each time you updated the package, but for source code changes we have patch systems [19:18] Maintainer: Ubuntu MOTU Developers - all packages in universe have this Maintainer field. [19:18] XSBC-original-maintainer is where you put your info [19:18] Build-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:19] Build-Depends: debhelper (>= 7), cdbs, pkg-kde-tools, kdelibs5-dev [19:19] ^is what it would look like [19:19] JontheEchidna> Maintainer: Ubuntu MOTU Developers I've seen recently that since MOTU is going away, we use a different address for new packages [19:20] I've vaguely heard about this, but nothing concrete [19:20] JontheEchidna: which build deps should get a version like debhelper (>= 7). As many as possible? [19:20] we generally only do this when its necessary [19:21] like when a package won't build with a lesser version [19:21] but for debhelper we generally always give a minimum version [19:21] Standards-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:22] Homepage: simply a link to the projects homepage. (http://kde-look.org/content/show.php/Plasmaboard?content=101822) [19:22] Now for the binary package: [19:22] but first a question: JontheEchidna: so for plasmaboard kdelibs5-dev should be (>=4.2.90) because it does not work with KDE 4.2.4? [19:23] yes, that'd be a good idea. for example this would show that it would not be a good idea to backport this to jaunty [19:23] and in fact I hadn't thought about that [19:23] moving on: [19:24] Package - name of the package, for single packages it should be the same as Source. [19:24] Architecture: 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] Depends: ${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 is [19:24] Description: a short description of what the package contains and underneath that a longer description of the package. [19:24] Any questions on control? [19:25] yes [19:26] we place for example Section: kde [19:26] oh, forgot that one [19:26] yes, section would be kde [19:26] which would make this show up in the kde section of package managers [19:26] on the second position, debian sometimes places it after Standards-Version, I guess we are right? :) [19:27] The order isn't so important [19:27] as long as its in a somewhat normal position [19:27] well, for section anyway [19:27] ok [19:27] debian/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:28] looks to pretty much be Copyright (C) 2009 by Björn Ruberg [19:29] you'd also fill in some info about the package itself [19:30] the creation date, and the license that you're releasing the packaging under (usually the same as the software) [19:30] debian/rules: This is where all the magic *really* happens. [19:30] This file tells the devscripts how to build the package. [19:31] Fortunately, many smart dudes have made pre-made cdbs files which do all that for us. [19:31] All we have to do for a simple package such as this is put in the file: [19:31] include /usr/share/cdbs/1/rules/debhelper.mk [19:31] include /usr/share/pkg-kde-tools/makefiles/1/cdbs/kde.mk [19:31] (under what is already there) [19:31] kde.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:32] kde.mk is from pkg-kde-tools, which is why we have a build-dep on that [19:32] and that is pretty much it [19:32] Install fakeroot and devscripts next. [19:32] Then 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] If 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:33] and I will take questions after I move my laundry on (be back in 3 or so minutes) [19:35] eh, laundry's not quite dry yet [19:35] once debuild is done doing its thing, go up to the directory above the source directory [19:35] and you should have debs [19:36] sudo dpkg -i *deb [19:36] run kbuildsycoca4 [19:36] and then the plasmoid should appear in the widgets list [19:37] this would also be how you package simple KDE apps [19:37] more complicated ones that ship their own libraries would require more complicated packaging [19:37] but that'd be a whole other session :) [19:38] 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 on [19:39] the /usr/share/pkg-kde-tools/makefiles/1/cdbs/kde.mk file does all that magic [19:39] it tells cmake to install all the files to debian/tmp/ and then it copies all of those into the .deb [19:39] Question: plasma widgets don't come with their own icon? [19:39] they should. Probably would need to bug upstream about that [19:41] JontheEchidna: and it does so without doing configure --prefix=debian/tmp (as the prefix is sometimes hardcoded in binaries) [19:42] I believe kde.mk gets that stuff from cmake.mk from the cdbs package [19:48] Well, that's pretty much all I had for this session [19:48] you can find me in #ubuntu-motu or #kubuntu-devel if you have questions, plus I'll probably idle here for a bit [19:49] thanks for the great session JontheEchidna [19:49] you're welcome [19:50] thank you very much :D [19:50] thanks JontheEchidna :-) [19:52] thanks JontheEchidna [19:53] One 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/codeofconduct [19:53] and then get your package into revu [19:54] https://wiki.ubuntu.com/MOTU/Packages/REVU [19:57] thanks for the session JontheEchidna === rmcbride_ is now known as rmcbride === bac` is now known as bac [20:27] bye [20:28] am i interrupting anything?