**** BEGIN LOGGING AT Sun Apr 23 03:00:01 2017 Apr 23 17:59:34 Pali: ping Apr 23 18:00:11 anyway, it is not a question only for Pali, so... Apr 23 18:01:32 Wizzup: parazyd: while implementing maemo gtk on top of upstream, I am facing a hard to be solved problem how to access various widgets private structure members Apr 23 18:01:54 I can think of 2 options, both of them i don;t really like: Apr 23 18:03:26 1. redefine private structure in my code, call g_type_instance_get_private and call it a day. Apr 23 18:03:43 2. reimplement the whole class instead of just subclassing Apr 23 18:04:25 1. is really, really ugly, but needs less coding Apr 23 18:06:43 2, is not *that* ugly, but I'll have to LD_PRELOAD hildon-gtk and hack in the gtk_whatever_widget functions, which may conflict with GTK3 programs. also, I am not sure how will that work in case of "inter-gtk" calls Apr 23 18:07:19 so, do you have any other idea on how to achieve that? Apr 23 18:07:42 bencoh: KotCzarny: the same question to you, and all other that can help Apr 23 18:07:48 *all others Apr 23 18:07:52 arent private members meant to be private? Apr 23 18:08:14 yes, but I am trying to act like a part of gtk itself Apr 23 18:08:15 ie. either find interface/func to access them or it might fall apart/be incompatible Apr 23 18:08:25 yes, I know Apr 23 18:08:38 thus "really, really ugly" Apr 23 18:08:41 gtk has a concept of custom widgets? Apr 23 18:09:05 I am trying to implement hildon gtk, without patching gtk code :) Apr 23 18:09:51 and you want to overload them in existing apps or just add hildon functionality? Apr 23 18:10:25 both Apr 23 18:10:35 hrm Apr 23 18:10:48 as adding hildon functionality requires accessing gtk internals Apr 23 18:11:04 KotCzarny: see https://github.com/community-ssu/gtk/blob/master/gtk/gtkiconview.c#L1565 Apr 23 18:11:08 for example Apr 23 18:11:16 how about writing gtk-hildon port and provide it as an alternative (while being a requirement for hildon enabled apps/) Apr 23 18:11:19 freemangordon: how does it work thus far then? Apr 23 18:11:37 bencoh: where? Apr 23 18:11:39 and by "upstream" do you mean gtk2 or gtk3 (or doesn't matter)? Apr 23 18:11:43 gtk2 Apr 23 18:11:45 in a way jpegturbo 'overloads' libjpeg Apr 23 18:11:47 freemangordon: on current maemo/gtk2 Apr 23 18:12:00 bencoh: code is heavily patched Apr 23 18:12:01 bencoh: on maemo nokia just forked gtk Apr 23 18:12:24 KotCzarny: I don't want to fork gtk Apr 23 18:12:52 freemangordon: gtk on maemo is heavily patched? Apr 23 18:12:59 bencoh: yup Apr 23 18:13:01 KotCzarny: re "in a way jpegturbo 'overloads' libjpeg" Apr 23 18:13:02 I see :/ Apr 23 18:13:23 bencoh: just look at GtkIconView code ^^^ Apr 23 18:13:27 fmg, why not? gtk2 wouldnt receive updates afair Apr 23 18:14:03 freemangordon: aww.... that's not pretty :/ Apr 23 18:14:18 and it would allow you to do things more elegant Apr 23 18:14:31 KotCzarny: because, this is lots of work, I'd rather avoid if possible Apr 23 18:14:44 fmg, but you are doing it anyway, no? Apr 23 18:14:47 KotCzarny: no Apr 23 18:15:18 i dont understand why do you need private members then and the 'implement hildon functionality' Apr 23 18:15:30 or rather - I am doing maemo part only, and if I make it that way, it won;t depend on gtk2 version Apr 23 18:15:40 KotCzarny: look at the code ^^^ Apr 23 18:15:49 cant at the moment, console only Apr 23 18:15:55 without mouse Apr 23 18:16:06 ah :] Apr 23 18:16:16 copypaste in screen! :D Apr 23 18:16:24 :) Apr 23 18:16:49 will explain - for example GtkIconView has a list of "items" which are in priv struc only, without accessor functions Apr 23 18:17:17 hildon gtk draws a tick mark on every selected item Apr 23 18:17:29 hmm, afair you can get access to items in tree/list store Apr 23 18:17:37 KotCzarny: how? Apr 23 18:17:55 you get some cryptic GtkTreePath or somesuch Apr 23 18:17:56 by accessing it's tree/list store? Apr 23 18:18:14 yeah, its hell to understand, but you can Apr 23 18:18:17 there is no way to access it, at least I was unable to find one for the last 3 days Apr 23 18:18:27 check oscp-remote-gtk Apr 23 18:18:33 i have some helper funcs there Apr 23 18:18:46 not the best code in the world but.. Apr 23 18:18:58 let me check the link for you Apr 23 18:19:00 where is the code, on github? Apr 23 18:19:30 Hello. I have Devuan booting on the n900. The system image is one I just debootstrapped on Devuan rc which I installed yesterday on my old laptop. But I have problems with the kernel. Someone here (I don't remember who exactly was, if freemangordon or parazyd ) had given me another kernel image. If I use that one, Devuan boots. However, with a kernel I built a few days ago, and also with one built right now, Devuan Apr 23 18:19:31 does not boot (but Debian does). The kernel boots, but does not find selinux; it stays there for a while and then the n900 reboots. If I give init=/bin/sh I get a shell but it's unstable - after a few seconds the n900 reboots. Apr 23 18:19:46 31.135.195.151:20280/arch/oscp/ Apr 23 18:19:57 sorry, typed that manually Apr 23 18:20:10 it's a source package prepared for arch Apr 23 18:20:41 KotCzarny: thanks, going to dig in it Apr 23 18:20:41 oscp-remote-gtk is in libs/_tools/ Apr 23 18:20:54 it's hackish, but works for me Apr 23 18:20:54 Enrico_Menotti: sorry, don;t have time now Apr 23 18:21:10 is wdog enabled at boot? Apr 23 18:21:10 freemangordon No problem. Apr 23 18:21:13 accessing items in both, via iterators and via element reference Apr 23 18:21:16 (that'd be strange, but ... who knows) Apr 23 18:22:20 bencoh Is there a parameter to enable the watchdog manually? Apr 23 18:22:29 KotCzarny: any hint where to look at? as it is lots of code there Apr 23 18:22:49 you probably want to look at oscp-remote-gtk.c func tv_show() Apr 23 18:23:17 and tv_click() Apr 23 18:25:08 KotCzarny: there is no access to the underlying items, just to the path Apr 23 18:25:53 and I didn;t find a way to get dimensions and position of cells in GtkIconView Apr 23 18:26:29 and I need those to be able to draw a tick GdkPixbuf Apr 23 18:28:14 why not defining your own widget then? Apr 23 18:28:42 KotCzarny: because all maemo applications will have to be ported to use it :) Apr 23 18:28:59 see? fork it Apr 23 18:29:01 :) Apr 23 18:29:05 hehe Apr 23 18:29:39 I'd rather avoid that if possible Apr 23 18:31:43 maybe just replace the icon with tick drawn over it? Apr 23 18:32:27 KotCzarny: I cannot get the coordinates of the bounding box of the cell to draw into Apr 23 18:32:41 otherwise there is no problem to draw one more icon Apr 23 18:32:55 not one more icon, replace the image Apr 23 18:33:44 I cannot do that, see http://talk.maemo.org/showpost.php?p=1527039&postcount=168 Apr 23 18:33:57 will check links tomorrow Apr 23 18:34:00 "Activate views" is GtkIconView Apr 23 18:36:01 Enrico_Menotti: no idea actually, that was just an idea Apr 23 18:36:27 bencoh Actually I think that be the problem. But I don't know why. Apr 23 18:39:29 Enrico_Menotti: you have to load the watchdog modules on boot, or include them in the kernel Apr 23 18:39:43 ah :) Apr 23 18:39:49 i don't remember the names, but grep the kernel config for WATCHDOG Apr 23 18:40:22 parazyd So your kernel has the modules included? Apr 23 18:40:56 Also, why with Debian no problem? Apr 23 18:41:55 yes, the config is here: https://github.com/dyne/arm-sdk/raw/next/boards/kernel-configs/n900.config Apr 23 18:42:03 i don't know, i never tried debian Apr 23 18:42:15 * DocScrutinizer05 wonders if ANYBODY _ever_ will tackle the relatively (in relation to the above) simple task of just building a maemo5 armel image based on debian/devuan from scratch Apr 23 18:42:45 without massive porting to new kernels, new libs, new arch Apr 23 18:44:51 freemangordon: you cannot get the coordinates of the tick box or the parent? Apr 23 18:47:23 parazyd: of the tick box Apr 23 18:48:09 parazyd: or to make it more clear - I have to draw tick mark in every selected cell Apr 23 18:48:32 ah, so you don't know the cell sizes Apr 23 18:48:37 mhm Apr 23 18:48:49 and positions Apr 23 18:49:03 no, i thought just spawning the tick box on the opposite of 0,0 Apr 23 18:49:03 nevermind then :D Apr 23 18:49:23 maybe I can calculate those, but ... Apr 23 18:49:50 hmm, maybe this is the correct way to do it Apr 23 18:52:32 I'm afraid this whole porting thing leads nowhere near anything that would be capable of running apps from maemo-extras (unless somebody would recompile them, which obviously is a mad idea to do) Apr 23 18:53:58 DocScrutinizer05: actually those should run without recompiling, at least on x86 Apr 23 18:54:45 and on armel as well Apr 23 18:54:55 fork the lib, told'ya Apr 23 18:55:08 aren't the libs they are linked to much older than current? Apr 23 18:55:13 for gtk2 you are quite safe Apr 23 18:55:20 parazyd: so? Apr 23 18:55:31 KotCzarny: and what about gtk3? Apr 23 18:55:35 freemangordon: maybe stuff is gone Apr 23 18:55:41 for gtk3 you have to rewrite apps anyway Apr 23 18:55:49 not even recompile would help Apr 23 18:56:19 if we talk hildon stuff, what is there is decided by us Apr 23 18:56:36 but yeah, there might be removeed function Apr 23 18:56:42 *removed functions Apr 23 18:57:12 yeah i think DocScrutinizer05 is talking about _all_ the software from the repos... anyway. /end bikeshedding Apr 23 18:57:13 parazyd: what about having forked gtk2 in devuan-maemo repo? what is the policy? Apr 23 18:57:34 freemangordon: you're free to do so as long as you keep backwards compat Apr 23 18:57:41 (because of everything else using gtk2) Apr 23 18:57:46 define backwards please Apr 23 18:57:55 plain gtk2 apps Apr 23 18:57:58 as it will change the way gtk apps look Apr 23 18:58:40 do we talk ABI only here? Apr 23 18:58:46 abi Apr 23 18:58:48 yes Apr 23 18:58:55 hmm Apr 23 18:59:33 the look isn't the problem, i mean everything will be running inside hildon anyway Apr 23 18:59:33 it's just the calls Apr 23 18:59:34 as a bonus, those old gtk2 apps might get few new features, fe. pannable areas? ;) Apr 23 18:59:54 waitamin, there is an independent devuan-maemo repo? Apr 23 19:00:01 pretty handy with touch screens Apr 23 19:00:09 bencoh: WIP Apr 23 19:00:15 bencoh: there will be Apr 23 19:00:22 that's the idea Apr 23 19:01:11 freemangordon: we'll be free to experiment in any case. that's the point of the thing. the repo is separate from devuan, and we just include the pacakges we want Apr 23 19:01:25 then they take precedence over devuan's Apr 23 19:01:44 just like CSSU Apr 23 19:02:00 well, technically different, but same effect Apr 23 19:02:04 freemangordon: I'd be fine with (1) for now Apr 23 19:02:35 parazyd: well, forward-porting all hildon gtk stuff for the sake of experiment... a bit of an overkill :) Apr 23 19:03:02 I'd go with relatively little effort for now, unless it means -a lot more work- in the future Apr 23 19:03:11 this just sounds like an ugly hack, but not something that will bite us anytime soon Apr 23 19:03:21 parazyd: ah, BTW which of those 2 options you dislike less? Apr 23 19:03:42 Wizzup: that's a good approach Apr 23 19:03:43 Wizzup: yes, gtk2 private structures won;t change Apr 23 19:03:44 always less code Apr 23 19:04:40 though I am not sure it will be less code, as I'll have to override almost all of the class functions Apr 23 19:05:15 (( yeah i think DocScrutinizer05 is talking about _all_ the software from the repos...)) of course. And I don't see freemangordon not doing so Apr 23 19:05:27 maybe I missed the point Apr 23 19:05:52 that's why I insist in armel instead armhf images Apr 23 19:06:41 ... Apr 23 19:07:25 which are admittely a tad less effective, but according to studies quoted on debian wiki, "up to 40% faster for **heavily numbercrunching** apps" OWTTE Apr 23 19:07:25 Wizzup: parazyd: the correct way is to fork gtk2, this is for sure. Maybe I'll just bite the bullet and do it. Apr 23 19:09:16 parazyd: If I choose that route, do you know which git repo shall I use as a base? debian? or there is devuan repo for all the stuff? Apr 23 19:09:46 we haven't forked gtk2 Apr 23 19:10:01 but you should do an apt-get source from devuan to be sure you have the right thing Apr 23 19:10:03 while possibly it's irrelevant for the particular app if itself is softfp or hf build, and different apps may coexist, I see problems in libs and in task scheduler when both are used in parallel Apr 23 19:12:58 if we could maje sure all lib ABIs are agnostic of softfp vs hf and the task switcher in scheduler will take care of *all* registers (incl FP), it *might* even work to run armel apps in a hf environment, as long as the softfp libs are available Apr 23 19:13:08 disclaimer: AIUI Apr 23 19:14:28 (if softfp are even shared object libs and not embedded code by gcc during build time) Apr 23 19:14:39 Wizzup: parazyd: seems I am not the only one https://git.javispedro.com/cgit/topmenu-gtk.git/tree/module/menuitem-proxy.c#n138 :) Apr 23 19:14:51 and this is in debian repos Apr 23 19:15:40 ok, going the hacky way for now Apr 23 19:16:52 freemangordon: would you know if the armel scheduler saves (and restores) the FP registers on task switching? Apr 23 19:17:51 also I hope all kernel tasks preserve FP as well Apr 23 19:18:05 don't know, sorry, but in theory all regs should be saved Apr 23 19:18:16 ack, thought as much Apr 23 19:18:18 along with all the state Apr 23 19:19:11 trying to wrap my head around that damn soft(fp) vs hf thing Apr 23 19:19:22 and armel vs armhf Apr 23 19:19:33 fmg: why not maemo's gtk? Apr 23 19:19:49 I recall back with meego it was like 2 weeks of arguing Apr 23 19:20:52 KotCzarny: in what regard? Apr 23 19:21:05 what to do with maemo's gtk? Apr 23 19:25:23 to take it as a fork base Apr 23 19:25:42 it is old Apr 23 19:26:03 it is, unfortunatelly Apr 23 19:26:34 it worked, so far Apr 23 19:26:58 quite a lot of packages would require newer one Apr 23 19:27:35 there's always "quite a lot of packages that require newer than X version of Y" out there Apr 23 19:27:58 as in: most of them (from devuan binary repos) Apr 23 21:42:07 Maybe I have some clues about my kernel problem in booting Devuan on the N900. The one by parazyd has the watchdogs incorporated, as he said. Mine has them in the modules, and for some reason they are not loaded. In any case, with both kernels, at boot I get the following error: Apr 23 21:42:09 mount failed for selinuxfs on /sys/fs/selinux: no such file or directory Apr 23 21:42:28 I may be wrong, but maybe this delays too much the module loading. Apr 23 21:42:49 In any case, does anyone have an idea on how to have /sys/fs/selinux created? Apr 23 21:43:00 I ... don't think you need selinux. Apr 23 21:43:15 Yes I don't need it but is seems to be enabled. Apr 23 21:43:42 And causes that error, which may be source for further trouble. Apr 23 21:43:56 I doubt it. Apr 23 21:44:28 Well, it's unlikely, yes. Apr 23 21:45:11 the error, it's not affecting you Apr 23 21:45:33 you can disregard it Apr 23 21:45:34 Did you do anything special for the watchdog modules? They should normally be built and distributed at the same time as all other modules. Apr 23 21:45:55 I am able to boot Debian with my kernel. Apr 23 21:46:03 they aren't being loaded because he didn't add them to /etc/modules Apr 23 21:46:11 I did the same thing for the modules in Devuan. Apr 23 21:46:40 parazyd Isn't enough a make modules_install? Apr 23 21:46:42 Enrico_Menotti: either compile them into the kernel or add them in /etc/modules for them to autoload Apr 23 21:46:49 just put them in the kernel. Apr 23 21:46:54 no, there is no userspace calling for the modules Apr 23 21:46:56 there's no reason not to have the watchdog not in the kernel. Apr 23 21:47:02 the system won't load them on its own Apr 23 21:47:13 Wizzup: ++, i don't see why it's not like that in rx51_defconfig Apr 23 21:48:17 on my system I just load them before contiuing with the debian init. Apr 23 21:48:26 and you do it within 25 seconds Apr 23 21:48:33 and if fsck runs before you do that... etc Apr 23 21:48:44 but yeah, if you do it in initramfs, it's probably fine Apr 23 21:51:22 * Maxdamantus intentionally does it before fsck even when booting normal maemo Apr 23 21:51:35 Sorry, my computer crashed. This stupid Mac crashes very often in the last days. Apr 23 21:51:53 So maybe I lost some message - I will read the log. Apr 23 21:52:41 since fsck often takes more than 30 seconds (ext4), and the watchdogs don't seem to get triggered when the ext4 driver itself is doing the cleanup that fsck often does. Apr 23 21:53:43 Ok, I didn't lose anything. Apr 23 21:54:01 I will try to add the modules to /etc/modules. Apr 23 21:54:13 If that fails, I will rebuild the kernel with the modules in it. Apr 23 21:54:33 Just one detail: how exactly to add the modules in /etc/modules? Apr 23 21:58:57 And in Debian I see that file is empty. So how are the modules loaded there? Apr 23 22:00:02 it's explained in the file Apr 23 22:02:12 So just the names? Apr 23 22:03:02 And I found this: https://wiki.debian.org/Modules. This states that "Nowadays, most modules related to hardware support should be automatically loaded, thanks to udev and modules alias that are hardcoded in kernel modules (see the alias fields in modinfo snd-hda-intel output)." This would explain why in Debian the modules are loaded and in Devuan not. Apr 23 22:13:48 you want particularly watchdogs to be in kernel or at very least get force-loaded very early by a simple process, not via udev Apr 23 22:15:01 mind you watchdogs are timing critical Apr 23 22:15:27 unlike pretty much *all* ither possible modules Apr 23 22:15:36 other* Apr 23 22:15:58 was a probelm with uBoot iirc Apr 23 22:16:16 uBoot bailing out and rebooting after 30s Apr 23 22:17:17 and uBoot loading a kernel after 25s then the jernel had only an additional 5s until watchdog throws sticks at kernel's legs Apr 23 22:18:50 though I'm a tad surprised about that, thought watcghdogs wake up from power-down in inactive state Apr 23 22:38:24 Ok, I got a list of modules loaded in my Debian image. But how may I understand which ones are needed at boot time, in order to tell Devuan to load them? Apr 23 22:59:30 no way Apr 23 23:00:08 except learning about, and understanding, the complete boot process Apr 23 23:14:28 Ok, I will do that (slowly). But, however probably not related with this issue, I'd also like to completely disable selinux, so to avoid that fastidious error. If I got it, it is not enabled in kernel (/sys/fs/selinux does not exist). But somehow it is enabled in the system image. But I may be completely wrong. In any case, what is the right place for discussing this, maybe #selinux? Apr 23 23:15:02 I doubt it... Apr 23 23:15:35 Are you sure you're not just chasing a lot of ghost bugs? Why are you trying to build all thing by yourself when you run into these issues ? I'm generally curious Apr 23 23:15:40 Although I do need to sleep soon... Apr 23 23:18:40 Well, I'm trying to learn, first. In any case, the selinux issue is present also in the Devuan image I got from parazyd (hope not confusing the person who gave it to me). Apr 23 23:42:18 Enrico_Menotti: ok, if it's to learn then go for it Apr 23 23:42:20 :) Apr 23 23:42:31 yeah parazyd builds those images **** ENDING LOGGING AT Mon Apr 24 03:00:01 2017