hust-marx / firebreath

Automatically exported from code.google.com/p/firebreath
0 stars 0 forks source link

prep script doesn't run from subversion working copy #38

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Suppose you check your Firebreath tree into your version control system,
and suppose your version control system is Subversion. You will find that
(at least) prepmac.sh no longer works:

earching projects/*: found projects/.svn;projects/MyPlugin
Configuring plugin project projects/MyPlugin in
/Users/gschmidt/co/agent/agent/plugin/build/projects/MyPlugin
Generating plugin configuration files in
/Users/gschmidt/co/agent/agent/plugin/build/projects/MyPlugin/gen
CMake Error at build/projects/MyPlugin/projectConfig.cmake:42 (configure_file):
  configure_file input location

    /Users/gschmidt/co/agent/agent/plugin/gen_templates/.svn

  is a directory but a file was expected.
Call Stack (most recent call first):
  cmake/common.cmake:52 (include)
  projects/MyPlugin/CMakeLists.txt:9 (include)

This is because Subversion creates .svn subdirectories in each directory of
a working copy. It's necessary to make Firebreath ignore these.

The solution is to change the cmake files that glob '*' to glob '[^.]*' so
as to exclude directories that start with '.'. It's actually good to do
this universally for all globs, replacing, eg, '*.c' with '[^.]*.c', as
text editor such as emacs create lock/autosave files named like .#Foo when
you are editing a file Foo.

Original issue reported on code.google.com by geoffsch...@gmail.com on 30 Mar 2010 at 8:40

GoogleCodeExporter commented 9 years ago
Are you using the latest version of FireBreath?  I fixed this issue some time 
ago; I
am confused as to why it would be back.

Original comment by taxilian on 30 Mar 2010 at 5:39

GoogleCodeExporter commented 9 years ago
Hey Taxilian, here's a reproduction on OSX 10.5.8. Thanks for the great 
software!

# Do the following in a directory that is in a subversion working copy

$ curl -O http://firebreath.googlecode.com/files/firebreath-1.0.0.tar.bz2
$ tar xjvf firebreath-1.0.0.tar.bz2 
$ cd firebreath
$ rm fbgen/*.pyc
$ chmod u+rw `find .`
$ chmod u+x fbgen/src/Mac/ fbgen/src/X11/
$ chmod u+rw `find .`
$ chmod u+x fbgen/src/Mac/bundle_template
$ chmod u+rw `find .`
$ python fbgen.py 
Plugin Name []: MyPlugin
Plugin Identifier [MyPlugin]: 
Plugin Prefix [MPL]: 
Plugin MIME type [application/x-myplugin]: 
Plugin Description []: 
Company Name []: MyCorp
Company Identifier [MyCorp]: 
Company Domain [mycorp.com]: 
$ cd ..
$ svn add firebreath
$ cd firebreath
$ ./prepmac.sh
Building projects
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler using: Xcode
-- Check for working C compiler using: Xcode -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler using: Xcode
-- Check for working CXX compiler using: Xcode -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
Firebreath solution dir: /Users/gschmidt/co/sandaz/firebreath/build
Generating project UnitTest++
Generating project NPAPIHost in 
/Users/gschmidt/co/sandaz/firebreath/build/NpapiHost
Generating project ScriptingCore in
/Users/gschmidt/co/sandaz/firebreath/build/ScriptingCore
Generating project UnitTest_ScriptingCore in
/Users/gschmidt/co/sandaz/firebreath/build/ScriptingCoreTest
Generating project PluginCore in 
/Users/gschmidt/co/sandaz/firebreath/build/PluginCore
Searching projects/*: found projects/.svn;projects/MyPlugin
Configuring plugin project projects/MyPlugin in
/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin
Generating plugin configuration files in
/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin/gen
CMake Error at build/projects/MyPlugin/projectConfig.cmake:42 (configure_file):
  configure_file input location

    /Users/gschmidt/co/sandaz/firebreath/gen_templates/.svn

  is a directory but a file was expected.
Call Stack (most recent call first):
  cmake/common.cmake:52 (include)
  projects/MyPlugin/CMakeLists.txt:9 (include)

Generating project MyPlugin in
/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin
Generating project MPL_NpapiPlugin in
/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin/NpapiPlugin
Generating project MPL_UnitTest_NpapiPlugin in
/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin/NpapiPluginTest
Creating Mac Browser Plugin project MyPlugin
Found /usr/bin/Rez
-- Configuring incomplete, errors occurred!
Patching XCode project
/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin/MyPlugin.xcodeproj/
project.pbxproj
with target MyPlugin
Traceback (most recent call last):
  File "cmake/patch_xcode.py", line 94, in <module>
    Main()
  File "cmake/patch_xcode.py", line 85, in Main
    proj = XCodeProject(options.fName)
  File "cmake/patch_xcode.py", line 30, in __init__
    f = open(fName)
IOError: [Errno 2] No such file or directory:
'/Users/gschmidt/co/sandaz/firebreath/build/projects/MyPlugin/MyPlugin.xcodeproj
/project.pbxproj'
Patching XCode project
/Users/gschmidt/co/sandaz/firebreath/build/FireBreath.xcodeproj/project.pbxproj 
with
target MyPlugin
Traceback (most recent call last):
  File "cmake/patch_xcode.py", line 94, in <module>
    Main()
  File "cmake/patch_xcode.py", line 85, in Main
    proj = XCodeProject(options.fName)
  File "cmake/patch_xcode.py", line 30, in __init__
    f = open(fName)
IOError: [Errno 2] No such file or directory:
'/Users/gschmidt/co/sandaz/firebreath/build/FireBreath.xcodeproj/project.pbxproj
'
luck-and-intuition:firebreath gschmidt$ 

Original comment by geoffsch...@gmail.com on 31 Mar 2010 at 12:01

GoogleCodeExporter commented 9 years ago
Ahh; yeah, I see what happened.  I read too quickly last time.  I like your fix;
Georg or I will put it in as soon as we have time.

Thanks!

Original comment by taxilian on 31 Mar 2010 at 12:09

GoogleCodeExporter commented 9 years ago
Please check firebreath-1.0-nightly-3:
http://code.google.com/p/firebreath/downloads/list?can=2&q=firebreath-1.0-nightl
y-3

This issue should be fixed, but I was not able to do as much testing as I'd 
really
like on it.

Original comment by taxilian on 31 Mar 2010 at 1:49

GoogleCodeExporter commented 9 years ago
1.0-nightly-3 looks good to me!

I tried: 
* prepping and building out of svn
* prepping and building while emacs had a file open, and a #filename# and 
.#filename
lock/autosave files existed

(but only on OSX 10.5.8)

Thanks a lot!

Original comment by geoffsch...@gmail.com on 31 Mar 2010 at 11:34

GoogleCodeExporter commented 9 years ago
Thanks, this has allowed me to use cmake on other projects which resulted in 
the same error!

Original comment by rodrigoq...@gmail.com on 13 Aug 2010 at 7:27

GoogleCodeExporter commented 9 years ago
geramses, I don't understand what you mean.  Could you tell us exactly what 
problem you're experiencing?  And are you using the latest?  This should be 
fixed.

Original comment by taxilian on 13 Aug 2010 at 8:08