We are going to create a pkg that copies some files to the /Library directory. We will use the tool macos-installer-builder, which could be downloaded from https://github.com/KosalaHerath/macos-installer-builder
The usage of this tool has been well explained in the github page. The default build-macos-x64.sh script requires two parameters: product name and product version. We are going to modify this script to generate a pkg installer that copies the application files into a fixed directory.
1. copy the application's files into ./application/ folder
2. comment the section in #Argument validation which validates the product name and product version parameters. Since we are not going to use the input parameters.
3. change PRODUCT and VERSION variables to strings.
4. change in function copyBuildDirectory the three commands below #Copy cellery product to /Library/Cellery, \${PRODUCT}/\${VERSION} to the fixed target directory
5. comment createUninstaller command, since I don't use it.
6. add commands in postinstall script, such as changing the permission.
Finally, run bash build-macos-x64.sh to generate the pkg installer.
Showing posts with label MacOS. Show all posts
Showing posts with label MacOS. Show all posts
Saturday, November 16, 2019
Monday, October 28, 2019
Compile and load kext
The problem is that I use MacOS 10.15, and the sdk is already installed in the folder:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
So if I do "ls" to this folder, it shows:
DriverKit19.0.sdk MacOSX.sdk MacOSX10.15.sdk
Now I need to copy 10.14 sdk to this folder. The first thing I did is "svn export" the 10.14 sdk from
https://github.com/alexey-lysiuk/macos-sdk/tree/master/MacOSX10.14.sdk
I use this command, replace "tree/master" by "trunk":
svn export https://github.com/alexey-lysiuk/macos-sdk/trunk/MacOSX10.14.sdk
Then I "sudo cp -r" this folder to my SDKs folder. For compiling the project, I used:
xcodebuild -project "projectName.xcodeproj" -scheme "schemeName" -sdk macosx10.14 -derivedDataPath build clean build
Finally I changed the ownership of the kext:
sudo chown -R root:wheel yourKext.kext
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
So if I do "ls" to this folder, it shows:
DriverKit19.0.sdk MacOSX.sdk MacOSX10.15.sdk
Now I need to copy 10.14 sdk to this folder. The first thing I did is "svn export" the 10.14 sdk from
https://github.com/alexey-lysiuk/macos-sdk/tree/master/MacOSX10.14.sdk
I use this command, replace "tree/master" by "trunk":
svn export https://github.com/alexey-lysiuk/macos-sdk/trunk/MacOSX10.14.sdk
Then I "sudo cp -r" this folder to my SDKs folder. For compiling the project, I used:
xcodebuild -project "projectName.xcodeproj" -scheme "schemeName" -sdk macosx10.14 -derivedDataPath build clean build
Finally I changed the ownership of the kext:
sudo chown -R root:wheel yourKext.kext
Labels:
drivers,
kernel extensions,
Kext,
MacOS
Location:
Vienna, Austria
Subscribe to:
Posts (Atom)