0

Following the instructions in, say, Making OS X Installer Packages like a Pro - Xcode Developer ID ready pkg I was able to get my Firebreath plugin project (essentially an executable, but with the suffix .plugin and installed in /Library/Internet Plugins) to build into a .pkg file. When I run the .pkg file on a OSX Mountain Lion or Lion system, the installer reports no errors, but installs an unusable zero-length .plugin file in /Library/Internet Plugins. Here are the commands I'm using to build my .pkg file:

xcodebuild ARCHS=i386 ONLY_ACTIVE_ARCH=NO -target ALL_BUILD -configuration Release
codesign -s "$appCertificate" projects/$srcdir/Release/np$srcdir.plugin
pkgbuild --component projects/$srcdir/Release/np$srcdir.plugin --identifier com.company.$srcdir --version $version --install-location /Library/Internet\ Plug-ins --sign "$installCertificate" $srcdir.pkg

I've also tried this wrapping the .pkg component file with productbuild, and various other iterations -- nothing makes a difference. It always installs a zero-length executable. And there are no messages I can see in the Installer log, either.

Interestingly, when I archive the project using the XCode UI and then build the package using the .plugin from the archive directory I get a working install. So there must be something different about the .plugin file in the Release folder. If I could find a way to create the archive from the command line, therefore, I could use that instead of the one in Release. But the xcodebuild man page doesn't tell me how to do this -- there is an archive command I can use, but when I try this it tells me the command is unavailable. Is this because I'm building in a project, not a workspace, and don't have any schemes defined?

Any help will be appreciated -- either in figuring out why the installed .plugin has zero size, or in how to build the archive so I can use that instead.

Community
  • 1
  • 1
jonawebb
  • 159
  • 2
  • 8

1 Answers1

0

.plugin -file built by FireBreath is normally a folder.

I did lot of research about different installation methods when I built my plugin and ended up to DMG which contains AppleScript. This applescript basically runs a shell commands installing everything in the right places ( /Library/Internet Plug-Ins ). I don't claim it is the right method for everything, but you might check it out if it fits for your needs.

hasa
  • 208
  • 1
  • 4