/srv/irclogs.ubuntu.com/2008/08/07/#ubuntu-mobile.txt

watso02:48
watubuntu mobilwe02:48
watmobile*02:48
watwhen will it be available ?_?02:48
watAn iPhone flash for it would be hella cool'02:48
loolMorning08:30
loolasac: Hey, around?09:24
loolasac: I tested langpacks and they work with up-to-date midbrowser and xulrunner; however some strings are missing (e.g. Characted Encoding in the menu)09:25
loolAlso parts of the Extensions dialogs aren't translated, but I don't know whether these were translated in the past09:26
loolI have language-pack-gnome-fr 1:8.04+20080527.0ume2 and language-pack-gnome-fr-base 1:8.04+2008052709:27
loolasac: On an unrelated topic, you might recall I poked you for comments on an evolution-rss patch; did I miss your reply?09:28
asaclool: err, i think i replied in the bug 09:43
asaclool: did you upgrade the language-pack-base and language-pack packages as well? which version do you have there?09:44
loolasac: language-pack-fr 1:8.04+20080527 and language-pack-fr-base 1:8.04+2008052709:46
asacthose are too old09:47
asachmm09:48
asacno09:48
asaclook good09:48
asacwhat version do you see for xulrunner translation in the addons dialog?09:48
loolasac: 1.909:49
loolasac: I don't have any language-pack-fr or language-pack-fr-base in ppa09:49
asaclool: true 1.9.0.1 it should be though09:50
asacwhat is in /usr/lib/xulrunner-addons/extensions/langpack*fr*/install.rdf `09:50
asac?09:50
asacas version?09:50
lool               em:version="1.9"09:51
asacshould be 1.9.0.109:51
asacplease check if you have all from -updates09:52
loolThe only French langpack is language-pack-gnome-fr AFAICS09:52
asacyou need language-pack-fr and language-pack-fr-base09:52
loolasac: Ah you want me to try the hardy-updates version of the langpacks?09:52
asacyou need them yes09:55
asacis that an issue?09:55
loolasac: It's fine if these weren't forked for ume09:56
loolI have language-pack-fr 1:8.04+20080708 now09:56
loolasac: Extension version is good now, but most items in the menu aren't translated anymore09:58
loolOnly "Encoding" is, the rest isn't (e.g. "new tab")09:58
loolOh I upgraded language-pack-gnome-fr but shouldn't have09:59
loolasac: I think we need a language-pack-gnome-fr update in ppa09:59
asacyes. i think all lang-packs need to be updated.09:59
asaci have a call in a minute. will ping you when back09:59
loolOk09:59
loolasac: Everything is fine now10:01
loolasac: So we just need a refresh of language-pack-gnome-* in ppa AIUI10:01
asacyes. we just need to put the midbrowser bits from ppa into the lates from -updates10:02
loolasac: I'm happy to follow your instructions for the update as to allow me to repeat this for the next langpack updates10:02
asaclook in mozilla.tar.gz in ppa version10:03
asacthere is midbrowser/extensions directory10:03
asacthat one needs to be added to mozilla.tar.gz of -updates one10:03
* lool gets http://ppa.launchpad.net/ubuntu-mobile/ubuntu/pool/main/m/midbrowser/midbrowser_0.3.0release-1~8.04.1.dsc and http://archive.ubuntu.com/ubuntu/pool/main/l/language-pack-gnome-fr/language-pack-gnome-fr_8.04+20080708.dsc10:04
loolOh the data/mozilla.tar.gz from ppa's language-pack-gnome-fr10:05
asacyes10:05
loolasac: Kyle did some changes as well in ume210:06
lool  * Replace grabanddrag.jar and modify chrome.manifest accordingly to add10:06
lool    grabanddrag fr (French) translations.10:06
loolDo we need to repeat these as well?10:06
asacthose should be in mozilla.tar.gz alrewady10:06
asacif you use the latest from ppa10:06
loolasac: And you're repeating this for all langs?10:07
asacyes10:08
asacthats simple. just copy the usr/lib/midbrowser directory from ppa mozilla.tar.gz to new one10:08
asaci think there even is no mozilla.tar.gz in new -gnome langpacks10:09
asacso you can just copy it over10:09
asacbut take care that only usr/lib/midbrowser directory tree is in there10:09
loolAh some are ume1, I'll need to do this properly it seems10:11
loolThere are some differences in the tarballs, but I don't think they matter10:13
looldrwxr-xr-x asac/asac         0 2008-06-10 22:39 ./usr/10:13
looldrwxr-xr-x asac/asac         0 2008-06-10 22:39 ./usr/lib/10:13
looldrwxr-xr-x kyle/kyle         0 2008-06-10 22:39 usr/10:13
looldrwxr-xr-x kyle/kyle         0 2008-06-10 22:39 usr/lib/10:13
asacshouldnt matter10:14
* lool pushes langpacks10:28
asacuh10:30
asacrock10:30
asaclool: do they work?10:30
loolasac: Well I see everything translated in the menu, and I see a midbrowser (fr) extension in the list10:34
loolversion 0.3.010:34
loolasac: is there a particular string I could use to check whether this works?10:34
asacif the menu is completely translated10:34
asacand the preferences dialog as well10:34
asacthen all should be fine10:34
loolYes, both of these are translated10:35
asaclool: to QA this, go to every tab in the preferences.10:39
asacif nothing is broken it should be fine10:39
asacask kylem to verify that there are no regressions for him maybe10:39
loolasac: Oh I wanted to tell you about that: kyleN confirmed yesterday evening that he used your instructions for customer builds10:41
loolNot for the ppa10:41
asaclook at ppa ... it was him uploading the last ones ;)10:41
asacbut well. i dont get why he didnt upload to ppa though10:41
loolI don't think he cares directly about the ppa, nor are USG people pulling directly from it into their builds -- they snapshot from time to time and review the package updates10:41
loolasac: Yes, I saw him as uploader of some updates, I don't reconcile the two things though10:42
lool22:22 < kyleN> lool.updating langpacks? first I herd of it10:42
lool22:22 < kyleN> heard10:42
lool22:23 < kyleN> I did some manual modifications to get a required build out10:42
lool22:23 < lool> 12:25 < asac> lool: i told kylem how to update them before i left  for the summit10:42
lool22:24 < kyleN> lool, he meant me, but what I did was a one time update needed  for a custom project10:42
loolasac: On another topic, persia wondered whether liferea would need an update at the same time as xulrunner >= 1.9.0.1; I suggested that probably not as liferea wasn't updated in hardy-security/-updates10:53
loolasac: But in the end we thought we would double-check with you :-)10:53
asaclool: if its not in "Breaks:" then it shouldnt be required from what i can tell10:55
loolasac: Great10:56
loolasac: Re: GNOME #541872 thanks for your comment, I didn't see it as I wasn't subscribed to the bug, sorry; I am now10:59
ubottuGnome bug 541872 in general "crash in Evolution Mail and Calendar:" [Blocker,Assigned] http://bugzilla.gnome.org/show_bug.cgi?id=54187210:59
asaclool: try to start it ;)11:00
asac(liferea)11:00
=== ogra_ is now known as ogra
loolasac: Yeah it WFM11:14
asaclool: the patch?11:17
loolasac: liferea11:19
asacah11:25
persiaTeam meeting in #ubuntu-meeting in 5 minutes12:56
persiaErr. 4 :)12:56
loolpersia: So you wanted to clear up my thoughts on squashfs support in ubiquity?14:02
persialool: Re: GTK support for em: That actually doesn't help very much: it makes apps bigger in high-DPI environments.14:02
persiaGetting proper resolution independence is about creating guidelines for size, and checking the current environment for display.14:03
persiaAs an example, if I've a 596 x 480 viewport (default Ubuntu viewport at 640x480), I need to pick a size for a terminal that fits there, which means picking the right font size, etc.14:04
ograright14:04
loolpersia: I think GTK support for em is just the start14:04
ograwe need a 480px min height policy :)14:04
persiaIf I then define the window decoration in "em" units, I have even less to play with when I'm using a 200DPI device.14:04
loolpersia: It will force Gtk+ application writers to think about their UI size-independence, and move them away of pixel driven UI sizes14:05
loolThe point here is that you can nicely "scale the application by changing the font size"14:05
persialool: Well, not being pixel driven helps, but swapping pixels for ems is actively harmful for the high-dpi low-resolution environment.14:05
loolThis is a huge step forward IMO14:05
ograbut if the window has a min height of 600px set you dont gain much14:06
persiaYeah, at least is means there is some thought involved.14:06
loolIt moves the problem to "scaling ems" for us, which can be done centrally14:06
loolThe kludge will be much smaller to maintain :-)14:06
ograor graphics content forces the 600px14:06
persiaTrue, although I wouldn't want everyone to become as myopic as I from looking at the results :)14:06
persiaAnyway, about the installer.14:06
loolAnyway, there's no perfect solution; you can have a 24" screen in front of you, or at the other end of a room, and you will have different requirements for the displayed size of apps and fonts14:07
persiaBasically, if the HW has sufficient secondary storage to support expected regular use without unionfs, it makes life *lots* easier not to install that.14:07
persiaSo, for 4G+ devices (based on Ubuntu Desktop HW requirements), it's best to just copy the contents of the squashfs onto a target partition on the device.14:07
persiaThat gives us small size increase for updates, simplified support matrix, compatibility with alternate metas for people who want to switch between -mid and -mobile, etc.14:08
persiaBut, for devices without that much secondary storage, such a model quickly becomes unsuitable.  Just unpacking the livecd takes about 2G.14:09
persiaWith the smaller seed, we can probably take that down to 1.5G, but it's still insufficient for basic use.14:09
persia(not enough space for user data)14:09
persiaSo, we'd need to have a squashfs.14:09
loolpersia: Ack; that's actually the reason hardy's images install squashfs14:10
lool(in UME)14:10
persiaIt's not reasonable to ask these devices to build such a squashfs at install time, because it's painfully time consuming, and requires lots of disk space somewhere.14:10
persia(Yes, I wanted to do it that way, but I was unable to find any believeable reason it would work)14:10
persiaSo, the trick is to use the squashfs used on the installer image itself.14:11
ograright14:11
loolSure, I came so far14:11
ograwhich is since we use livefs.sh for building it already configured in an ideal way14:11
persiaSo, what one does is to copy the install image livefs onto the device, and construct it as a unionfs.14:11
loolAgreed; that's the only way I imaginated it as well14:12
ograubiquity currently only supports the 4G case14:12
persiaWhere this gets tricky is that the configuration of the livefs for the install image, for the installed image, and the contents of the root filesystem for the >4G case are all subtly different.14:12
ogra(copy content)14:12
ograhuh ? 14:12
ograthey arent14:13
persiaYes they are.  Hold on...14:13
ograonly the fs setup is14:13
ograyou need to have the copy/setup unionfs etc stage before the config stage 14:13
persiaconfig stage?14:13
ograthen ubiquity can do everything the same way in both cases14:13
ograapplying the config 14:14
ografor the target content 14:14
persiaubiquity doesn't apply a config: it just copies the contents of the live image.14:14
ograand configures /target according to your preseeding14:14
loolSo I still think we can do the same thing in the two cases14:14
persiaogra: Except you don't run most of d-i, because you've already got that in the livefs.14:15
loolInstead of formatting and copying files to the new partitions, you partition, setup unionfs, and copy only differing files over14:15
ograright14:15
persialool: Well, not quite, because you need to support the reset-to-original-state use-case.14:15
ograrm -rf /cow/* ?14:15
persiaAnyway, please object when I get to that point, rather than getting ahead :)14:16
ograand reapply the defaults14:16
persiaSo, the first interesting difference is between the installer livefs and the installed filesystem for the >4G case.14:16
persiaubiquity has a hook to remove the things one doesn't want post-install, such as ubiquity itself.14:16
ograand unused langpacks14:17
persia(it's a little odd to have a "click here to install" button on an installed system)14:17
persiaYes, and unused langpacks, and other bits.14:17
ograright, we need to exclude that in livefs.sh14:17
ograand apply at bootime14:17
loolpersia: Sure14:17
loolThat's all possible in the target fs in the same way i would guess14:17
loolYou might want to exclude this from the original squashfs though14:18
persiaRight, it's just python to adjust the final image before first boot.14:18
ograright14:18
ograthat should be handled by the image builder 14:18
persiaWhere this gets especially interesting is when you consider the same situation for the 2G case.14:18
persiaThe same model doesn't work, because the stuff to be removed would only be marked unused in the overlay, and get restored when the overlay is wiped on device reset.14:19
ograthe image builder should a) build a squashfs without these contents for us ... b) set up a unionfs at buildtime c) copy all langpacks and ubiquity inot that 14:19
ograand then copy cow.img and squashfs.img into the dd'able image 14:19
persiaYou're getting ahead again :)  Precisely.14:20
ogra(btw we use aufs now, no uniofs available anymore, we should adjust our wording ;) )14:20
ograpersia, the above works for both models14:20
persiaThe last interesting thing is that the squashfs to be deployed in the 2G case should have an initramfs pre-configured to continue to use squashfs as it gets adjusted.14:21
loolpersia: Why would you reset the overlay?14:21
persiaThis then needs to be adjusted to not look that way in a final state in the >4G case.14:21
ograright 14:21
ograbut thats a single initramfs script 14:22
persialool: To restore the device to "factory settings".  It's an OEM requirement that is commonly used in consumer devices.14:22
ograwell, have a spare partition where you tar up the content of /cow 14:22
persiaPersonally, I find it useless, but since it's not that hard to do if we're fiddling around to handle splitting out ubiquity and langpacks, etc. anyway, there's no reason not to do it.14:22
ograthe reset funtion wipes /cow and extracts the tar back14:22
ograno magic14:22
persiaMind you, I'm never likely to get a <4G device again (even the thing I use for a phone as >4G), but for those that do...14:23
ograwe need something like mem=256M dfor disks in the kernel :P14:23
persiaogra: No magic, as long as we make sure that the squashfs as deployed exactly matches the environment we want on device reset.14:23
* ogra is joking indeed14:23
ograpersia, my expectation would be that we can offer install to external devices .. so you could install to a 2G USB key 14:24
ografor testing purposes14:24
ograall that is done by my classmate installer already we can steal code from there as we want 14:24
ogra(the same counts for the image building process, all the above exists)14:25
ograsadly the installer is 100% shell ... so for ubiquity that needs lots of adjustment14:25
persiaogra: Absolutely: it's not for testing purposes, but rather for support of various devices.  I've two different devices that have very small flash as primary secondary storage and moderate sized secondary secondary storage.  I'd probably want /boot on the flash, but install to the HD or slower flash (depending on which of my devices is being considered)14:25
persiaThat means having the ability to use a partition tool and install to arbitrary partitions on the target device, including, if so desired, USB keys.14:26
loolpersia: That 'reset to factory settings' feature is new to me, and seem completely orthogonal14:26
ografor 2G we shuld have a fixed partitioning scheme anyway14:26
persialool: orthogonal to what?14:26
persiaEssentially, implementation only means that we don't leave a crufty /cow at install time.14:27
persia(or rather, immediately post-install)14:27
loolpersia: Orthogonal to squashfs installation14:27
persiaNot leaving a mess seems more technically correct to me anyway.14:27
persialool: Remember that the filesystem as viewed from the installer is not the same as the filesystem as viewed from the installed system (or oughtn't be).14:28
loolTo me it just sound like in both the squash and non-squash cases you need to record the initial state of the system in the less space possible to allow restoring to this factory state14:28
persiaTo do this, we either need to double-layer the installer image, or fake deletion on the target device.14:28
persiaIn the non-squash case, there is no "reset" option available.14:28
persiaAnything more complicated than wiping /cow isn't worth doing.14:29
loolpersia: Sure, so we have state A: booted live system for installation, state B: initially installed system, state C: current system, and you want a way to reset from C to B; this is orthogonal to whether B and C are squashfs based or not14:29
persialool: No.14:29
loolJust like the way state A is implemented, except that if it's not squashfs based, it's hard to generate14:29
persiaIn the squashfs case, you should be able to get from C to B by clearing the overlay.  In the non-squashfs case, you need to somehow track initial system state.14:30
loolI disagree14:30
loolYou make up that requirement14:30
loolThere's no reason you need to implement restore to factory by clearing the overlay14:30
persialool: You'd rather that the initially installed system in the squashfs case required addition information to be in place in the overlay to work cleanly?14:30
loolYou can have a double overlay and you lose no space14:31
loolThat is, install squashfs read-only on partition 1, setup an overlay for state B in partition 2, and setup partition 3 as user overlay14:31
persiaOK.  Do you agree or disagree with the statement that the initially installed system should have only that information that is required to be installed.14:31
loolYou can clear partition 3 to restore to factory14:32
loolI don't understand your question14:32
persiaRight.14:32
persiaOK.  My contention is that in the squashfs case, the initial overlay should be compeltely empty.14:32
loolI don't think you need that requirement14:32
persiaMaybe not, but is it better to have it be non-empty?14:33
loolIt's desirable that it be small, but it wont be empty unless the squashfs is what gets used initially14:33
persiaSo, we make the squashfs be what gets used initially, no?14:33
loolI think generating the squashfs is out of the question, and having zero customization would mean creating one CD per install14:33
loolWell we should make it as close as possible (by excluding ubiquity for instance), but we wont ever make it exactly what gets installed unless there are no installation options14:34
persiaWell, there's oem-config...14:34
loolTypically, I don't see how you'll manage to not install the langpack in some target overlay, unless you have on squashfs for language14:35
persiaTrue.  I don't imagine any sane end-users will ever use the squashfs option.  I'm only bothering to consider it because ogra wants it for cmpc stuff.14:35
loolWell it's an interesting option for devices with little disk space14:36
loolI find it challenging to support, and hence interesting14:36
ograi dont want to see any cmpc ever again14:36
persiaAs a result, I don't mind only having one langpack, as from an OEM perspective, devices should be pre-installed with the language for the target market.14:36
loologra: haha14:36
ograwhat makes you think i would want it for cmcp :)14:36
ograbut i am sure yu will still find devices with 2G disks out there 14:36
persiaogra: OK.  You pointed out that things like cmpc needed it.  Perhaps "want" is too strong a word.14:37
loologra: http://images.google.fr/images?q=classmate+pc14:37
ogra*like* :)14:37
persia(don't click that)14:37
loolIt's work safe I promess!14:37
ograheh14:37
ograMY EYES !14:37
persiayou clicked, didn't you.14:37
loolBefore building a squashfs aware installer, we should find some cmpc-protection goggles for ogra 14:38
persiaRight, which is why the plan is to first finish the non-squashfs aware installer, and then look at the possibility of having one.14:38
loolpersia: That's a reasonable way of ordering your priorities if you ask me14:39
ograpersia, i couldnt resist :)14:39
persialool: Mind you, I won't complain if other things get in the way of a squashfs installer, but if one is done, I think it ought be optimised for the OEM case, as I feel very strongly that the price of disks and flash is low enough that most end-users would prefer a larger device if available, especially the class of end-users that would install an alternate OS.14:40
persia(and larger devices *are* available: lots of 10G stuff out now, and 20 is becoming less uncommon)14:40
loolpersia: That's a sensible way to present it; however you need to consider the possibility of preinstalling Ubuntu on the devices too14:41
loolTypically, our USG team might have interest in such support14:41
persiaFor flash devices, it's still 4/8/16/32 (and mostly 4/8), but those are still 4.14:41
persialool: Sure.  The USG team would be an example of a target audience who would need an OEM-optimised installer.14:41
* ogra likes to note *again* that the squashfs installer exists already as cmpcinstaller ... its work of one afternoon to rip out the cmpc cpecifics there ... its not gtk based but if we need t it can be used worst case 14:41
persiaFor the >4G case, it's more interesting to look at the ways that e.g. System76 or Dell do installs.14:42
persiaogra: There's MIC too, so using the cmpc installer isn't *worst* case.14:42
ograheh14:43
loolHmm we'll need some MIC goggles too14:43
* persia has arranged for a special MIC visor, and is willing to be responsible for all the necessary looking at it whilst trying to make it less likely to be used.14:44
persiaAnyway, I need to prep for my next meeting.  Any last minute questions about the ideas for squashfs installers?14:45
persia(or catch me another day)14:45
loolpersia: I think we covered the side questions14:47
loolpersia: Thanks!14:47
persialool: Happy to share: it's been something I've thought a lot about, but don't have much code for, so can't just reference something.14:48
ogrago coding !14:49
ogra:)14:49
=== asac_ is now known as asac
=== cprov is now known as cprov-afk

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