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