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