Move remaining /boot/system contents into packages

* Build system: Create packages haiku-devel, haiku-welcome,
  haiku-userguide, and makefile-engine.
* The TimGMSoundFont and BeBook zip files have been repackaged as hpkg
  files.
* Adjust the optional package definitions accordingly.
This commit is contained in:
Ingo Weinhold 2011-06-20 02:00:36 +02:00
parent d00bcc1607
commit 3f6ca2fdca
6 changed files with 213 additions and 95 deletions

View File

@ -1,3 +1,6 @@
#pragma mark - haiku.hpkg
local haikuPackage = haiku.hpkg ;
HaikuPackage $(haikuPackage) ;
@ -298,3 +301,127 @@ CopyDirectoryToPackage documentation
BuildHaikuPackage $(haikuPackage) : haiku ;
#pragma mark - haiku-devel.hpkg
local haikuDevelPackage = haiku-devel.hpkg ;
HaikuPackage $(haikuDevelPackage) ;
local arch = $(TARGET_ARCH) ;
local developDirTokens = develop ;
# glue code
AddFilesToPackage $(developDirTokens) lib :
<src!system!glue!arch!$(arch)>crti.o
<src!system!glue!arch!$(arch)>crtn.o
<src!system!glue>init_term_dyn.o
<src!system!glue>start_dyn.o
<src!system!glue>haiku_version_glue.o
;
# kernel
AddFilesToPackage $(developDirTokens) lib : kernel.so : _KERNEL_ ;
# additional libraries
local developmentLibs = <revisioned>libroot_debug.so ;
AddFilesToPackage lib : $(developmentLibs) ;
# library symlinks
local lib ;
for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
AddSymlinkToPackage $(developDirTokens) lib : /system/lib $(lib:BS) ;
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
if $(abiVersion) {
local abiVersionedLib = $(lib:BS).$(abiVersion) ;
AddSymlinkToPackage $(developDirTokens) lib
: /system/lib $(abiVersionedLib) ;
}
}
# static libraries
AddFilesToPackage $(developDirTokens) lib : libncurses.a ;
AddFilesToPackage $(developDirTokens) lib : liblocalestub.a ;
# the POSIX error code mapper library
AddFilesToPackage $(developDirTokens) lib : libposix_error_mapper.a ;
# ABI independent stuff
# scripts: cc and c++ wrapper, freetype-config, setgcc
local scripts = cc c++ freetype-config setgcc ;
SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
AddFilesToPackage bin : $(scripts) ;
# headers
AddHeaderDirectoryToPackage config ;
AddHeaderDirectoryToPackage glibc ;
AddHeaderDirectoryToPackage os ;
AddHeaderDirectoryToPackage posix ;
# create be -> os symlink for now
AddSymlinkToPackage $(developDirTokens) headers : os : be ;
# BSD and GNU compatibility headers
AddHeaderDirectoryToPackage compatibility bsd : bsd ;
AddHeaderDirectoryToPackage compatibility gnu : gnu ;
# third party libs headers
AddHeaderDirectoryToPackage libs freetype2 : 3rdparty ;
AddHeaderDirectoryToPackage libs jpeg : 3rdparty ;
AddHeaderDirectoryToPackage libs ncurses : 3rdparty ;
AddHeaderDirectoryToPackage libs png : 3rdparty ;
AddHeaderDirectoryToPackage libs termcap : 3rdparty ;
AddHeaderDirectoryToPackage libs tiff : 3rdparty ;
AddHeaderDirectoryToPackage libs zlib : 3rdparty ;
# cpp headers
if $(HAIKU_GCC_VERSION[1]) = 2 {
# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
CopyDirectoryToPackage $(developDirTokens) headers c++
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 : -x .svn ;
}
BuildHaikuPackage $(haikuDevelPackage) : haiku-devel ;
#pragma mark - haiku-userguide.hpkg
local haikuUserGuidePackage = haiku-userguide.hpkg ;
HaikuPackage $(haikuUserGuidePackage) ;
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs userguide ]
: userguide : -x .svn ;
BuildHaikuPackage $(haikuUserGuidePackage) : haiku-userguide ;
#pragma mark - haiku-welcome.hpkg
local haikuWelcomePackage = haiku-welcome.hpkg ;
HaikuPackage $(haikuWelcomePackage) ;
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs welcome ]
: welcome : -x .svn ;
BuildHaikuPackage $(haikuWelcomePackage) : haiku-welcome ;
#pragma mark - makefile-engine.hpkg
local makefileEnginePackage = makefile-engine.hpkg ;
HaikuPackage $(makefileEnginePackage) ;
# skeleton makefile and makefile-engine
local makefileEngineFiles =
<makefile-engine>makefile
<makefile-engine>makefile-engine
;
SEARCH on $(makefileEngineFiles) = [ FDirName $(HAIKU_TOP) data develop ] ;
AddFilesToPackage develop etc : $(makefileEngineFiles) ;
BuildHaikuPackage $(makefileEnginePackage) : makefile-engine ;

