IRC Log Viewer » #firebreath » 2011-02-16

IRC Nick Time (GMT-7) Message
FB_GitHubBot 00:02 FireBreath: master Richard Bateman * f54acef (1 files in 1 dirs): Fixed build error on linux - http://bit.ly/gDvWl6
FireBreath: firebreath-1.4 Richard Bateman * f54acef (1 files in 1 dirs): Fixed build error on linux - http://bit.ly/gDvWl6
saiaman 02:02 hello everyone
[dudu] 09:02 hi, there.
i wonder, how one should fire js events from the plugin object, not from the pluginapi object? i tired to save the JSAPIPtr created in the pluginobject's createJSAPI() and cast it to my real pluginapiobject type and call methods on them, which compiles and my function get called too, but then segfaults in FireEvent()
jshanab_wcw 09:02 I had a problem the other day with my plugin working but not setting the mime type in the registry. It was found (by taxilian) that I had a custom FBControl.rgs in the main dir, i got rid of it nad it installed. Now I don;t have that file but the problem has returned. Can someone remind me where in PluginAuto I can find that section so I can debug
taxilian 09:02 [dudu] one would call a method on the api object that would fire an event
jshanab_wcw: what problem exactly are you having?
jshanab_wcw 09:02 MSI Installer works, but the browser cannot find my plugin, I look in the registry and the application/x-{mymimetype} is not in the registry.
taxilian 09:02 then MSI installer doesn't work
does regsvr32 succeed?
jshanab_wcw 09:02 When the old entry was in the reg or if I put it in manually, the plugin works.
Oh, i am sorry, i forgot to mention. msi puts all the files in place and regsvr32 does put the entry in. Let me check if this is a win7 issue
taxilian 09:02 if the msi isn't putting the registry stuff in then it's most likely a problem with your installer
remember that when the MSI builds it has to be able to call regsvr32 and have it succeed
jshanab_wcw 09:02 Could it be because on windows 7 it puts it in c:programData
It worked with FB 1.2, Is there something that may of changed for FB 1.4 that I forgot to do in the migration
taxilian 09:02 in your wixinstall project there is a "generated" folder
one of those will start with np
pastebin me the contents of that file
[dudu]: you don't need to save that pointer; it's saved already as m_api
[dudu]: to correctly cast it you should use FB::ptr_cast<YourAPIType>(m_api)
[dudu]: the main key is that you don't want to pull it out of the boost::shared_ptr
jshanab_wcw 09:02 http://pastebin.com/S7aQtCPd
taxilian 09:02 regsvr32 is failing when wix tries to run it
that file should have all the typelib info and such in it
jshanab_wcw 09:02 BRB, runing down the hall to test on previous version of windblows
taxilian 09:02 not going to make a difference
your MSI is borked
[dudu] 09:02 oh, thans, i was sure that the old c cast will break things, and got burried under the boost's docs
taxilian 09:02 http://colonelpanic.net/2010/11/firebreath-tips-dealing-with-jsapi-objects/
jshanab_wcw 09:02 Hey that is the exact technical term I used :-) You were right, it failed on 2008. Maybe it is time to remove the build directory and rebuild, I managed to severly confuse this machien the other day
Ther was a log right?
taxilian 09:02 dude, I have told you what is wrong 3 times
jshanab_wcw 09:02 whoa, sorry,, let me read the back buffer.
taxilian, Forgive my densness. I do not know what the "typeinfo" looks like or what determines it. I get that regsvr32 is not running from the MSI, but didn't think that changes the file pastebined, in fact I would think it is the cause and the not working is the effect. So what causes the paste bined file to be borked is what i am still searching for.
taxilian 09:02 okay
the pastebinned file is borked because regsvr32 fails in that directory where the dll is built
jshanab_wcw 10:02 Wow, there is some magic under the hood I was unaware of. i thought npMVSArchivePlayer.wxs was a build time fiel and regsvr32 was an install time file. I did not realize regsvr32 was used in the build process
taxilian 10:02 regsvr32 itself is not
but DllRegisterServer is
that's how WiX finds out how to register the file
jshanab_wcw 10:02 gotcha
taxilian 10:02 it calls DllRegisterServer and captures the changes
jshanab_wcw 10:02 Can timeing have anything to do with it? It worked with the sleep(10000) in there and almost seem to break when i commented that back out. I was afraid I may of deleted a line or someting
taxilian 10:02 no
it'd most likely be a question of finding (or not finding) dependent dlls
[dudu] 10:02 thank you again, i've successfuly made it to work (m_api gone private since than, but it has a getter)
jshanab_wcw 10:02 Ah-ha. Perhaps because the install directory has all the dlls in it and the build directory doesn't? I thought I had code for that, Is that true? that all the dlls must be avail in the build directory for the process to work?
taxilian 10:02 that's quite possible
yes
they must be available in the build dir
FB_GitHubBot 10:02 FireBreath: master Richard Bateman * ca92d4a (2 files in 2 dirs): Fixed typos - http://bit.ly/haP7BH
FireBreath: firebreath-1.4 Richard Bateman * ca92d4a (2 files in 2 dirs): Fixed typos - http://bit.ly/haP7BH
jshanab_wcw 10:02 So since I don't build all the dlls, i need to do some coping. Right now i have them in build/projects/MVSArchivePlayer/win32/dlls. Does that seem reasonable
taxilian 10:02 they'll have to be somewhere that they can be found in the build dir
which probably means in the build dir
not sure how to get around that
[dudu] 10:02 good bye
jshanab_wcw 10:02 Makes sense. Somwhere wix can find it, Just trying to nail down where in the "build" directory when I have multiple projects like I do. Does it just need to match the references in the wxs file, maybe I have a typo. :-o
taxilian 10:02 has nothing to do with the wxs file
has to do with the .dll
when you load the dll it has to be able to find your other dlls
jshanab_wcw 10:02 oh, then it is gonna have to look like the installed directory!
taxilian 10:02 yeah
jshanab_wcw 10:02 ROTFL. How did I get away with this before? must of been some hidden path thing
taxilian 10:02 no idea
jshanab_wcw 10:02 (twilight zone music)
FB_GitHubBot 10:02 FireBreath: master Richard Bateman * 49c6167 (1 files in 1 dirs): Reverted syntax change that broke WiX 3.0 support - http://bit.ly/eItzbA
FireBreath: firebreath-1.4 Richard Bateman * 49c6167 (1 files in 1 dirs): Reverted syntax change that broke WiX 3.0 support - http://bit.ly/eItzbA
taxilian 10:02 amackera: so I'm wrestling with the question of whether to try to shove the pluginwindow updates into 1.4 or if I should wait 'til 1.5
it probably really should wait 'til 1.5, but I'm working on something where I need them now :-P
jshanab_wcw 10:02 taxilian. One last Q. I need to put the dependent dlls relative to the built lib, not the build dll, right? like "build/projects/MVSArchivePlayer/Debug" and not "build/bin/MVSArchivPlayer/Debug"?
taxilian 10:02 build dll
build/bin/MVSArchivPlayer/Debug
jshanab_wcw 10:02 ok, Thanks! I am on it
jshanab_wcw 10:02 Is there a varible availible in CMAKE scripts to determine if Debug or Release?
taxilian 10:02 do you need to determine if Debug or Release or do you need to know where the DLL is?
if the latter, $(var.BINSRC)
jshanab_wcw 10:02 Where the Dll is so I can copy dependent dlls to that directory (you are a mind reader)
thanks
Are those parenthesis replaced with sqiggly brackes in cmake scripts?
taxilian 10:02 no; $(var.BINSRC) is passed into WiX
it's only good in a WiX script
if you need it in cmake that's a different variable
jshanab_wcw 10:02 oh. ehen i still need a way for my post built custom commands to copy the dependent dlls into the right location.
I thought ${CONFIGURATION} but it is blank
taxilian 10:02 https://github.com/firebreath/FireBreath/blob/master/examples/FBTestPlugin/Win/projectDef.cmake#L47
jshanab_wcw 10:02 Ah, very nice. thanks
Is the proper way to add my dependent libraries here and let the system generate the .wxs file better?
taxilian 11:02 the system probably won't include your dlls automatically
but it will generate the bit for the firebreath dll
jshanab_wcw 11:02 Thanks yet again. That is working great now. Time for some elevation keys now
is the elevation ploicy keysmentioned on the wiki what gets rid of the little bar and request to allow activeX scripts to run?
taxilian 11:02 no
that's only if you need to launch a process in medium integrity mode
are you still getting the little bar?
jshanab_wcw 11:02 Yeah, but i think My signing is...borked
taxilian 11:02 that would do it
the key to remove the bar is already in there
jshanab_wcw 11:02 ok, working on a signing custom target. I think I need 2 a post build signing and a post packaging signing
jshanab_wcw 11:02 When I am in VS2010, a CMakeLists.txt shows up in the solution under the MVSArchivePlayer_WiXInstall project. It is the same as the main project. I wanted to add a post build target to the Wix project...
taxilian 11:02 the post-build target would go in your projectDef.cmake file
jshanab_wcw 11:02 So I jsut specify the WixTarget in the Add_Custom_command macro. oh, projectDef then. thanks
taxilian 11:02 I'm actually thinking of adding some code in to do the signing
jshanab_wcw 12:02 Signing, That would be awsome. If there is any way I could help...
Just in case you didn't have enough ideas. I could see one more feature. An optional generation of a JQuery plugin, i think all the info is there to do it. The purpose being that I could call plugin('htmlObject').doSomething, instead of having a plugin1.doSomething, plugin2.doSomething...
taxilian 12:02 I'm open to the idea of a jquery plugin
but I don't have time to write it myself
I could perhaps help someone who was writing it
if somebody wanted to volunteer
jshanab_wcw: if you could send me example command line for how to sign the dll and how to sign the msi that'd help =] it's been a long time
jshanab_wcw 12:02 We will be creating our first one this week. but to be honest, we are a bit new to JQUERY plugins
taxilian 12:02 as am I; I have modified existing ones, but never written one from scratch
jshanab_wcw 12:02 I was just re-googling myself. I have this, but want to add more like a timestamp
ADD_CUSTOM_COMMAND(
TARGET MVSArchivePlayer
POST_BUILD
COMMAND signtool sign /f WCW.pfx "${MY_TARGET_DIR}/sfml-graphics-2.dll"
)
It has not been tested yet.
the doc http://msdn.microsoft.com/en-us/library/aa387764%28v=vs.85%29.aspx
taxilian 12:02 you'll probably need to add a password as well
jshanab_wcw 12:02 I do not know much about signing. I thought a lot was wrapped up in the fact that we have a purchased Verisign cert in a file. I think I want a timestamp, but I am not sure if that is compatible with the cert in a file
taxilian 12:02 if it's a verisign cert you can timestamp like this: signtool sign /f <CERTIFICATE_PATH>\move_codesign.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll <OUTPUT_FILENAME>
jshanab_wcw 12:02 And of course I have search logic in the CMAKE that sets a variable. I will pastebin when it works
taxilian 12:02 I'm actually working on it right now as well
jshanab_wcw 12:02 If I knew how to GLOB It could be clean
taxilian 12:02 GLOBbing is easy
jshanab_wcw 12:02 Should be, especially for a Linux Guru Wanna be like me. I just never played with it much in CMAKE
Cut-n-paste is crud but it works by the end of theday.
:-)
taxilian 12:02 =]
the syntax I'm considering will be:
jshanab_wcw 12:02 ever seen "Wix Toolset Harvester has Stopped Working" ?
taxilian 12:02 firebreath_sign_plugin(${PROJNAME} "path/to/pfxfile.pfx" "path/to/passwd.txt" "http://timestamp.url/...")
nope
jshanab_wcw 12:02 I get that a lot right now and yes it is asking for the password now :-) I read about the timestamp server and it seems special for siging purposes and says it must be applied to an already signed file. that may need to be optional since it can fail or cost per siging :-(
here is a timeserver example http://social.msdn.microsoft.com/Forums/en/windowssecurity/thread/299cf209-df2d-4700-b418-b6c23859145b
How do we keep from putting the cert password in clear text?
saiaman_ 12:02 hello, sorry for disturbing : i've seen that you commit something about installing plugin machinwide . What are the great differences between machine wide and peruser installations ?
taxilian 12:02 saiaman_: well, machine-wide installs for all users of the machine, per-user only for the current user
machine-wide requires administrator access
saiaman_ 12:02 Taxilian : ok but so with administrator access, our plugin's dll has more rights ? ( a higher level ? )
taxilian 12:02 no
just install scope is all
doesn't change anything at runtime
saiaman_ 12:02 ok thanks for info
taxilian 12:02 except that you might not be able to write to the directory where the plugin is installed
saiaman_ 12:02 ok thanks
i've looked at google update as you adviced me, but it seems for me juste like "a Nuclear bomb only for killing a bug"
:)
taxilian 12:02 there is something to what you say =]
saiaman_ 12:02 i'm still looking for my solution .... tomorrow is another day i'll find out how to launch this exe from plugin without that UAC
taxilian 12:02 UAC should have nothing to do with it unless you need admin rights
saiaman_ 12:02 it's the fact, i need admin rights : its an install :(
taxilian 12:02 install for what?
saiaman_ 12:02 we are trying to develop a plugin as a tool for helping us in download/installs of our softwares
taxilian 12:02 and your software requires admin rights to install?
saiaman_ 12:02 ie : you have our plugin, you are on our website, you click install and the plugin downloads and installs the required software
:(
yes this is the bad thing :-
taxilian 12:02 well, there is no getting around UAC then
you'll have to launch a process in medium integrity mode that launches your installer
and your installer will have to elevate itself using the UAC prompt
there aren't any other options
saiaman_ 13:02 yeah thats the conclusion
taxilian 13:02 http://msdn.microsoft.com/en-us/library/bb250462%28v=vs.85%29.aspx#wpm_elebp
saiaman_ 13:02 or i have to try adapting all our softwares in order to don't need admin level anymore
taxilian 13:02 if you haven't seen it yet, that's the official docs for how to do it
that would be a good idea anyway, IMO
but that's me
saiaman_ 13:02 yeah maybe but i don't know if it will be possible for all our softs
taxilian 13:02 well, the plugin part is the same either way
saiaman_ 13:02 yes ( sorry was @ phone )
taxilian 13:02 no problem
_neilg_ 13:02 Hello! Good news, I'm now back on FireBreath as of about 2 minutes ago. Phew! :)
taxilian 13:02 _neilg_: welcome back! update to 1.4 ;-)
_neilg_ 13:02 That's totally my plan. ;)
taxilian 13:02 O
bleh
_neilg_ 13:02 But which branch? firebreath-dev
or beta?
taxilian 13:02 (typos)
firebreath-1.4 probably
I'm in the process of creating signtool integration
_neilg_ 13:02 That's not a bad idea. I have it signing everything as part of the build process but I'd imagine that being very useful for most people :)
saiaman_ 13:02 ^^ Signtool integration is a good plan :)
taxilian 13:02 the real benefit here is that it will only sign if the cert is there
jshanab_wcw 13:02 and signtool.exe is found? Windows put it in a different location in every sdk
taxilian 13:02 right
_neilg_ 13:02 Right. I guess instructions will be needed so people know how to create a .pfx file too
taxilian 13:02 I may have to add some logic to search for that
no, pfx file creation is your problem, not mine
jshanab_wcw 13:02 Hey, I just got "Successfully signed" in front of each of my dlls :-)
_neilg_ 13:02 Well, it's not mine either but... ;)
jshanab_wcw 13:02 verisign has a good web page, we will just point a wiki page to them ;-)
saiaman_ 13:02 there are tools for certs conversion : pvk2pfx for example
_neilg_ 13:02 Do they also have a publically available time server for signing?
saiaman_ 13:02 very usefull
yes neilg
taxilian 13:02 - http://timestamp.verisign.com/scripts/timstamp.dll
- http://timestamp.globalsign.com/scripts/timstamp.dll
- http://timestamp.comodoca.com/authenticode
most everyone has one
saiaman_ 13:02 for info about pwk2pfx : the util is in windows sdk
_neilg_ 13:02 Cool, that's awesome then - because (I'd assume) that would go into the build script you're creating?
taxilian 13:02 I'm certainly fine with info like this going on the wiki
I'm just not going to worry about it myself =]
_neilg_ 13:02 I can't say I blame you to be honest!
taxilian 13:02 I think I've provided enough convenience for all ya'll that I should be excused on the ones I don't feel like doing :-P
saiaman_ 13:02 lol sure taxilian
_neilg_ 13:02 Hmm. So what's the most straightforward way of upgrading FB? Just run the prep script again?
taxilian 13:02 _neilg_: what are you coming from?
_neilg_ 13:02 1.3
taxilian 13:02 there are some breaking changes, documented on the version history page
_neilg_ 13:02 (I don't know which version of 1.3)
Oh, I definitely need to read that!
taxilian 13:02 but generally, just get a new copy of the firebreath dir
and run the prep script for the new firebreath version
_neilg_ 13:02 Okay, cool - sounds good. The changes don't sound that bad as it happens. Good stuff!
taxilian 13:02 nah, 1.3 to 1.4 is pretty easy
1.5 or 1.6 might be a little more invovled; I have plans to rewrite all the cmake stuff so that it actually makes sense
and dan2 says he's willing to help
dan2 13:02 ya
I' mgoing to help
:)
taxilian 13:02 stuartmorgan: hey, how's it going? I usually only see you on stackoverflow :-P
stuartmorgan 13:02 I figured I'd try lurking for a bit to see how much is discussed here vs. the mailing list
taxilian 13:02 a lot more, actually
this is really where most discussion happens
also check out the logs: http://logs.firebreath.org
stuartmorgan 13:02 Is that supposed to redirect to bit.ly?
taxilian 13:02 err, no, no it's not
that's weird
that was working the other day
give me a minute and I'll fix that =]
saiaman_ 13:02 it's working for me
taxilian 13:02 it might be that it isn't working on ipv6
ahh, yeah, that's it
it works on ipv4, but ipv6 doesn't
hang on
stuartmorgan: glad you caught that. not that many people use ipv6, but good to have it no longer broken for those who do =]
and well done for being one of them
saiaman_ 13:02 it's time for me ... se you tomorrow everyone
taxilian 13:02 jshanab_wcw: so you got your signing stuff all working?
jshanab_wcw 13:02 I have it signing the dependent dlls, but I can't seem to add a custom post build command to the _WixInstall project and I keep getting "WiX Toolset harvester has stopped working"
taxilian 13:02 interesting
well, I'm about to obsolete your plugin dll signing step
=] just give me another couple minutes to work out some bugs
then I'll add one for wix
jshanab_wcw 13:02 It seems like the postbuild action for th WixInstall is created during build and overwrites mine?
taxilian 13:02 hmm. possible
will have to look at it
let me finish this, then I will
jshanab_wcw 13:02 Excellent, That was fast!
taxilian 13:02 the trickiest bit is that I don't want to have any passphrases in source control
so it needs to detect if the pfx file is there or not
and not sign if it's not
if it is, there should be another file that has a passphrase in it, if that is needed
and then optionally timestamp
well, actually the trickiest bit was probably finding a reliable way to locate signtool
but I think I've got it licked
… and it signed
excelent
jshanab_wcw 13:02 That will be awsome. So We still will have to handle dependent dlls
FB_GitHubBot 13:02 FireBreath: master Richard Bateman * a75e529 (1 files in 1 dirs): Added firebreath_sign_plugin macro - http://bit.ly/eMUADi
FireBreath: firebreath-1.4 Richard Bateman * a75e529 (1 files in 1 dirs): Added firebreath_sign_plugin macro - http://bit.ly/eMUADi
taxilian 13:02 hmm. I could maybe add another macro for signing other dlls
let me think about that a moment
jshanab_wcw 14:02 Even If we can just hook into the system. Create a custom target that runs after plugin build and before wix that we list our dlls in, it probably will have to copy them to bin or a subfolder therof
taxilian 14:02 tell you what
I'll look at that
you see if this works for you
for your plugin dll
pull the latest from git
jshanab_wcw 14:02 I pulled from firebreath-dev last time, same location?
taxilian 14:02 firebreath-dev? you mean master?
pulling from master or firebreath-1.4 should be fine
if I were you I'd stay on firebreath-1.4 for now, though, so that you don't get 1.5 changes when we start putting those in
jshanab_wcw 14:02 err not sure :-(. I think you had me pull form -dev a few days ago fro something. is firebreath-dev master? I have been getting into a directory, removing from SVN, coping over , then recommiting. A real PITA to avoid tre conflicts.
taxilian 14:02 there is no firebreath-dev
why keep it in your own repository?
or if you're going to, keep firebreath in one repo and your plugin in another
simplifies things greatly
jshanab_wcw 14:02 Yeah. I shot myself in the foot with this current svn situation, both barrels. I really need to work on it. (aka move to git)
taxilian 14:02 yes, yes you do
set up gitolite
it's awesome
anyway, firebreath-1.4 is the branch we're on
jshanab_wcw 14:02 latest on wiki puts it in a directory called firebreath-dev. That is what you are sugggesting I do, correct?
taxilian 14:02 you just need the updated cmake/win.cmake file for this
either way
up to you
_neilg_ 14:02 That's currently what I'm doing too! Unmunging what SVN has caused :)
jshanab_wcw 14:02 WHat a cluster _____ svn has becoem, the more they tried to "fix" things the worse it got.
taxilian 14:02 jshanab_wcw: okay, I have added boht a firebreath_sign_plugin and firebreath_sign_file
jshanab_wcw 14:02 Sorry for my git nievity, I can just do a "git pull" now right? Since i did the git clone last time
taxilian 14:02 hsould work, yes
and then do it again, since I just pushed a change
FB_GitHubBot 14:02 FireBreath: master Richard Bateman * 6e93d0e (2 files in 1 dirs): Updated sign macros - http://bit.ly/eXWq3r
FireBreath: firebreath-1.4 Richard Bateman * 6e93d0e (2 files in 1 dirs): Updated sign macros - http://bit.ly/eXWq3r
jshanab_wcw 14:02 ok :-)
oh, I like git pull
taxilian 14:02 firebreath_sign_plugin(${PROJNAME} "path/to/.pfx" "path/to/passwd.txt" "http://timestamp.verisign.com/scripts/timestamp.dll")
if you don't need a password for your cert then leave that as ""
jshanab_wcw 14:02 did JSObject.cpp get removed
taxilian 14:02 yes
jshanab_wcw 14:02 This is gonna bee really nice
So a removed file shows up as all minus signs?
taxilian 14:02 yes
indicating that all lines were removed =]
jshanab_wcw 14:02 but that is not necessarily true that iff all minus it is deleted? cause cmake/Win.cmake and common.cmake also show up that way
taxilian 14:02 I bet they actually show up with lots of + lines later
the line endings probably changed
jshanab_wcw 14:02 OH, hey you did something with FB_stdint.h
taxilian 14:02 I told you I would
jshanab_wcw 14:02 Thanks. Ok, now to give it a go.
taxilian 14:02 *evil laugh*. actually, your suggestion for something to sign any file works great… I use that to sign my MSI as well
most excelent
jshanab_wcw 14:02 So the macro goes in the Win ProjectDef i assume
taxilian 14:02 yes
the plugin one could go anywhere
it is a noop on non-widnows
currently
eventually it will sign mac plugins too
FB_GitHubBot 14:02 FireBreath: master Richard Bateman * 52e08b0 (1 files in 1 dirs): Enabled WiX for vs2005, fixed msgs - http://bit.ly/gu6aYl
FireBreath: firebreath-1.4 Richard Bateman * 52e08b0 (1 files in 1 dirs): Enabled WiX for vs2005, fixed msgs - http://bit.ly/gu6aYl
taxilian 14:02 grab that update and you should be good to sign everything you need
firebreath_sign_file("${PLUGIN_NAME}_WiXInstall"
"${BIN_DIR}/${PLUGIN_NAME}/${CMAKE_CFG_INTDIR}/${PLUGIN_NAME}.msi"
"${CMAKE_CURRENT_SOURCE_DIR}/sign/production_orig.pfx"
"${CMAKE_CURRENT_SOURCE_DIR}/sign/passphrase.txt"
"http://timestamp.verisign.com/scripts/timestamp.dll")
that's what I use to sign the MSI
jshanab_wcw 14:02 ok
taxilian 14:02 let me know if that works
jshanab_wcw 14:02 You'll be the second to know
I see the frist argument of the sign_file is the project to attach it to. When does it run? I have the coping of the files into that location as post build steps, or does it copy them to the bin location too?
taxilian 14:02 it will run as post-build steps
jshanab_wcw 14:02 nice, "cannot find cert, assuming development machine" :-)
taxilian 14:02 well, you shouldn't need to have the cert to build
jshanab_wcw 14:02 I wonder why it cannot find mine
taxilian 14:02 check the path
jshanab_wcw 14:02 I gues I don't need the ../ after the cmake_current_source even though it is in the WIN subdir?
taxilian 14:02 right
projectDef is an include
current source dir is still the root of your project
jshanab_wcw 14:02 Ah, right.
I will go back thruogh this later and set myself up a directory and use a glob. I have to many dependent dlls
taxilian 14:02 use a glob and a foreach
it's not hard
grr. anyone have any experience with WiX and upgrades?
jshanab_wcw 14:02 yeah, jsut excited to try this before the boss asks is it done yet :-) It "succusfully added sign task and is building now
raindrop 14:02 hello
taxilian 14:02 howdy
jshanab_wcw: awesome!
raindrop 14:02 first of all, firebreath is great!!
taxilian 14:02 very true
jshanab_wcw 14:02 Well the sign tool post build stepp is before the copy post build steps, that will not work, gonna have to fix that unless I want to build twice.
raindrop 14:02 ... I've just recently discovered it and started a small project...
taxilian 14:02 jshanab_wcw: it adds it in the order you put it in the file
raindrop 14:02 ..and promptly came across some interesting issue... I hope someone can help me...
taxilian 14:02 raindrop: hard to say until you tell us what it is
raindrop 14:02 I've tried using WSAAsyncSelect in a npapi plugin... but for some reason the events are not delivered...
jshanab_wcw 14:02 Ah and because of the include, it is near the top. Ok, I can fix that, for now it is signing the last builds products, so I can at least test the signatures
taxilian 14:02 raindrop: are you on the main thread or your own?
raindrop 14:02 I'm on the main thread
taxilian: I've created a child window using the PluginWindowWIn->getHWND() as parent
taxilian 14:02 ahh. hmm. I don't know of any reason that wouldn't work, then
make sure you're not getting an error from the call
what browser?
raindrop 14:02 the return code is SUCCESS, I've only tried chrome for now
v9
taxilian 14:02 try another browser, see if it makes a difference
but I don't know :-/
raindrop 14:02 ok thanks... I'll give FF a try
taxilian 14:02 let me know if you figure it out
in case someone else has the same issue
raindrop 15:02 I'll let you know
jshanab_wcw 15:02 taxilian. I cannot seem to get my postbuild copy commands before the signtool ones, either they are after or they are replaced. So I am gonna move them into the project def, just wanted you to know. Is there a ppostbuild command = instead of += at the beginning??
taxilian 15:02 strange; not that I know of
AFAIK it should add htem in the order you specify them
but they have to be after the target is defined
jshanab_wcw 15:02 Right. duh, jshanab wipes handprint off forehead
jshanab_wcw 15:02 I still get that WIxToolset error, but it appeared to sign everything!
taxilian 15:02 that's a good step
I'm updating the default WiX template to support upgrades by default
as a tip, remove the Product ID and replace it with *
jshanab_wcw 15:02 I am still getting the damn permission to run activeX even though it is signed. GRR, IE
That would be nice on the upgrades!
taxilian 15:02 what version of IE?
jshanab_wcw 15:02 IE8
taxilian 15:02 hmm.
jshanab_wcw 15:02 Something about local acticeX policy maybe, I am moving it to a server now
What do i need to get IE to trigger a download when there is a mime-type but no codebase variable?
taxilian 15:02 use javascript
and redirect to the msi
FB_GitHubBot 15:02 FireBreath: firebreath-1.4 Richard Bateman * 29bd2a9 (7 files in 4 dirs): Several WiX improvements, including template - http://bit.ly/gJLB4I
jshanab_wcw 15:02 The javascript I had before tried to create an activeX of that type and an error said it was not installed, but that caused that double init and the IE crash. Is there a better javascript way to detect if IE supports a mimetype or has a particular IE control installed. (Don't suppose javascript can check the registry)
what about the object fall thru method?
_neilg_ 15:02 Could we make the prep scripts not try and download boost if I'm passing BOOST_ROOT to it?
I ask just in case there's something else I'm meant to pass that I haven't spotted yet ;)
taxilian 15:02 _neilg_: if you're passing WITH_SYSTEM_BOOST it doesn't
and BOOST_ROOT has no meaning if you aren't
_neilg_ 15:02 Ah. I'm being... "special"
taxilian 15:02 lol
FB_GitHubBot 15:02 FireBreath: master Richard Bateman * 60fda7f (2 files in 2 dirs): Updated fbgen templates for Wix upgrades and signing - http://bit.ly/dRe8bo
FireBreath: firebreath-1.4 Richard Bateman * 60fda7f (2 files in 2 dirs): Updated fbgen templates for Wix upgrades and signing - http://bit.ly/dRe8bo
_neilg_ 15:02 Nope, it still tries to download boost
I wouldn't care except that the version of wget it finds fails with an unrecognised option '--no-check-certificates'
_neilg_ 16:02 file RENAME failed to rename
C:/Dev/Products/sandstone/cpp/src/plugin/firebreath/src/3rdParty/boost/firebreath-firebreath-boost-ef223d2//libs
to
C:/Dev/Products/sandstone/cpp/src/plugin/firebreath/src/3rdParty/boost/libs
because: No such file or directory
taxilian 16:02 what platform is this?
_neilg_ 16:02 Windows
Through the prep2008 script
taxilian 16:02 it shouldn't be using wget
_neilg_ 16:02 Well, it definitely tried to - and found it in my mingw32 folder
taxilian 16:02 well, you're definitely not passing WITH_SYSTEM_BOOST
or not correctly
one or the other
the first line of that function is if (NOT WITH_SYSTEM_BOOST)
guess it does check wget first
actually, it looks for git first
but then checks wget
_neilg_ 16:02 I just tried calling it like:
firebreath\prep2008.cmd -D WITH_SYSTEM_BOOST=1 -D BOOST_ROOT="..\..\external\boost"
Although I tried different permeatations
taxilian 16:02 you need quotes around the -D
"-D WITH_SYSTEM_BOOST=1"
on windows
_neilg_ 16:02 That was one of the permeatations. :) I see this error as the very first line: *" was unexpected at this time.
taxilian 16:02 you might need to specify your projects and build dirs specifically
_neilg_ 16:02 Then it continues until I get:
CMake Error at cmake/common.cmake:96 (add_subdirectory):
add_subdirectory given source
"C:/Dev/Products/sandstone/cpp/src/plugin/firebreath/src/3rdParty/boost/libs/thread"
which is not an existing directory.
Call Stack (most recent call first):
CMakeLists.txt:41 (add_boost_library)
So then I thought it must be the spaces between -D and the define
taxilian 16:02 again, that's because WITH_SYSTEM_BOOST isn't defined
_neilg_ 16:02 My command line: firebreath\prep2008.cmd "-D WITH_SYSTEM_BOOST=1" "-D BOOST_ROOT=..\..\external\boost"
Without the spaces it does the same
Interestingly it isn't passing those arguments onto CMake
cmake -G "Visual Studio 9 2008" -DPROJECTS_DIR="c:\Dev\Products\sandstone\cpp\src\plugin\projects" "c:\Dev\Products\sandstone\cpp\src\plugin\firebreath"
taxilian 16:02 obviously
try specifying your projects and build directories
_neilg_ 16:02 Aha! Yes, that was the ticket
taxilian 16:02 I tried to make it detect that
but batch files are a pain
so maybe it didn't work
_neilg_ 16:02 Sure, that's what I saw which is why I didn't enter them
taxilian 16:02 or doesn't always work
_neilg_ 16:02 Well, at least we both know now in the future
I looked through the scripts before running anything just so I knew for sure what would happen
So I'm going to change the documentation tomorrow as well for the prep scripts
taxilian 16:02 or you could fix them ;-)
_neilg_ 16:02 Passing defines must not have a space between -D and the define macro
Actually... I'll probably try and fix them too
It will have to be tomorrow because I was meant to leave 30 minutes ago but... I can't leave when something isn't working. lol
taxilian 16:02 hehe. =]
_neilg_ 16:02 In fact I'll definitely look at it and see why that didn't work
That's a guarantee. :)
taxilian 16:02 thanks =]
I *hate* batch files
_neilg_ 16:02 Me too but I have years of experience with them... And somehow no amount of alcohol lets me forget. *sobs*
taxilian 16:02 lol
I don't drink, but when I have to work on batch files sometimes I'm tempted...
_neilg_ 16:02 Well, thank you for your help - that makes complete sense now. I'll look at those issues tomorrow (and update the documentation too!)
taxilian 16:02 good luck
_neilg_ 16:02 Thanks. :) Well, have a nice evening and catch you tomorrow!
taxilian 16:02 take care
_neilg_ 16:02 You too!
dan2 20:02 evening
taxilian 20:02 evening
another ham radio exam session done, and time to head home =] I'll be back on in an hour or less
taxilian 22:02 mital: so how goes the effort to understand FireBreath workings?
dan2 22:02 taxilian, want to go work on cmake?
I've got time now
I accomplished a lot of what I wanted to today
taxilian 22:02 I have to finish up some homework :-(
otherwise I'd love to
if you want to do some stuff and I can answer questions I could do that
but as to actual coding I can't tonight
dan2 22:02 ok
might as well take a look
taxilian 22:02 I think the main thing that I'm not sure how best to do is the stuff that's being done currently with configure_template
dan2 22:02 we looked at that last time, we added a file for people to add their own crap for registry, and we generate the rest in cmake and spit to a file
taxilian 22:02 that's what I remember talking about; I'm still not certain what you had in mind specifically
dan2 22:02 heh
taxilian 22:02 or however you want to approach it. I'm thinking that to start out with just going through and removing the include of common.cmake everywhere would be a good start
fixing the scope issues
man I hate school. I can't tell you how much I'd rather rework cmake stuff than do this...
mital 22:02 taxilian: yeah I have learnt lots of things about firebreath... also blogged about it at http://fundootech.blogspot.com/
the blog is only start to firebreath.. i am planning one more post with a small example...
dan2 22:02 taxilian, school does suck
I know I'm a high school drop out ;)
mital 22:02 was also finding stuffs about unicode handling with c++ std::string and std::wstrings
taxilian 22:02 mital: tried to go to your blog, says blog has been removed; typo, maybe?
dan2 22:02 I wish I could go back in time and get rid of the concept of unicode
taxilian 22:02 lol
it's not that bad
mital: make sure you look at FB::utf8_to_wstring and FB::wstring_to_utf8
dan2 22:02 taxilian, utf-8 is fine, all other variants blow chunks
taxilian 22:02 hehe. yeah, that's why I was so happy when facebook donated the utf8 conversion code
in FireBreath everything is stored in UTF8
mital 22:02 sorry typo http://fundoo-tech.blogspot.com/
taxilian 22:02 but we provide some other options for using it if needed
cool
mital_ 22:02 so on windows, all system calls are UTF-16 right...
I am still not 100% clear as to what should we use when we are writing cross platform app.
taxilian 22:02 yes, that is true
use whatever you need to
I generally use UTF8
but then if I need to make a system call, I convert it to UTF-16 (wstring) just before I eed it
mital_ 22:02 I have been using std::string all the time hoping that this works for all my data... not particularly tested for Unicode data... but UTF-8 works all the time...
for windows right ? or for all platform ?
taxilian 22:02 it should work fine unless you're doing data processing that doesn't understand that it might be in UTF8
all platforms
mital_ 22:02 sorry .. network problem
taxilian 22:02 I keep my personal laptop installed in Russian so that I can easily make sure that the unicode support is still working
mital_ 22:02 oh ok ... thats nice... do u understand russian ?
taxilian 22:02 yes, I speak Russian fairly fluently
mital 22:02 so u convert to std::wstring only for windows system calls right
so std::wstring is by default UTF-16 and std::string is by default UTF-8 right... when I do conversions like http://ideone.com/DldyE will it work all the time ?
taxilian 23:02 well, on windows it's UTF-16
on linux it's UTF32 I think
but yeah
mital 23:02 so for all system calls or only on windows ?
taxilian 23:02 mital: no, it won't
that code will not work
it's not a conversion
it's just a "drop into UTF-16"
use FB::utf8_to_wstring to convert to a wstring
mital 23:02 hmm ok
taxilian 23:02 that way if there is anything utf8 in it it will be converted
mital 23:02 its good that c++0x is adding some unicode support... UTF-16 UTF-32... i hope it would add support for gracefully converting each one from the others...
taxilian: what should I do for making my plugin window less ?
taxilian 23:02 what is your goal?
drawing windowless or not having any UI?
mital 23:02 not having any UI
taxilian 23:02 that's different from windowless
uncomment set(FB_GUI_DISABLED 1) in your pluginconfig
mital 23:02 only functionalities added to javascript environments
taxilian 23:02 and if you support mac set all the event and drawing models to 0
it's all there in the comments in your PluginConfig.cmake file
brb
mital 23:02 ok
btw I do not have FB_GUI_DISABLED in whole of my plugin directory
taxilian 23:02 what version are you on?
mital 23:02 latest
taxilian 23:02 look at fbgen/src/PluginConfig.cmake
you probably ran fbgen with 1.3
mital 23:02 generated my plugin maybe in 1.3 and then migrated to 1.4
taxilian 23:02 yeah
look at the new PluginConfig.cmake in fbgen and you'll see the example
mital 23:02 what would happen to my current code which is already generated...
it has isWindowless() { return false; }
taxilian 23:02 does not matter
if FB_GUI_DISABLED is 1then it ignores that
mital 23:02 hmm should I remove them ...
its little confusing to have the code as windowless - false but does not draw anything..
taxilian 23:02 you can remove it
that's fine
mital 23:02 and also all the plugin event map and eventdefs
taxilian 23:02 can't remove plugin map entirely
but you can remove the eventdefs
mital 23:02 we should have some option in fbgen.py to create windowless plugin
taxilian 23:02 I'm working (very slowly) on an enhanced web version of fbgen that will be available to people who donate (not a ton, but donate) that will support options like that
mital 23:02 can I remove them from my derived class... ?
taxilian 23:02 but the command-line version is just too difficult to make flexible
easier to document the source
of course, if someone else wants to do the work I do accept patches =]
you can remove everything inside the event map
mital 23:02 hmm yeah I can understand... i can help building commandline
taxilian 23:02 but the eventmap must be there
mital 23:02 hmm ok
what is window attached and detached events ?
taxilian 23:02 called when a window is attached and when the window is detached
mital 23:02 used for drawing purpose ?
taxilian 23:02 yes
mital 23:02 ok
taxilian 23:02 you won't get it if FB_GUI_DISABLED is 1
mital 23:02 okei
the examples almost gives usage of all the basic requirements :) nice work :)
taxilian 23:02 I've tried =]
mital 23:02 hey so my window less plugin i should not specify height and width of the object in javascript right... everything else is same
it works :)
taxilian 23:02 I would specify height and width as 0