/srv/irclogs.ubuntu.com/2007/11/30/#ubuntu-classroom.txt

dholbachMOTU Q&A session in 4 minutes12:56
dholbachhello everybody - how are you doing? welcome everybody to another MOTU Q&A session13:00
dholbachLet's start with our usual round of introductions - who do we have here today?13:00
* Hobbsee dies, so is not here.13:00
sourcercitovery well thanks13:00
* sourcercito waves13:00
MLPo/13:00
* maiatoday learning new things daily13:01
kelmohi13:01
* dholbach is Daniel Holbach, working in the MOTU team for quite a while and trying to help out where he can13:01
* Hobbsee is the late Dent, Arthur Dent.13:01
dholbachhaha... Hobbsee is not :)13:01
* ian_brasil high fives13:02
dholbachwho's completely new here and hasn't start their road to MOTU yet?13:02
MLPo/13:02
Hobbsee\o13:02
dholbachhey MLP - how are you doing?13:02
* maiatoday is very close to being completely new13:02
MLPdholbach: great, thanks :) and you?13:02
dholbachI'm fine - thanks :)13:02
dholbachdo you have any questions already?13:03
MLPnot really, I haven`t looked into enough to have any questions already13:03
dholbachok13:03
dholbachwhat I can recommend is http://wiki.ubuntu.com/MOTU/GettingStarted13:03
MLPcool13:04
dholbachbecause it links to all the documents and howtos necessary to get you started13:04
dholbachif anything in the session is unclear - just ask13:04
MLPyup :)13:04
dholbachdid somebody bring questions today?13:04
Hobbseedholbach: can i have a pony?13:05
dholbachwe were bound to hear that question today13:05
MLPlol13:05
dholbachHobbsee wants to have the "MOTU Q&A clown" tag :)13:05
ian_brasili want to ask about how to make a package for a specific architeture (lpia)13:05
Hobbseehahaha13:05
dholbachian_brasil: good question13:06
dholbachso a key thing about packages in ubuntu and debian is that we all deal with the source package, what users install are binary packages13:06
dholbachwe only do source changes and only do source uploads to the build daemons, which (hopefully, if we do everything alright) turn our source packages to binary packages13:07
dholbachlet's all grab a random source package to look at13:07
dholbachplease all run    apt-get source xicc13:07
ian_brasilok13:10
dholbachexcusez-moi13:12
dholbachin the case of python package (which just contains python code that is interpreted), you'd change 'any' to 'all'13:12
dholbachwhich means it's only built on one build daemon, but will be installable on all architectures, because it's the same binary package anywhere13:13
dholbachian_brasil: to answer your question, you could enter just 'lpia' there13:13
dholbachor a list of architectures13:13
ian_brasilsorry..i dropped out...enter lpia where?13:13
dholbachArchitecture: i386, amd64        would be perfectly valid too13:14
dholbachin the architecture field13:14
ian_brasilah ok13:14
dholbachok great13:15
dholbachany questions about that?13:15
kelmowe had a timely net-split13:15
dholbachok hang on13:15
dholbachcheck out http://daniel.holba.ch/temp/log13:16
kelmook, thanks.13:17
dholbachgreat13:17
dholbachany other questions?13:17
effie_jayxdholbach,  about pbuilder...13:17
dholbachfor everybody who doesn't know a lot about pbuilder yet, be sure to check out http://wiki.ubuntu.com13:17
dholbachfor everybody who doesn't know a lot about pbuilder yet, be sure to check out http://wiki.ubuntu.com/PbuilderHowto13:18
dholbacheffie_jayx: what is your question?13:19
effie_jayxI have recently had my experiece for testing packages...  what is a good chroot enviroment for testing packages for other releases ... packages that contain a gui13:19
dholbachgood question, to be honest, I don't know - I know that some people use vmware, some people use separate partitions13:20
kelmovirtualbox, being free, would make virtual machines alot more appealable for that purpose imho13:20
ian_brasilwhat are these variables -> Depends: ${shlibs:Depends}, ${misc:Depends}13:20
ian_brasil and what others exist that we could use13:20
effie_jayxdholbach,  great...13:20
dholbacha simple chroot won't do in most cases, because if you want to test it properly you will also want to have hal, X, the kernel and other stuff of the very same release13:21
* dholbach is not that experienced when it comes to virtualisation13:21
effie_jayxdholbach,  for a manpage bug  I first tested it was cool13:21
dholbachok super13:21
effie_jayxI thought virtualization gives the tester an estimate13:21
dholbachhum, what do you mean?13:22
effie_jayxbut since sometimes hardware is not using its drivers ...13:22
kelmodepnds what kind of software you are testing13:22
dholbachin the most cases it's OK to test it just on the release you're uploading it too13:23
dholbachonly if you do uploads to -updates or -backports you want to test it on that very release13:23
dholbachcoming to ian_brasil's question, it's a good one13:23
dholbach${shlibs:Depends} is a variable that will be substituted with all the library packages the binary files in the binary package link to13:24
dholbachif you look at xicc again13:24
dholbach(debian/control)13:24
dholbachit just lists the two that ian_brasil mentioned13:24
dholbachif you check out       apt-cache show xicc13:24
dholbachit lists the following:      libc6 (>= 2.3.4-1), libglib2.0-0 (>= 2.8.0), libice6, libsm6, libx11-613:25
dholbachbecause that's the libaries the binary in the package links to13:25
dholbach{misc:Depends} will be expanded by packaging tools that run during the build process13:26
dholbachfor example dh_gconf (in the debhelper package) will notice if you have gconf schema files in the package13:26
dholbachand automatically add a postinst script that will rebuild the gconf database after the installation on a machine13:27
dholbachalso, it will add gconf as a dependency to ${misc:Depends}13:27
dholbachwas that clear enough?13:27
dholbachthere are not very many dependencies added through misc:Depends, but it's good to have in the packaging - it does no harm13:27
ian_brasilso it is good to have this ${misc;Depends} in every package?...what do you mean 'the libraries the binary in the package links to' ?13:27
dholbachok13:28
dholbachlet's download the xicc binary package and check it out13:28
dholbachaptitude download xicc13:28
dholbachnow we'll unpack the package:    dpkg -x xicc_0.2-2_i386.deb test13:28
dholbachcheck out the output of       ldd test/usr/bin/xicc13:29
dholbachthat's all libraries that the built xicc binary links to13:29
maiatoda1so ${python:Depends} will do the same for a package containing python13:29
kelmoand ${perl:Depends} on same note13:29
dholbachmaiatoda1: unfortunately not, it will just add the python dependency for the python versions you build that package13:29
maiatoda1ok good thing I asked then13:30
dholbachkelmo: I know that perl:Depends will add a basic perl dependency, but I do not know if it adds all perl modules you might have to install13:30
dholbachand that answers another question ian_brasil had: it doesn't make sense to have shlibs:Depends everywhere13:30
dholbachif I just package a few python scripts of mine, shlibs:Depends will be empty13:30
kelmodholbach: i believe it only adds the perl major version (actually paclaged a perl module today, and iirc no extra modules were added)13:30
dholbachas there's no built binary files to inspect13:30
dholbachkelmo: ok, thanks for checking13:31
ian_brasilso how do i know that linux-gate.so.1 from ldd for example is part of say  libc6 (>= 2.3.4-1) ??13:31
dholbachthere were a lot of discussions about adding that feature, but as far as I know it never was very reliable, that's why we have to specify them on our own13:31
dholbachian_brasil: that will be automatically done for you :)13:31
kelmowell i guess interpreted languages are harder to parse for dependencies like that?13:32
ian_brasilah...ok...i understand now13:32
dholbachian_brasil: during the build process the ${shlibs:Depends} will get magically substituted with all the depends13:32
dholbachkelmo: exactly13:32
dholbachwe would have to dive into library packaging to understand more about shlibs and dh_makeshlibs and dh_shlibdeps13:33
dholbachbut there might be some other questions first?13:33
ian_brasildholbach: what other variable magic exists then13:34
dholbachpackaging libraries can be a bit more complicated and I'd suggest to leave them until you're a bit more comfortable with normal packages13:34
dholbachian_brasil: for dependencies I just know of perl and python for sure13:34
dholbachthere are some for mono too and I believe for php too, but I can't remember their names13:34
kelmohow about the ${source:Version} and friends that are used in certain cases?13:35
dholbachit's always useful to just    apt-get source <similar package>    and see how they solved problems13:35
dholbachkelmo: good question13:35
dholbachsometimes you decide to split a package into several binary packages13:35
effie_jayxdholbach,  what bugs are usually recomended for us starting out, desktop bugs? and whn is it safe for us to start merges and syncs?13:36
dholbachcheck out the output of        apt-cache showsrc pidgin | head -n 313:36
dholbachpidgin is split up into 10 binary packages13:36
dholbachso if somebody installs pidgin, you want to make sure that the installed version of pidgin-data is the same13:37
dholbachelse you can't rely on all the images and sound files being at the right place and so on13:37
dholbachthat's why in pidgin's Depends you write something like13:37
dholbachDepends: pidgin-data (= ${Source:Version}), ...13:37
dholbachwhich will be automatically replaced with the current source version of that upload13:38
dholbachdoes that make sense?13:38
kelmoyep. it does13:38
dholbachthere's a whole section in the debian policy just about that13:38
dholbachok great13:38
dholbachcoming to effie_jayx's question13:38
dholbachI recommend bitesize bugs (linked from MOTU/TODO) and upgrade bugs13:39
effie_jayxthe bitesize are almost gone :(13:39
dholbachif you look at http://wiki.ubuntu.com/PackagingGuide/Recipes you will find two recipes which will help you with that13:39
dholbachone describes how to upgrade a package13:39
dholbachthe other one describes how to generate a debdiff13:39
dholbacheffie_jayx: I added it to my todo list to do another round of bug triage and tag a few bugs as bitesize13:40
dholbachin the meantime you could join #ubuntu-desktop and look at http://wiki.ubuntu.com/DesktopTeam/TODO13:40
effie_jayxdholbach,  great13:40
dholbachthere's always a bunch of desktop updates to work on in GNOME land13:40
=== MLP_ is now known as MLP
dholbachin my latest Ask MOTU blog entry I added a URL to all TODO pages of various ubuntu teams13:41
effie_jayxwhen you mention debdiffs and package upgrades you relate that to merges and syncs?13:41
dholbachno, not specifically13:41
effie_jayxohh ok13:41
dholbachyou can submit debdiffs for simple typos too13:41
dholbachlibrary transitions, etc etc13:41
dholbachcoming back to your other question: it's always safe to do merges and syncs13:41
dholbachwe prefer to get the bulk of them done early in the release cycle13:42
dholbachhttp://wiki.ubuntu.com/UbuntuDevelopment/Merging might be interesting to you13:42
dholbachany other questions?13:42
effie_jayxdholbach,  thanks13:43
ian_brasilI applied for a MOTU blog i think it was...i would like to do a mobile MOTU series...i heard nothing yet, maybe there is a delay?13:43
dholbachian_brasil: who did you ask?13:43
ian_brasili filled the online form in13:43
kelmoreason i asked about the ${source:Version} was the recent changes with respect to binNMU's. I just found a good reference that explains what has changed in that regard on the debian Wiki13:44
dholbachian_brasil: I don't know how long it takes to get on ubuntuweblogs13:44
dholbachif there's further delay let me know and I'll ping the guys who do it13:44
kelmowhich is confusing, because it was ${Source-Version}, but now ${source:Version} seems to be preffered13:44
dholbachyou can only get on planet ubuntu if you're an ubuntu member13:45
kelmoand they look so similar... http://wiki.debian.org/binNMU13:45
ian_brasildholbach: thx13:45
dholbachkelmo: yes, they changed the syntax so have source:Version and binary:Version13:45
dholbachthat's not really relevant, because we don't have the concept of binNMUs13:45
dholbachin Ubuntu13:45
dholbachwe only do source uploads13:45
dholbachso if you want to rebuild a package you will have to upload a no-change (just a new changelog entry) to the buildds13:46
kelmoah, k. understood13:46
dholbachok great13:46
dholbachany other questions?13:46
ian_brasili have cut a dpatch to enable hildon on liferea...in configure.ac i check for the hildon libraries with PKG_CHECK_MODULES([HILDON], hildon-1 >= 1.0.5,enable_hildon=yes,enable_hildon=no) so if its there hildon is compiled in ...i can i just add lpia into the architecture right and check it in a lpia chroot13:47
dholbachian_brasil: liferea will get built for any architecture, so there's no need to add 'lpia'13:48
ian_brasilwhen i tested in the chroot i got an lpia error13:48
dholbachI know of other packages that have a check in debian/rules on which architecture is built13:48
dholbachand in the case of lpia, add --enable-hildon13:48
ian_brasilcool...you remember which?13:49
dholbachian_brasil: best to ask adilson, I can't remember which packages he patched to do that13:49
ian_brasilok, will do13:49
dholbachgreat13:49
dholbachany more questions? :)13:50
dholbachall the new people in here: how do you like the MOTU Q&A session? does it help understanding things or does it all still sound very complicated?13:50
dholbachseems it was quite overwhelming :)13:52
kelmoi think its a great service. quite helpful to get some hints13:52
effie_jayxdholbach,  it is needed13:52
* dholbach hopes that these sessions prove to be useful :)13:52
dholbachok good :)13:52
dholbachare there topics you'd like to see a dedicated session about?13:52
effie_jayxone of the things that I find important is getting confortable with the tools13:53
kelmomaybe policy specific package sessions, like python, library, perl etc. where resources are for these ?13:53
dholbachkelmo: sounds good, making notes13:53
* ian_brasil thinks dholbach rocks13:53
dholbachian_brasil: gracias :)13:54
effie_jayxian_brasil,  obrigado?13:54
* kelmo has not much idea about the python packaging best practises13:54
ian_brasila mobile packaging session13:54
effie_jayxkelmo,  sounds interesting13:54
dholbachian_brasil: ok, I'll talk to folks about it and see what we can do13:54
kelmothere was already a "patch system" workshop wasn't there?13:55
kelmois that woth discussing again?13:55
dholbachyeah13:55
dholbachkelmo: http://wiki.ubuntu.com/PackagingGuide/PatchSystems13:55
dholbachbut I agree, it'd be nice to have such a session soon again13:55
dholbachif you have any other ideas: things we should improve, things we should talk about, etc etc - please do mail me13:56
kelmoi find patch systems conceptually hard to grasp at first, but nice and easy once a couple of dry runs are done. maybe others feel the same13:56
dholbachI'll put effort and time to make your life and that of the people who join after you easier :)13:56
effie_jayxdholbach,  thanks ...13:56
effie_jayx:D13:57
dholbachkelmo: I've worked for a while in the Desktop Team, which does a lot of package updates every two weeks - that's where I learned to like patch systems13:57
dholbachit's so much easier to just drop a patch by removing a file, easy to update to a new upstream version, etc13:57
kelmoanother idea maybe, managing different upstream version control systems for various upstreams, debian package teams etc13:57
dholbachso yeah, we should have a session about that again13:57
dholbachgood ideas13:58
dholbachtaking notes13:58
dholbacheffie_jayx: you said it's important to learn tools: anything we should document better?13:58
effie_jayxdholbach,  pbuilder... for testing packages13:58
dholbachPbuilderHowto is not good enough yet?13:59
ian_brasildholbach: the difference between depends and build-depends and how to work them out13:59
kelmodevscripts tools, $vcs-buildpackage (or when _not_ to use $vsc-buildpackage)13:59
effie_jayxI really didn't know how to test it... and the pbuilderhowto didn't cover that13:59
dholbachian_brasil: did you check out  http://wiki.ubuntu.com/PackagingGuide/Basic ?13:59
dholbacheffie_jayx: ok, taking notes13:59
effie_jayxdholbach,  it was no biggie either14:00
ian_brasilno , i used the packaging guide...cool link14:00
dholbachthanks kelmo, thanks effie_jayx, thanks ian_brasil14:00
dholbachrock and roll14:00
kelmook, turning into pumpkin14:00
dholbachthanks all for joining the session, I had a great time14:00
kelmogn8, thanks for time14:00
ian_brasilme too14:00
effie_jayxso did I14:00
effie_jayxhaving fun definetelly14:01
dholbachbe sure to blog about your MOTU experience and add it to ubuntuweblogs.org :)14:01
ian_brasildholbach: thx for doing these sessions14:01
dholbachsee you guys around! and let me know if you have trouble14:01
dholbach:-)14:01
effie_jayxdholbach,  mos cerntaily14:01
dholbach*wave*14:02
soundrayThanks for helping once again, LjL14:44
LjLsoundray, gamma is something simple and yet complicated. basically, your scanner gives values for each pixel, from 0 to 255 (for each color, and maybe from 0 to 65535 if it's 16-bit, but anyway -- values from a minimum to a maximum)14:45
LjLsoundray: however, nothing says that those values actually scale "correctly" (that is, linearly) with the actual brightness on the paper14:45
LjLsoundray: same with the monitor - nobody says that a 128 is half as bright as a 256. it depends on the monitor's characteristics14:45
LjLsoundray: so, a "gamma curve" is a function that maps those numbers into other numbers that are hopefully more representative of the actual colors you're looking for14:46
soundrayThat makes sense14:46
soundrayNow I get to set gamma twice: once in the main xsane window, and once in a "Standard options" dialog under Enhancement14:47
LjLsoundray: you could define the whole curve point by point (try in the gimp or something, there is a "curve" tool perhaps not called that), but what is usually done is to use a standardized curve (i don't know its analytic expression, but it's just called a "gamma curve"), with a single parameter that changes the curve shape. that's what's usually called the "gamma value"14:47
LjLsoundray, it14:48
LjLsoundray, it's possible that one is an option that goes directly to the scanner hardware (some of them, if not most, are capable of being told a gamma curve to use), while the other would be post-processing done in software by xsane14:48
soundrayLjL: I see. I guess the Standard options dialog sets the scanner internal one and influences the "raw" values that come in over the USB.14:49
soundrayIs there some sort of "standard" gamma that defines a linear relationship?14:50
LjLsoundray: but here's the awkward part. in a scanner, gamma correction is usually *unnecessary*, because CCDs are pretty good at scaling brightness values linearly (not perfect, but almost)14:50
LjLsoundray, yes, gamma 1.0 means "don't change anything". however, the standard for 8-bit pictures is usually *not* gamma 1.014:50
LjLsoundray: that's because *monitors* aren't linear at all, and traditionally, instead of changing it just before displaying, a different gamma is set in the picture itself14:51
LjLsoundray: pretty standard values are 1.8 and 2.something, 1.8, i think, being the standard on a Mac14:51
LjLsoundray: so if you set gamma 1.0 in the picture, your screen will show it as *very* dark, unless you've also adjusted your screen to work correctly for gamma 1.014:52
LjLbut most people don't do that, and most images on the internet are not made for gamma 1.0 screens, but rather for screens between gamma 1.8 and gamma 2.514:52
LjLsoundray: i suggest you start by trying gamma 1.8 in the "raw" settings, and leaving 1.0 in the "post-processing" settings14:53
LjLsoundray: are you on GNOME? i suppose so... on KDE i have a Gamma tool in the system settings, which is nice to experiment with and kind of helps actually understand how gamma works14:54
soundrayLjL: I'm getting the hang of it now. When I set both to 1, I get black blacks for the first time.14:55
soundrayLjL: also, the histogram is making sense now.14:55
LjLsoundray, however *black* itself shouldn't be changed by gamma. if the input byte was 0, it will remain 0 no matter what the gamma value, because the standard curve always maps 0 to 014:55
LjLsame for white, i.e. 1 or 255 or whatever the value is14:56
LjLthough if "black" is really a pixel with value, say, 16, that *will* be affected by gamma14:56
LjLbut then it's a gray ;)14:56
soundrayLjL: what I want most importantly is good results from scanning black on white text. I guess the originals aren't really black in the 0 sense.14:57
LjLsoundray, that shouldn't be a problem with most scanners though... you're scanning in grayscale?14:59
soundrayLjL: yes. With greyscale I get a bit of an antialiasing-like effect. Lineart doesn't look so good.15:01
LjLsoundray: do something, screenshot the whole thing, settings windows and all, and post it on imageshack or somewhere15:01
soundrayLjL: not necessary. You've helped me a great deal already. I'm getting much better results now.15:02
soundrayI guess the secret when using the Lineart setting is to increase the resolution sufficiently.15:03
LjLsoundray: consider scanning in black&white mode rather than grayscale. gamma will not be involved there, you'll just have to find an acceptable white/black threshold. if you scan at a high resolution (which is made memory-feasible by the image being b/w rather than 8-bit), you can then rescale it and apply your own antialiasing15:04
LjLb/w is called "binary" in xsane by the way15:04
soundrayLineart, actually.15:05
LjLbinary on my xsane...15:05
soundrayAnyway, you've made me a happier man :)15:06
soundrayI have to do the school run now.15:06
LjLsoundray: see you later15:06
soundrayThank you!15:06
LjLsoundray: (anyway yes, antialiasing is really a way to "approximate" high resolution by spreading information into multiple pixels in a lower resolution. if you start with a high resolution to begin with, you have the whole information, and can then *later* decide to apply *some* form of antialiasing, which is almost certainly better than what's applied by the scanner itself, if you need to move to a lower resolution)15:09

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