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:
Ingo Weinhold 2011-06-17 15:11:16 +02:00
parent 9e3bdfb0ef
commit 355b8ba755
7 changed files with 631 additions and 339 deletions

View File

@ -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) ] ;

View File

@ -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
View 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 ;

View File

@ -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) ;
}

View File

@ -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

View 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"

View 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 = [
]