Error creating thumbnail: File missing
- 1 Files
- 2 Package-Root Structure
- 3 OCSNG.app Structure
- 4 Building the Agent
- 5 Application Flow
Skeleton .app framework (working directory)
Skeleton .app framework (original copy)
Used to checkout the most current cvs code and add some darwin specific patches, prepare it for building
Used to build and bind the cvs code to the cocoa application
Used to add system users, install the package, install the daemon service and launch the service
Used to uninstall and remove users from the system
Used to add user: _ocsng and group: _ocsng to the system (UID/GID: 3995)
Used to remove user and groups from local host
Darwin-Cocoa Wrapper (XCode Project)
Source code to build your own native Cocoa .app
Launchctl plist file used to launch the service at boot
PackageMaker project file. Used to build the .pkg package. Settings file able to be opened with PackageMaker.
- /Applications/OCSNG.app - where the application gets intalled
- /Library/LaunchDaemons/org.ocsng.agent.plist - LaunchD file for launching service
- /etc/ocsinventory-agent/ocsinventory-agent.cfg - default config file for target system
- lib - where the default server settings are stored (.adm and .conf files from the server)
- log - where the log file is stashed
- MacOS/OCSNG - i386/ppc binary image
- main.pl - script OCSNG binary calls by default (compiled in)
- ocsinventory-agent - script called by main.pl
- lib/ - local library for ocsinventory-agent, includes system specific perl dependencies
Building the Agent
(You will need Xcode tools and PackageMaker installed under /Developer for this)
- cd into the package-root directory. This will emulate the root directory for the target system we'll be installing to.
- Modify pacakge-root/etc/ocsinventory-agent/ocsinventory-agent.cfg file to match your default agent settings
- run the get-patch-cvs.sh script to check out the latest cvs code, this will also patch a few things for the darwin specific installation.
- Run the build.sh script using sudo (needed to ensure correct permissions on package-root directory before package is built. This will do the perl Makefile.PL and such, then copy the core code to the .app framework, set the permissions and build the resulting .pkg for deployment.