public
Description: Remap Caps Lock key on OS X - Yasuda Yoshinori
Homepage: http://www.pqrs.org/tekezo/macosx/keyremap4macbook/extra.html
Clone URL: git://github.com/bjeanes/PCKeyboardHack.git
PCKeyboardHack / make-package.sh
100755 89 lines (69 sloc) 3.52 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh
 
version=$(cat version)
 
packagemaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
pkgName="PCKeyboardHack-${version}.pkg"
 
echo "char * const config_version = \"$version-Tiger\";" > src/core/kext/Tiger/version.hpp
echo "char * const config_version = \"$version-Leopard\";" > src/core/kext/Leopard/version.hpp
 
make clean build || exit $?
 
# --------------------------------------------------
# http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptPackaging/packaging_kext.html
echo "Copy Files"
 
sudo rm -rf pkgroot
sudo mkdir -p pkgroot
 
basedir="/Library/org.pqrs/PCKeyboardHack"
sudo mkdir -p "pkgroot/$basedir"
for ostype in Tiger Leopard; do
sudo cp -R src/core/kext/${ostype}/build/Release/PCKeyboardHack.kext "pkgroot/$basedir/PCKeyboardHack.${ostype}.kext"
done
sudo cp -R files/prefpane "pkgroot/$basedir"
sudo cp -R files/scripts "pkgroot/$basedir"
sudo cp -R files/share "pkgroot/$basedir"
 
sudo mkdir -p "pkgroot/$basedir/extra"
sudo cp -R pkginfo/Resources/preflight "pkgroot/$basedir/extra/uninstall.sh"
sudo cp -R files/extra/launchUninstaller.sh "pkgroot/$basedir/extra/"
 
sudo mkdir -p "pkgroot/Library"
sudo cp -R files/LaunchDaemons pkgroot/Library
 
sudo mkdir -p "pkgroot/$basedir/app"
sudo cp -R "src/util/launchd/build/Release/PCKeyboardHack_launchd.app" "pkgroot/$basedir/app"
sudo cp -R "src/util/uninstaller/build/Release/uninstaller.app" "pkgroot/$basedir/app"
 
sudo mkdir -p "pkgroot/$basedir/bin"
sudo cp src/bin/set_loginwindow/build/Release/set_loginwindow "pkgroot/$basedir/bin"
sudo cp src/bin/sysctl_confd/build/Release/PCKeyboardHack_sysctl_confd "pkgroot/$basedir/bin"
sudo cp src/bin/sysctl_ctl/build/Release/PCKeyboardHack_sysctl_ctl "pkgroot/$basedir/bin"
sudo cp src/bin/sysctl_reset/build/Release/PCKeyboardHack_sysctl_reset "pkgroot/$basedir/bin"
sudo cp src/bin/sysctl_set/build/Release/PCKeyboardHack_sysctl_set "pkgroot/$basedir/bin"
sudo cp src/bin/uninstall/build/Release/uninstall "pkgroot/$basedir/bin"
 
sudo mkdir -p "pkgroot/Library/PreferencePanes"
sudo cp -R "src/util/prefpane/build/Release/PCKeyboardHack.prefPane" "pkgroot/Library/PreferencePanes"
 
sudo find pkgroot -type d -print0 | xargs -0 sudo chmod 755
sudo find pkgroot -type f -print0 | xargs -0 sudo chmod 644
sudo find pkgroot -name '*.sh' -print0 | xargs -0 sudo chmod 755
sudo chmod 4755 pkgroot/$basedir/bin/PCKeyboardHack_sysctl_reset
sudo chmod 4755 pkgroot/$basedir/bin/PCKeyboardHack_sysctl_set
sudo chmod 4755 pkgroot/$basedir/bin/uninstall
sudo chmod 755 pkgroot/$basedir/bin/PCKeyboardHack_sysctl_confd
sudo chmod 755 pkgroot/$basedir/bin/PCKeyboardHack_sysctl_ctl
sudo chmod 755 pkgroot/$basedir/bin/set_loginwindow
sudo chmod 755 pkgroot/$basedir/app/PCKeyboardHack_launchd.app/Contents/MacOS/PCKeyboardHack_launchd
sudo chmod 755 pkgroot/$basedir/app/uninstaller.app/Contents/MacOS/uninstaller
sudo chown -R root:wheel pkgroot
 
sudo chmod 1775 pkgroot/Library
sudo chown root:admin pkgroot/Library
 
# --------------------------------------------------
echo "Exec PackageMaker"
 
sudo rm -rf $pkgName
sudo $packagemaker -build \
    -p $pkgName \
    -f pkgroot \
    -ds \
    -r pkginfo/Resources \
    -i pkginfo/Info.plist \
    -d pkginfo/Description.plist
 
# --------------------------------------------------
echo "Make Archive"
 
sudo chown -R root:wheel $pkgName
sudo tar zcf $pkgName.tar.gz $pkgName
 
# --------------------------------------------------
echo "Cleanup"
sudo rm -rf pkgroot
make -C src clean