[08:07] hello everyone :) [09:31] hi there* [09:32] I'm trying to build up slackware packages for the whole indicator group [09:34] I'm facing two different problems [09:37] the main one being the compilation of Nunit which is needed for indicator-application [09:37] if someone can point me towards a way to get Nunit to compile on Linux... [09:37] thanks in advance === MacSlow is now known as MacSlow|lunch === MacSlow|lunch is now known as MacSlow [15:06] qense, hi [15:09] hello seb128 [15:54] tedg: ping. [16:01] Howdy hyperair [16:01] tedg: howdy. [16:01] tedg: so anyway i've been poking aroudn appindicator-sharp, and the issue seems to be that you've incremented the AssemblyVersion to 0.1 [16:02] however, you didn't break ABI, and you didn't change the package name, so this is equivalent to a no-ABI-break SONAME bump, but without changing the package name. [16:03] i.e. now libraries looking for 0.0 can't find it in the GAC, because it got replaced by 0.1 [16:03] er sorry i meant applications [16:03] hyperair, Oh, I think the issue is that we've got too many c files in the gapi-parser: https://code.edge.launchpad.net/~ted/indicator-application/mono-bindings-startup [16:03] tedg: no, i don't think that's the issue. [16:04] hyperair, I think the versions were the same, right? I thought we just moved files and names packages correctly there. [16:04] tedg: i've run mono-api-check [16:04] the versions are different. [16:04] Hmm, I've rebuilt with that and I get Tomboy working :) [16:04] indeed, you should [16:04] Is it because I rebuilt Tomboy? [16:04] yes. [16:04] and because you're using upstream sources, i should think [16:04] the one in maverick is screwed [16:05] because you moved everything back to 0.0 [16:05] but didn't move the pkg-config file [16:05] i mean the pkg-config file still spits out -r/usr/lib/cli/appindicator-sharp-0.1/... [16:05] Hmm, shouldn't everything be going to 0.1 ? [16:06] tedg: your packaging shoved everything back into 0.0 [16:06] which is what's wrong. [16:06] tedg: another thing is, since ABI wasn't broken, you should add a policy.appindicator-sharp.config or something [16:06] that maps 0.0-0.1 => 0.1 [16:07] er policy.2.0.appindicator-sharp.config [16:08] it should also be compiled into a dll using al2 -keyfile:somethignorother.snk policyblahblah.config [16:08] and gacutil -i'd [16:08] Hmm, you're loosing me a little bit there. [16:09] I'm not sure how to map the policy there. [16:09] okay, let me go through this, looking only at the upstream situation first. [16:09] appindicator-sharp in trunk now has AssemblyVersion=0.1 [16:10] however, there is no ABI break between appindicator-sharp 0.0.0.0 and appindicator-sharp 0.1.0.0 [16:10] hence, applications which linked against apindicator-sharp 0.0.0.0 should be able to use appindicator-sharp 0.1.0.0 no problem, without recompiling [16:10] Okay, so how do I tell Mono that? [16:11] there is a way to tell mono that when things look for appindicator-sharp 0.0.0.0, use the appindicator-sharp 0.1.0.0 dll, because it'll be fine. [16:11] that's using the policy file [16:11] i've written one [16:11] give me a moment ot pastebin it [16:12] http://paste.debian.net/77917/ [16:13] Okay. Why is it 0.0-@ASSEMBLY_VERSION@ ? [16:13] Shouldn't it be 0.0.0.0 ? [16:14] And how do I generate "publicKeyToken" ? [16:16] tedg: i got that from your snk file [16:17] http://paste.debian.net/77919/ [16:17] see [16:17] hyperair, Oh. I thought that was the example. [16:17] Should that be generated in the build? [16:18] well, you can [16:18] it's up to you really, how much to generate [16:18] what it *should* end up with currently is... ASSEMBLY_NAME=appindicator-sharp, and ASSEMBLY_VERSION=0.1 [16:18] after that, you compile it with al2 [16:18] or $(AL) really [16:19] al works too [16:19] seems it's symlinked [16:20] $(AL) -link:policy.$$i.config -out:policy.$$i.$(ASSEMBLY_NAME).dll -keyfile:$(top_srcdir)/mono-addins.snk; [16:21] that's how it was done in mono-addins [16:21] hyperair, Where $$i is appindicator-sharp? [16:21] in appindicator-sharp's case, it can be done with $(AL) -link:policy.2.0.appindicator-sharp.config -out:policy.appindicator-sharp.dll -keyfile appindicator-sharp.snk [16:22] tedg: ^ [16:23] $$i = 2.0, i.e. the .NET version, afaik [16:23] hyperair, Okay. And where do I put policy.appindicator-sharp.dll ? [16:26] tedg: in the same directory as appindicator-sharp.dll [16:26] tedg: and gacutil the dll [16:28] tedg: once that's all done, there are the downstream changes: libappindicator0.0-cil must be renamed to 0.1 [16:29] hyperair, Okay. Let me see if I can get this working first :) [16:31] hello, how can i change the font size in the une panel? after an update it changed to super-small [16:34] tedg, sorry... afk for a few... bbiab [16:37] kenvandine, np [16:37] htorque, It should be the same as the application font... but I've not played with UNE much. [16:37] tedg: sure. if you've got any further troubles please ask [16:37] njpatel would be the guy to ask -- but he's not here right now. [16:38] tedg, thanks! after a unity crash it's back to normal - very strange === MacSlow is now known as MacSlow|capoeira [17:06] hyperair, Could you look at this branch and see if it matches what you were thinking? https://code.launchpad.net/~ted/indicator-application/mono-version-agreement [17:09] * hyperair checks [17:10] that would be... lp:~ted/indicator-application/mono-version-agreement, right? [17:15] hyperair, Yup [17:15] * hyperair branches [17:49] tedg: i think you need to use sed instead of just "cp" re: generation of the policy.2.0.appindicator-sharp.config from the .config.in [17:49] the @ASSEMBLY_*@ things need replacement [17:49] hyperair, Ah, okay. [17:49] hyperair, I wasn't sure if the al tool did that. [17:50] hmm what's this gtk-doc that autogen complains about? [17:53] hyperair, It's used to generate the API documentation. [17:53] hyperair, Should ASSEMBLY_VERSION be "0.1"? [17:54] tedg: yes. [17:55] tedg: it should follow whatever's inside AssemblyInfo.cs [17:55] tedg: if you ever break ABI, then the "0.0" bit needs to be changed. [17:55] hyperair, How about we just don't break ABI ;) [17:56] tedg: that's ideal, of course ;-) [17:56] Okay, pushed the sed stuff. [17:57] * hyperair fetches [18:06] Hi all, I'm a python web dev looking to make a fairly simple app that displays notifications popups and allows a user to take an action... [18:07] ...I was assuming the correct route to go is via appindicator and the existing messaging appindicator, but I'm having trouble figuring out how to hook everything up. [18:07] I'm looing at gwibber's source, but that's a bit daunting [18:08] hm, reading this now: https://wiki.ubuntu.com/MessagingMenu#API [18:10] schmichael, Well, it would depend on what you're representing. Would it qualify as a "human-to-human" message? [18:11] schmichael, That's all that should be in the messaging menu [18:11] hm, I suppose not necessarily [18:11] more like e-mail [18:11] where it's human-or-app to human recipient [18:12] Well, as long as it's more like Twitter feeds, I think you're probably good. [18:12] Where they can be both. [18:13] tedg: DLLPOLICY = policy.2.0.$(ASSEMBLY) [18:13] tedg: and add gacutil calls for the policy dll into (un)install-data-hook [18:14] then i think it should be good to go [18:14] schmichael, http://bazaar.launchpad.net/~indicator-applet-developers/libindicate/trunk/annotate/head:/examples/im-client.py [18:15] tedg: interesting. thanks [18:55] Just got my app to add menu items based on methods called via dbus, very excited :) [18:58] So I'm using appindicator currently for my tray icon. Is pynotify the preferred way to raise notifications from python? [19:01] schmichael, Ah, cool. You can use the appindicator python library if you want, that might make it easier. It hides the dbus parts. [19:01] schmichael, Yes, pynotify works. [19:01] hyperair, I can't figure out how to get it to uninstall :( [19:01] hyperair, Let me push what I have. [19:06] tedg: just copy paste whatever you had? [19:06] hyperair, Sadly doesn't seem to work. [19:06] hyperair, It doesn't seem to find the policy files. [19:06] hmm weird. [19:06] did it even install? [19:06] well let me pull and see [19:06] Yeah, it installs. [19:07] tedg: hm, indicator.notify('foo') just gives me an error [19:07] Warning: IA__g_object_notify: object class `AppIndicator' has no property named `message' [19:07] where 'message' is what I pass to notify [19:07] schmichael, The AppIndicator library isn't for notifications -- it's for putting icons in the panel. [19:07] schmichael, And attaching menus for them. [19:07] ah, sorry [19:08] thought you had said I could use it for notifications too [19:08] k [19:08] will use pynotify then [19:08] schmichael, You'll still want pynotify for the notifications. [19:08] thanks! [19:08] np [20:07] tedg: er sorry, looks like it was supposed to be policy.$(ASSEMBLY_VERSION).appindicator-sharp.{config,dll} [20:08] hyperair, Okay, cool. Let me try that. [20:11] still doesn't get uninstalled. [20:11] hmmmm [20:15] tedg: aha. during the uninstall call, you need to give the assembly name, not the dll name. [20:15] tedg: DLLPOLICY has .dll stuck on [20:15] hyperair, Ah, okay. [20:20] hyperair, Okay, it distchecks now. Can you pull and make sure it looks right? [20:20] okay [20:36] tedg: i think the policy.*.config file should also be installed to /usr/lib/cli/appindicator-sharp-0.1/ [20:39] tedg: Failure adding assembly policy.0.1.appindicator-sharp.dll to the cache: The system cannot find resource policy.0.1.appindicator-sharp.config <-- this will happen when using the debian packaging without the .config file included, because the libraries are added into the GAC during a postinst script. [20:39] to get that message, i just deleted the .config file and tried adding the .dll [20:40] hyperair, Okay, I added that to the TARGET [20:41] * hyperair tests [20:43] okay, it's good = [20:43] =) [20:45] hyperair, Cool. Thanks! [20:45] hyperair, No what do I need to do to the packaging? [20:45] Now [20:46] rename the libappindicator0.0-cil package to libappindicator0.1-cil [20:46] also, change the .install file to not install to a separate location [20:46] currently it takes things installed in /usr/lib/cli/blahblah-0.1 and installs it itno /usr/lib/cli/blahblah-0.0 [20:47] Ah, okay. Yes. === MacSlow|capoeira is now known as MacSlow [20:47] and then add the policy.whatever.dll to the .installcligac file [21:14] hyperair, Hmm, I didn't do something right -- Tomboy still can't find it :( [21:15] The packaging branch I'm using is here: lp:~indicator-applet-developers/indicator-application/ubuntu/ [21:15] The policy file got into the package and looks correct. [21:15] I'm not sure what else to check. [21:16] did it get into the gac? [21:16] gacutil -l | grep appindicator [21:17] appindicator-sharp, Version=0.1.0.0, Culture=neutral, PublicKeyToken=bcae265d1c7ab4c2 [21:17] policy.0.1.appindicator-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=bcae265d1c7ab4c2 [21:17] Seems like it should be in the gac as "appindictor-sharp", eh [21:17] ? [21:25] tedg: is it not appindicator-sharp already? [21:25] tedg: can you give me tomboy's backtrace? [21:25] hyperair, Well there's two lines. One for appindicator-sharp and one for policy*. It seems they should be appindicator-sharp. [21:25] no, it's correct that way. [21:26] appindicator-sharp is already appindicator-sharp [21:26] the policy one is registered and treated differently -- it provides the mapping from 0.0-0.1 => 0.1 [21:26] http://pastebin.ubuntu.com/451763/ [21:29] urgh, how weird. [21:31] hmm i just got an idea. [21:32] can you try changing these things: oldVersion="0.0.0.0-0.1.0.0" and newVersion="0.1.0.0" [21:32] seems that it might need the full version in the policy file after all. [21:40] tedg: ^ [21:45] hyperair, k, just a second [21:46] sure [21:51] hyperair, Hmm, nope, that didn't help. [21:51] =\ [21:51] did you regenerate the dll? [21:53] Yeah, I rebuild the package. [21:53] rebuilt [22:39] tedg: aha. the weird version that's stuck onto the policy.${VERSION}.appindicator-sharp.{config,dll} should be for the version of the assembly it's applying to (i.e. in order to map 0.0 => 0.1, it needs to ${VERSION} in this case needs to be 0.0) [22:40] hyperair, Ah, okay. [22:41] sorry for leading you on a wild goose chase =( [22:41] Let me try it. [22:46] it works this time with bce at least. [22:46] i mean banshe [22:50] Replaces: libappindicator0-cil (<= 0.0.19-0ubuntu4~) [22:51] er whoops [22:51] wait a sec. [22:51] tedg: i think the ~ is unnecessary. [22:52] it's generally used for >= relations to include backports of the version, or << to exclude backports of that particular version, but in the case of <=, it'll miss out on 0.0.19-0ubuntu4. [22:53] also i think the previous package name was libappindicator0.0-cil [22:54] hyperair, Hmm, the change to 0.0 didn't seem to help :( [22:54] I'll fix the version. [22:54] http://paste.debian.net/77952/ [22:55] tedg: i did that ^^, and renamed the policy.0.1.blah.in [22:57] hyperair, Hmm, I did the same... [22:57] weird. [22:57] try purging and trying again? [23:05] libappindicator0.1-cil should also Provides: libappindicator0.0-cil [23:05] i think. [23:05] Ah, I was just about to ask that :) [23:06] I think that might be the issue as I have a libappindicator0.0-cil installed on my system. [23:06] Anyway, I need to run. I try that later. Thanks for your help hyperair!