Initial changes to remove /boot/common
* find_directory() and hard-coded paths use /boot/system instead of /boot/common. * The build system creates the writable directories in /boot/system instead of /boot/common. * The build system no longer installs any packages in /boot/common.
This commit is contained in:
@@ -35,12 +35,6 @@ rule DefineDefaultBuildProfiles
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 800 ;
|
||||
|
||||
AddHaikuImagePackages
|
||||
wpa_supplicant
|
||||
:
|
||||
system
|
||||
;
|
||||
|
||||
AddHaikuImagePackages
|
||||
bepdf
|
||||
cvs
|
||||
@@ -56,6 +50,7 @@ rule DefineDefaultBuildProfiles
|
||||
timgmsoundfont
|
||||
vision
|
||||
wonderbrush
|
||||
wpa_supplicant
|
||||
wqy_microhei
|
||||
xz_utils@!gcc2
|
||||
;
|
||||
@@ -72,7 +67,7 @@ rule DefineDefaultBuildProfiles
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup ] {
|
||||
on $(architectureObject) {
|
||||
AddHaikuImagePackages openssl : system ;
|
||||
AddHaikuImagePackages openssl ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,20 +87,15 @@ rule DefineDefaultBuildProfiles
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 600 ;
|
||||
|
||||
AddHaikuImagePackages
|
||||
openssl
|
||||
wpa_supplicant
|
||||
:
|
||||
system
|
||||
;
|
||||
|
||||
AddHaikuImagePackages
|
||||
man
|
||||
nano
|
||||
openssh
|
||||
openssl
|
||||
p7zip
|
||||
pe
|
||||
vision
|
||||
wpa_supplicant
|
||||
xz_utils
|
||||
;
|
||||
|
||||
@@ -117,41 +107,31 @@ rule DefineDefaultBuildProfiles
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 20000 ;
|
||||
|
||||
AddHaikuImagePackages
|
||||
curl
|
||||
curl_devel
|
||||
freetype
|
||||
freetype_devel
|
||||
grep
|
||||
icu
|
||||
libsolv
|
||||
ncurses
|
||||
ncurses_devel
|
||||
sed
|
||||
zlib
|
||||
zlib_devel
|
||||
:
|
||||
system
|
||||
;
|
||||
|
||||
AddHaikuImagePackages
|
||||
autoconf
|
||||
automake
|
||||
binutils
|
||||
bison
|
||||
curl
|
||||
curl_devel
|
||||
flex
|
||||
freetype
|
||||
freetype_devel
|
||||
gcc
|
||||
grep
|
||||
haikuporter
|
||||
# jam
|
||||
icu
|
||||
libsolv
|
||||
libtool
|
||||
libtool_libltdl
|
||||
m4
|
||||
make
|
||||
# makeinfo
|
||||
# mkdepend
|
||||
# perl
|
||||
ncurses
|
||||
ncurses_devel
|
||||
python
|
||||
# texinfo
|
||||
sed
|
||||
zlib
|
||||
zlib_devel
|
||||
;
|
||||
|
||||
# secondary architecture packages
|
||||
@@ -160,23 +140,18 @@ rule DefineDefaultBuildProfiles
|
||||
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
|
||||
on $(architectureObject) {
|
||||
AddHaikuImagePackages
|
||||
binutils
|
||||
curl
|
||||
curl_devel
|
||||
freetype
|
||||
freetype_devel
|
||||
gcc
|
||||
icu
|
||||
libsolv
|
||||
ncurses
|
||||
ncurses_devel
|
||||
zlib
|
||||
zlib_devel
|
||||
:
|
||||
system
|
||||
;
|
||||
|
||||
AddHaikuImagePackages
|
||||
binutils
|
||||
gcc
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-30
@@ -840,28 +840,14 @@ rule AddPackagesAndRepositoryVariablesToContainerScript script : container
|
||||
AddVariableToScript $(script) : resolvePackageDependencies
|
||||
: $(resolvePackageDependencies) ;
|
||||
|
||||
# Add variables "systemPackages" and "commonPackages" with the packages
|
||||
# copied/updated.
|
||||
# Add variable "systemPackages" with the packages copied/updated.
|
||||
local allPackages = [ on $(container) return $(HAIKU_PACKAGES_IN_IMAGE) ] ;
|
||||
if $(updateOnly) && ! [ IncludeAllTargetsInContainer $(container) ] {
|
||||
allPackages = [ FilterContainerUpdateTargets $(allPackages)
|
||||
: [ on $(container) return $(HAIKU_INCLUDE_IN_CONTAINER_VAR) ] ] ;
|
||||
}
|
||||
|
||||
local systemPackages ;
|
||||
local commonPackages ;
|
||||
local package ;
|
||||
for package in $(allPackages) {
|
||||
if [ on $(package) return $(HAIKU_PACKAGE_INSTALLATION_LOCATION) ]
|
||||
= system {
|
||||
systemPackages += $(package) ;
|
||||
} else {
|
||||
commonPackages += $(package) ;
|
||||
}
|
||||
}
|
||||
|
||||
AddTargetVariableToScript $(script) : $(systemPackages) : systemPackages ;
|
||||
AddTargetVariableToScript $(script) : $(commonPackages) : commonPackages ;
|
||||
AddTargetVariableToScript $(script) : $(allPackages) : systemPackages ;
|
||||
|
||||
# Generate the repository package lists and add variables for the
|
||||
# repositories.
|
||||
@@ -1052,14 +1038,10 @@ rule OptionalPackageDependencies package : dependencies
|
||||
}
|
||||
|
||||
|
||||
rule AddHaikuImagePackages packages : installationLocation
|
||||
rule AddHaikuImagePackages packages
|
||||
{
|
||||
# AddHaikuImagePackages <packages> [ : <installationLocation> ] ;
|
||||
# Adds the given package <packages>s to the image. <installationLocation>
|
||||
# is either "system" or "common" (the default) and specifies where the
|
||||
# packages shall be installed.
|
||||
|
||||
installationLocation ?= common ;
|
||||
# AddHaikuImagePackages <packages> ;
|
||||
# Adds the given packages <packages> to the image.
|
||||
|
||||
packages = [ FFilterByBuildFeatures $(packages) ] ;
|
||||
|
||||
@@ -1083,7 +1065,7 @@ rule AddHaikuImagePackages packages : installationLocation
|
||||
HAIKU_INCLUDE_IN_IMAGE on $(file) = 1 ;
|
||||
}
|
||||
|
||||
AddPackageFilesToHaikuImage $(installationLocation) : $(file) ;
|
||||
AddPackageFilesToHaikuImage system : $(file) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1143,9 +1125,8 @@ rule InstallOptionalHaikuImagePackage url : dirTokens : flags
|
||||
# TODO: Remove the non-hpkg cases!
|
||||
# Currently the semantics differs depending on whether the cdPackage flag
|
||||
# has been specified and the type of the package file:
|
||||
# * For a hpkg <dirTokens> is "common" (default) or "system" and specifies
|
||||
# the installation location of the package (will be copied to the
|
||||
# packages/ subdirectory).
|
||||
# * For a hpkg <dirTokens> is ignored. The package will be copied into the
|
||||
# system/packages directory.
|
||||
# * For a regular archive and cdPackage, <dirTokens> is ignored and
|
||||
# the package will be copied to the _package_ directory of the CD image.
|
||||
# * For a regular archive and without cdPackage, <dirTokens> specifies the
|
||||
@@ -1160,11 +1141,10 @@ rule InstallOptionalHaikuImagePackage url : dirTokens : flags
|
||||
local archiveFile = [ DownloadFile $(package) : $(url) ] ;
|
||||
|
||||
if $(package:S) = .hpkg {
|
||||
local location = $(dirTokens:E=common) ;
|
||||
if $(HAIKU_UPDATE_ALL_PACKAGES) {
|
||||
HAIKU_INCLUDE_IN_IMAGE on $(archiveFile) = 1 ;
|
||||
}
|
||||
AddPackageFilesToHaikuImage $(location) : $(archiveFile) ;
|
||||
AddPackageFilesToHaikuImage system : $(archiveFile) ;
|
||||
} else if cdPackage in $(flags) && $(HAIKU_CD_NAME) {
|
||||
# TODO: If HAIKU_CD_NAME is set, that doesn't mean we're building a CD
|
||||
# image!
|
||||
@@ -1188,7 +1168,7 @@ rule AddEntryToHaikuImageUserGroupFile file : entry
|
||||
Always $(file) ;
|
||||
MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
||||
BuildHaikuImageUserGroupFile $(file) ;
|
||||
AddFilesToHaikuImage common settings etc : $(file) ;
|
||||
AddFilesToHaikuImage system settings etc : $(file) ;
|
||||
}
|
||||
|
||||
HAIKU_IMAGE_USER_GROUP_ENTRIES on $(file) = $(allEntries) ;
|
||||
|
||||
@@ -34,7 +34,7 @@ local baseSourceURL = http://haiku-files.org/files/sources ;
|
||||
|
||||
# BeBook
|
||||
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
|
||||
AddHaikuImagePackages be_book : system ;
|
||||
AddHaikuImagePackages be_book ;
|
||||
AddSymlinkToHaikuImage home Desktop
|
||||
: /boot/system/documentation/BeBook/index.html
|
||||
: BeBook ;
|
||||
@@ -55,12 +55,12 @@ if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
|
||||
AddSymlinkToHaikuImage beos : ../system/bin ;
|
||||
AddSymlinkToHaikuImage beos
|
||||
: ../system/documentation ;
|
||||
AddSymlinkToHaikuImage beos : ../common/settings/etc ;
|
||||
AddSymlinkToHaikuImage beos : ../system/settings/etc ;
|
||||
AddSymlinkToHaikuImage beos : ../system/preferences ;
|
||||
AddSymlinkToHaikuImage beos : ../system ;
|
||||
AddDirectoryToHaikuImage var ;
|
||||
AddSymlinkToHaikuImage var : /boot/common/var/log ;
|
||||
AddSymlinkToHaikuImage var : /boot/common/cache/tmp ;
|
||||
AddSymlinkToHaikuImage var : /boot/system/var/log ;
|
||||
AddSymlinkToHaikuImage var : /boot/system/cache/tmp ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,8 +102,8 @@ if [ IsOptionalHaikuImagePackageAdded Development ] {
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup ] {
|
||||
on $(architectureObject) {
|
||||
AddHaikuImagePackages curl_devel ffmpeg_devel freetype_devel glu_devel
|
||||
jpeg_devel libpng_devel zlib_devel : system ;
|
||||
AddHaikuImagePackages curl_devel ffmpeg_devel freetype_devel
|
||||
glu_devel jpeg_devel libpng_devel zlib_devel ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -145,8 +145,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
|
||||
:
|
||||
haiku_devel.hpkg
|
||||
haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
|
||||
makefile_engine.hpkg
|
||||
;
|
||||
AddPackageFilesToHaikuImage common : makefile_engine.hpkg ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+15
-15
@@ -259,22 +259,22 @@ local etcFiles = inputrc profile ;
|
||||
etcFiles = $(etcFiles:G=etc) ;
|
||||
SEARCH on $(etcFiles) = $(etcDir) ;
|
||||
etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ;
|
||||
AddFilesToHaikuImage common settings etc : $(etcFiles) ;
|
||||
AddFilesToHaikuImage system settings etc : $(etcFiles) ;
|
||||
|
||||
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
|
||||
profileFiles = $(profileFiles:G=profile-d) ;
|
||||
AddDirectoryToHaikuImage common settings etc profile.d ;
|
||||
AddFilesToHaikuImage common settings etc profile.d : $(profileFiles) ;
|
||||
AddDirectoryToHaikuImage system settings etc profile.d ;
|
||||
AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ;
|
||||
|
||||
#local bashCompletionFiles = [ Glob $(etcDir)/bash_completion.d : * ] ;
|
||||
#local bashCompletionHelperFiles
|
||||
# = [ Glob $(etcDir)/bash_completion.d/helpers : * ] ;
|
||||
#bashCompletionFiles = $(bashCompletionFiles:G=bash-completion) ;
|
||||
#bashCompletionHelperFiles = $(bashCompletionHelperFiles:G=bash-completion-hlp) ;
|
||||
#AddDirectoryToHaikuImage common etc bash_completion.d ;
|
||||
#AddDirectoryToHaikuImage common etc bash_completion.d helpers ;
|
||||
#AddFilesToHaikuImage common etc bash_completion.d : $(bashCompletionFiles) ;
|
||||
#AddFilesToHaikuImage common etc bash_completion.d helpers
|
||||
#AddDirectoryToHaikuImage system etc bash_completion.d ;
|
||||
#AddDirectoryToHaikuImage system etc bash_completion.d helpers ;
|
||||
#AddFilesToHaikuImage system etc bash_completion.d : $(bashCompletionFiles) ;
|
||||
#AddFilesToHaikuImage system etc bash_completion.d helpers
|
||||
# : $(bashCompletionHelperFiles) ;
|
||||
|
||||
local driverSettingsFiles = <driver-settings>kernel ;
|
||||
@@ -286,22 +286,22 @@ AddFilesToHaikuImage home config settings kernel drivers
|
||||
local networkSettingsFiles = <network-settings>services ;
|
||||
SEARCH on $(networkSettingsFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data settings network ] ;
|
||||
AddFilesToHaikuImage common settings network : $(networkSettingsFiles) ;
|
||||
AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
|
||||
|
||||
# fresh install indicator file for the post install scripts
|
||||
SEARCH on <post-install>fresh_install
|
||||
= [ FDirName $(HAIKU_TOP) data common settings ] ;
|
||||
AddFilesToHaikuImage common settings : <post-install>fresh_install ;
|
||||
= [ FDirName $(HAIKU_TOP) data system settings ] ;
|
||||
AddFilesToHaikuImage system settings : <post-install>fresh_install ;
|
||||
|
||||
# decorators
|
||||
AddDirectoryToHaikuImage home config non-packaged add-ons decorators ;
|
||||
#AddFilesToHaikuImage home config add-ons decorators : ;
|
||||
|
||||
# create directories that will remain empty
|
||||
AddDirectoryToHaikuImage common cache tmp ;
|
||||
AddDirectoryToHaikuImage common non-packaged ;
|
||||
AddDirectoryToHaikuImage common var empty ;
|
||||
AddDirectoryToHaikuImage common var log ;
|
||||
AddDirectoryToHaikuImage system cache tmp ;
|
||||
AddDirectoryToHaikuImage system non-packaged ;
|
||||
AddDirectoryToHaikuImage system var empty ;
|
||||
AddDirectoryToHaikuImage system var log ;
|
||||
AddDirectoryToHaikuImage home Desktop ;
|
||||
AddDirectoryToHaikuImage home mail ;
|
||||
AddDirectoryToHaikuImage home config packages ;
|
||||
@@ -332,7 +332,7 @@ CopyDirectoryToHaikuImage home config settings Media
|
||||
# repository config files
|
||||
local repository ;
|
||||
for repository in $(HAIKU_REPOSITORIES) {
|
||||
AddFilesToHaikuImage common settings package-repositories
|
||||
AddFilesToHaikuImage system settings package-repositories
|
||||
: [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ]
|
||||
: $(repository:G=) ;
|
||||
}
|
||||
|
||||
@@ -215,12 +215,12 @@ local etcFiles = inputrc profile ;
|
||||
etcFiles = $(etcFiles:G=etc) ;
|
||||
SEARCH on $(etcFiles) = $(etcDir) ;
|
||||
etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ;
|
||||
AddFilesToHaikuImage common settings etc : $(etcFiles) ;
|
||||
AddFilesToHaikuImage system settings etc : $(etcFiles) ;
|
||||
|
||||
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
|
||||
profileFiles = $(profileFiles:G=profile-d) ;
|
||||
AddDirectoryToHaikuImage common settings etc profile.d ;
|
||||
AddFilesToHaikuImage common settings etc profile.d : $(profileFiles) ;
|
||||
AddDirectoryToHaikuImage system settings etc profile.d ;
|
||||
AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ;
|
||||
|
||||
local driverSettingsFiles = <driver-settings>kernel ;
|
||||
SEARCH on $(driverSettingsFiles)
|
||||
@@ -231,18 +231,18 @@ AddFilesToHaikuImage home config settings kernel drivers
|
||||
local networkSettingsFiles = <network-settings>services ;
|
||||
SEARCH on $(networkSettingsFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data settings network ] ;
|
||||
AddFilesToHaikuImage common settings network : $(networkSettingsFiles) ;
|
||||
AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
|
||||
|
||||
# fresh install indicator file for the post install scripts
|
||||
SEARCH on <post-install>fresh_install
|
||||
= [ FDirName $(HAIKU_TOP) data common settings ] ;
|
||||
AddFilesToHaikuImage common settings : <post-install>fresh_install ;
|
||||
= [ FDirName $(HAIKU_TOP) data system settings ] ;
|
||||
AddFilesToHaikuImage system settings : <post-install>fresh_install ;
|
||||
|
||||
# create directories that will remain empty
|
||||
AddDirectoryToHaikuImage common cache tmp ;
|
||||
AddDirectoryToHaikuImage common non-packaged ;
|
||||
AddDirectoryToHaikuImage common var empty ;
|
||||
AddDirectoryToHaikuImage common var log ;
|
||||
AddDirectoryToHaikuImage system cache tmp ;
|
||||
AddDirectoryToHaikuImage system non-packaged ;
|
||||
AddDirectoryToHaikuImage system var empty ;
|
||||
AddDirectoryToHaikuImage system var log ;
|
||||
AddDirectoryToHaikuImage home Desktop ;
|
||||
AddDirectoryToHaikuImage home mail ;
|
||||
AddDirectoryToHaikuImage home config packages ;
|
||||
|
||||
@@ -28,7 +28,7 @@ if $(HAIKU_IMAGE_HOST_NAME) {
|
||||
Always $(file) ;
|
||||
MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
||||
BuildHaikuImageHostnameFile $(file) ;
|
||||
AddFilesToHaikuImage common settings network : $(file) ;
|
||||
AddFilesToHaikuImage system settings network : $(file) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ local postInstallFiles = add_catalog_entry_attributes.sh
|
||||
default_deskbar_items.sh ;
|
||||
postInstallFiles = $(postInstallFiles:G=post-install) ;
|
||||
SEARCH on $(postInstallFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data common boot post_install ] ;
|
||||
= [ FDirName $(HAIKU_TOP) data system boot post_install ] ;
|
||||
AddFilesToPackage boot post-install : $(postInstallFiles) ;
|
||||
|
||||
# Gutenprint data files
|
||||
|
||||
@@ -133,7 +133,7 @@ AddFilesToPackage boot : $(bootScripts) ;
|
||||
local postInstallFiles = default_deskbar_items.sh ;
|
||||
postInstallFiles = $(postInstallFiles:G=post-install) ;
|
||||
SEARCH on $(postInstallFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data common boot post_install ] ;
|
||||
= [ FDirName $(HAIKU_TOP) data system boot post_install ] ;
|
||||
AddFilesToPackage boot post-install : $(postInstallFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
|
||||
@@ -6,8 +6,7 @@ set -o errexit
|
||||
# outputDir
|
||||
# tmpDir
|
||||
# addBuildCompatibilityLibDir
|
||||
# systemPackages, commonPackages - lists of the hpkg packages copied/updated
|
||||
# (in "system" and "common" respectively)
|
||||
# systemPackages - lists of the hpkg packages copied/updated
|
||||
# repositories - all repository files
|
||||
# downloadDir
|
||||
# The following are only for image types:
|
||||
@@ -281,7 +280,6 @@ done
|
||||
if [ -n "$resolvePackageDependencies" ]; then
|
||||
echo "Resolving package dependencies ..."
|
||||
|
||||
# additional packages for system
|
||||
packageUrls=`$getPackageDependencies $repositories -- $systemPackages`
|
||||
for packageUrl in $packageUrls; do
|
||||
packageFileName=`basename $packageUrl`
|
||||
@@ -290,36 +288,13 @@ if [ -n "$resolvePackageDependencies" ]; then
|
||||
$cp "${sPrefix}$packageFilePath" "${tPrefix}system/packages"
|
||||
systemPackages="$systemPackages $packageFilePath"
|
||||
done
|
||||
|
||||
# Remove packages from the list for common, that are already in the package
|
||||
# list for system.
|
||||
unfilteredCommonPackages="$commonPackages"
|
||||
commonPackages=
|
||||
for packageFile in $unfilteredCommonPackages; do
|
||||
if is_in_list "$packageFile" "$systemPackages"; then
|
||||
:
|
||||
else
|
||||
commonPackages="$commonPackages $packageFile"
|
||||
fi
|
||||
done
|
||||
|
||||
# additional packages for common
|
||||
packageUrls=`$getPackageDependencies $repositories -- $systemPackages \
|
||||
$commonPackages`
|
||||
for packageUrl in $packageUrls; do
|
||||
packageFileName=`basename $packageUrl`
|
||||
packageFilePath="$downloadDir/$packageFileName"
|
||||
downloadFile $packageUrl "$packageFilePath"
|
||||
$cp "${sPrefix}$packageFilePath" "${tPrefix}common/packages"
|
||||
commonPackages="$commonPackages $packageFilePath"
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# install default settings for packages
|
||||
for packageFile in $systemPackages $commonPackages; do
|
||||
for packageFile in $systemPackages; do
|
||||
if $package list -p $packageFile | egrep '^settings/' > /dev/null; then
|
||||
extractFile $packageFile common/settings settings
|
||||
extractFile $packageFile system/settings settings
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user