View File

@ -204,9 +204,9 @@ if [ IsOptionalHaikuImagePackageAdded Beam ] {
# BeBook
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
InstallOptionalHaikuImagePackage bebook_20081026.zip
: $(baseURL)/bebook_20081026.zip
: system documentation ;
InstallOptionalHaikuImagePackage bebook-2008-10-26-1.hpkg
: $(hpkgBaseURL)/bebook-2008-10-26-1.hpkg
: system packages ;
AddSymlinkToHaikuImage home Desktop
: /boot/system/documentation/bebook/index.html
: BeBook ;
@ -602,90 +602,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 {
$(HAIKU_GCC_VERSION[1]) ;
}
local arch = $(TARGET_ARCH) ;
local developDirTokens = system develop ;
# glue code
AddFilesToHaikuImage $(developDirTokens) lib :
<src!system!glue!arch!$(arch)>crti.o
<src!system!glue!arch!$(arch)>crtn.o
<src!system!glue>init_term_dyn.o
<src!system!glue>start_dyn.o
<src!system!glue>haiku_version_glue.o
;
# kernel
AddFilesToHaikuImage $(developDirTokens) lib : kernel.so : _KERNEL_ ;
# additional libraries
local developmentLibs = <revisioned>libroot_debug.so ;
AddFilesToHaikuImage system lib : $(developmentLibs) ;
# library symlinks
local lib ;
for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) {
AddSymlinkToHaikuImage $(developDirTokens) lib
: /system/lib $(lib:BS) ;
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
if $(abiVersion) {
local abiVersionedLib = $(lib:BS).$(abiVersion) ;
AddSymlinkToHaikuImage $(developDirTokens) lib
: /system/lib $(abiVersionedLib) ;
}
}
# static libraries
AddFilesToHaikuImage $(developDirTokens) lib : libncurses.a ;
AddFilesToHaikuImage $(developDirTokens) lib : liblocalestub.a ;
# the POSIX error code mapper library
AddFilesToHaikuImage $(developDirTokens) lib : libposix_error_mapper.a ;
# ABI independent stuff
# scripts: cc and c++ wrapper, freetype-config, setgcc
local scripts = cc c++ freetype-config setgcc ;
SEARCH on $(scripts) = [ FDirName $(HAIKU_TOP) data bin ] ;
AddFilesToHaikuImage system bin : $(scripts) ;
# skeleton makefile and makefile-engine
local makefileEngineFiles =
<makefile-engine>makefile
<makefile-engine>makefile-engine
;
SEARCH on $(makefileEngineFiles)
= [ FDirName $(HAIKU_TOP) data develop ] ;
AddFilesToHaikuImage common develop etc
: $(makefileEngineFiles) ;
# headers
AddHeaderDirectoryToHaikuImage config ;
AddHeaderDirectoryToHaikuImage glibc ;
AddHeaderDirectoryToHaikuImage os ;
AddHeaderDirectoryToHaikuImage posix ;
# create be -> os symlink for now
AddSymlinkToHaikuImage $(developDirTokens) headers : os : be ;
# BSD and GNU compatibility headers
AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ;
AddHeaderDirectoryToHaikuImage compatibility gnu : gnu ;
# third party libs headers
AddHeaderDirectoryToHaikuImage libs freetype2 : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs jpeg : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs ncurses : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs png : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs termcap : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs tiff : 3rdparty ;
AddHeaderDirectoryToHaikuImage libs zlib : 3rdparty ;
# cpp headers
if $(HAIKU_GCC_VERSION[1]) = 2 {
# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
CopyDirectoryToHaikuImage $(developDirTokens) headers c++
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 : -x .svn ;
}
AddFilesToHaikuImage system packages : haiku-devel.hpkg ;
AddFilesToHaikuImage common packages : makefile-engine.hpkg ;
}
@ -1492,8 +1410,8 @@ if [ IsOptionalHaikuImagePackageAdded Tar ] {
# TimGMSoundFont
if [ IsOptionalHaikuImagePackageAdded TimGMSoundFont ] {
InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.zip
: $(baseURL)/TimGMSoundFont-2010-06-16.zip ;
InstallOptionalHaikuImagePackage TimGMSoundFont-2010-06-16.hpkg
: $(hpkgBaseURL)/TimGMSoundFont-2010-06-16.hpkg ;
}
@ -1637,12 +1555,9 @@ if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
# Welcome
if [ IsOptionalHaikuImagePackageAdded Welcome ] {
CopyDirectoryToHaikuImage system documentation
: [ FDirName $(HAIKU_TOP) docs welcome ]
: welcome : -x .svn ;
CopyDirectoryToHaikuImage system documentation
: [ FDirName $(HAIKU_TOP) docs userguide ]
: userguide : -x .svn ;
AddFilesToHaikuImage system packages : haiku-userguide.hpkg ;
AddFilesToHaikuImage system packages : haiku-welcome.hpkg ;
AddSymlinkToHaikuImage home Desktop
: /boot/system/documentation/welcome/welcome_en.html
: Welcome ;

View File

@ -0,0 +1,21 @@
name = haiku-devel
version = 1-1
architecture = x86_gcc2
summary = "The Haiku base system development files"
description = "The package contains all files associated with the base system
needed for development, like static libraries, glue code, library symlinks,
header files, etc."
packager = "The Haiku build system"
vendor = "Haiku Project"
copyright = "2001-2011 Haiku, Inc. et al"
licenses = [ "MIT" ]
provides = [
haiku-devel
]
requires = [
haiku
]

View File

@ -0,0 +1,18 @@
name = haiku-userguide
version = 1-1
architecture = any
summary = "The Haiku user documentation"
description = "The Haiku user documentation."
packager = "The Haiku build system"
vendor = "Haiku Project"
copyright = "2001-2011 Haiku, Inc. et al"
licenses = [ "MIT" ]
provides = [
haiku-welcome
]
requires = [
]

View File

@ -0,0 +1,18 @@
name = haiku-welcome
version = 1-1
architecture = any
summary = "The Haiku welcome documentation"
description = "The Haiku welcome documentation for new users."
packager = "The Haiku build system"
vendor = "Haiku Project"
copyright = "2001-2011 Haiku, Inc. et al"
licenses = [ "MIT" ]
provides = [
haiku-welcome
]
requires = [
]

View File

@ -0,0 +1,19 @@
name = makefile-engine
version = 1-1
architecture = any
summary = "The makefile engine"
description = "A simple generic makefile engine and makefile template."
packager = "The Haiku build system"
vendor = "Be Inc., Haiku Project"
copyright = "? Be Inc. 2001-2011 Haiku, Inc."
licenses = [ "MIT" ]
provides = [
makefile-engine
]
requires = [
cmd:make
]