/srv/irclogs.ubuntu.com/2008/11/07/#ubuntu-classroom.txt

Guest66012anybody there00:16
YokoZarIndeed00:17
Guest66012your wine session was good00:17
=== Guest66012 is now known as parth
=== parth is now known as Guest88444
=== Guest88444 is now known as punter
=== punter is now known as parth
=== parth is now known as Guest40481
=== Guest40481 is now known as p
=== p is now known as parthbakshi
=== woody86_ is now known as woody86
sg-voodoogde oni00:33
=== Silvy is now known as Fierelin
=== Rafik_ is now known as Rafik
=== Rafik_ is now known as Rafik
=== woody86_ is now known as woody86
=== riot_le_ is now known as riot_le
sundownHi everyone! Requires the server openvpn for multiple client connections (to link multiple offices), encrypted using the x509 in ubuntu.09:16
sundownNeed detailed instructions.09:16
=== andre___ is now known as andre
=== andre is now known as Guest15086
=== Guest15086 is now known as andre__
=== tictric is now known as ticoff
=== nizarus_ is now known as nizarus
* meborc is away: sauna-party + vana tallinn14:30
naliothmeborc: when you return, can you disable the public away message?  Thanks  :)14:40
=== Inteysedut is now known as Intey
* x_dimitri wonders why there's no session in progress15:00
lordnoidbecause it starts now :P15:01
jcastro_We will start in a few minutes!15:02
* x_dimitri thanks jcastro15:02
dholbachwelcome everybody to another Ubuntu Open Week session!15:02
dholbachWho's here for "Fixing a bug in Ubuntu - it's easier than you think"? Raise your hands! :)15:03
=== jcastro_ is now known as jcastro
joumetalo/15:03
* brobostigon raises his hand15:03
* homy raises hand15:03
* lordnoid raises hand too.15:03
dholbachah... let me please know which version of Ubuntu you're running :)15:04
brobostigon7.10 powerpc15:04
* x_dimitri raises both hands...15:04
homyintrepid amd6415:04
* xander21c 8,10 15:04
lordnoidubuntu 8.10 and xubuntu 8.04 :)_15:04
johnsgruberhardy15:04
Inteyintrepid, mostly "listening" though15:05
* joumetal is trying jaunty now.15:05
x_dimitriubuntu 8.0415:05
dholbachalright - let's get cracking then15:05
dholbachplease install the following packages first, we're going to need them:15:05
dholbach  dpatch fakeroot devscripts pbuilder debhelper15:05
dholbachok... we all want to fix Ubuntu bugs, but first we need to find a few that are probably going to be easy to fix :)15:06
dholbachwe have a tool called 'Harvest' for that15:07
dholbachHarvest itself does not know much about bugs or packages or distros, it's just designed to find "low hanging fruit"15:07
dholbachyou can find it at http://daniel.holba.ch/harvest15:07
dholbach<CuriousMe> QUESTION: Do I need to be on ubuntu machine for this session? I can ssh into one only. enough?15:07
dholbachCuriousMe: that should be good enough15:07
dholbachI selected a few bugs already, but while I talk a bit more about bugs and fixing them, please do the following (it will take some time to run in the background):15:08
dholbachcreate a file called ~/.pbuilderrc15:08
dholbachand put15:08
dholbachCOMPONENTS="main universe multiverse restricted"15:08
dholbachinto it15:08
dholbachif you installed the files I mentioned above, you should now only have to run15:09
dholbach  sudo pbuilder create15:09
dholbachto let pbuilder do the hard work of setting up a minimal environment for safely building packages while we're doing something else15:09
dholbachif you run into trouble, please say so on #ubuntu-classroom-chat15:09
dholbachalright, let's first have a look at http://daniel.holba.ch/harvest/handler.py?pkg=mwavem15:10
charlie-tca+15:10
dholbachharvest lists a one bugs (it's in two categories) for the mwavem package15:10
dholbachso let's all click on the 152712 link15:11
dholbachthe bug was filed quite a while ago, it seems that something in the init script is wrong15:11
dholbachwhen a bug is a bit older, I always first try to find out "was it fixed in the meantime?"15:12
dholbachif you click on the "Overview" link at the top of the page, you will get an overview of the versions in all the Ubuntu releases15:12
dholbachdoes anyone see a changelog entry on the Overview page that might have fixed the issue?15:12
dholbachit's this line:15:14
dholbach * Add LSB headers to initscript15:14
dholbachin this case we don't need to do anything, just mention that it was fixed in intrepid/jaunty15:14
dholbachso if somebody of you wants to close the bug with a friendly message, go ahead... :)15:15
dholbachI checked the new package already, the typo the reporter mentioned is fixed there15:16
dholbachlet's take a look at this URL next:15:16
dholbach  http://daniel.holba.ch/harvest/handler.py?pkg=telepathy-haze15:16
dholbachit lists one bug that was resolved upstream already15:16
dholbacha crasher bug15:16
dholbachif you take a look at the last comment in the bug, somebody let us know that it was fixed in the 0.2.1 version of telepathy-haze15:17
dholbachif you check the overview page, you will find out that the version made it into intrepid and jaunty too15:18
dholbachanyone up for closing the bugs? :)15:18
dholbachyou might ask: "hang on, this was fixed in a new version of Ubuntu, but what about the old releases?"15:18
dholbachdoes anybody have an answer?15:18
johnsgruberIt would have to be an SRU, no?15:19
dholbachjohnsgruber: exactly15:19
dholbachSRU stands for Stable Release Updates15:19
=== chuck_ is now known as zul
dholbachhttps://wiki.ubuntu.com/StableReleaseUpdates is the wiki page that explains the process for getting fixes into -updates15:20
dholbachwe're conservative on what we let into -updates, so if there's a severe problem and somebody finds a minimal fix (not a huge new version) to the problem, it will be considered15:20
dholbachin the cases above, I'd say: if they're fixed in the new version, we should be good15:20
dholbachsorry, replied in the wrong channel :)15:23
dholbach<johnsgruber> QUESTION: Do SRU's apply to all of "main universe multiverse restricted" or just a subset?15:23
dholbach<dholbach> johnsgruber: good question15:23
dholbach we fix them for all sections of Ubuntu15:23
dholbach it just needs to be justified, somebody needs to be willing to extract the minimal fix, then we upload it into -proposed and after sufficient testing (we don't want to add a regression to the fix) it gets into -updates15:23
dholbachok, I have another example:15:23
dholbach http://daniel.holba.ch/harvest/handler.py?pkg=pyglet15:23
dholbachwhat do we do about this one?15:24
dholbachany ideas?15:25
itnet7check the upstream release against intrepid15:25
itnet7?15:26
dholbachitnet7: did you take a look at the "pyglet overview page"?15:26
dholbachyou're right, that should be right place15:26
dholbach<joumetal> upload (merge?) that package to develpment version?15:26
thekorn_assroom-chat15:26
dholbachthekorn_: that was rude! :-)15:27
dholbachif you click on the "Overview" link of the bug page, you will see that we have the new version in jaunty15:27
dholbach<itnet7> Yes that is where I looked and noticed that jaunty is using the Newer release15:27
thekorn_sorry, the eeepc has a way to small keyboard ;)15:27
dholbachitnet7: good work - can you close the bug?15:27
dholbachdoes anybody know if there's a way we could still get the new pyglet version into intrepid?15:28
dholbach<gta47b> dholbach: backports?15:28
dholbachgta47b: Exactly!15:28
=== thekorn_ is now known as thekorn
dholbachwe have the -backports repositories for all current releases and this link explains how to request one:15:29
dholbachhttps://help.ubuntu.com/community/UbuntuBackports#How%20to%20request%20new%20packages15:29
dholbach<itnet7> dholbach: I haven't really ever closed any bugs before... I would like to close it, but don't want to make a mistake :-P15:29
dholbachitnet7: it's good to be careful15:30
dholbachso if you click on the yellow bar saying "pyglet (Ubuntu)" it will let you change the status15:30
dholbachif you choose friendly words explaining that the new version is in jaunty, but that backporting might be possible and link to the process documentation you should be good15:31
dholbach<gta47b> QUESTION: Is there a list of requested backports ?15:31
dholbachgta47b: good one... it's a good idea to check if the backport was already requested15:31
dholbachgta47b: if you check the process page I linked to above, you will see links to the open backport requests for all current releases15:32
dholbachalright... those were all very simple bugs where we could close them without much work15:32
dholbachit just requires some detective work to find out "who has been working on that already?"15:33
dholbachthat detective work is what makes good bug fixers, packagers, maintainers and developers15:33
dholbachyou've been all very careful and asked good questions - that's great :-)15:34
dholbachlet's now come to a bit more complicated example15:34
dholbachdid the pbuilder setup work out alright for all of you?15:34
dholbachhands up? :)15:35
CuriousMe^^__^^15:36
dholbachexcellent... some people replied in -chat as well - let's crack on then :)15:36
dholbachlet's take a look at http://daniel.holba.ch/harvest/handler.py?pkg=transmission15:36
dholbachit lists a lot of bugs that were resolved-upstream and a few fedora patches15:36
dholbachlet's take 291205 as an example15:37
dholbachyou will see that the bug is "confirmed" in Ubuntu and that it's "fix released" in the upstream bug tracker15:37
dholbachnow click on "transmission-trac #1317"15:37
dholbachit will take you to the upstream bug tracker15:37
dholbachit says the bug is fixed and the milestone is 1.4015:38
dholbachif you investigate some more, you will see that neither Ubuntu nor Debian has that new version15:38
dholbachso we're going to package it ourselves15:38
dholbachfirst: try to make sure you have a line like this one in your /etc/apt/sources.list15:38
dholbachdeb-src http://de.archive.ubuntu.com/ubuntu/ intrepid main restricted universe multiverse15:38
dholbachreplace "intrepid" with whatever you're running15:39
dholbachrun this afterwards15:39
dholbach  sudo apt-get update15:39
dholbachnow run15:39
dholbach  apt-get source transmission15:39
dholbachthis will download the current source package for transmission15:39
dholbachnow change into the directory that it created15:41
dholbach(transmission-<version number>)15:41
dholbach<charlie-tca> QUESTION: am I the only one with transmission-trac 1153?15:41
dholbachcharlie-tca: which Launchpad bug were you on15:41
dholbach?15:41
charlie-tca29120515:42
dholbachcharlie-tca: try https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/29292915:42
ubot5`Launchpad bug 292929 in transmission "transmission 1.34 inhibits hibernation by default" [Undecided,Confirmed]15:42
dholbachalright15:43
dholbachif you check the contents of the directory, you will see a directory called "debian" in the source code15:43
dholbachI can't go into too much detail here, I'll give out a few links about packaging later on, for now I'll just say: this directory contains all the changes that are necessary to make a package out of the source code15:44
dholbachbasically "make it build the Debian/Ubuntu way"?15:44
dstocd .15:44
dholbachwhat we'd normally do is the following:15:44
dholbach - go to the homepage of the software developers of transmission15:44
dholbach - download the new source code15:44
dholbach - apply all the changes to the new version that were necessary for the old version15:45
dholbachluckily we have tools to make that easier for us :)15:45
dholbachplease open  ~/.bashrc  (or the equivalent if you use another shell) in your favourite editor15:46
dholbachand add something like the following to it:15:46
dholbachexport DEBFULLNAME='Daniel Holbach'15:46
dholbachexport DEBEMAIL='daniel.holbach@ubuntu.com'15:46
dholbachsave the file and run15:46
dholbach  source ~/.bashrc15:46
dholbach(or restart your terminal)15:46
dholbachthat way the variables will be set in your session and the tools we're going to use now will pick them up15:46
dholbachif you run15:47
dholbach  cat debian/watch15:47
dholbachyou will see one of the files in the debian directory that will make the process of "download the new version, unpack it, apply the changes, etc." a lot easier15:47
dholbachplease run15:48
dholbach  uscan --download15:48
dholbachit will then check which new versions are available and get them for us15:48
dholbachthat worked out OK?15:49
dholbachif you take a look at  debian/changelog  now, it will probably look somewhat like this: http://paste.ubuntu.com/68884/15:49
dholbachthe first thing we do is change "intrepid" to "jaunty" - we can't upload to intrepid anymore, because it's released already15:50
dholbachthe next thing, which is very important, but which we're going to skip because of time concerns is: explicitly list all the bugs that were fixed in Ubuntu with the new version in a format similar to this: http://paste.ubuntu.com/68885/15:51
dholbachthe (LP: #12345678) syntax will then automatically close all the bugs when the package gets uploaded15:52
dholbach<weboide> QUESTION: if we want to package for jaunty, do we have to change the 'pbuilder create' then?15:52
dholbachweboide: yes, if you want to be a good developer, you might even want to run the development release, so you can test things properly15:53
dholbachhttps://wiki.ubuntu.com/UbuntuDevelopment/UsingDevelopmentReleases has more information how you can do that in a sane and safe way15:53
dholbach<itnet7> Question: When you close a bug with comments can you edit those comments to include further info if necessary?15:53
dholbachitnet7: yes, good point: it's important to be very verbose in the changelog because the next developer who touches the package (we maintain everything as a big team) needs to know what you changed and why15:54
dholbachOK, if you take a look at the debian/patches directory you will see a couple of patch files there15:54
dholbachthe people who worked on the package before needed to apply them apparently15:55
dholbach10_fix_crasher_from_upstream.dpatch is included in version 1.40b1 already, so we can delete it15:55
dholbachmake sure to remove it from debian/patches/00list as well15:55
dholbachmy changelog entry looks like this now: http://paste.ubuntu.com/68887/15:56
dholbachdid that work our alright for everybody?15:57
volohi15:57
dholbachoh, I just found another thing... it seems that since the last time the package was built, some library packages changed their name15:58
Aeoris_gekki15:58
Aeoris_*hello15:58
=== Aeoris_ is now known as Aeoris
dholbachso please also change libcurl-dev to libcurl4-openssl-dev in debian/control15:58
dholbachsorry, I just found it out now15:59
dholbachthen please run15:59
dholbach  debuild -S -us -uc15:59
dholbachthis will generate a new source package15:59
dholbachnow please run15:59
Aeorishey dholbach, back on berlin? ;)15:59
dholbach  cd ..; sudo pbuilder build transmission_1.40b1-0ubuntu1.dsc15:59
dholbachthis will start the build process for the new version15:59
dholbachI'm a bit sorry we had to rush through the whole process a bit quickly now16:00
dholbachplease all bookmark this one:    https://wiki.ubuntu.com/MOTU/GettingStarted16:00
dholbachbecause it links to all the necessary links (like the packaging guide, like the tutorial videos, etc)16:00
dholbachand also to the SponsorshipProcess which explains how to get packages uploaded to Ubuntu16:01
dholbachthanks a lot everybody - I hope you all had as much fun as I did! :)16:01
jcastrothanks daniel!16:01
=== jcastro changed the topic of #ubuntu-classroom to: Current Session: Xubuntu | Prefix questions with "QUESTION:" | Stay on topic | Run 'date -u' in a terminal to find the UTC time
jcastroNow it's Xubuntu with cody-somerville!16:01
dholbachmake me proud! :-)16:01
cody-somerville:)16:02
cody-somervilleHello everyone!16:02
Inteyhihou16:02
volohi16:03
knomehello cody :]16:03
cody-somervilleFor those of you who don't know, Xubuntu is an official derivitive of the Ubuntu project and is developed and maintained by members of the Ubuntu and Xubuntu community. In the recent months, the Xubuntu community of contributors has grown significantly.16:03
cody-somervilleFor example, knome is responsible for our nice new website :)16:04
knomeo/16:04
knomeCheck it out: http://xubuntu.org/16:04
cody-somervilleAnother accomplishment in the last six months has been the adoptions of a Xubuntu strategy document. We intend to use this document to help us communicate our long term goals for Xubuntu.16:05
cody-somervilleFrom the document: "The goal of Xubuntu is to produce an easy to use distribution, based on Ubuntu, using Xfce as the graphical desktop, with a focus on integration, usability and performance, with a particular focus on low memory footprint. The integration in Xubuntu is at a configuration level, a toolkit level, and matching the underlying technology beneath the desktop in Ubuntu. Xubuntu will be built and developed as pa16:05
cody-somervillert of the wider Ubuntu community, based around the ideals and values of Ubuntu."16:05
=== pengo_ is now known as newpengo
cody-somervilleThe latest release of Xubuntu provides a more polished experience over Hardy along with a number of new features such as the improved Network Manager 0.7. We had intended to ship the new Xfce 4.6 with Intrepid but unfortunately it was unavailable. Luckily, however, we do intend to provide the recently released Xfce 4.4.3 to Hardy and Intrepid users.16:06
cody-somervilleFor Jaunty, I'm happy to report that a number of new and exciting features will be included - such as samba browsing, metadata and search within Thunar, Xfce 4.6, and of course less bugs! :)16:07
cody-somervilleAnother goal for Jaunty is to improve and expand our community of artists and doc writers. For this, I'll give the floor to knome for the rest of the session to discuss how and why you should get involved in Xubuntu. :)16:09
knomeOk, I'm Pasi Lallinaho and I'm the newly appointed Xubuntu Marketing Lead.16:09
knomeIf you have any questions throughout the session, please feel free to ask them @ #ubuntu-classroom-chat, we'll answer them with Cody.16:10
knomeSo, Xubuntu like Ubuntu consists of separate teams.16:10
knomeOne is obviously developers, but there's a lot more to it.16:10
knome- Documentation team, which is responsible for the Docs16:11
knome- Web team, which keeps the website updated16:11
knomeA few more words about the web team now16:11
knomeWe've recently appointed Vincent (vinnl) as the new Web team leader16:12
knomeHe's put a *lot* work on the content of the new website lately16:12
knome- Artwork team16:13
knomeThe artwork team provides the artwork for the project, including the website, themes, wallpapers, ads...16:13
knomeWe're currently quite short on artist, feel free to join us!16:13
knome- Marketing team16:14
knomeThe marketing team is relatively new in Xubuntu.16:14
knomeThis idea was brought up when i joined the project.16:14
knomeThe marketing teams controls and leads the overall branding and promotion16:15
knomeThis includes for example soon to be released Artwork guidelines16:15
knomeThese guidelines explain further what kind of artwork we want16:16
knomeFor example, we have some keywords which should describe the looks of the artwork contributed to Xubuntu16:16
knomeThey're goal is also to keep the artwork and brand consistent16:17
knome*Their16:17
knomeThe marketing team (me) works closely with the artwork team (me and a few more) and the web team (vinnl and me)16:18
knomeWithout this close cooperation we couldn't have so nice website now - and released on time!16:18
knomeThe marketing team is responsible for any other advertising we might want: T-shirts, stickers, maybe some giveaway CDs, screencasts... The sky is the limit!16:19
knomeThat was about the teams of Xubuntu16:19
knomeNow I'd like to emphasize on the easyness to join Xubuntu16:20
knomeWe're a relatively small project, and I can assure you we're very welcoming and warm community16:21
knomeIt was really easy for me to jump in - only after a few months since I joined, we released the new website which was mostly my work16:21
knomeSo you can get quite big part on the project when joining.16:22
knomeThat means freedom and rights, but also responsibility.16:22
knomeStill I encourage you to join, if you like Xubuntu. We always need more people to help. Even if you didn't know what you could do, just join #xubuntu-devel and tell who you are and that you want to join and we'll make up something.16:23
knome< homy1> QUESTION: Shouldn't Ubuntu itself be able to run on lower hardware specs instead of making a special Xubuntu for that?16:23
knomeKind of yes and no. Xubuntu has Xfce as window manager and not Gnome, like Ubuntu has.16:24
knomeSo that's already a big difference. Xubuntu is not only for old/low spec hardware, but also for people who want the most out of their PCs.16:24
knomeIt's an another alternative.16:25
knome < popey> QUESTION: I've seen a lot of comments recently about Xubuntu not being as lean and quick as people expect it might be. What is the Xubuntu team doing to rectify this (on top of anything which applies across all of the derivatives like kernel/upstart changes)?16:25
cody-somerville:)16:25
knomecody-somerville, want to answer?16:26
cody-somervilleSure.16:26
cody-somervilleXubuntu is not meant to run on legacy hardware. Its intended to run on lower powered machines. People expecting Xubuntu to run on 32mb of ram with a Pentium I simply misunderstand the objective of Xubuntu. However, performance is a concern of ours.16:27
knomeQUESTION: "maybe some giveaway CDs" - does that mean Xubuntu CDs from ShipIt?16:28
cody-somervilleAs our team and pool of expertise grows, we'll continue to invest efforts into that objective while attempting to maintain a delicate balance. We want Xubuntu not only to be zippy but also usable and productive.16:28
cody-somervilleAh, yes. shipit.16:28
cody-somervilleUnfortunately, there are no plans to ship Xubuntu via shipit at this time.16:28
popeycody-somerville: if that's the case then perhaps https://help.ubuntu.com/community/LowEndSystemSupport needs changing - "Some systems with lower memory configurations will be more responsive without the extra eye candy provided by the Gnome interface. To install XFCE, a lightweight alternative to Gnome"16:28
knomeAbout the CD thingy:16:29
cody-somervillepopey, I think thats an accurate statement. :)16:29
knomeOffering CDs from ShipIt would have some serious costs.16:29
knomeWe don't have the money for that.16:30
cody-somerville[11:29] <toros> QUESTION: How much help does Xubuntu get from Canonical?16:31
cody-somervilletoros, We receive significant support and assistance from Canonical.16:31
cody-somerville:)16:32
knomeTrue.16:32
knomeAny other questions?16:32
InteyWill you ship persistent USB sticks and the likes with xubuntu on em in the future? I'd need one @ work, alot of old PCs at that place....16:35
knome< gta47b> QUESTION: XUBUNTU = Ubuntu -GNOME -other heavy apps + light apps ...is that accurate ?16:35
InteyUbuntu do so with flash drives, which basically are "too flashy"16:35
cody-somervilleIntey, A lot of old PCs can't boot from USB. However, you can use the new ubuntu tool to create a bootable usb.16:36
InteyWell it's broken for me and I fiolled a bug after folliwing the session yesterday ))16:36
cody-somerville:)16:36
knomegta47b, You're right.16:37
knomelordnoid said on -chat that Firefox isn't lightweight.16:37
knomeThat's also true, but we don't want to ship unready apps with Xubuntu either.16:37
knomeSometimes we just have to make a choice between a not-so-lightweight and a yet-to-be-finished product.16:38
knome< rzr> QUESTION: is today xubuntu more suitable than ubuntu than old distro for old computozors ?16:38
knomerzr, can you clarify?16:39
knome< toros> QUESTION: What's the main target group of Xubuntu? People with low spec hardware? Geeks, how want better performance? Netbook users? Or all of them?16:39
knomeIt's a common misunderstanding that Xubuntu is only for old hardware.16:39
knome"All of them" would be the best answer, though for example Netbook users there is the Netbook Remix.16:40
knomeAs i said earlier, Xubuntu is an alternative for Ubuntu, just like Kubuntu is.16:41
knomeIt might be faster, but everybody has to judge it theirselves.16:41
knome< gta47b> QUESTION: Can the recent xubuntu run as well as win95 on the h/w that win95 runs well on ?16:41
knomecody-somerville, can you?16:42
cody-somervilleI doubt it.16:42
knomeMore questions?16:43
knome< gta47b> QUESTION: Can you say use ubuntu on recent < 1 year old h/w, use Xubuntu on > x year old h/w, what would you say is "x" here ?16:44
cody-somervilleIt would be tough for me to give an accurate number. However, I'd recommend 256mb of ram and atleast 500mhz for a decent experience.16:46
cody-somervilleHowever, Xubuntu can most certainly run on lower specs and does very well on higher specs.16:46
knome< rzr> QUESTION: about computozors :) I meant I remember using debian potatoe w/ KDE on a 133 MHz  64MB , this will be probally impossible with today distros how comes ?16:46
knomeI think this is much the same as Cody said about the win95 machine.16:47
cody-somervilleChanges to core components have seen system requirements rise over the last decade.16:47
knomeOk, any other questions about the Xubuntu community/teams?16:47
cody-somervilleXubuntu will run on 133Mhz 64MB if you use the alternative cd but it'll be painful :)16:48
cody-somervilleI imagine debian potatoe with KDE on a 133mhz 64MB of ram was painful too - but not as pretty :)16:48
b33rlol people still use that kind of hardware?16:49
rzrcody-somerville: it was less painfull in my memories than using windows today :)16:50
Inteyby offering a more lightweight distro, ain't there a danger of pushing the plain Ubuntu to a more demanding future?16:50
knomeThere is always people who prefer Gnome over Xfce.16:51
cody-somerville:)16:51
cody-somervilleUnfortunately that is all the time I have for today.16:51
knomeYet again: it's your choice.16:51
cody-somervilleI'd encourage everyone to join us in #xubuntu-devel and to get involved!16:51
knomeMe too. See you there!16:51
InteyOK that sounded weird and almost harsh what I mean is on top of Xfce versus Gnome, they tend to add more and more Eye candy than fixing bugs in recent ubuntu versions16:51
cody-somervilleXubuntu is easy to get involved with and there is lots of room to air your creativity :)16:52
Odd-rationalethx, cody-somerville!16:52
Odd-rationaleand knome16:52
knomeMy pleasure.16:52
charlie-tcagreat job, cody-somerville and knome16:54
knomeGreat job all Xubuntu developers and contributors! :)16:54
knomeSee you at #xubuntu-devel16:55
jcastrothanks guys!16:59
knomeo/16:59
* RainCT is waiting for jcastro to change the topic :)16:59
* sebner winks RainCT :P16:59
=== jcastro changed the topic of #ubuntu-classroom to: Current Session:REVU Q+A | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
RainCTso, who's all here for the REVU session?16:59
knomehiya RainCT17:00
RainCTwell, I'll suppose most people are shy but will talk later ;)17:01
RainCTSo, hi all. My name's Siegfried Gevatter. I'm a MOTU and the current REVU Coordinator (and Developer).17:01
gta47bRainCT: Yes!17:02
RainCTFor those of you who are just hanging around and don't know what REVU (pronounced like "review") is, it is the web application that we use at Ubuntu to review new packages from other people for inclusion into Ubuntu.17:02
RainCTSo, people can just upload their packages there and eventually Ubuntu Developers will look at them and suggest improvements. The uploader should then submit new revisions doing the requested changes, and once a Developer things that the package candidate is good enough to enter universe/multiverse, he/she will "advocate it".17:02
RainCT*thinks17:02
RainCTOnce a package has two advocates (and no negative comments for the last revision) the package will enter Ubuntu.17:02
RainCTAh, REVU can be found at: http://revu.ubuntuwire.com17:03
RainCTIf you look at REVU's start page, you'll see that there are currently a lot of packages pending review. This is because there are way more people submitting new packages than developers reviewing them, but also because the last cycle wasn't very good for REVU and packages have accumulated there.17:03
RainCTWe hope that this will improve this cycle, though (and are actively thinking of new strategies to make REVU work more efficient). So, if you have some package there waiting for review please be patient :).17:03
RainCTBy the way, today is "REVU Day" (a day on which many developers will give special importance to package reviewing), so if you have a package on REVU don't hesitate to join #ubuntu-motu and ask for someone to review it (and wait for a while there; it may take time for people to answer).17:04
RainCTIf you are wondering when the next REVU Day will be, there's going to be one every Friday in the coming months. Note that there's also a big announcement on the top-left corner of all REVU pages announcing when the next one will be (or if there's currently one running, like now).17:04
RainCTAnyway, let's start with the Q&A. I hope for this to be an open and participative session, so let me hear your questions, and feel free to speak here instead of in -chat :).17:04
woody86How could we (as normal non-motu) help out reviewing the packages in REVU?17:05
homy1So if I would like a program to be included in official ubuntu universe, I'll start out with uploading it to REVU?17:05
RainCThomy1: If you feel comfortable enough writting a package from scratch, yes. But first ensure that there's no one already working on it, neither on Ubuntu nor on Debian.17:06
RainCTYou can find packages which are being worked on at Debian here: http://www.debian.org/devel/wnpp/17:07
homy1well, I'm sure it isn't worked on in debian....17:07
RainCT(For normal users who want to request a package but don't want to package it, you can file a needs-packaging bug as described on https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages)17:09
RainCTand for those who want to create on, there's information on it on the same page :)17:09
homy1Will every package be accepted for universe automatically if it is17:09
homy1* in a correct package format (ie. lintian checks etc ok)17:10
homy1* and qualifies for the licenses of universe?17:10
RainCThomy1: (on your previous comment) Then it would be great if you work on it, but note that it can be a bit difficult to get it right if you haven't done any packaging before, so don't get easily frustrated :)17:10
RainCTIt's usually recommended that new contributors start by fixing bugs, working on syncs/merges, etc., but if you would like to start creating a package from scratch rather than that's perfectly fine, too17:11
RainCTAnd no, no packages will be accepted "automatically".17:11
RainCTAs I said, they will be reviewed by MOTUs or Core Developers, and at least two of them have to be happy with the package quality17:12
RainCTso it will be accepted if a) the licensing is correct, and b) you do everything necessary to get the package into good shape17:13
RainCT(note that packages can be rejected if they are not considered worthwile for inclusion into Ubuntu, but this doesn't happen usually)17:14
RainCT(in fact, I think I've never seen this :))17:14
RainCTAh, if you decide to create a package then it's also important that you are happy to maintain it afterwards. There are currently many packages in Ubuntu with no one interested to look after them, so please do not "package and leave" :)17:16
RainCTdid this solve your question?17:16
homy1what happens with those orphaned packages? Are they eventually deleted?17:16
RainCTUsually not, unless there's a reason for this (very buggy, obsolete and no longer useful, etc.).17:17
homy1QUESTION: <marrow>  Where can the "orphaned" packages checked out?17:17
RainCTI think there's currently some discussion on creating a team to look after them17:17
RainCTand get them into better shape (fix pending bugs, etc)17:18
RainCTThere's a pretty useful tool called "Ubuntu External Health Status" which does list some information on packages that are either not in Debian or in Debian but maintained by the "Debian QA Team" (ie, they haven't a real maintainer)17:19
RainCThttp://qa.ubuntuwire.com/uehs/17:19
homy1QUESTION: <marrow>  Is there some website where the orphaned packages are listed?17:19
RainCTThis page is actually a pretty good start point if you want to get involved with packaging tasks17:20
RainCTI've just answered that :). The UEHS page does list many such pages which have some problem, but I don't know of any list listing them absolutely all17:20
RainCTHarvest (http://daniel.holba.ch/harvest/) is by the way also a quite useful page to find easy tasks, but it focuses on all sorts of packages. If you want more information about this check the logs of Daniel's session on "Fixing a bug in Ubuntu - it's easier than you think"17:22
RainCTI'll answer woody86's question now, why I skipped before :P17:23
RainCT< woody86> How could we (as normal non-motu) help out reviewing the packages in REVU?17:23
RainCTThis is actually a very good question (and a bit difficult to answer :))17:23
weboideQUESTION: Can we upload packages built against jaunty on REVU yet? And is it possible to upload a package for both intrepid (for backports for example) and jaunty?17:24
RainCT(weboide: I'll answer that after the current question)17:24
weboidenp :)17:24
RainCTIf you have absolutely no packaging experience then there isn't really much you can do to help on REVU17:25
RainCTPerhaps trying to install packages from there and verifying if they work correctly17:25
RainCTwhich will be easier once I add the possibility to link REVU packages to PPAs (there's an "Import from PPA" option in the pipeline, btw)17:25
RainCTbut if you really want to help I'd suggest you to learn about packaging, which will allow you to do much more useful stuff17:26
RainCTonce you are confident with packaging, feel free to review packages and leave comments if you think you've found an issue17:27
woody86RainCT- sounds good, thanks :)17:27
woody86I'm being mentored right now, so hopefully I can help you guys out a little more really soon17:27
RainCTI'm thinking about adding an option for UUC (Ubuntu Contributing Developers - people who have acquired Ubuntu membership through work on packages) to give "recommendations" on packages17:28
RainCT(well, perhaps this isn't the best word)17:28
RainCTI don't mean comments with this (which is already possible, and encouraged :)), but the possibility to reject/advocate a package, but instead of couting the rejection or moving the package to the "needs work" section this will just show a special sign to let MOTUs/Core Devs know that someone has looked at it17:30
RainCTso if an UUC finds many obvious errors in a package he can recommend for it to be moved to "needs work" and a Developer can then do this17:30
RainCTOh, something I've forget before. If you have no packaging skills you can help verifying if a package is also being worked on in Debian, but this will be done by automatic tools somewhen soon17:31
RainCTwoody86: is this what you wanted to know? :)17:32
RainCTany doubt related to this particular question?17:32
RainCTI'll assume no then, feel free to ask later if you have a question. Now to weboide's question17:33
RainCT< weboide> QUESTION: Can we upload packages built against jaunty on REVU yet? And is it possible to upload a package for both  intrepid (for backports for example) and jaunty?17:33
RainCTYes, you *should* upload packages for Jaunty, but only for Jaunty.17:33
RainCTIf you want to get it backported later then it's helpeful to ensure that it works (eg, the dependencies aren't too high unnecessarily, etc.)17:34
RainCTbut there can't be two different versions of a package at the same time on REVU, and only packages against the current development release are accepted17:34
RainCTso, first get it into Jaunty, and then you can request a backport of it the usual way17:35
RainCTas explained on https://help.ubuntu.com/community/UbuntuBackports17:35
weboideThank you RainCT i'll focus on jaunty then ;)17:36
* RainCT waits for more questions :)17:37
sebnerQuestion: What is planned for the future (features , changes for Developers and Users) besides those you already mentioned :)17:38
woody86RainCT- no, that cleared everything up! Thanks :)17:38
RainCTSuggestions on how to improve REVU and the current processes are also welcome, btw. If you later have any question/comment, feel free to contact me on IRC or by mail. For problems with REVU, #ubuntu-motu is usually a better place to ask, though17:38
RainCTnow that's a question I've been waiting for :)17:39
RainCTthere are many things in the pipeline and many more ideas about which I'm still thinking17:40
RainCTsome which you may expect to be available within the coming weeks/months are:17:40
RainCTSeeing the IRC (Freenode) username of REVU users next to their nick, linking (manually or automatically ) REVU packages to Launchpad, Debian, PPAs and Brainstorm (if we decide that package requests should be accepted there)17:41
RainCTthe PPA import being finished, a possibility for reviewers to post neutral comments (to ask questions, leave comments, etc. without moving the package to the "needs work" queue)17:42
RainCTa "My uploads" section showing all your packages at the top of the index page, to have a better overview over them17:42
RainCTand more :)17:43
sebner:)17:43
RainCTah, another interesting one: statistics and graphics on how many packages are pending review, how many are accepted, etc.17:43
weboideQUESTION: When uploading to REVU, the package version should be normal format (2.4.3-0ubuntu1 for example)?17:43
=== pengo__ is now known as newpengo
RainCTFurther, I'm heavily thinking about how to improve the current processes and also about work with Debian (if you are interested in this, I may send a message with my toughts to the utnubu mailing list within the coming days/weeks).17:45
RainCTweboide: that's right! :)17:45
RainCTthe Debian revision for new packages on REVU should always be "-0ubuntu1"17:45
=== P is now known as Guest19192
sebnerRainCT: send it ;D17:46
weboidethanks, just makin sure :)17:46
RainCTand the upstream version (what comes before the last "-") should be the upstream version, but in some cases you'll have to change it17:46
sebnerQuestions. So you will also try to collaborate with Debian mentors?17:46
RainCTyou may find weird upstreams who use versions like "2.0beta1"17:46
RainCTusing this as the version of the package would break updates, so you'll have to use 2.0~beta1 instead17:47
RainCTthe "~" means "before" (and there's also "+" which means "after)17:47
RainCTso the complete version in this example would be "2.0~beta1-0ubuntu1"17:47
weboidethat would mean "before the version 2.0-0ubuntu1"17:48
RainCTweboide: indeed17:48
RainCTNote that you don't need to bump the Ubuntu revision in order to upload new candidates (though this may be required if you go the PPA way once there's the PPA Import feature; I'll figure something out to automatically fix the version string for those)17:48
RainCTI'll also mention that it's a common mistake for new contributors to upload packages with changelog entries coming from their PPA - this will always be rejected17:49
weboideYou mean with a ppa version?17:50
RainCTdebian/changelog must only have one entry, and the Debian revision must be 0ubuntu117:50
RainCTalso, using a version like "1.0-0ubuntu5" because «I've uploaded this package previously to my PPA using broken versioning and have "1.0-0ubuntu4" there. I want -0ubuntu5 now to ensure proper upgrads» is usually not accepted17:51
RainCTweboide: yes, version and changelog entries17:51
* sebner slightly feels ignored :P17:52
RainCTsebner: Yes. Collaboration with Debian, in any way, is a very interesting topic and it would be great to get something working there17:52
RainCTbut there are no specific plans yet17:52
sebnerRainCT: but keeping in mind that a package in ubuntu won't always get automatically accepted in Debian :\17:53
RainCTSure. We still have a few minutes until Mike can rock with Launchpad i18n, so, is there any other question?17:53
sebnerHow many people are working on Revu currently?17:54
RainCTI missed this one:     < marrow> QUESTION: If only those packages are accepted, which are aimed for the  current developement release, than what happens  with those which are still in REVU, but originally they were submitted for an older release?17:54
RainCTThis is a good question. If a package has "intrepid" in the changelog but is otherwise good it may still be advocated and this will be changed by the uploader before uploading it17:55
RainCTThose packages may be moved to the "needs-work" section at some point, though, to ensure that their submitters are still around and interested in getting them into Ubuntu - so that we don't review them for nothing17:56
RainCT(but it's unsure if and when this will happen)17:56
RainCT< sebner> How many people are working on Revu currently?17:57
RainCTsebner: in which regards? Developers, reviewers..?17:57
sebnerRainCT: everthing you can tell me :P17:57
RainCTAt the moment, actively working on the code there's basically only me. Michael Casadevall (Ncommander) did some important contributions a couple months ago, though (and apachelogger provided some great icons :))17:59
garferiomg http://www.youtube.com/watch?v=2eSLaQQiok0&feature=related17:59
RainCTif you want to know the total amount of people with upload rights to the branch, check https://launchpad.net/~revu-hackers17:59
garferisry, wrong place17:59
RainCTFinally, there's a list of the most active reviewers on http://revu.ubuntuwire.com/stats.py18:00
sebnerRainCT: kay, thx. and the hour is over :P18:00
RainCTIt's time, so the session ends here. Feel free to catch me later if you still have anything you'd like to ask/tell me.18:00
nandOk, nice session RainCT, thanks!18:00
RainCTThanks all for your interest! :)18:00
nandNext is a presentation about translation and internationalization in Launchpad by mrooney!18:00
mrooneyHello!18:01
=== nand changed the topic of #ubuntu-classroom to: Current Session: Translations and Internationalization with Launchpad | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
mrooneyI am Michael Rooney, and I'll be talking about setting up a project for translations, getting translations, and then integrating them into your project, with the help of Launchpad.18:01
=== andi is now known as Guest44770
mrooneyI won't be talking explicitly about the overall Ubuntu translation effort, instead more on a per-project level.18:01
mrooneyIncluding what developers can do, how users can help, and how multi-lingual speakers can help. Really anyone can contribute to the process.18:01
mrooneyBut I will try to address any questions to the best of my ability, don't forget to ask in #ubuntu-classroom-chat, prefacing them with QUESTION and/or mrooney :)18:02
mrooneyI have also recently overviewed this process on my blog at http://mrooney.blogspot.com/ , so if you want to ask questions later feel free to head over there and leave a comment.18:02
mrooneyOkay so first, let's give a brief overview, what is internationalization (i18n) and localization (i10n)?18:02
mrooneyWho here already has an idea?18:02
mrooneyOkay well good, I shall explain!18:03
mrooneyFirstly, they are often abbreviated as above because of the number of letters between the first and last letters.18:03
mrooneyi18n is the process of making locale-specific elements of your application translatable.18:03
mrooneyi10n is then integrating translations into the project so that users of those languages see their language by default instead of English.18:04
mrooneyThe scope of this is generally more than just language, and includes the way currencies are displayed, among other things. Everything to do with another culture.18:04
mrooneyFor a more thorough explanation, see http://en.wikipedia.org/wiki/Internationalization_and_localization18:04
mrooneyI am now going to cover why and how to do this, but first let me ask if there are any questions before going on, such as about the goals of this process?18:04
mrooneyBasically, we want people speaking other languages to be able to use applications!18:05
mrooneyIf you don't localize, people not speaking English can't use your application!18:05
mrooneyAnd that's no fun.18:05
mrooneyPlus to be included into Ubuntu, at least the main repository, a project will need to have translations.18:06
mrooneySo now the first step is i18n, making a project translatable!18:06
mrooneyI am going to start out with a really simple python example, so anyone can follow allow if they want.18:06
mrooney*along18:06
mrooneyThis is where developers of projects can help, but it is also simple enough that a casual user of the application could contribute to this process as well.18:07
mrooneyBasically, we need to wrap all user-visible text under a translation lookup layer.18:07
mrooneyInitially this will be slightly technical but I think we can handle it :)18:07
mrooneyWe will use gettext (http://en.wikipedia.org/wiki/Gettext) for this.18:07
mrooneyLet's use a simple python program. We will create a file called "example.py"18:08
mrooneyNow we will put one line in it: print "Hello, world!"18:08
mrooneyWhen run, this will print "Hello, world!" to the console!18:08
mrooneyBut there is a problem, does anyone see it?18:08
mrooneyOkay the problem is, anyone not speaking english won't understand this program!18:09
mrooney(while the examples I use are Python, any modern language should have very similar equivalents)18:10
mrooneyFirst let's make python aware of what language the user is using!18:10
mrooneyLet's add one line to the top18:10
mrooneyimport locale; locale.setlocale(locale.LC_ALL, "")18:10
mrooneyWhat we do here is import the locale module and tell it, for all aspects of a locale: language, currency, dates, etc. (LC_ALL), use the users default language ("")18:10
mrooneyAny questions there?18:11
mrooneyNow we need to add the translation layer for text:18:11
mrooneyimport gettext; gettext.install("yourAppName", "locales")18:11
mrooneyThis tells gettext to install itself and use "yourAppName" as the scope18:12
mrooneythe name you use here won't matter unless you get into more complex translations18:12
mrooneythe "locales" is telling gettext where to attempt to find translations18:12
mrooneyie a folder named "locales" wherever test.py is located.18:12
mrooneyQUESTION: ilia: mrooney: don't you mean "l10n" (i.e. L10N ) when you write "i10n"?18:13
mrooneyYes, I do, sorry :)18:13
mrooneyforgot to connect the dot :)18:13
mrooneyQUESTION: Is the «import locale; locale.setlocale(locale.LC_ALL, "")» chunk really necessary? I've a Python project using gettext but I don't do that there; could this cause any problem?18:14
mrooneyIt is definitely useful for other aspects of l10n including currency and dates, though gettext may be able to pick up on the default language by itself18:15
mrooneyIf you are only localizing your application with translations and you have found that it works without that, it is probably fine!18:15
mrooneyOkay, now, what gettext.install has done is create a function, named _ (the underscore key), so that it is quick and easy to type and spot.18:16
mrooneySo now we can change: print "Hello, world!" to print _("Hello, world!")18:16
mrooneyWhat this does is give "Hello, world!" to gettext and ask, do you have a translation for this text, for the users language?18:16
mrooneyNow in the case of English, it will just give back the same text.18:17
mrooneySo if you are following along you can run it now, and it will still print "Hello, world!"18:17
mrooneySo that is the first step, wrapping all user-visible strings in _(), which an intermediate user could probably take a stab at, by downloading a projects source and searching for text they find in the application, assuming it isn't already internationalized, of course.18:17
mrooneyOkay, now we are through the technical part, does that process make sense? Any questions?18:18
mrooneyQUESTION: C++ equivalent?18:18
mrooneyThe wrapping of the strings is going to be the same in almost any language18:19
mrooneyThe only different part is going to be the initializing line, I don't know it off hand for other languages but it should be easy enough to find online18:19
mrooneySorry I can't be more specific, there18:20
mrooneyOkay, now we need to make a translation template that translators can use!18:20
mrooneyThis is fairly easy and involves running xgettext on the files you updated.18:20
mrooneyThere are language specific programs, python has one, but I am using xgettext as it should work with Python, Java, C++, and others18:21
mrooneyso in this case, you'll want to run "xgettext example.py > messages.pot"18:21
mrooneyIf you have a bunch of files you can string them, such as "xgettext file1.py file2.cpp > messages.pot"18:22
mrooneyThis will create a template called messages.pot, which contains all the strings necessary for translation.18:22
mrooneyNow from this, an experienced translator could make a translation for you.18:22
mrooneyBut to make it as easy as possible, we want to use Launchpad's Rosetta service, which provides a simple web UI to do this!18:23
mrooneyIf the project isn't already in Launchpad, go to launchpad.net to register, which is completely free.18:23
mrooneyFrom here on out I'll be using my project, wxBanker, as an example18:23
Inteylink plz18:23
mrooneyEdit your projects details (in my case: https://launchpad.net/wxbanker/+edit) and check the box that says "Translations for this project are done in Launchpad", scroll to the bottom, and click "Change".18:23
mrooneyYou probably won't be able to edit my project :)18:24
mrooneybut the general page is https://launchpad.net/wxbanker18:24
mrooneyNow click the Translations tab of your project in Launchpad and upload the .pot file you just generated with xgettext.18:24
mrooneyIf this is your first time doing so, it will need to be reviewed by a human, and will take perhaps a day to get approved, at which point you will receive an email letting you know it has been and you are good to go.18:24
mrooneyOnce it has been approved, your project can now be translated!18:25
mrooneySo go to say https://translations.launchpad.net/wxbanker, and if your language settings are configured for more than English, you can start translating!18:25
mrooney(there is "Select languages" option in the lower right)18:25
mrooneyQUESTION: Could you explain why new translation templates have to be manually reviewed before being accepted, please?18:26
mrooneySo you have upload messages.pot, which is basically a text file containing all the strings18:26
mrooneyHowever before it goes into Launchpad, someone needs to make sure you actually generated it correctly, that it looks sane, et cetera18:26
mrooneySo that someone doesn't say try to make their own by hand or otherwise do something silly18:27
mrooneyPerhaps someone wasn't wrapping their strings correctly, or another issue. Maybe the original strings aren't in English!18:27
mrooneySo in this way a human needs to verify it is sound.18:28
mrooneyMake sense?18:28
Inteydoes.18:28
RainCTYep, thanks :)18:28
mrooneySo now, how can you get it translated?18:28
mrooneyWell, if you know another language you can tell launchpad via the language settings button18:29
mrooneyThen you translate into that language yourself.18:29
mrooneyHowever, this probably isn't the case for a lot of people, and one language won't be enough.18:29
mrooneyA very interesting feature of Launchpad however is that it will show translations from other projects, so you can do common ones yourself without knowing the language.18:30
mrooneyFor example if "Hello" is in your template, it will tell you that other projects use "Hola" for Spanish and allow you to select that.18:30
mrooneySo in this way you can make all the basic File, Help, Save, and such translated18:30
mrooneyThere are a lot of projects in Launchpad, you might be surprised to find that translations already exist for a lot of strings!18:31
mrooneyQUESTION: will there be a special howto available for those of us who dont write code at all, consider themselves power users though and are literate enuff...in short: ppl that just want to translate, efficient, sound, clean. supportive....blah..?18:31
mrooneyIntey: do you mean people that know another language and want to translate from English into that?18:32
Inteyexactly^18:32
mrooneyIn that case what you will want to do is probably is join ubuntu-translators (https://translations.launchpad.net/+groups/ubuntu-translators)18:33
mrooneyHowever you will probably need to demonstrate you have translation experience as those users can translate all of Ubuntu (and we need definite help there!)18:33
mrooneySo you may want to find projects (like wxBanker) which is open and allows anyone to translate18:33
mrooneySo I would start off volunteering to translate new projects18:34
mrooneyThere are going to be a lot of new UIs made for Jaunty, for example, I imagine, so if you want to start asking around how you can help translate those18:34
mrooneyQUESTION: What do we have to do in case of changes made to the source code? Should we just freeze the project and wait for the translatians to be done and then release the project?18:34
mrooneyWell, the advantage of gettext is that it won't cause any regressions18:35
mrooneySo you can wrap all your strings and generate a template , and it will still function the same18:35
mrooneySo you don't have to freeze the project development, you can release it internationalized with no translations for example18:35
mrooneyDoes that make sense?18:35
weboideyes, and what happens when you upload new/updated *.pot files to LP?18:36
mrooneyweboide: so when you upload a new template, any strings already translated are naturally not lost18:36
mrooneyso if you forgot to wrap say the "Help" menu (a real example that happened to me :)18:37
mrooneyyou can wrap that in the code, generate a new template, upload it, and now there is one new string18:37
mrooneyWhen people translate that string (or you use suggestions), just download the translations again and replace the old ones18:37
mrooneyand now you have that translation for the new string18:38
weboideThanks :)18:38
mrooneyQUESTION: How are translations done for static content like SVG images, themes and books? Can those be helped via Launchpad as well?18:38
mrooneyIt depends :)18:38
mrooneyAs long as you can generate a list of text that needs to be translated, yes18:39
mrooneyPicklesworth: It should also be noted, on the topic of translations, that GTK offers a lot of Stock content for things like menu items and buttons, which magically translate themselves too18:39
mrooneyYes, that is a good point18:39
mrooneyAnd addresses what RainCT asked earlier I believe, with setting up the locale module18:40
mrooneyWhen you do that, stock names including File, Edit, About items will often be automatically translated if the framework suppots it18:40
mrooneyQUESTION: how do you handle constraints (like: there's only so much room for a line of text)18:41
mrooneyThis gets more into UI design, but it is a great point18:41
mrooneyIf you are using a UI framework properly, you ideally won't have such constraints18:42
mrooneyIt is important to almost never use absolute positioning, for example18:42
mrooneythis will cause painful issues18:42
mrooneyYou want to design it from the ground up ideally, to make minimal assumptions about length, such as using controls that support word-wrapping18:43
mrooneyGTK and wxWidgets for example have the concept of sizers18:44
mrooneyAnd you will want to use layout elements like that18:44
mrooneysamgee: does that answer your question at all?18:44
samgeeI guess so18:44
Inteywait, as a end-translator, does launchpad offer ways to see the maximum character lenght or somesuch? if not..blueprint?18:45
mrooneyBasically you want to attempt to eliminate constraints by word-wrapping and laying out without making assumptions18:45
mrooneyIntey: You can add comments to each string, which I didn't mention18:46
mrooneyIntey: but for example you might put // TRANSLATORS: this string can only be 100 chars18:46
mrooneybefore the string18:46
mrooneyand if you pass something like --coments=// to xgettext, it will add that to the template and show up on Rosetta18:46
mrooneyI don't remember the exact xgettext argument, it probably isn't exactly that18:47
mrooneyBut in that way you can inform translators of specific knowledge18:47
mrooneyand context18:47
mrooneySo that can help address samgee's issue perhaps as well. When you have to have a constraint, you can at least make translators aware18:48
mrooneyLet's see before I explain getting the translations into your project, which is easy, there was one more ?18:48
mrooneyIntey: I sometimes find myself accidentoly adding translations that have already been suggested, whilst proof-reading them...18:48
mrooneyIntey: as a result fellow translaters think Im stealing their work ...sort of18:48
mrooneyRosetta will inform you of whether you can freely use a suggested translation or not18:49
mrooneyIt will put a yellow warning sign next to a suggestion, if Launchpad isn't sure that you can freely use it18:49
mrooneyand in that case you would need to ask or review the license18:49
mrooneyAnd conversely when you make translations in an open-source project, you are typically allowing OTHER translators to use what you used18:50
mrooneyin another project18:50
mrooneyOkay lets go to the final step!18:50
mrooneyOnce you have some translations in Launchpad, you are basically done and it is super easy to integrate them into the project!18:51
mrooneyVisit the translations page for your project in Launchpad, and click the "Download translations" link on the right.18:51
mrooneyFrom here ensure "Everything" is selected, and change the Format to "MO format" (what gettext will use). Now click "Request download".18:51
mrooneyThis isn't always instant, although you will be emailed with a link to the file if it isn't.18:51
mrooneyNow, remember that "locales" folder we told gettext about earlier?18:51
mrooneyOnce you downloaded your file "launchpad-export.tar.gz", extract that into where your source is, and rename it to "locales".18:52
mrooneyBam! Now gettext will find your translations and use them instead of English when available18:52
mrooneyBam! Now gettext will find your translations and use them instead of English.18:52
mrooneywhoops, well twice for emphasis18:52
mrooneyNow anyone using a language that you have a translation for, will now see the translations instead of English!18:52
mrooneySo that is the process from start to finish18:52
mrooneyAny other questions?18:53
mfonisoyeah...18:53
mrooneyRainCT: Did I address your locale.setlocale question, on the advantages of how frameworks such as GTK and wxPython will pick up on that and translate stock strings automatically?18:54
mrooneyQUESTION: what are the limitations of gettext? Are there any alternatives that provide advantages (I remember a Mozilla talk at FOSDEM about something better in the works)18:54
mrooneyOne limitation is that strings are translated in an all or nothing approach18:54
mrooneyeither you have a translation that exactly matches or it doesn't get translated18:55
RainCTmrooney: Yes, thanks :). (It isn't an issue for my project as it uses pygame, but that's good to know).18:55
mrooneyso if you have a translation for "Hello" and "world", you still need one for "Hello world"18:55
mrooneyif you use all of those18:55
mrooneymfoniso: a question?18:55
mrooneyQUESTION: is automatic translation an option (babelfish etc.) an option if there are not enough volunteers?18:56
mrooneynot that I know of, and that would generally produce poor translations18:56
mrooneyhowever, using the suggestions from Rosetta is almost as good and will get you better results18:56
mfonisomrooney: I've asked in #ubuntu-classroom-chat18:56
mrooneyhowever it is a one-at-a time operation18:56
mrooneyQUESTION:how does one go about doing translations into other langauges, for ubuntu18:57
mrooneyOkay let's see if I can address this as my last question18:57
mrooneyIf you look at https://translations.launchpad.net/ubuntu, you will see we need a LOT of translations!18:57
mrooneySo help in this area is hugely appreciated and needed18:58
mrooneyand rewarding because you can see your own translations :)18:58
mrooneyto be able to translate here, you need to be a member of ubuntu-translators18:58
mrooneySo you'll want to look into joining https://translations.launchpad.net/+groups/ubuntu-translators18:58
mrooneywhich will allow you translate almost all of Ubuntu that supports it18:59
mrooneySo find the sub team that you want to translate in18:59
mfonisonice18:59
mrooneyAnd you can ask to join their group19:00
mrooneyOkay, I hope that wraps it up!19:00
jcastroYay, thanks Mike!19:00
mfonisowhat do you mean by sub team?19:00
=== jcastro changed the topic of #ubuntu-classroom to: Current Session:Writing Python programs using the Launchpad API | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
mfonisosorry, I don't mean to drag it out19:00
mrooneyIf you have any questions relating to this, feel free to get in touch me , details are on launchpad.net/~michael19:00
samgeethanks mrooney19:00
InteyAwesome class there, thanks19:00
mfonisook, thanks mrooney19:00
jcastrook great19:01
jcastronext session is how to write Python apps using the Launchpad API19:01
jcastrobarry: take it away!19:02
barryjcastro: thanks! hello everybody19:02
barryi'm going to to try to provide some instruction on using launchpadlib to write python programs that access launchpad through its webservice19:03
barryi've never done an ubuntu open week session before so please be gentle :)19:04
barryfirst some background:19:04
barryas you know, there are lots of things you can do through launchpad's web interface.  you can submit and manage bugs, register branches, answer questions ,etc.19:04
barryyou also have a lot of data in launchpad that you can access through the web ui19:05
barryour intent is that anything you can do through the web ui, you shoudl be able to do in a script19:05
barrywe've published a REST interface to launchpad, making it a "web service"19:06
barryand we provide supported python bindings to that REST interface, to make it really easy for you to script launchpad via python19:06
barryit's feasible for third parties to write bindings for the REST interface in other languages, though we won't support it officially19:06
barryyou can get the python bindings from here:19:07
barryhttps://launchpad.net/launchpadlib19:07
barryand...19:07
barryhttps://code.launchpad.net/launchpadlib19:07
barryand all the documentation is here:19:08
barryhttps://help.launchpad.net/API/launchpadlib19:08
barryany questions so far?19:08
barrystdin: reminds me that launchpadlib is packaged in intrepid, so it's easier to get19:09
barrystdin: thanks19:09
barrypython-launchpadlib19:09
barrywe haven't yet put the code in the cheeseshop, but that will happen at some point19:09
barrythe api docs mentioned above provide a nice starter for scripting launchpad, but there are a couple of things to be aware of19:11
barryfirst, there's an open bug describing a problem scripting the staging server, so it is recommended that you test against edge for now.  be careful though because edge has real data, so try to use read-only changes to start with19:12
barryalso, you will need a web browser available because launchpadlib must authenticate you through your browser19:12
barryyour browser is the only client you trust :)19:12
barryalso, you need to be a launchpad beta tester currently to have access to the launchpad web service19:13
barrywhen you go through the tutorial on the docs page, you will be asked to grant your application various levels of authorization19:14
=== b33r_ is now known as b33r
barrydoes anybody have any questions?19:15
barryi should also mention that full launchpad functionality is not yet exposed in the web service.  you can do a lot of stuff right now and over time we'll be fleshing out the missing pieces19:16
barryour intent is that you should be able to access any data you have permission to in the web ui19:16
barryand perform any tasks you have permission to also19:16
barryi highly recommend reading the tutorial mentioned above, it will give you a great start into scripting launchpad via python19:17
barryalright, so let's go through a simple example19:22
barryi'm assuming you already have launchpadlib installed.  if not, and you're having problems with that, let me know19:23
barrynote that you'll also need wadllib installed.  i would think the intrepid package dtrt, but if you're installing from source, launchpadlib's setup.py doesn't yet depend on wadllib19:23
barryyou need to start by authenticating to launchpad, through your browser19:24
barrymake sure your browser is open and that you're logged into launchpad19:24
barrythen fire up your python interpreter19:25
barrystart by importing some useful objects:19:25
barry>>> from launchpadlib.launchpad import Launchpad, EDGE_SERVICE_ROOT19:25
barrygenerally, you will want to set up caching, as this makes interacting with launchpad much faster.  to do this you need to set up a cache directory19:25
barryin the following i'm going to use /tmp/cache but you can use anything you have write permission to19:26
barrythe next step is to authenticate to launchpad (again, note that i'm using edge here)19:26
barrylaunchpad = Launchpad.get_token_and_login('just testing', EDGE_SERVICE_ROOT, '/tmp/cache')19:26
barrythis creates an aplication for you called "just testing"19:27
barryit sets your client to talk to edge and to cache data in /tmp/cache19:27
barryyou'll now see a message at stdout and your python will be waiting for you to complete the task19:27
barryyou should also notice your web browser has opened an authentication page19:28
barryit's at this point that you are going to grant the appropriate access to  your launchpadlib application19:28
barryi   recommend for now to select read-only data19:28
barryany questions or problems so far?19:29
barrygreat19:29
barryonce you've given access to your application, go back to your python prompt and hit return19:30
barryyour python client is now primed and ready to talk to launchpad19:30
barrythe 'launchpad' object is your door into the vast array of objects and actions you can take19:31
barryyou can think of it as the root of a big tree of resources19:31
barryi.e. web resources19:31
barry'launchpad' has a number of top level objects directly under it19:31
barryand through it you can access bugs, people, etc19:32
barryfor example, the first thing you can do is view the person object that represents yourself:19:32
barry>>> launchpad.me19:32
barry<person at https://api.edge.launchpad.net/beta/~barry>19:32
barryit's through 'launchpad.me' that you can script changes to your presence in lp19:32
barryfor example, if i wanted to see my own display name, i could do19:33
barry>>> launchpad.me.display_name19:33
barryu'Barry Warsaw'19:33
barrynote that the value of this attribute is a python unicode19:33
barrythat's important to keep in mind for those of you with non-ascii characters in your name!19:34
barryi can find out if i'm a team <wink>19:34
barry>>> launchpad.me.is_team19:34
barryFalse19:34
barryand i can see my own timezone19:34
barry>>> launchpad.me.time_zone19:35
barryu'America/New_York'19:35
barryone nice thing you can do is use python's dir() function to see all the things you can find out about an object19:37
barry>>> dir(launchpad.me)19:37
barry['FIND_ATTRIBUTES', 'FIND_COLLECTIONS', 'FIND_ENTRIES', 'JSON_MEDIA_TYPE', '__class__', '__delattr__', '__dict__', '__doc__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__members__', '__methods__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_create_bound_resource', '_dirty_attributes', '_ensure_representation', '_get_external_param_name', '_get_parameter19:37
barry_names', '_root', '_transform_resources_to_links', '_wadl_resource', 'acceptInvitationToBeMemberOf', 'addMember', 'admins', 'confirmed_email_addresses', 'date_created', 'deactivated_members', 'declineInvitationToBeMemberOf', 'display_name', 'expired_members', 'getMembersByStatus', 'hide_email_addresses', 'homepage_content', 'invited_members', 'irc_nicknames', 'is_team', 'is_valid', 'jabber_ids', 'join', 'karma', 'languages', 'latitude',19:37
barry 'leave', 'longitude', 'lp_attributes', 'lp_collections', 'lp_entries', 'lp_get_named_operation', 'lp_get_parameter', 'lp_has_parameter', 'lp_operations', 'lp_refresh', 'lp_save', 'mailing_list_auto_subscribe_policy', 'members', 'members_details', 'memberships_details', 'mugshot', 'name', 'open_membership_invitations', 'participants', 'preferred_email_address', 'proposed_members', 'resource_type_link', 'self_link', 'setLocation', 'setLo19:38
barrycationVisibility', 'sub_teams', 'super_teams', 'team_owner', 'time_zone', 'visibility', 'wiki_names']19:38
barrynot all of those are of interest to you though19:38
barrymethod with names starting with an underscore are private19:38
barrymethods that start with lp_ are special in the sense that they are actions you can take on client-side objects19:39
barrythey don't correspond to actions in launchpad19:39
barryfor example, if you make a change to an object, you would need to call lp_save() on it to "push" those changes back to launchpad19:39
barrylet's say you wanted to get some information on a different user, how would you do that?19:41
barrywell, there's a 'people' object at the top level, and we can use that to access people by their launchpad id19:41
barrye.g.19:41
barry>>> launchpad.people['salgado']19:41
barry<person at https://api.edge.launchpad.net/beta/~salgado>19:41
barry>>> salgado = launchpad.people['salgado']19:42
barry>>> salgado.display_name19:42
barryu'Guilherme Salgado'19:42
barrywe can also get people by their email addresses, through a different interface19:42
barry>>> salgado = launchpad.people.getByEmail(email='guilherme.salgado@canonical.com')19:43
barry>>> salgado.display_name19:43
barryu'Guilherme Salgado'19:43
barrysomething important to note here...19:43
barryyou're used to providing positional arguments in "normal" python19:43
barryso by looking at this example, you might ask, why did you type the argument name in the above call?19:44
barry(e.g. the 'email=' part)19:44
barrythe answer is that because of the peculiarities of our wadl definition, the python client side of the rest api doesn't understand positional arguments19:44
barryso all method arguments are keyword arguments and must be entered explicitly19:44
barrywe may fix this some day, but for now, it's something you need to keep in mind19:45
barryany questions up 'til now?19:45
barryok19:45
barryone other way to find people19:46
barryyou can actually do a full text search, so if you only know part of a user's name, you can do it like this:19:46
barry>>> for person in launchpad.people.find(text='salgado'):19:47
barry...   print person.display_name19:47
barry...19:47
barryabel19:47
barryagustincsw19:47
barryAriel_salgado19:47
barryaxlsal19:47
barryBruno Fecchio Salgado19:47
barryCamilo Salgado19:47
barryand so on...19:47
barrysimilar to the top level object 'people', you have access to bugs, like so:19:48
barry>>> bug1 = launchpad.bugs[1]19:48
barry>>> bug1.title19:48
barryu'Microsoft has a majority market share'19:48
barrynote that bugs are accessible via their bug id19:49
barrycurrently, the only two top-level objects available are bugs and people19:50
barrya lot of the introspective power of python is available to you, so if you're pretty comfortable with python and launchpad, you should be able to build fairly sophisticated applications19:51
barryas i mentioned the dir() function above gives you too much information you don't care about, you can use one of the other 'launchpad' objects instead19:52
barrye.g. to find out the things you can do to a person, you can try this:19:52
barry>>> launchpad.me.lp_operations19:52
barry['leave', 'setLocationVisibility', 'addMember', 'declineInvitationToBeMemberOf', 'join', 'getMembersByStatus', 'setLocation', 'acceptInvitationToBeMemberOf']19:52
barryunfortunately, python's built-in help() function is currently not very useful19:53
barrya couple of other interesting tidbits19:54
barryobjects like launchpad.me are called 'entities' and things like launchpad.people are called 'collections'19:54
barrythik of entities as the leaves of the big object tree, though of course entities can be linked to other entities or collections19:55
barrywhenever you make a change to an entity's properties, you need to call 'entity.lp_save()' to save them on launchpad19:56
barryotherwise the changes only occur locally and will be lost when you quit your client19:56
barrythere's also something called a 'hosted file', which you can mostly think of as a binary blob19:56
barryyour mugshot is that way for example19:56
barryto read the data of a hosted file, you need to open it and read it.19:57
barryhosted files also have a content_type19:57
barryso:19:57
barry>>> f = launchpad.me.mugshot.open()19:58
barry>>> data = f.read()19:58
barry>>> f.content_type19:58
barry'image/jpeg'19:58
barrydata would now be the image data of your mugshot19:58
barrywell, i'm just about out of time so let me just repost the documentation link19:58
barryhttps://help.launchpad.net/API/launchpadlib19:58
barryand i encourage you to submit enhancement requests and bugs, and in general test out the launchpadlib to script your applications19:59
barryi think that's it for me, thanks for your time!19:59
jcastrothanks barry!19:59
iulianNice session, thanks barry.20:00
barryiulian: thanks!20:00
stdinan interesting talk, I already have a couple ideas on what to use launchpadlib for :)20:00
=== jcastro changed the topic of #ubuntu-classroom to: Current Session:Kernel: From Intrepid to Jaunty | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
barrycheers everyone20:01
jcastrook guys, benc is having some network issues in his hotel room20:01
jcastroso we're going to give him a few minutes to sort it out20:01
jcastrobenc will be discussing what the kernel has been up to this past cycle and what they're planning on doing during the jaunty cycle20:02
* BenC made it20:03
BenCjcastro: Appologies, thanks for contacting me20:04
jcastroBenC: no worries20:05
jcastroBenC: take it away!20:05
BenCWelcome everyone20:05
BenCFor this session I wanted to review a lot of what we did in Intrepid in relation to the kernel, and how we will apply that to jaunty moving forward20:06
BenCFor those that followed the development cycle, you will realize we started a new tree called ubuntu-next (not to be confused with linux-next) where we continued to track the latest upstream kernel source20:08
BenCThis in fact allowed us to make a last minute decision to go with 2.6.27 in Intrepid instead of 2.6.2620:08
BenCWhile over all that paid off, I'm sure it doesn't mean we will always follow bleeding edge that much...it just happened to work out well this time20:09
BenCI think we will continue to have an ubuntu-next tree regardless though20:09
BenCLaney: QUESTION: What made you decide to switch to .27?20:10
BenCThe team reviewed a lot of the infrastructure that was going into .27, which would satisfy a lot of hardware support we were aiming for, and additionally fix a lot of issues we were having20:10
BenCMost notable in suspend/resume area, and wireless support20:11
BenCI don't think we have any regrets on the decision, but it was a little scary having something so new being pushed for release :)20:11
BenCIt does mean that if jaunty follows past cycles, it will be .28, but we haven't decided that quite yet (UDS topic)20:12
BenCOne other thing we did in Intrepid was to remove all support for ports from our main tree20:13
BenCWhile this helped us immensely for our main support, it is definite that it also hurt ports such as sparc and powerpc20:14
BenCThe kernel wasn't as consistent as it had been in the past20:14
BenCWe will be reviewing this at UDS and decide if certain ports (namely sparc and powerpc) can be added back to our main tree20:14
BenCQUESTION: <persia> Is there a plan to change the architecture sets for Jaunty?  Currently there seems to be one kernel for i386/amd64, another for lpia, and yet another for everything else.20:15
BenCfirst off, lpia is a special case...it's been tossed around between the Ubuntu Mobile folks and kernel team, and I think settling this down will be of major concern next cycle.20:16
BenCI don't know enough about the criteria for this kernel to comment well20:16
BenCBut as I just said, some of the ports may find themselves back in the main tree20:17
BenCIt's worth pointing out that each architecture has it's own set of criteria, and sometimes these clash enough to force a split in development methods20:17
BenCWe strongly encourage community to help, especially with the ports20:18
BenCAny other questions on this before I move on?20:19
jcastro < Laney> QUESTION: What made you decide to switch to .27?20:19
BenCjcastro: Already pasted and answered :)20:20
jcastrooops, my bad20:20
BenChehe, np20:20
=== txwikinger2 is now known as txwikinger
BenCAnother major change in the kernel development was how we organized third-party modules20:20
BenCA lot of what used to be in linux-ubuntu-modules has moved back to the kernel tree under the ubuntu/ subdirectory20:21
BenCThe reason was consistency in source maint. The split was not giving us any benefit20:21
BenCYet another change was linux-restricted-modules20:21
BenCMost of this was split out into dkms style packages for nvidia and fglrx20:22
BenCWe are trying to encourage more use of dkms, especially in restricted modules20:22
BenCThe reason is that it allows better support for custom kernels (e.g. -rt)20:23
BenCQUESTION: <marrow> Why was it necessary to take these into the kernel? What are the benefits?20:23
BenCEasier to maintain, and easier to track ABI, plus module conflicts20:23
BenCbeing built with the kernel retains a lot of the sanity checking that we already have in the kernel build, some which can only be done at build time with the kernel20:24
BenCMeans we don't have to worry about actual changes in the ABI of these third-party modules, since it will be controlled by the kernel ABI as a whole20:24
BenCBefore, if linux-ubuntu-modules changed ABI, first off, it would not be noticed or tracked20:25
BenCSecondly, it required us to export headers, sometimes conflicting with the kernel headers, for user installed modules to be able to use20:25
=== Tyler is now known as tytycoon
BenCJaunty is going to see some continued changes in this area, attempting to build on the experience gained thus far20:27
=== tytycoon is now known as Tyler
BenCOne thing I know is that we will be doing a rework of our firmware packaging, which showed up last minute as linux-firmware in intrepid20:28
=== Tyler is now known as tytycoon
BenCOk, so sebner asked what linux-backports-modules was about, and I can answer that quickly20:31
BenCIt's a package that allows us to introduce new or updated drivers without forcing existing users to install what may be a regression or not very well tested driver20:32
BenCThis package isn't installed by default, and is generally installed by people experiencing a known problem that we have attempted to fix with an updated version of the driver20:33
BenCQUESTION: <johanbr> In the past, it has happened that patches not yet included upstream have been dropped by mistake when the kernel is rebased for the next Ubuntu release, thus causing regressions. Is there a procedure in place to minimize these occurrences?20:34
BenCUnfortunately, this is a manual and error prone procedure20:35
BenCUsually these patches get dropped because they either fail to apply cleanly, or fail to compile cleanly20:35
BenCThe person doing this rebase is expected to retain a list of such patches in an effort to reintroduce them later20:35
BenCI've been responsible for dropping the ball on this, so I'm definitely not pointing fingers :)20:36
BenCThat's a good topic for UDS I believe20:36
BenCI don't have any good suggestions off-hand20:36
BenCQUESTION: <sebner> A goal for jaunty is faster boot time. Did you decide that before knowing this 5 seconds boot thing? Also how many seconds do you think will the 28er kernel be faster? Or do you plan further work on init/xorg? How many seconds to you plan to be faster than intrepid? I hope it's not too early to answer this question20:37
BenCBoot time is one of the top priorities for jaunty20:37
BenCWhile a lot of this can be handled in the kernel, a good portion of boot time is unrelated to the kernel itself20:38
BenCCompiling in some modules, and reducing the amount of time spent loading and initializing modules is one of the biggest factors I've been informed of so far20:39
BenCThe exact numbers we want to meet are held by others in the ubuntu dev team. How much we have to reduce it by and where these precious seconds will come from, is a system wide issue20:40
BenCThe kernel team will definitely do it's part though20:40
BenCThe first two parts of your question I cannot answer20:41
BenC(because I don't know)20:41
BenCQUESTION: <gQuigs> How about Kernel Mode Setting for Jaunty?20:41
BenCWe review all new features in the kernel for whether they will benefit us...kernel-mode-setting is one of them20:42
BenCSince it requires some close synchronization with Xorg, it will require more decision making and information that I can provide20:42
BenCIt is something we want, is the short answer20:43
BenCI believe we looked at it for jaunty, but it was still just too unstable for us (required a lot of bleeding edge stuff for Xorg)20:43
BenCs/jaunty/intrepid/20:44
BenCQUESTION: <gQuigs> what kernel is alpha 1 going to come with, ubuntu-next?20:44
BenCubuntu-next isn't a kernel version, we will be tracking 2.6.28-rc in jaunty, and hope that it will make Alpha 120:45
BenCubuntu-next is what we use to continue tracking upstream kernel after we have settled on a stable point release20:45
BenCit isn't meant for uploading20:45
BenCQUESTION: <sebner> What I've read so far is that jaunty will have .28 if not something important leads to 29er. right?20:46
BenCThat's correct. Our normal development cycle would put us at .28, but that has yet to be decided for sure20:46
BenCQUESTION: <Yasumoto> It seems like a lot of cool features (Kernel Mode Setting, faster boot) may require either bleeding-edge upstream stuff or even some work on our end to get it working right. Is there a general feel for how to deal with this balance of new features vs. stability?20:47
BenCFirst off, faster boot doesn't require anything bleeding edge...just some detailed review of the boot process and looking at alternatives to the main problem points20:47
BenCThings like kernel-mode-setting, we generally lean toward stability, especially in a feature that is very limited on who benefits, very superficial in the benefit, and very difficult to maintain for 18 months20:48
BenCQUESTION: <sebner> This faster boot thing is really popular now. As you just said mostly it's not magic but "some detailed review of the boot process and looking at alternatives to the main problem points". Why do you think wasn't this make earlier. months, years ago?20:50
BenCI believe boot time has always been watched...the only thing that seems to have changed was the bar we want to reach for how long is too long20:51
BenCCheckout bootchart, and searching google/wiki you will find that it's been used for quite a few years20:51
BenCOk, looks like I have time for one or two more questions is all20:52
BenCQUESTION: <sebner> How many dev's work currently on the kernel in ubuntu?20:54
BenCAs with many community oriented projects, it's hard to put a number on some of these things :)20:55
BenCI can tell you that Canonical employs 6 kernel devs now, most of which are dedicated to the dev and stable releases20:55
sebnerBenC: canoncial guys? .. to make it easier :)20:55
sebnerheh20:55
BenCI would guess at least that many community folks are out there, and several times as many from vendors interested in Ubuntu's kernel20:56
BenCe.g. AMD, Intel, nVidia, etc...20:57
BenCLast question...20:57
BenCQUESTION: <pwnguin> how far in the future before btrfs is default?20:57
sebnerBenC: mine is last :P20:57
BenCI only have two minutes :)20:58
BenCpwnguin: My crystal ball is in the shop at the moment...20:58
BenCsebner: "maybe"20:58
sebnerBenC: 50-50?20:58
BenCI would say 40-4020:58
sebnerand 20% are?20:59
BenCwith 20% going to the off chance ext5 comes out, or reiser is set free20:59
sebnerheh20:59
BenCsebner: Honestly I don't know, but we will bring it up at UDS I'm sure21:00
pwnguin1 in 5 chance. very generous21:00
jcastrook, that's about it for time21:00
BenCpwnguin: I was being generous to ext5 :)21:00
jcastrothanks Ben and thanks to everyone for participating21:00
BenCThanks everyone!21:00
* sebner hugs BenC. Thx for answering all the questions 21:00
=== jcastro changed the topic of #ubuntu-classroom to: Current Session:Contributing to Ubuntu Documentation | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
jcastrook, one last session for openweek21:00
jcastroafter this there won't be any more planned sessions in here21:01
jcastroof course you can hang out after the session21:01
jcastroas always please feel free to mail me comments, jorge@ubuntu.com21:01
jcastroDougieRichardson: ok take it away!21:02
DougieRichardsonHi all21:02
DougieRichardsonI'm here to discuss contributing to Ubuntu's documentation21:02
DougieRichardsonThe first link you need to get started is https://wiki.ubuntu.com/DocumentationTeam21:03
DougieRichardsonDocumentation is split into two main areas - system help and online help21:04
DougieRichardsonSystem help is written in DocBook XML and packaged with each release.21:05
DougieRichardsonOnline help, again is split into two areas: help.ubuntu.com which is built from the system documentation21:05
DougieRichardsonand help.ubuntu.com/community which is where the community contributed wiki docs are21:06
DougieRichardsonSo how do you start conributing?21:06
DougieRichardsonThe easiest place to start is by proof reading. Checking through the system documentation and picking up on errors.21:07
DougieRichardsonThe team itself is split into two groups - committing members and students.21:08
DougieRichardsonthe only difference being that committing members push patches into the current branch.21:09
DougieRichardsonAs a student, you are assigned a mentor to guide you.21:10
DougieRichardsonThe current source can be downloaded from Launchpad21:11
DougieRichardsonusing bzr21:11
DougieRichardsonhttps://wiki.ubuntu.com/DocumentationTeam/SystemDocumentation/Repository21:12
DougieRichardsonOnce you have a copy of the docs, the best place to get started is by looking for bugs listed on launchpad21:14
DougieRichardsonThere are two places to look: https://bugs.launchpad.net/ubuntu/+source/ubuntu-docs for bugs reported against the package21:14
DougieRichardsonAnd https://bugs.launchpad.net/ubuntu-doc for the team21:15
DougieRichardsonSo lets talk through a typical bug, by following https://bugs.launchpad.net/ubuntu-doc21:15
DougieRichardsonFrom the filter panel, we click "new"21:16
DougieRichardsonLets look at the techreview bug 23507921:17
DougieRichardsonHere we have a list of corrections that someone has spotted, so we can go right ahead and start correcting them.21:18
DougieRichardsonThe first issue is to find out which file you need to edit - so open a file browser window and navigate to the ubuntu-docs folder21:19
DougieRichardsonThis case is apparent - its in programing21:20
DougieRichardsonAll folders will have two sub-folders, PO and C21:20
DougieRichardsonPO is for translation, so we need to be in C21:20
DougieRichardsonNow we can edit the programming.xml file by opening it, looking for the error and amending it.21:21
DougieRichardsonSo now we have a corrected version locally, we need to submit it to the team.21:21
DougieRichardsonFirst though we will check that they are valid and will not break the package.21:22
DougieRichardsonFrom the ubuntu-doc folder, run scripts/validate.sh index.xml21:23
DougieRichardsonWe need to run it on the root because otherwise it will pick up errors from linked files.21:23
DougieRichardsonOK so it validates, now we create a patch to submit.21:23
DougieRichardsonThis involves just two commands:21:24
DougieRichardsonbzr commit -m "Describe the change, include a bug number"21:25
DougieRichardsonbzr bundle > diffname.txt21:25
DougieRichardsonOr, if its just a small patch then bzr diff > patch.txt will do21:26
DougieRichardsonAdd a comment to the original bug attaching your patch and you've fixed your first bug.21:26
DougieRichardsonSo that brings us on to the second area we work on - the community docs.21:27
DougieRichardsonAs long as you have a Launchpad account, you can add and edit community documentation21:27
DougieRichardsonhttp://www.ubuntu.com/community21:28
DougieRichardsonSorry - http://help.ubuntu.com/community21:28
DougieRichardsonThe best way to approach assisting on the wiki is to look up subjects you are familiar with.21:29
DougieRichardsonIf there is already a page, then you can proof read it for errors and improve it.21:29
DougieRichardsonOtherwise you can create a page.21:29
DougieRichardsonWe just ask that you read the first page and follow the guide.21:30
DougieRichardsonBoth types of documentation are under a creative commons licence21:30
DougieRichardsonWell that about covers it, so we'll move on to questions now. Remember that the largest problem that we have as a team is getting enough contributers. This is especially true for the wiki where we would love to get all the fantastic community howtos that are out there centralised.21:31
DougieRichardsonSo, lets take questions now.21:32
DougieRichardsonOK, what are the main areas that still need work?21:35
DougieRichardsonFor the community docs, we would like to import as much from the forums as possible.21:35
DougieRichardsonThis requires that we get the permission of the original writer.21:36
DougieRichardsonSo if you see a great guide, nudge the writer to submit it to the team.21:36
ssolehow do you manage translations?21:37
DougieRichardsonOur mailing list is here: https://lists.ubuntu.com/mailman/listinfo/ubuntu-doc21:37
DougieRichardsonTranslations are managed by Matthew East21:37
DougieRichardsonThe best place to start is https://wiki.ubuntu.com/DocumentationTeam/Translation21:38
DougieRichardsonWe use Rosetta21:38
DougieRichardsonAbout two or three weeks before release, we eter string freeze.21:39
DougieRichardsonThen the translators have a chance to translate all the changed strings for release.21:39
DougieRichardsonI have to go in a few minutes, so I'd like to wrap up here.21:40
DougieRichardsonAre there any more questions?21:40
DougieRichardsonOK, The main link to remember is https://wiki.ubuntu.com/DocumentationTeam21:41
DougieRichardsonIf you can contribute any time or docs to us, or recommend any for us to follow up - its greatly appreciated.21:42
DougieRichardsonThanks for your time and I'l hand back over to jcastro now21:42
jcastrothanks everyone!21:42
jcastrosee you next time!21:42
knome\o/21:42
knome |21:43
knome/'\21:43
james_wnice work jcastro21:44
knomedefinitely.21:44
knomei wish i had more time to take part on the conversations.21:44
charlie-tcagreat job this week, jcastro21:46
snap-lAwesome job, jcastro21:50
=== ghindo__ is now known as ghindo

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