haiku/build/jam/packages/HaikuBootstrap
Adrien Destugues 2c09e0dc7f Installer: separate writing bootsector from other install finishing code
Remove the InstallerInitScript (it does nothing) and the
InstallerFinishScript (it does too many things). Instead implement the
finishing directly in Installer. Separate writing the bootsector, so
that the "write bootsector" menu writes only the bootsector.

Fixes #16303
2020-08-05 12:52:04 +02:00

268 lines
9.3 KiB
Plaintext

local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
local haikuPackage = haiku.hpkg ;
HaikuPackage $(haikuPackage) ;
# wifi firmware
local driver ;
for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
local package = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGE) ] ;
local archive = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVE) ] ;
local extract = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_DO_EXTRACT) ] ;
if $(archive) {
AddWifiFirmwareToPackage $(driver) : $(package) : $(archive)
: $(extract) ;
}
local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) ] ;
local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) ] ;
local archive ;
for archive in $(archives) {
AddWifiFirmwareToPackage $(driver) : $(packages[1]) : $(archive)
: $(extract) ;
packages = $(packages[2-]) ;
}
}
# modules
AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
AddFilesToPackage add-ons kernel busses agp_gart : <agp_gart>intel@x86,x86_64 ;
AddFilesToPackage add-ons kernel busses ata
: generic_ide_pci it8211 legacy_sata silicon_image_3112 highpoint_ide_pci ide_isa@x86 ;
AddFilesToPackage add-ons kernel busses scsi : ahci virtio_scsi ;
AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ;
AddFilesToPackage add-ons kernel busses virtio : virtio_pci ;
AddFilesToPackage add-ons kernel console : vga_text ;
AddFilesToPackage add-ons kernel debugger
: <kdebug>demangle <kdebug>disasm@x86 #<kdebug>hangman
<kdebug>invalidate_on_exit <kdebug>usb_keyboard
<kdebug>run_on_exit ;
AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
AddFilesToPackage add-ons kernel generic
: ata_adapter bios@x86,x86_64 dpc
locked_pool mpu401 scsi_periph <module>tty ;
AddFilesToPackage add-ons kernel partitioning_systems
: amiga_rdb@m68k apple@ppc efi_gpt intel session ;
AddFilesToPackage add-ons kernel interrupt_controllers : openpic@ppc ;
AddFilesToPackage add-ons kernel power cpufreq : intel_pstates@x86,x86_64 ;
AddFilesToPackage add-ons kernel power cpuidle : intel_cstates@x86,x86_64 ;
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
AddFilesToPackage add-ons kernel cpu : generic_x86 ;
}
# drivers
AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ;
AddNewDriversToPackage disk virtual : ram_disk virtio_block ;
AddNewDriversToPackage power : acpi_battery@x86 ;
AddNewDriversToPackage network : virtio_net ;
#AddNewDriversToPackage display : display_adapter@x86 ;
# legacy drivers
AddDriversToPackage : console dprintf null random <driver>tty
zero ;
AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
AddDriversToPackage bus : usb_raw fw_raw@x86 ;
AddDriversToPackage disk floppy : pc_floppy@x86 ;
AddDriversToPackage disk usb : usb_disk ;
AddDriversToPackage disk virtual : nbd ;
AddDriversToPackage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
AddDriversToPackage input : ps2_hid usb_hid wacom ;
AddDriversToPackage misc : <driver>poke <driver>mem ;
AddDriversToPackage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
AddDriversToPackage ports : pc_serial usb_serial ;
AddDriversToPackage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
# kernel
AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ;
# libs
AddLibrariesToPackage lib
: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;
# libnetwork.so replaces quite a few libraries
if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 {
local libNetworkAliases = libsocket.so libbind.so libnet.so ;
local lib ;
for lib in $(libNetworkAliases) {
AddSymlinkToPackage lib : libnetwork.so : $(lib) ;
}
AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ;
}
# servers
AddFilesToPackage servers : $(SYSTEM_SERVERS) ;
# apps
AddFilesToPackage : runtime_loader Deskbar Tracker ;
AddFilesToPackage bin : $(SYSTEM_BIN) consoled ;
AddFilesToPackage apps : $(SYSTEM_APPS) ;
AddFilesToPackage preferences : $(SYSTEM_PREFERENCES) ;
AddFilesToPackage demos : $(SYSTEM_DEMOS) ;
SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
AddFilesToPackage bin : install-wifi-firmwares.sh ;
AddSymlinkToPackage bin : trash : untrash ;
AddSymlinkToPackage bin : less : more ;
# scripts and data files
local bootScripts = PostInstallScript SetupEnvironment ;
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
AddFilesToPackage boot : $(bootScripts) ;
local launchScripts = <data!launch>system ;
SEARCH on $(launchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
AddFilesToPackage data launch : $(launchScripts) ;
local userLaunchScripts = <data!launch>user <data!launch>bootstrap ;
SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
AddFilesToPackage data user_launch : $(userLaunchScripts) ;
# first login scripts
local firstLoginFiles = default_deskbar_items.sh ;
firstLoginFiles = $(firstLoginFiles:G=first-login) ;
SEARCH on $(firstLoginFiles)
= [ FDirName $(HAIKU_TOP) data system boot first_login ] ;
AddFilesToPackage boot first_login : $(firstLoginFiles) ;
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
: [a-zA-Z0-9]* ] ;
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
AddFilesToPackage data fortunes : $(fortuneFiles) ;
local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ;
local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;
AddFilesToPackage data fonts psfonts : $(psFonts) ;
# keymaps
AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ;
local keymapAlias ;
for keymapAlias in $(HAIKU_KEYMAP_ALIASES) {
local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ;
AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ;
}
# keyboard layouts
AddFilesToPackage data KeyboardLayouts
: $(HAIKU_KEYBOARD_LAYOUT_FILES) ;
AddFilesToPackage data KeyboardLayouts Apple\ Aluminum
: $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ;
AddFilesToPackage data KeyboardLayouts ThinkPad
: $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ;
# boot module links
AddBootModuleSymlinksToPackage
acpi@x86,x86_64 ata pci isa@x86,x86_64 config_manager dpc
scsi usb
openpic@ppc
ata_adapter locked_pool scsi_periph
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
highpoint_ide_pci
ide_isa@x86
<usb>uhci <usb>ohci <usb>ehci
scsi_cd scsi_disk usb_disk
virtio virtio_pci virtio_block virtio_scsi
efi_gpt
intel
bfs packagefs
;
# add-ons
AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ;
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
AddFilesToPackage add-ons Tracker
: FileType Mark\ as… Mark\ as\ Read Open\ Target\ Folder
Open\ Terminal ZipOMatic ;
AddSymlinkToPackage add-ons Tracker
: /boot/system/preferences/Backgrounds : Background-B ;
AddSymlinkToPackage add-ons Tracker
: /boot/system/apps/TextSearch : TextSearch-G ;
AddSymlinkToPackage add-ons Tracker
: /boot/system/apps/DiskUsage : DiskUsage-I ;
AddFilesToPackage add-ons input_server devices
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
AddFilesToPackage add-ons input_server filters
: switch_workspace ;
AddFilesToPackage add-ons kernel network : <net>notifications stack ;
AddFilesToPackage add-ons kernel network : dns_resolver ;
AddFilesToPackage add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ;
AddFilesToPackage add-ons kernel network datalink_protocols
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
AddFilesToPackage add-ons kernel network ppp : $(SYSTEM_NETWORK_PPP) ;
AddFilesToPackage add-ons kernel network protocols
: $(SYSTEM_NETWORK_PROTOCOLS) ;
AddFilesToPackage add-ons disk_systems
: <disk_system>intel <disk_system>gpt <disk_system>bfs <disk_system>ntfs ;
# the MIME DB
CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ;
# Deskbar menu symlinks
# "Applications" links
DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap DeskCalc
Devices DiskProbe DriveSetup DiskUsage Expander Installer
StyledEdit Terminal
;
local linkTarget ;
for linkTarget in $(DESKBAR_APPLICATIONS) {
AddSymlinkToPackage data deskbar menu Applications
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
}
# "Desktop applets" links
DESKBAR_DESKTOP_APPLETS = LaunchBox NetworkStatus PowerStatus ProcessController
Workspaces
;
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
AddSymlinkToPackage data deskbar menu Desktop\ applets
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
}
# "Preferences" links
AddDirectoryToPackage data deskbar menu Preferences ;
DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;
for linkTarget in $(DESKBAR_PREFERENCES) {
AddSymlinkToPackage data deskbar menu Preferences
: ../../../../preferences/$(linkTarget)
: $(linkTarget) ;
}
# Deskbar menu entries file
AddFilesToPackage data deskbar : <deskbar>menu_entries ;
# licenses
CopyDirectoryToPackage data
: [ FDirName $(HAIKU_TOP) data system data licenses ]
: licenses ;
# netresolv support files
CopyDirectoryToPackage data
: [ FDirName $(HAIKU_TOP) data system data network ]
: network ;
# Copy documentation as per DiskUsage's license requirement.
CopyDirectoryToPackage documentation
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
: diskusage ;
BuildHaikuPackage $(haikuPackage) : haiku ;