038621114e
Tested with a 5MB image, seems to work. There seems to be an issue with too long names though, or possibly names with spaces. Also, technically it supports FAT12,16 and 32, so it should probably be renamed in the interface. Didn't check how to declare support for more than 1 partition types either.
340 lines
12 KiB
Plaintext
340 lines
12 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 ;
|
|
|
|
if $(HAIKU_ATA_STACK) = 1 {
|
|
AddFilesToPackage add-ons kernel busses ata
|
|
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
|
|
} else {
|
|
AddFilesToPackage add-ons kernel busses ide
|
|
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
|
|
}
|
|
|
|
AddFilesToPackage add-ons kernel busses random : virtio_rng ;
|
|
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>qrencode@libqrencode
|
|
<kdebug>run_on_exit ;
|
|
AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
|
AddFilesToPackage add-ons kernel generic
|
|
: ata_adapter@ata bios@x86,x86_64 dpc ide_adapter@ide
|
|
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 : virtio_block ;
|
|
AddNewDriversToPackage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
|
|
#AddNewDriversToPackage display : display_adapter@x86 ;
|
|
|
|
# legacy drivers
|
|
AddDriversToPackage : console dprintf null <driver>tty usb_modeswitch 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 usb : usb_floppy ;
|
|
AddDriversToPackage printer usb : usb_printer ;
|
|
AddDriversToPackage disk virtual : nbd ;
|
|
AddDriversToPackage dvb : cx23882 ;
|
|
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 ;
|
|
|
|
# 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 ;
|
|
}
|
|
|
|
|
|
# TODO: Remove when the packages have been rebuilt!
|
|
AddSymlinkToPackage lib : libbe.so : liblocale.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
|
|
InstallerInitScript InstallerFinishScript ;
|
|
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 ;
|
|
SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
|
|
AddFilesToPackage data user_launch : $(userLaunchScripts) ;
|
|
|
|
# post install + first login scripts
|
|
local postInstallFiles = add_catalog_entry_attributes.sh ;
|
|
postInstallFiles = $(postInstallFiles:G=post-install) ;
|
|
SEARCH on $(postInstallFiles)
|
|
= [ FDirName $(HAIKU_TOP) data system boot post_install ] ;
|
|
AddFilesToPackage boot post-install : $(postInstallFiles) ;
|
|
|
|
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) ;
|
|
|
|
# artwork and sounds
|
|
local logoArtwork =
|
|
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png"
|
|
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ;
|
|
SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ;
|
|
AddFilesToPackage data artwork : $(logoArtwork) ;
|
|
|
|
# Mail spell check dictionaries
|
|
local spellFiles = words geekspeak ;
|
|
spellFiles = $(spellFiles:G=spell) ;
|
|
SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
|
AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ;
|
|
|
|
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 ] ;
|
|
local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ;
|
|
AddFilesToPackage data fonts psfonts : $(psFonts) ;
|
|
AddFilesToPackage data fonts ttfonts : $(ttFonts) ;
|
|
|
|
|
|
# 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 ahci ata@ata ata_adapter@ata
|
|
bfs
|
|
config_manager
|
|
dpc
|
|
efi_gpt
|
|
generic_ide_pci
|
|
ide@ide ide_adapter@ide ide_isa@x86 isa@x86,x86_64 intel it8211
|
|
legacy_sata locked_pool
|
|
openpic@ppc
|
|
packagefs pci
|
|
scsi scsi_cd scsi_disk scsi_periph silicon_image_3112
|
|
usb usb_disk <usb>ehci <usb>ohci <usb>uhci
|
|
virtio virtio_block virtio_pci virtio_scsi
|
|
;
|
|
|
|
# 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 mail_daemon inbound_protocols : POP3
|
|
IMAP ;
|
|
AddFilesToPackage add-ons mail_daemon outbound_protocols : SMTP ;
|
|
AddFilesToPackage add-ons mail_daemon inbound_filters
|
|
: MatchHeader SpamFilter NewMailNotification ;
|
|
AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ;
|
|
|
|
AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;
|
|
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
|
|
|
|
AddFilesToPackage add-ons Network\ Settings
|
|
: IPv4Interface IPv6Interface DNSClientService FTPService SSHService
|
|
TelnetService ;
|
|
|
|
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 ;
|
|
AddSymlinkToPackage add-ons Tracker
|
|
: /boot/system/apps/TextSearch : TextSearch ;
|
|
AddSymlinkToPackage add-ons Tracker
|
|
: /boot/system/apps/DiskUsage : DiskUsage ;
|
|
|
|
AddFilesToPackage add-ons input_server devices
|
|
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
|
AddFilesToPackage add-ons input_server filters
|
|
: screen_saver shortcut_catcher switch_workspace ;
|
|
AddDirectoryToPackage add-ons input_server methods ;
|
|
|
|
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 Print : $(SYSTEM_ADD_ONS_PRINT) ;
|
|
AddFilesToPackage add-ons Print transport
|
|
: $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ;
|
|
AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ;
|
|
|
|
AddFilesToPackage add-ons disk_systems
|
|
: <disk_system>fat <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
|
|
local linkTarget ;
|
|
for linkTarget in $(DESKBAR_APPLICATIONS) {
|
|
AddSymlinkToPackage data deskbar menu Applications
|
|
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
|
|
}
|
|
|
|
# "Desktop applets" links
|
|
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) ;
|
|
}
|
|
|
|
# "Demo" links
|
|
AddDirectoryToPackage data deskbar menu Demos ;
|
|
for linkTarget in $(SYSTEM_DEMOS) {
|
|
AddSymlinkToPackage data deskbar menu Demos
|
|
: ../../../../demos/$(linkTarget) : $(linkTarget) ;
|
|
}
|
|
|
|
# Deskbar menu entries file
|
|
AddFilesToPackage data deskbar : <deskbar>menu_entries ;
|
|
|
|
|
|
# PDF Writer enconding files
|
|
CopyDirectoryToPackage data
|
|
: [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ]
|
|
: "PDF Writer" : -x Jamfile ;
|
|
|
|
# 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 ;
|
|
|
|
# Copy documentation and sample programs as per PDFlib Lite's license
|
|
# requirement.
|
|
CopyDirectoryToPackage documentation
|
|
: [ FDirName $(HAIKU_TOP) src libs pdflib doc ]
|
|
: pdflib ;
|
|
CopyDirectoryToPackage develop sample-code
|
|
: [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ]
|
|
: pdflib ;
|
|
|
|
|
|
# empty directory
|
|
AddDirectoryToPackage data empty ;
|
|
|
|
|
|
BuildHaikuPackage $(haikuPackage) : haiku ;
|