Build a system Haiku package
* Create rules (build/jam/PackageRules) and a script, build_haiku_package, to build hpkg files. * Move all rule invocations that copy files and created symlinks and directories in the "system" directory from HaikuImage to HaikuPackages, which creates a package "haiku.hpkg". * build_haiku_image: Comment out adding the copyrights info to AboutSystem for the moment.
This commit is contained in:
parent
9e3bdfb0ef
commit
355b8ba755
@ -1139,6 +1139,13 @@ HAIKU_TMP_DIR ?= [ FDirName $(HAIKU_OUTPUT_DIR) tmp ] ;
|
||||
|
||||
HAIKU_PACKAGE_DIR ?= [ FDirName $(HAIKU_OUTPUT_DIR) packages ] ;
|
||||
HAIKU_PACKAGE_OBJECT_DIR ?= [ FDirName $(HAIKU_OBJECT_DIR) packages ] ;
|
||||
# TODO: Remove those together with the obsolete package rules!
|
||||
|
||||
HAIKU_PACKAGES_DIR = [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR)
|
||||
packages ] ;
|
||||
HAIKU_PACKAGES_BUILD_DIR = [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR)
|
||||
packages_build ] ;
|
||||
HAIKU_PACKAGE_INFOS_DIR = [ FDirName $(HAIKU_TOP) src data package_infos ] ;
|
||||
|
||||
TARGET_TEST_DIR ?= [ FDirName $(HAIKU_TEST_DIR)
|
||||
$(TARGET_PLATFORM) ] ;
|
||||
|
@ -194,153 +194,9 @@ SYSTEM_ADD_ONS_BUS_MANAGERS = $(ATA_ONLY)ata pci $(X86_ONLY)ps2 $(X86_ONLY)isa
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs cdda exfat ext2 fat iso9660 nfs
|
||||
attribute_overlay write_overlay ntfs packagefs reiserfs udf googlefs ;
|
||||
|
||||
# wifi firmware
|
||||
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) {
|
||||
AddWifiFirmwareToHaikuImage $(driver) : $(package) : $(archive)
|
||||
: $(extract) ;
|
||||
}
|
||||
local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) ] ;
|
||||
local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) ] ;
|
||||
for archive in $(archives) {
|
||||
AddWifiFirmwareToHaikuImage $(driver) : $(packages[1]) : $(archive)
|
||||
: $(extract) ;
|
||||
packages = $(packages[2-]) ;
|
||||
}
|
||||
}
|
||||
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
|
||||
|
||||
# modules
|
||||
AddFilesToHaikuImage system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel busses agp_gart
|
||||
: $(X86_ONLY)<agp_gart>intel ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToHaikuImage system add-ons kernel busses ata
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
} else {
|
||||
AddFilesToHaikuImage system add-ons kernel busses ide
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
}
|
||||
|
||||
AddFilesToHaikuImage system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToHaikuImage system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
AddFilesToHaikuImage system add-ons kernel console
|
||||
: vga_text ;
|
||||
AddFilesToHaikuImage system add-ons kernel debugger
|
||||
: <kdebug>demangle $(X86_ONLY)<kdebug>disasm
|
||||
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>run_on_exit ;
|
||||
AddFilesToHaikuImage system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel generic
|
||||
: $(ATA_ONLY)ata_adapter dpc $(IDE_ONLY)ide_adapter locked_pool mpu401
|
||||
scsi_periph <module>tty ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons kernel partitioning_systems
|
||||
: amiga_rdb apple efi_gpt intel session ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons kernel interrupt_controllers
|
||||
: $(PPC_ONLY)openpic ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToHaikuImage system add-ons kernel cpu
|
||||
: generic_x86 ;
|
||||
}
|
||||
|
||||
# drivers
|
||||
AddNewDriversToHaikuImage disk scsi : scsi_cd scsi_disk ;
|
||||
AddNewDriversToHaikuImage power : $(X86_ONLY)enhanced_speedstep ;
|
||||
AddNewDriversToHaikuImage power : $(X86_ONLY)acpi_battery ;
|
||||
|
||||
# legacy drivers
|
||||
AddDriversToHaikuImage : console dprintf null
|
||||
random <driver>tty zero ;
|
||||
AddDriversToHaikuImage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
|
||||
AddDriversToHaikuImage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
|
||||
AddDriversToHaikuImage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
|
||||
AddDriversToHaikuImage bus : usb_raw fw_raw ;
|
||||
AddDriversToHaikuImage disk floppy : $(X86_ONLY)pc_floppy ;
|
||||
AddDriversToHaikuImage disk usb : usb_disk ;
|
||||
AddDriversToHaikuImage disk usb : usb_floppy ;
|
||||
AddDriversToHaikuImage printer usb : usb_printer ;
|
||||
AddDriversToHaikuImage disk virtual : nbd ;
|
||||
AddDriversToHaikuImage dvb : cx23882 ;
|
||||
AddDriversToHaikuImage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
|
||||
AddDriversToHaikuImage input : ps2_hid usb_hid wacom ;
|
||||
AddDriversToHaikuImage misc : <driver>poke <driver>mem ;
|
||||
AddDriversToHaikuImage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
AddDriversToHaikuImage ports : usb_serial ;
|
||||
#AddDriversToHaikuImage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
|
||||
|
||||
# kernel
|
||||
AddFilesToHaikuImage system
|
||||
: <revisioned>kernel_$(TARGET_ARCH) ;
|
||||
|
||||
# libs
|
||||
AddLibrariesToHaikuImage system lib
|
||||
: $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ;
|
||||
|
||||
# libnetwork.so replaces quite a few libraries
|
||||
SYSTEM_LIBS_LIBNETWORK_ALIASES
|
||||
= libsocket.so libbind.so libnet.so ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
local lib ;
|
||||
for lib in $(SYSTEM_LIBS_LIBNETWORK_ALIASES) {
|
||||
AddSymlinkToHaikuImage system lib
|
||||
: libnetwork.so : $(lib) ;
|
||||
}
|
||||
|
||||
AddSymlinkToHaikuImage system lib : libbnetapi.so
|
||||
: libnetapi.so ;
|
||||
}
|
||||
|
||||
|
||||
# libGL.so has GLU (like BeOS) *and* GLUT API built-in
|
||||
SYSTEM_LIBS_LIBGL_ALIASES
|
||||
= libGLU.so libglut.so ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
local lib ;
|
||||
for lib in $(SYSTEM_LIBS_LIBGL_ALIASES) {
|
||||
AddSymlinkToHaikuImage system lib
|
||||
: libGL.so : $(lib) ;
|
||||
}
|
||||
}
|
||||
|
||||
SYSTEM_LIBS_ALIASES =
|
||||
$(SYSTEM_LIBS_LIBNETWORK_ALIASES)
|
||||
libnetapi.so
|
||||
$(SYSTEM_LIBS_LIBGL_ALIASES)
|
||||
;
|
||||
|
||||
# servers
|
||||
AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ;
|
||||
|
||||
# apps
|
||||
AddFilesToHaikuImage system : runtime_loader ;
|
||||
AddFilesToHaikuImage system : Deskbar Tracker ;
|
||||
AddFilesToHaikuImage system bin : $(SYSTEM_BIN) consoled ;
|
||||
AddFilesToHaikuImage system apps : $(SYSTEM_APPS) ;
|
||||
AddFilesToHaikuImage system preferences
|
||||
: $(SYSTEM_PREFERENCES) ;
|
||||
AddFilesToHaikuImage system demos : $(SYSTEM_DEMOS) ;
|
||||
|
||||
SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : which ;
|
||||
SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : installoptionalpackage ;
|
||||
SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin
|
||||
: install-wifi-firmwares.sh ;
|
||||
|
||||
# TODO: remove!
|
||||
# Add the files to be used by installoptionalpackage.
|
||||
@ -354,9 +210,6 @@ for name in $(optional-pkg-files) {
|
||||
}
|
||||
AddInstalledPackagesFileToHaikuImage ;
|
||||
|
||||
AddSymlinkToHaikuImage system bin : bash : sh ;
|
||||
AddSymlinkToHaikuImage system bin : trash : untrash ;
|
||||
|
||||
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
||||
|
||||
# Mailbox folders and symlink
|
||||
@ -404,23 +257,8 @@ for linkTarget in $(SYSTEM_DEMOS) {
|
||||
: /boot/system/demos/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
AddSymlinkToHaikuImage system bin : bzip2 : bunzip2 ;
|
||||
AddSymlinkToHaikuImage system bin : less : more ;
|
||||
AddSymlinkToHaikuImage system bin : gzip : gunzip ;
|
||||
AddSymlinkToHaikuImage system bin : gzip : zcat ;
|
||||
AddSymlinkToHaikuImage system bin : zdiff : zcmp ;
|
||||
AddSymlinkToHaikuImage system bin : unzip : zipinfo ;
|
||||
AddSymlinkToHaikuImage system bin : gawk : awk ;
|
||||
AddSymlinkToHaikuImage system bin : grep : egrep ;
|
||||
AddSymlinkToHaikuImage system bin : grep : fgrep ;
|
||||
|
||||
|
||||
# scripts and data files
|
||||
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
||||
InstallerInitScript InstallerFinishScript ;
|
||||
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
|
||||
AddFilesToHaikuImage system boot : $(bootScripts) ;
|
||||
|
||||
local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
|
||||
SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
|
||||
AddFilesToHaikuImage home config boot : $(userBootScripts) ;
|
||||
@ -428,37 +266,21 @@ AddFilesToHaikuImage home config boot : $(userBootScripts) ;
|
||||
# Add boot launch directory
|
||||
AddDirectoryToHaikuImage home config boot launch ;
|
||||
|
||||
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 ] ;
|
||||
AddFilesToHaikuImage system data artwork : $(logoArtwork) ;
|
||||
|
||||
AddDirectoryToHaikuImage system data sounds ;
|
||||
|
||||
# Add mail provider infos.
|
||||
AddFilesToHaikuImage home config settings Mail ProviderInfo :
|
||||
$(HAIKU_PROVIDER_INFOS) ;
|
||||
|
||||
# Mail spell check dictionaries
|
||||
local spellFiles = words geekspeak ;
|
||||
spellFiles = $(spellFiles:G=spell) ;
|
||||
SEARCH on $(spellFiles)
|
||||
= [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
||||
AddFilesToHaikuImage system data spell_check word_dictionary
|
||||
: $(spellFiles) ;
|
||||
|
||||
local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
|
||||
local etcFiles = inputrc profile ;
|
||||
etcFiles = $(etcFiles:G=etc) ;
|
||||
SEARCH on $(etcFiles) = [ FDirName $(etcDir) ] ;
|
||||
SEARCH on $(etcFiles) = $(etcDir) ;
|
||||
etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ;
|
||||
AddFilesToHaikuImage common settings etc : $(etcFiles) ;
|
||||
|
||||
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
|
||||
profileFiles = $(profileFiles:G=profile-d) ;
|
||||
AddDirectoryToHaikuImage common etc profile.d ;
|
||||
AddFilesToHaikuImage common etc profile.d : $(profileFiles) ;
|
||||
AddDirectoryToHaikuImage common settings etc profile.d ;
|
||||
AddFilesToHaikuImage common settings etc profile.d : $(profileFiles) ;
|
||||
|
||||
#local bashCompletionFiles = [ Glob $(etcDir)/bash_completion.d : * ] ;
|
||||
#local bashCompletionHelperFiles
|
||||
@ -471,52 +293,6 @@ AddFilesToHaikuImage common etc profile.d : $(profileFiles) ;
|
||||
#AddFilesToHaikuImage common etc bash_completion.d helpers
|
||||
# : $(bashCompletionHelperFiles) ;
|
||||
|
||||
local dataFiles = teapot.data ;
|
||||
dataFiles = $(dataFiles:G=data) ;
|
||||
SEARCH on $(dataFiles) = [ FDirName $(HAIKU_TOP) data system data ] ;
|
||||
AddFilesToHaikuImage system data : $(dataFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
: [a-zA-Z0-9]* ] ;
|
||||
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
||||
AddFilesToHaikuImage system 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 ] ;
|
||||
AddFilesToHaikuImage system data fonts psfonts : $(psFonts) ;
|
||||
AddFilesToHaikuImage system data fonts ttfonts : $(ttFonts) ;
|
||||
|
||||
local cannaDir = [ FDirName $(HAIKU_TOP) data system data Canna ] ;
|
||||
local cannaDefault = [ Glob $(cannaDir)/default : *.canna *.gz ] ;
|
||||
local cannaDic = [ Glob $(cannaDir)/dic : *.cbp ] ;
|
||||
local cannaDicCanna = [ Glob $(cannaDir)/dic/canna
|
||||
: *.cld *.ctd *.cbd *.dir ] ;
|
||||
AddFilesToHaikuImage system data Canna default
|
||||
: $(cannaDefault) ;
|
||||
AddFilesToHaikuImage system data Canna dic : $(cannaDic) ;
|
||||
AddFilesToHaikuImage system data Canna dic canna
|
||||
: $(cannaDicCanna) ;
|
||||
AddDirectoryToHaikuImage system data Canna dic group ;
|
||||
AddDirectoryToHaikuImage system data Canna dic user ;
|
||||
|
||||
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
|
||||
: *.keymap ] ;
|
||||
keymapFiles = $(keymapFiles:BG=keymap) ;
|
||||
AddFilesToHaikuImage system data Keymaps : $(keymapFiles) ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : Swedish
|
||||
: Finnish ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : Slovene
|
||||
: Croatian ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : US-International
|
||||
: Brazilian ;
|
||||
|
||||
local keyboardLayoutsDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ;
|
||||
local keyboardLayouts = [ Glob $(keyboardLayoutsDir) : [^.]* ] ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts
|
||||
: $(keyboardLayouts) ;
|
||||
|
||||
local driverSettingsFiles = <driver-settings>kernel ;
|
||||
SEARCH on $(driverSettingsFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
|
||||
@ -543,80 +319,6 @@ AddFilesToHaikuImage common settings : <post-install>fresh_install ;
|
||||
# boot loader
|
||||
AddFilesToHaikuImage system : haiku_loader ;
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToHaikuImage
|
||||
$(X86_ONLY)acpi $(ATA_ONLY)ata pci $(X86_ONLY)isa config_manager dpc
|
||||
$(IDE_ONLY)ide scsi usb
|
||||
$(PPC_ONLY)openpic
|
||||
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
||||
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa
|
||||
<usb>uhci <usb>ohci <usb>ehci
|
||||
scsi_cd scsi_disk usb_disk
|
||||
intel
|
||||
bfs
|
||||
;
|
||||
|
||||
# add-ons
|
||||
AddFilesToHaikuImage system add-ons accelerants
|
||||
: $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
||||
AddFilesToHaikuImage system add-ons opengl
|
||||
: Mesa\ Software\ Renderer ;
|
||||
AddFilesToHaikuImage system add-ons Translators
|
||||
: $(SYSTEM_ADD_ONS_TRANSLATORS) ;
|
||||
AddFilesToHaikuImage system add-ons locale catalogs
|
||||
: $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
||||
AddFilesToHaikuImage system add-ons locale catalogs
|
||||
: $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons mail_daemon inbound_protocols
|
||||
: POP3 IMAP ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons mail_daemon outbound_protocols : SMTP ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons mail_daemon inbound_filters
|
||||
: MatchHeader SpamFilter NewMailNotification ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons mail_daemon outbound_filters
|
||||
: Fortune ;
|
||||
AddFilesToHaikuImage system add-ons media
|
||||
: $(SYSTEM_ADD_ONS_MEDIA) ;
|
||||
AddFilesToHaikuImage system add-ons media plugins
|
||||
: $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
|
||||
AddFilesToHaikuImage system add-ons Tracker
|
||||
: FileType-F Mark\ as… Mark\ as\ Read-R Open\ Target\ Folder-O
|
||||
Open\ Terminal-T ZipOMatic-Z ;
|
||||
AddSymlinkToHaikuImage system add-ons Tracker
|
||||
: /boot/system/preferences/Backgrounds : Background-B ;
|
||||
AddSymlinkToHaikuImage system add-ons Tracker
|
||||
: /boot/system/apps/TextSearch : TextSearch-G ;
|
||||
AddSymlinkToHaikuImage system add-ons Tracker
|
||||
: /boot/system/apps/DiskUsage : DiskUsage-I ;
|
||||
AddFilesToHaikuImage system add-ons input_server devices
|
||||
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
||||
AddFilesToHaikuImage system add-ons input_server filters
|
||||
: screen_saver shortcut_catcher ;
|
||||
AddFilesToHaikuImage system add-ons kernel network
|
||||
: <net>notifications stack ;
|
||||
AddFilesToHaikuImage system add-ons kernel network devices
|
||||
: $(SYSTEM_NETWORK_DEVICES) ;
|
||||
AddFilesToHaikuImage
|
||||
system add-ons kernel network datalink_protocols
|
||||
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel network ppp
|
||||
: $(SYSTEM_NETWORK_PPP) ;
|
||||
AddFilesToHaikuImage system add-ons kernel network protocols
|
||||
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
||||
AddFilesToHaikuImage system add-ons Print
|
||||
: $(SYSTEM_ADD_ONS_PRINT) ;
|
||||
AddFilesToHaikuImage system add-ons Print transport
|
||||
: $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ;
|
||||
AddFilesToHaikuImage system add-ons Screen\ Savers
|
||||
: $(SYSTEM_ADD_ONS_SCREENSAVERS) ;
|
||||
|
||||
AddFilesToHaikuImage system add-ons disk_systems
|
||||
: <disk_system>intel <disk_system>bfs ;
|
||||
|
||||
# decorators
|
||||
AddDirectoryToHaikuImage home config add-ons decorators ;
|
||||
AddFilesToHaikuImage home config add-ons decorators :
|
||||
@ -646,11 +348,6 @@ AddDirectoryToHaikuImage home config add-ons Tracker ;
|
||||
AddDirectoryToHaikuImage home config add-ons Print ;
|
||||
AddDirectoryToHaikuImage home config add-ons Screen\ Savers ;
|
||||
AddDirectoryToHaikuImage home config add-ons Translators ;
|
||||
AddDirectoryToHaikuImage system data synth ;
|
||||
AddDirectoryToHaikuImage system add-ons input_server methods ;
|
||||
|
||||
# optional
|
||||
AddFilesToHaikuImage optional system add-ons input_server methods : canna ;
|
||||
|
||||
# printers
|
||||
AddDirectoryToHaikuImage home config settings printers Preview
|
||||
@ -658,11 +355,6 @@ AddDirectoryToHaikuImage home config settings printers Preview
|
||||
AddDirectoryToHaikuImage home config settings printers "Save as PDF"
|
||||
: home-config-settings-printers-save-as-pdf.rdef ;
|
||||
|
||||
# PDF Writer enconding files
|
||||
CopyDirectoryToHaikuImage system data
|
||||
: [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ]
|
||||
: "PDF Writer" : -x .svn -x Jamfile ;
|
||||
|
||||
# Gutenprint data files
|
||||
CopyDirectoryToHaikuImage common data
|
||||
: [ FDirName $(HAIKU_TOP) src libs print libgutenprint src xml ]
|
||||
@ -673,21 +365,6 @@ CopyDirectoryToHaikuImage home config settings Media
|
||||
: [ FDirName $(HAIKU_TOP) data settings media dvb ]
|
||||
: dvb : -x .svn -x Jamfile ;
|
||||
|
||||
# licenses
|
||||
CopyDirectoryToHaikuImage system data
|
||||
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
||||
: licenses : -x .svn ;
|
||||
|
||||
# Copy documentation as per DiskUsage's license requirement.
|
||||
CopyDirectoryToHaikuImage system documentation
|
||||
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
||||
: diskusage : -x .svn ;
|
||||
|
||||
# Copy documentation as per PDFlib Lite's license requirement.
|
||||
CopyDirectoryToHaikuImage system documentation
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib doc ]
|
||||
: pdflib : -x .svn ;
|
||||
|
||||
# Copy sample programs as per PDFlib Lite's license requirement.
|
||||
CopyDirectoryToHaikuImage develop sample-code
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ]
|
||||
|
345
build/jam/HaikuPackages
Normal file
345
build/jam/HaikuPackages
Normal file
@ -0,0 +1,345 @@
|
||||
local haikuPackage = haiku.hpkg ;
|
||||
HaikuPackage $(haikuPackage) ;
|
||||
|
||||
|
||||
# wifi firmware
|
||||
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 $(haikuPackage) : $(driver) : $(package)
|
||||
: $(archive) : $(extract) ;
|
||||
}
|
||||
local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) ] ;
|
||||
local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) ] ;
|
||||
for archive in $(archives) {
|
||||
AddWifiFirmwareToPackage $(haikuPackage) : $(driver) : $(packages[1])
|
||||
: $(archive) : $(extract) ;
|
||||
packages = $(packages[2-]) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# modules
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel busses agp_gart
|
||||
: $(X86_ONLY)<agp_gart>intel ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel busses ata
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
} else {
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel busses ide
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
}
|
||||
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel console
|
||||
: vga_text ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel debugger
|
||||
: <kdebug>demangle $(X86_ONLY)<kdebug>disasm
|
||||
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>run_on_exit ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel generic
|
||||
: $(ATA_ONLY)ata_adapter dpc $(IDE_ONLY)ide_adapter locked_pool mpu401
|
||||
scsi_periph <module>tty ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons kernel partitioning_systems
|
||||
: amiga_rdb apple efi_gpt intel session ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons kernel interrupt_controllers
|
||||
: $(PPC_ONLY)openpic ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel cpu
|
||||
: generic_x86 ;
|
||||
}
|
||||
|
||||
# drivers
|
||||
AddNewDriversToPackage $(haikuPackage) : disk scsi : scsi_cd scsi_disk ;
|
||||
AddNewDriversToPackage $(haikuPackage) : power : $(X86_ONLY)enhanced_speedstep ;
|
||||
AddNewDriversToPackage $(haikuPackage) : power : $(X86_ONLY)acpi_battery ;
|
||||
|
||||
# legacy drivers
|
||||
AddDriversToPackage $(haikuPackage) :
|
||||
: console dprintf null random <driver>tty zero ;
|
||||
AddDriversToPackage $(haikuPackage) : audio hmulti
|
||||
: $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
|
||||
AddDriversToPackage $(haikuPackage) : audio old
|
||||
: $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
|
||||
AddDriversToPackage $(haikuPackage) : midi
|
||||
: $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
|
||||
AddDriversToPackage $(haikuPackage) : bus : usb_raw fw_raw ;
|
||||
AddDriversToPackage $(haikuPackage) : disk floppy : $(X86_ONLY)pc_floppy ;
|
||||
AddDriversToPackage $(haikuPackage) : disk usb : usb_disk ;
|
||||
AddDriversToPackage $(haikuPackage) : disk usb : usb_floppy ;
|
||||
AddDriversToPackage $(haikuPackage) : printer usb : usb_printer ;
|
||||
AddDriversToPackage $(haikuPackage) : disk virtual : nbd ;
|
||||
AddDriversToPackage $(haikuPackage) : dvb : cx23882 ;
|
||||
AddDriversToPackage $(haikuPackage) : graphics
|
||||
: $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
|
||||
AddDriversToPackage $(haikuPackage) : input : ps2_hid usb_hid wacom ;
|
||||
AddDriversToPackage $(haikuPackage) : misc : <driver>poke <driver>mem ;
|
||||
AddDriversToPackage $(haikuPackage) : net
|
||||
: $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
AddDriversToPackage $(haikuPackage) : ports : usb_serial ;
|
||||
#AddDriversToPackage $(haikuPackage) : power
|
||||
# : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
|
||||
|
||||
# kernel
|
||||
AddFilesToPackage $(haikuPackage) : system
|
||||
: <revisioned>kernel_$(TARGET_ARCH) ;
|
||||
|
||||
# libs
|
||||
AddLibrariesToPackage $(haikuPackage) : system lib
|
||||
: $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ;
|
||||
|
||||
# libnetwork.so replaces quite a few libraries
|
||||
SYSTEM_LIBS_LIBNETWORK_ALIASES
|
||||
= libsocket.so libbind.so libnet.so ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
local lib ;
|
||||
for lib in $(SYSTEM_LIBS_LIBNETWORK_ALIASES) {
|
||||
AddSymlinkToPackage $(haikuPackage) : system lib
|
||||
: libnetwork.so : $(lib) ;
|
||||
}
|
||||
|
||||
AddSymlinkToPackage $(haikuPackage) : system lib : libbnetapi.so
|
||||
: libnetapi.so ;
|
||||
}
|
||||
|
||||
|
||||
# libGL.so has GLU (like BeOS) *and* GLUT API built-in
|
||||
SYSTEM_LIBS_LIBGL_ALIASES
|
||||
= libGLU.so libglut.so ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
local lib ;
|
||||
for lib in $(SYSTEM_LIBS_LIBGL_ALIASES) {
|
||||
AddSymlinkToPackage $(haikuPackage) : system lib : libGL.so : $(lib) ;
|
||||
}
|
||||
}
|
||||
|
||||
SYSTEM_LIBS_ALIASES =
|
||||
$(SYSTEM_LIBS_LIBNETWORK_ALIASES)
|
||||
libnetapi.so
|
||||
$(SYSTEM_LIBS_LIBGL_ALIASES)
|
||||
;
|
||||
|
||||
# servers
|
||||
AddFilesToPackage $(haikuPackage) : system servers : $(SYSTEM_SERVERS) ;
|
||||
|
||||
# apps
|
||||
AddFilesToPackage $(haikuPackage) : system : runtime_loader ;
|
||||
AddFilesToPackage $(haikuPackage) : system : Deskbar Tracker ;
|
||||
AddFilesToPackage $(haikuPackage) : system bin : $(SYSTEM_BIN) consoled ;
|
||||
AddFilesToPackage $(haikuPackage) : system apps : $(SYSTEM_APPS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system preferences
|
||||
: $(SYSTEM_PREFERENCES) ;
|
||||
AddFilesToPackage $(haikuPackage) : system demos : $(SYSTEM_DEMOS) ;
|
||||
|
||||
SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system bin : which ;
|
||||
SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system bin : installoptionalpackage ;
|
||||
SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system bin : install-wifi-firmwares.sh ;
|
||||
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : bash : sh ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : trash : untrash ;
|
||||
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : bzip2 : bunzip2 ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : less : more ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : gzip : gunzip ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : gzip : zcat ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : zdiff : zcmp ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : unzip : zipinfo ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : gawk : awk ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : grep : egrep ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system bin : grep : fgrep ;
|
||||
|
||||
# scripts and data files
|
||||
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
||||
InstallerInitScript InstallerFinishScript ;
|
||||
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system boot : $(bootScripts) ;
|
||||
|
||||
# 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 $(haikuPackage) : system data artwork : $(logoArtwork) ;
|
||||
|
||||
AddDirectoryToPackage $(haikuPackage) : system data sounds ;
|
||||
|
||||
# Mail spell check dictionaries
|
||||
local spellFiles = words geekspeak ;
|
||||
spellFiles = $(spellFiles:G=spell) ;
|
||||
SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system data spell_check word_dictionary
|
||||
: $(spellFiles) ;
|
||||
|
||||
local dataFiles = teapot.data ;
|
||||
dataFiles = $(dataFiles:G=data) ;
|
||||
SEARCH on $(dataFiles) = [ FDirName $(HAIKU_TOP) data system data ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system data : $(dataFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
: [a-zA-Z0-9]* ] ;
|
||||
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
||||
AddFilesToPackage $(haikuPackage) : system 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 $(haikuPackage) : system data fonts psfonts : $(psFonts) ;
|
||||
AddFilesToPackage $(haikuPackage) : system data fonts ttfonts : $(ttFonts) ;
|
||||
|
||||
local cannaDir = [ FDirName $(HAIKU_TOP) data system data Canna ] ;
|
||||
local cannaDefault = [ Glob $(cannaDir)/default : *.canna *.gz ] ;
|
||||
local cannaDic = [ Glob $(cannaDir)/dic : *.cbp ] ;
|
||||
local cannaDicCanna = [ Glob $(cannaDir)/dic/canna
|
||||
: *.cld *.ctd *.cbd *.dir ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system data Canna default
|
||||
: $(cannaDefault) ;
|
||||
AddFilesToPackage $(haikuPackage) : system data Canna dic : $(cannaDic) ;
|
||||
AddFilesToPackage $(haikuPackage) : system data Canna dic canna
|
||||
: $(cannaDicCanna) ;
|
||||
AddDirectoryToPackage $(haikuPackage) : system data Canna dic group ;
|
||||
AddDirectoryToPackage $(haikuPackage) : system data Canna dic user ;
|
||||
|
||||
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
|
||||
: *.keymap ] ;
|
||||
keymapFiles = $(keymapFiles:BG=keymap) ;
|
||||
AddFilesToPackage $(haikuPackage) : system data Keymaps : $(keymapFiles) ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system data Keymaps : Swedish
|
||||
: Finnish ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system data Keymaps : Slovene
|
||||
: Croatian ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system data Keymaps : US-International
|
||||
: Brazilian ;
|
||||
|
||||
local keyboardLayoutsDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ;
|
||||
local keyboardLayouts = [ Glob $(keyboardLayoutsDir) : [^.]* ] ;
|
||||
AddFilesToPackage $(haikuPackage) : system data KeyboardLayouts
|
||||
: $(keyboardLayouts) ;
|
||||
|
||||
# boot loader
|
||||
AddFilesToPackage $(haikuPackage) : system : haiku_loader ;
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToPackage $(haikuPackage) :
|
||||
$(X86_ONLY)acpi $(ATA_ONLY)ata pci $(X86_ONLY)isa config_manager dpc
|
||||
$(IDE_ONLY)ide scsi usb
|
||||
$(PPC_ONLY)openpic
|
||||
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
||||
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa
|
||||
<usb>uhci <usb>ohci <usb>ehci
|
||||
scsi_cd scsi_disk usb_disk
|
||||
intel
|
||||
bfs
|
||||
;
|
||||
|
||||
# add-ons
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons accelerants
|
||||
: $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons opengl
|
||||
: Mesa\ Software\ Renderer ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons Translators
|
||||
: $(SYSTEM_ADD_ONS_TRANSLATORS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons locale catalogs
|
||||
: $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons locale catalogs
|
||||
: $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons mail_daemon inbound_protocols
|
||||
: POP3 IMAP ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons mail_daemon outbound_protocols : SMTP ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons mail_daemon inbound_filters
|
||||
: MatchHeader SpamFilter NewMailNotification ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons mail_daemon outbound_filters
|
||||
: Fortune ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons media
|
||||
: $(SYSTEM_ADD_ONS_MEDIA) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons media plugins
|
||||
: $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons Tracker
|
||||
: FileType-F Mark\ as… Mark\ as\ Read-R Open\ Target\ Folder-O
|
||||
Open\ Terminal-T ZipOMatic-Z ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system add-ons Tracker
|
||||
: /boot/system/preferences/Backgrounds : Background-B ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system add-ons Tracker
|
||||
: /boot/system/apps/TextSearch : TextSearch-G ;
|
||||
AddSymlinkToPackage $(haikuPackage) : system add-ons Tracker
|
||||
: /boot/system/apps/DiskUsage : DiskUsage-I ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons input_server devices
|
||||
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons input_server filters
|
||||
: screen_saver shortcut_catcher ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel network
|
||||
: <net>notifications stack ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel network devices
|
||||
: $(SYSTEM_NETWORK_DEVICES) ;
|
||||
AddFilesToPackage $(haikuPackage) :
|
||||
system add-ons kernel network datalink_protocols
|
||||
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel network ppp
|
||||
: $(SYSTEM_NETWORK_PPP) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons kernel network protocols
|
||||
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons Print
|
||||
: $(SYSTEM_ADD_ONS_PRINT) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons Print transport
|
||||
: $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ;
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons Screen\ Savers
|
||||
: $(SYSTEM_ADD_ONS_SCREENSAVERS) ;
|
||||
|
||||
AddFilesToPackage $(haikuPackage) : system add-ons disk_systems
|
||||
: <disk_system>intel <disk_system>bfs ;
|
||||
|
||||
|
||||
AddDirectoryToPackage $(haikuPackage) : system data synth ;
|
||||
AddDirectoryToPackage $(haikuPackage) : system add-ons input_server methods ;
|
||||
|
||||
# optional
|
||||
AddFilesToPackage $(haikuPackage) : optional system add-ons input_server methods
|
||||
: canna ;
|
||||
|
||||
|
||||
# PDF Writer enconding files
|
||||
CopyDirectoryToPackage $(haikuPackage) : system data
|
||||
: [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ]
|
||||
: "PDF Writer" : -x .svn -x Jamfile ;
|
||||
|
||||
# licenses
|
||||
CopyDirectoryToPackage $(haikuPackage) : system data
|
||||
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
||||
: licenses : -x .svn ;
|
||||
|
||||
# Copy documentation as per DiskUsage's license requirement.
|
||||
CopyDirectoryToPackage $(haikuPackage) : system documentation
|
||||
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
||||
: diskusage : -x .svn ;
|
||||
|
||||
# Copy documentation as per PDFlib Lite's license requirement.
|
||||
CopyDirectoryToPackage $(haikuPackage) : system documentation
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib doc ]
|
||||
: pdflib : -x .svn ;
|
||||
|
||||
|
||||
BuildHaikuPackage $(haikuPackage) : haiku ;
|
@ -40,7 +40,7 @@ rule FPackageConfigSubPath
|
||||
} else {
|
||||
configSubPath = $(TARGET_PLATFORM) $(TARGET_ARCH) ;
|
||||
}
|
||||
|
||||
|
||||
if $(DEBUG) = 0 {
|
||||
configSubPath += release ;
|
||||
} else {
|
||||
@ -120,7 +120,7 @@ rule PackageSymLink
|
||||
local packagename = $(1) ;
|
||||
local symlinkPath = $(2) ;
|
||||
local symlinkTarget = $(3) ;
|
||||
|
||||
|
||||
local configSubPath = [ FPackageConfigSubPath $(packagename) ] ;
|
||||
|
||||
local symlinkDir = [ FReverse $(symlinkPath) ] ;
|
||||
@ -159,7 +159,7 @@ rule PackageDriverSymLink
|
||||
{
|
||||
# PackageDriverSymLink <packageName> : <devRelativeSymlinkComponents> ;
|
||||
# <packageName>: Package name.
|
||||
# <devRelativeSymlinkComponents>: Path components relative to the
|
||||
# <devRelativeSymlinkComponents>: Path components relative to the
|
||||
# /boot/home/config/add-ons/kernel/drivers/dev directory, e.g.
|
||||
# "graphics mga.driver" (no quotation, of course).
|
||||
#
|
||||
@ -248,3 +248,179 @@ actions together LinkInstallZip
|
||||
{
|
||||
ln -sf "`pwd`/$(2)" "$(1)" ;
|
||||
}
|
||||
|
||||
|
||||
# TODO: The stuff above should be moved (Copy) or removed (the rest).
|
||||
|
||||
|
||||
#pragma mark - Haiku Packages
|
||||
|
||||
|
||||
rule FHaikuPackageGrist package
|
||||
{
|
||||
local grist = [ Match "<(.*)>" : $(package:G) ] ;
|
||||
return hpkg_$(grist:E="")_$(package:G=) ;
|
||||
}
|
||||
|
||||
|
||||
rule HaikuPackage package
|
||||
{
|
||||
local grist = [ FHaikuPackageGrist $(package) ] ;
|
||||
|
||||
HAIKU_CONTAINER_GRIST on $(package) = $(grist) ;
|
||||
HAIKU_INCLUDE_IN_CONTAINER_VAR on $(package)
|
||||
= $(grist)_HAIKU_INCLUDE_IN_PACKAGE ;
|
||||
HAIKU_INSTALL_TARGETS_VAR on $(package)
|
||||
= $(grist)_HAIKU_PACKAGE_INSTALL_TARGETS ;
|
||||
}
|
||||
|
||||
|
||||
rule BuildHaikuPackage package : packageInfo
|
||||
{
|
||||
local grist = [ FHaikuPackageGrist $(package) ] ;
|
||||
|
||||
local tempDir = [ FDirName $(HAIKU_PACKAGES_BUILD_DIR) $(grist) ] ;
|
||||
local scriptDir = [ FDirName $(tempDir) scripts ] ;
|
||||
|
||||
# locate the package and package info
|
||||
MakeLocate $(package) : $(HAIKU_PACKAGES_DIR) ;
|
||||
SEARCH on $(packageInfo) += $(HAIKU_PACKAGE_INFOS_DIR) ;
|
||||
LocalDepends $(package) : $(packageInfo) ;
|
||||
|
||||
# prepare the script that initializes the shell variables
|
||||
local initVariablesScript = <$(grist)>haiku.package-init-vars ;
|
||||
MakeLocate $(initVariablesScript) : $(scriptDir) ;
|
||||
Always $(initVariablesScript) ;
|
||||
|
||||
local script = $(initVariablesScript) ;
|
||||
AddVariableToScript $(script) : sourceDir : $(HAIKU_TOP) ;
|
||||
AddVariableToScript $(script) : outputDir : $(HAIKU_OUTPUT_DIR) ;
|
||||
AddVariableToScript $(script) : tmpDir : $(tempDir) ;
|
||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||
AddTargetVariableToScript $(script) : <build>package ;
|
||||
AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET)
|
||||
: rmAttrs ;
|
||||
} else {
|
||||
AddVariableToScript $(script) : rmAttrs : rm ;
|
||||
}
|
||||
|
||||
# create the other scripts
|
||||
local makeDirsScript = <$(grist)>haiku.package-make-dirs ;
|
||||
local copyFilesScript = <$(grist)>haiku.package-copy-files ;
|
||||
|
||||
MakeLocate $(makeDirsScript) $(copyFilesScript) : $(scriptDir) ;
|
||||
|
||||
CreateContainerMakeDirectoriesScript $(package) : $(makeDirsScript) ;
|
||||
CreateContainerCopyFilesScript $(package) : $(copyFilesScript) ;
|
||||
|
||||
local scripts = $(initVariablesScript) $(makeDirsScript)
|
||||
$(copyFilesScript) ;
|
||||
|
||||
# call the build actions
|
||||
local mainScript = build_haiku_package ;
|
||||
SEARCH on $(mainScript) = [ FDirName $(HAIKU_TOP) build scripts ] ;
|
||||
|
||||
LocalDepends $(package) : $(mainScript) $(scripts) ;
|
||||
BuildHaikuPackage1 $(package) : $(mainScript) $(packageInfo) $(scripts) ;
|
||||
}
|
||||
|
||||
|
||||
actions BuildHaikuPackage1
|
||||
{
|
||||
$(2[1]) "$(1)" "$(2[2])" $(2[3-])
|
||||
}
|
||||
|
||||
|
||||
rule AddDirectoryToPackage package : directoryTokens : attributeFiles
|
||||
{
|
||||
local dir = [ AddDirectoryToContainer $(package) : $(directoryTokens) ] ;
|
||||
local grist = [ FHaikuPackageGrist $(package) ] ;
|
||||
|
||||
if $(attributeFiles) {
|
||||
SEARCH on $(attributeFiles)
|
||||
+= [ FDirName $(HAIKU_TOP) data package_directories $(grist) ] ;
|
||||
ATTRIBUTE_FILES on $(dir) += $(attributeFiles) ;
|
||||
}
|
||||
|
||||
return $(dir) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddFilesToPackage package : directory : targets : destName
|
||||
{
|
||||
AddFilesToContainer $(package) : $(directory) : $(targets) : $(destName) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddSymlinkToPackage package : directoryTokens : linkTarget : linkName
|
||||
{
|
||||
linkTarget = $(linkTarget:J=/) ;
|
||||
|
||||
AddSymlinkToContainer $(package) : $(directoryTokens) : $(linkTarget)
|
||||
: $(linkName) ;
|
||||
}
|
||||
|
||||
|
||||
rule CopyDirectoryToPackage package : directoryTokens : sourceDirectory
|
||||
: targetDirectoryName : excludePatterns : alwaysUpdate
|
||||
{
|
||||
CopyDirectoryToContainer $(package) : $(directoryTokens)
|
||||
: $(sourceDirectory) : $(targetDirectoryName) : $(excludePatterns)
|
||||
: $(alwaysUpdate) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddHeaderDirectoryToPackage package : dirTokens : dirName : alwaysUpdate
|
||||
{
|
||||
AddHeaderDirectoryToContainer $(package) : $(dirTokens) : $(dirName)
|
||||
: $(alwaysUpdate) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddWifiFirmwareToPackage package : driver : subDirToExtract : archive
|
||||
: extract
|
||||
{
|
||||
AddWifiFirmwareToContainer $(package) : $(driver) : $(subDirToExtract)
|
||||
: $(archive) : $(extract) ;
|
||||
}
|
||||
|
||||
|
||||
rule ExtractArchiveToPackage package : dirTokens : archiveFile : alwaysUpdate
|
||||
: extractedSubDir
|
||||
{
|
||||
# TODO: Update support?
|
||||
ExtractArchiveToContainer $(package) : $(dirTokens) : $(archiveFile)
|
||||
: $(extractedSubDir) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddDriversToPackage package : relativeDirectoryTokens : targets
|
||||
{
|
||||
AddDriversToContainer $(package) : $(relativeDirectoryTokens) : $(targets) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddNewDriversToPackage package : relativeDirectoryTokens : targets
|
||||
{
|
||||
AddNewDriversToContainer $(package) : $(relativeDirectoryTokens)
|
||||
: $(targets) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddBootModuleSymlinksToPackage package : targets
|
||||
{
|
||||
AddBootModuleSymlinksToContainer $(package) : $(targets) ;
|
||||
}
|
||||
|
||||
|
||||
rule AddLibrariesToPackage package : directory : libs
|
||||
{
|
||||
AddLibrariesToContainer $(package) : $(directory) : $(libs) ;
|
||||
}
|
||||
|
@ -331,16 +331,18 @@ fi # ! updateOnly
|
||||
|
||||
|
||||
# add the concatenated copyrights as an attribute to AboutSystem
|
||||
# TODO: That might not be necessary, when all third-party software everything
|
||||
# is packaged. Though we might not package everything.
|
||||
|
||||
if [ ! $updateOnly ]; then
|
||||
if [ -f $copyrightsFile ]; then
|
||||
copyrightAttrs=$tmpDir/copyrightAttrs
|
||||
$rmAttrs -f $copyrightAttrs
|
||||
touch $copyrightAttrs
|
||||
$addattr -f $copyrightsFile COPYRIGHTS $copyrightAttrs
|
||||
$copyAttrs ${sPrefix}$copyrightAttrs ${tPrefix}system/apps/AboutSystem
|
||||
fi
|
||||
fi
|
||||
# if [ ! $updateOnly ]; then
|
||||
# if [ -f $copyrightsFile ]; then
|
||||
# copyrightAttrs=$tmpDir/copyrightAttrs
|
||||
# $rmAttrs -f $copyrightAttrs
|
||||
# touch $copyrightAttrs
|
||||
# $addattr -f $copyrightsFile COPYRIGHTS $copyrightAttrs
|
||||
# $copyAttrs ${sPrefix}$copyrightAttrs ${tPrefix}system/apps/AboutSystem
|
||||
# fi
|
||||
# fi
|
||||
|
||||
if [ $isCD ]; then
|
||||
# generate the attribute stores
|
||||
|
66
build/scripts/build_haiku_package
Executable file
66
build/scripts/build_haiku_package
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
set -o errexit
|
||||
|
||||
# The first argument is the shell script that initializes the variables:
|
||||
# sourceDir
|
||||
# outputDir
|
||||
# tmpDir
|
||||
# addBuildCompatibilityLibDir
|
||||
#
|
||||
# addattr
|
||||
# copyattr
|
||||
# package
|
||||
# rc
|
||||
# rmAttrs
|
||||
# unzip
|
||||
#
|
||||
|
||||
if [ $# -le 1 ]; then
|
||||
echo "$0: Missing parameters!" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
packagePath="$1"
|
||||
packageInfoPath="$2"
|
||||
shift 2
|
||||
echo "Building package $1 with info $2..."
|
||||
|
||||
if [ $# -gt 0 ]; then
|
||||
. $1
|
||||
shift
|
||||
fi
|
||||
|
||||
# this adds the build library dir to LD_LIBRARY_PATH
|
||||
eval "$addBuildCompatibilityLibDir"
|
||||
|
||||
|
||||
# make a clean contents dir
|
||||
contentsDir="$tmpDir/contents"
|
||||
$rmAttrs -rf "$contentsDir"
|
||||
mkdir -p "$contentsDir"
|
||||
|
||||
|
||||
# map the shell commands
|
||||
sPrefix=
|
||||
tPrefix="$contentsDir/"
|
||||
cd=cd
|
||||
scd=:
|
||||
cp="$copyattr -d"
|
||||
copyAttrs="$copyattr"
|
||||
ln=ln
|
||||
mkdir=mkdir
|
||||
rm=$rmAttrs
|
||||
mkindex=mkindex
|
||||
|
||||
|
||||
# execute the scripts preparing the package contents
|
||||
while [ $# -gt 0 ]; do
|
||||
. $1
|
||||
shift
|
||||
done
|
||||
|
||||
|
||||
# create the package
|
||||
cp "$packageInfoPath" "$contentsDir/.PackageInfo"
|
||||
rm -f "$packagePath"
|
||||
$package create -C "$contentsDir" "$packagePath"
|
19
src/data/package_infos/haiku
Normal file
19
src/data/package_infos/haiku
Normal file
@ -0,0 +1,19 @@
|
||||
name = Haiku
|
||||
version = 1-1
|
||||
architecture = x86
|
||||
summary = "The Haiku base system"
|
||||
description = "The Haiku base system includes all system core software, like
|
||||
boot loader, kernel, the system libraries, servers, and applications."
|
||||
|
||||
packager = "Ingo Weinhold <ingo_weinhold@gmx.de>"
|
||||
vendor = "Haiku Project"
|
||||
|
||||
copyright = "2001-2011 Haiku, Inc. et al"
|
||||
licenses = [ "MIT" ]
|
||||
|
||||
provides = [
|
||||
haiku
|
||||
]
|
||||
|
||||
requires = [
|
||||
]
|
Loading…
x
Reference in New Issue
Block a user