VirtualBox

Changeset 31672 in vbox for trunk/src/VBox/Installer/darwin


Ignore:
Timestamp:
Aug 13, 2010 5:55:41 PM (14 years ago)
Author:
vboxsync
Message:

Installer-OSX: make it build in OSE

Location:
trunk/src/VBox/Installer/darwin
Files:
5 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/darwin/Makefile.kmk

    r31667 r31672  
    55
    66#
    7 # Copyright (C) 2006-2009 Oracle Corporation
     7# Copyright (C) 2006-2010 Oracle Corporation
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    2222# Include sub-makefiles.
    2323#
    24 include $(PATH_SUB_CURRENT)/InstallerPlugins/Makefile.kmk
     24ifndef VBOX_OSE
     25 include $(PATH_SUB_CURRENT)/InstallerPlugins/Makefile.kmk
     26endif
    2527
    2628
     
    8082AWK=/usr/bin/awk
    8183HDIUTIL=/usr/bin/hdiutil
    82 
    8384
    8485#
     
    190191                $(VBOX_PATH_PACK_TMP)/Packages/VirtualBox.pkg \
    191192                $$(TARGET_RegistrationPane) \
    192                 $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Info.plist \
    193                 $$(wildcard $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Resources/*.lproj/*.strings \
    194                             $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Resources/*.lproj/RegistrationPane.nib/*.nib) \
    195                 $$(wildcard $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/* \
     193                $(if $(VBOX_OSE), , \
     194                $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Info.plist \
     195                $$(wildcard $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Resources/*.lproj/*.strings \
     196                                $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Resources/*.lproj/RegistrationPane.nib/*.nib)) \
     197            $$(wildcard $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/* \
    196198                            $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/*.lproj/*) \
    197199                $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \
     
    285287        @# Copy the plugins.
    286288        $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VirtualBox_mpkg/distribution.dist                $@/Contents/
     289ifndef VBOX_OSE
    287290        $(MKDIR) -p $@/Contents/Plugins/
    288291ifdef VBOX_WITH_SERIALNUMBER_INSTALL
     
    307310                $(INSTALL) -m 0644 $(VBOX_BRAND_$(f)_REGISTRATIONPANE_LOCALIZABLE_STRINGS)                $@/Contents/Plugins/RegistrationPane.bundle/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Localizable.strings$(NLTAB) \
    308311        )
     312endif
    309313        @# Cleanup.
    310314        sudo rm -Rf \
     
    318322# The VirtualBox Kernel extensions.
    319323#
    320 VBOX_DI_KEXTS_UNIVERSAL = VBoxDrv VBoxUSB VBoxNetFlt VBoxNetAdp
     324VBOX_DI_KEXTS_UNIVERSAL = VBoxDrv VBoxNetFlt VBoxNetAdp
     325ifndef VBOX_OSE
     326 VBOX_DI_KEXTS_UNIVERSAL += VBoxUSB
     327endif
    321328VBOX_DI_KEXTS = $(VBOX_DI_KEXTS_UNIVERSAL)
    322329
     
    608615ifdef VBOX_WITH_PYTHON
    609616 VBOX_DI_VBAPP_DYLIBS.x86 += \
    610         MacOS/VBoxPython2_5.so \
     617        $(if-expr defined(VBOX_WITH_MAC_OS_X_10_5_SUPPORT),MacOS/VBoxPython2_5.so,) \
    611618        $(if-expr defined(VBOX_WITH_MAC_OS_X_10_4_SUPPORT),MacOS/VBoxPython2_3.so,)
    612619endif
     
    10651072                $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.res
    10661073
    1067 #
    1068 # The OpenSolaris VM bundle distribution package.
    1069 #
    1070 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg: \
    1071                 $(VBOX_PATH_PACK_TMP)/PackagesBundle/SolarisVM.pkg \
    1072                 $$(wildcard $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/* \
    1073                             $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/*.lproj/*) \
    1074                 $$(TARGET_RegistrationPane) \
    1075                 $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Info.plist \
    1076                 $$(wildcard $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Resources/*.lproj/*.strings \
    1077                             $(VBOX_PATH_DI_SRC)/InstallerPlugins/RegistrationPane/Resources/*.lproj/RegistrationPane.nib/*.nib) \
    1078                 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \
    1079                         $(VBOX_BRAND_$(f)_VIRTUALBOXBUNDLE_DESCRIPTION_PLIST) \
    1080                         $(VBOX_BRAND_$(f)_VIRTUALBOXBUNDLE_LOCALIZABLE_STRINGS)) \
    1081                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1082         sudo rm -Rf \
    1083                 $@ \
    1084                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc \
    1085                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.res
    1086         @# Correct directory permissions are important.
    1087         $(MKDIR) -p \
    1088                 $(@D) \
    1089                 $@/Contents \
    1090                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc \
    1091                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.res
    1092         @# Do keyword replacement in the package info and description files.
    1093         $(SED) \
    1094                 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
    1095                 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
    1096                 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
    1097                 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
    1098                 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1099                 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1100                 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1101                 --output $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc/Info.plist \
    1102                 $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/Info.plist
    1103         $(SED) \
    1104                 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
    1105                 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
    1106                 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
    1107                 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
    1108                 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1109                 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1110                 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1111                 --output $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc/Description.plist \
    1112                 $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/Description.plist
    1113         $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/check_files              $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.res/
    1114         $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/vboxtest                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.res/
    1115         @# Build the package.
    1116         $(VBOX_PACKAGEMAKER) -build -v \
    1117                 -p $@ \
    1118                 -r $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.res \
    1119                 -i $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc/Info.plist \
    1120                 -d $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc/Description.plist \
    1121                 -mi $(VBOX_PATH_PACK_TMP)/PackagesBundle
    1122         @# Create a distribution file.
    1123         $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/distribution.dist        $@/Contents/
    1124         $(SED) \
    1125                 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1126                 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1127                 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1128                 --output $@/Contents/Resources/English.lproj/Localizable.strings \
    1129                 $(VBOX_PATH_DI_SRC)/VirtualBoxBundle_mpkg/Localizable.strings
    1130         @# Make a link to the plugin directory of the VirtualBox.mpkg
    1131         $(LN) -s ../../VirtualBox.mpkg/Contents/Plugins                                       $@/Contents/Plugins
    1132         @# Make links to the other resources, so they are up to date & don't waste space on the dvd.
    1133         $(LN) -s ../../../VirtualBox.mpkg/Contents/Resources/checkforrunningvms               $@/Contents/Resources/checkforrunningvms
    1134         $(LN) -s ../../../../VirtualBox.mpkg/Contents/Resources/English.lproj/Welcome.html    $@/Contents/Resources/English.lproj/Welcome.html
    1135         $(LN) -s ../../../../VirtualBox.mpkg/Contents/Resources/English.lproj/Conclusion.html $@/Contents/Resources/English.lproj/Conclusion.html
    1136         $(LN) -s ../../../../VirtualBox.mpkg/Contents/Resources/English.lproj/License.rtf     $@/Contents/Resources/English.lproj/License.rtf
    1137         $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES), \
    1138                 $(MKDIR) -p \
    1139                         $@/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj$(NLTAB) \
    1140                 $(SED) \
    1141                         -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
    1142                         -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
    1143                         -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
    1144                         -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
    1145                         -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1146                         -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1147                         -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1148                         --output $@/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Description.plist \
    1149                         $(VBOX_BRAND_$(f)_VIRTUALBOXBUNDLE_DESCRIPTION_PLIST)$(NLTAB) \
    1150                 $(SED) \
    1151                         -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1152                         -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1153                         -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1154                         --output $@/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Localizable.strings \
    1155                         $(VBOX_BRAND_$(f)_VIRTUALBOXBUNDLE_LOCALIZABLE_STRINGS)$(NLTAB) \
    1156                 $(LN) -s ../../../../VirtualBox.mpkg/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Welcome.html     $@/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Welcome.html$(NLTAB) \
    1157                 $(LN) -s ../../../../VirtualBox.mpkg/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Conclusion.html  $@/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/Conclusion.html$(NLTAB) \
    1158                 $(LN) -s ../../../../VirtualBox.mpkg/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/License.rtf      $@/Contents/Resources/$(VBOX_INSTALLER_$(f)_DARWIN_TARGET).lproj/License.rtf$(NLTAB) \
    1159         )
    1160         $(LN) -s ../../../VirtualBox.mpkg/Contents/Resources/background.tif $@/Contents/Resources/background.tif
    1161         @# Cleanup.
    1162         sudo rm -Rf \
    1163                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.desc \
    1164                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg.res
    1165 
    1166 
    1167 $(VBOX_PATH_DIST)/VBoxMacBundleInstaller-$(KBUILD_TARGET_ARCH).zip: \
    1168                 $(VBOX_PATH_PACK_TMP)/VirtualBoxBundle.mpkg \
    1169                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1170         $(RM) -Rf $@
    1171         $(REDIRECT) -C $(VBOX_PATH_PACK_TMP) -- $(ZIP) -9ry $@ VirtualBoxBundle.mpkg/
    1172 
    1173 #
    1174 # The OpenSolaris VM
    1175 #
    1176 $(VBOX_PATH_PACK_TMP)/PackagesBundle/SolarisVM.pkg: \
    1177                 $$(wildcard $(VBOX_PATH_DI_SRC)/SolarisVM/* \
    1178                             $(VBOX_PATH_DI_SRC)/SolarisVM/*.lproj/*) \
    1179                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1180         $(call MSG_TOOL,PackageMaker,,,$@)
    1181         @# Cleanup any previously failed attempts.
    1182         sudo rm -Rf \
    1183                 $@ \
    1184                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.root \
    1185                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc \
    1186                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res
    1187         @# Correct directory permissions are important.
    1188         $(MKDIR) -p \
    1189                 $(@D) \
    1190                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.root \
    1191                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc \
    1192                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res
    1193         @# Do keyword replacement in the package info and description files.
    1194         $(SED) \
    1195                 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
    1196                 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
    1197                 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
    1198                 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
    1199                 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1200                 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1201                 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1202                 --output $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc/Info.plist \
    1203                 $(VBOX_PATH_DI_SRC)/SolarisVM/Info.plist
    1204         $(SED) \
    1205                 -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
    1206                 -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
    1207                 -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
    1208                 -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
    1209                 -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \
    1210                 -e 's/@VBOX_PRODUCT@/$(VBOX_PRODUCT)/g' \
    1211                 -e 's/@VBOX_C_YEAR@/$(VBOX_C_YEAR)/g' \
    1212                 --output $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc/Description.plist \
    1213                 $(VBOX_PATH_DI_SRC)/SolarisVM/Description.plist
    1214         @# Copy the resources.
    1215         $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/SolarisVM/postflight     $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res/
    1216         $(INSTALL) -m 0755 $(VBOX_PATH_DI_SRC)/SolarisVM/pget           $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res/
    1217         $(INSTALL) -m 0644 $(VBOX_PATH_DI_SRC)/SolarisVM/config         $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res/
    1218         @# Build the package.
    1219         $(VBOX_PACKAGEMAKER) -build -v \
    1220                 -p $@ \
    1221                 -f $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.root \
    1222                 -r $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res \
    1223                 -i $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc/Info.plist \
    1224                 -d $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc/Description.plist
    1225         @# Cleanup
    1226         sudo rm -Rf \
    1227                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.root \
    1228                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.desc \
    1229                 $(VBOX_PATH_PACK_TMP)/SolarisVM.pkg.res
    1230 
    1231 #
    1232 # The VirtualBox bundle iso file
    1233 #
    1234 # The iso file should contain all platform installers (Win, Mac, Linux,
    1235 # Solaris). Additionally it adds an example VM (OpenSolaris) which currently is
    1236 # automatically installed and configured on Windows & Mac OS X. In the following
    1237 # make step no one of the necessary files will be created. All is fetch
    1238 # external and build in the release step. This makes sure that the version info
    1239 # is fixed for the current release. This is also true for the Win & Mac bundle
    1240 # installers. The following variables define the locations of the various
    1241 # needed files.
    1242 ## @todo Maybe we can automatically download the VBoxAll package.
    1243 #
    1244 VBOX_TMP_DIR ?= /VBox
    1245 VBOX_ALL ?= $(VBOX_TMP_DIR)/VirtualBox-all*.tar.bz2
    1246 
    1247 # Calculate the vdi size in KBytes
    1248 # zip version
    1249 #VBOX_EXAMPLE_VDI_SIZE ?= $(int-div $(shell $(UNZIP) -l $(VBOX_BRAND_EXAMPLE_VDI) "*.vdi" | $(AWK) '/vdi/{print $$1}'), 1024)
    1250 # tar.gz version
    1251 #VBOX_EXAMPLE_VDI_SIZE ?= $(int-div $(shell $(GZIP) -dc $(VBOX_BRAND_EXAMPLE_VDI) | $(TAR) -tvf - | $(AWK) '/vdi/{print $$3}'), 1024)
    1252 # gz version
    1253 # Buggy gzip. If the original file size is greater than 4GB they is reported
    1254 # wrong with the -l switch. So manually add the missing 4GB. See
    1255 # http://www.mail-archive.com/[email protected]/msg00168.html for the bugreport.
    1256 VBOX_EXAMPLE_VDI_SIZE ?= $(int-div $(int-add $(shell $(GZIP) -lq $(VBOX_BRAND_EXAMPLE_VDI) | $(AWK) '/vdi/{print $$2}'), 4294967296), 1024)
    1257 
    1258 # Unpack the vbox all to a temp directory
    1259 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/: \
    1260                 $(VBOX_ALL) \
    1261                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1262         sudo rm -Rf \
    1263                 $@
    1264         $(MKDIR) -p \
    1265                 $@
    1266         $(TAR) -xjvf $(VBOX_ALL) -C $@
    1267 
    1268 # Create the standard iso (No bundle installer and therfor necessary files).
    1269 $(VBOX_PATH_DIST)/VirtualBox.iso: \
    1270                 gen_isoimage_dir_CD \
    1271                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1272         sudo rm -Rf \
    1273                 $@
    1274         $(MKDIR) -p \
    1275                 $(@D)
    1276         @# All the files are there so create the hybrid iso
    1277         $(HDIUTIL) makehybrid \
    1278                 -o $@ \
    1279                 -hfs \
    1280                 -iso \
    1281                 -joliet \
    1282                 -hfs-volume-name    "VirtualBox" \
    1283                 -iso-volume-name    "VirtualBox" \
    1284                 -joliet-volume-name "VirtualBox" \
    1285                 -hfs-openfolder "$(VBOX_PATH_PACK_TMP)/IsoImage" \
    1286                 -hide-hfs    "$(VBOX_PATH_PACK_TMP)/IsoImage/{$(subst $(SP),$(COMMA),$(VBOX_BRAND_INST_HIDE_MAC))}" \
    1287                 -hide-iso    "$(VBOX_PATH_PACK_TMP)/IsoImage/{$(subst $(SP),$(COMMA),$(VBOX_BRAND_INST_HIDE_WIN))}" \
    1288                 -hide-joliet "$(VBOX_PATH_PACK_TMP)/IsoImage/{$(subst $(SP),$(COMMA),$(VBOX_BRAND_INST_HIDE_WIN))}" \
    1289                 $(VBOX_PATH_PACK_TMP)/IsoImage
    1290         @# Generate MD5 sum
    1291         $(REDIRECT) -C $(@D) -- $(MD5SUM_EXT) -p -o VirtualBox.md5 VirtualBox.iso
    1292 
    1293 # Create the bundle iso.
    1294 $(VBOX_PATH_DIST)/VirtualBoxBundle.iso: \
    1295                 gen_isoimage_dir_DVD \
    1296                 $(VBOX_BRAND_EXAMPLE_MACHINE_INI) \
    1297                 $(VBOX_BRAND_EXAMPLE_VDI) \
    1298                 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxWinBundleInstaller-x86.zip \
    1299                 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxWinBundleInstaller-amd64.zip \
    1300                 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxMacBundleInstaller-x86.zip \
    1301                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1302         $(eval VBOX_WIN_BUNDLE_INSTALLER_FILES.x86   ?= $(shell $(UNZIP) -qql $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxWinBundleInstaller-x86.zip | $(AWK) '{print $$4}' | $(SED) 's/\/.*//g' | uniq))
    1303         $(eval VBOX_WIN_BUNDLE_INSTALLER_FILES.amd64 ?= $(shell $(UNZIP) -qql $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxWinBundleInstaller-amd64.zip | $(AWK) '{print $$4}' | $(SED) 's/\/.*//g' | uniq))
    1304         sudo rm -Rf \
    1305                 $@
    1306         $(MKDIR) -p \
    1307                 $(@D)
    1308         @# Install the example vm stuff
    1309         $(INSTALL) -m 0644 $(VBOX_BRAND_EXAMPLE_MACHINE_INI) $(VBOX_PATH_PACK_TMP)/IsoImage/
    1310         $(INSTALL) -m 0644 $(VBOX_BRAND_EXAMPLE_VDI) $(VBOX_PATH_PACK_TMP)/IsoImage/
    1311         @# Copy the Win bundle installer stuff
    1312         $(UNZIP) $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxWinBundleInstaller-x86.zip -d $(VBOX_PATH_PACK_TMP)/IsoImage/
    1313         $(UNZIP) $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxWinBundleInstaller-amd64.zip -d $(VBOX_PATH_PACK_TMP)/IsoImage/
    1314         @# Copy the Mac bundle installer stuff
    1315         $(UNZIP) $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/VBoxMacBundleInstaller-x86.zip -d $(VBOX_PATH_PACK_TMP)/IsoImage/
    1316         @# Write the right file size of the vdi to the bundle installer. For that
    1317         @# we need a tmp file cause sed doesn't do infile replacement.
    1318         $(SED) \
    1319                 -e 's/\(solarisvm.*installKBytes="\).*\(" auth="None"\)/\1$(VBOX_EXAMPLE_VDI_SIZE)\2/g' \
    1320                 --output $(VBOX_PATH_PACK_TMP)/distribution.dist.tmp \
    1321                 $(VBOX_PATH_PACK_TMP)/IsoImage/VirtualBoxBundle.mpkg/Contents/distribution.dist
    1322         $(MV) $(VBOX_PATH_PACK_TMP)/distribution.dist.tmp $(VBOX_PATH_PACK_TMP)/IsoImage/VirtualBoxBundle.mpkg/Contents/distribution.dist
    1323         @# We need a little different DS_Store than the one in the standard installer
    1324         $(INSTALL) -m 644 $(VBOX_PATH_DI_SRC)/BundleIsoImage/DS_Store $(VBOX_PATH_PACK_TMP)/IsoImage/.DS_Store
    1325         @# All the files are there so create the hybrid iso
    1326         $(HDIUTIL) makehybrid \
    1327                 -o $@ \
    1328                 -hfs \
    1329                 -udf \
    1330                 -hfs-volume-name "VirtualBox" \
    1331                 -udf-volume-name "VirtualBox" \
    1332                 -hfs-openfolder "$(VBOX_PATH_PACK_TMP)/IsoImage" \
    1333                 -hide-hfs "$(VBOX_PATH_PACK_TMP)/IsoImage/{$(subst $(SP),$(COMMA),$(VBOX_WIN_BUNDLE_INSTALLER_FILES.x86) $(VBOX_WIN_BUNDLE_INSTALLER_FILES.amd64) $(VBOX_BRAND_INST_HIDE_MAC))}" \
    1334                 -hide-udf "$(VBOX_PATH_PACK_TMP)/IsoImage/{$(subst $(SP),$(COMMA),$(VBOX_BRAND_INST_HIDE_WIN))}" \
    1335                 $(VBOX_PATH_PACK_TMP)/IsoImage
    1336         @# Generate MD5 sum
    1337         $(REDIRECT) -C $(@D) -- $(MD5SUM_EXT) -p -o VirtualBoxBundle.md5 VirtualBoxBundle.iso
    1338 
    1339 # We have to make sure that $(VBOX_PATH_PACK_TMP)/IsoImage/ contains only files
    1340 # which should be there. Therewith we make it a define & delete it on every
    1341 # recreation.
    1342 VBOX_TMP_MOUNT ?= /tmp/IsoImage.mnt
    1343 define def_gen_isoimage_dir
    1344 gen_isoimage_dir_$(medium): \
    1345                 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/ \
    1346                 $(VBOX_BRAND_CUSTOM) \
    1347                 $(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
    1348         sudo rm -Rf \
    1349                 $(VBOX_PATH_PACK_TMP)/IsoImage
    1350         #test ! -e $(VBOX_TMP_MOUNT) || ($(HDIUTIL) detach $(VBOX_TMP_MOUNT) && sudo rmdir $(VBOX_TMP_MOUNT))
    1351         test ! -e $(VBOX_TMP_MOUNT) || (sudo rmdir $(VBOX_TMP_MOUNT))
    1352         @# Correct directory permissions are important.
    1353         $(MKDIR) -p \
    1354                 $(VBOX_PATH_PACK_TMP)/IsoImage/ \
    1355                 $(VBOX_TMP_MOUNT)
    1356 ifdef VBOX_BRAND_CUSTOM
    1357         $(MKDIR) -p $(VBOX_PATH_PACK_TMP)/IsoImage/.custom
    1358 endif
    1359         @# Copy all platform installer without the OS X one and the other extra files
    1360         $(CP_EXT) $(patsubst %,$(VBOX_PATH_PACK_TMP)/VirtualBoxAll/%,$(VBOX_BRAND_INST_$(medium)_FILES)) $(VBOX_PATH_PACK_TMP)/IsoImage/
    1361         @# Copy custom stuff if defined
    1362         $(foreach custom, $(VBOX_BRAND_CUSTOM) \
    1363                  ,$(INSTALL) -m 644  $(custom) $(VBOX_PATH_PACK_TMP)/IsoImage/.custom/$(NLTAB))
    1364         @# Copy all user manuals
    1365 ifdef VBOX_BRAND_en_EN_MANUAL_NAME
    1366         $(INSTALL) -m 644 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/UserManual.pdf       $(VBOX_PATH_PACK_TMP)/IsoImage/$(VBOX_BRAND_en_EN_MANUAL_NAME).pdf
    1367 else
    1368         $(INSTALL) -m 644 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/UserManual.pdf       $(VBOX_PATH_PACK_TMP)/IsoImage/User\ Manual.pdf
    1369 endif
    1370 ifdef VBOX_BRAND_de_DE_MANUAL_NAME
    1371         $(INSTALL) -m 644 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/UserManual_de_DE.pdf "$(VBOX_PATH_PACK_TMP)/IsoImage/$(VBOX_BRAND_de_DE_MANUAL_NAME).pdf"
    1372 endif
    1373 ifdef VBOX_BRAND_fr_FR_MANUAL_NAME
    1374         $(INSTALL) -m 644 $(VBOX_PATH_PACK_TMP)/VirtualBoxAll/UserManual_fr_FR.pdf "$(VBOX_PATH_PACK_TMP)/IsoImage/$(VBOX_BRAND_fr_FR_MANUAL_NAME).pdf"
    1375 endif
    1376 ifdef VBOX_WITH_COMBINED_PACKAGE
    1377         @# Rename the Windows multi platform installer (.exe) to a unique name the HTML auto start menu can handle
    1378         $(MV) $(firstword $(wildcard $(VBOX_PATH_PACK_TMP)/IsoImage/VirtualBox-*-Win.exe)) "$(VBOX_PATH_PACK_TMP)/IsoImage/VirtualBox-Win.exe"
    1379 endif
    1380         @# Temporary mount the dmg file
    1381         @# Note: man hdiutil: "Note that mountpoint paths must be less than MNAMELEN
    1382         @# characters (90 as of this writing)." So we use a path in /tmp/.
    1383         $(HDIUTIL) attach -noautoopen -readonly -mountpoint $(VBOX_TMP_MOUNT) $(patsubst %,$(VBOX_PATH_PACK_TMP)/VirtualBoxAll/%,VirtualBox-*-OSX.dmg)
    1384         @# Copy all the necessary stuff over
    1385         $(INSTALL) $(VBOX_TMP_MOUNT)/VirtualBox_Uninstall.tool $(VBOX_PATH_PACK_TMP)/IsoImage/
    1386         $(INSTALL) $(VBOX_TMP_MOUNT)/.DS_Store $(VBOX_PATH_PACK_TMP)/IsoImage/
    1387         $(CP) -R $(VBOX_TMP_MOUNT)/.background $(VBOX_PATH_PACK_TMP)/IsoImage/
    1388         $(CP) -R $(VBOX_TMP_MOUNT)/VirtualBox.mpkg $(VBOX_PATH_PACK_TMP)/IsoImage/
    1389 ifdef VBOX_BRAND_DARWIN_DISKIMAGE_LN_APP
    1390         $(LN) -s /Applications/ $(VBOX_PATH_PACK_TMP)/IsoImage/Applications
    1391 endif
    1392         @# Copy specific files
    1393         $(VBOX_BRAND_INST_$(medium)_GEN_ISOIMAGE_DIR)
    1394         @# Unmount the dmg file
    1395         $(HDIUTIL) detach $(VBOX_TMP_MOUNT)
    1396         @# Cleanup
    1397         sudo rm -Rf \
    1398                 $(VBOX_TMP_MOUNT)
    1399 endef
    1400 
    1401 # Generate a rule for the CD & the DVD respectively.
    1402 $(foreach medium,$(VBOX_BRAND_MEDIA),$(eval $(def_gen_isoimage_dir)))
    1403 
     1074ifndef VBOX_OSE
     1075 include $(PATH_SUB_CURRENT)/Bundle.kmk
     1076endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette