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:
Ingo Weinhold
2013-10-03 21:52:25 +02:00
parent bf9b153fcc
commit f73f5d4c42
53 changed files with 168 additions and 308 deletions
+18 -43
View File
@@ -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
View File
@@ -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) ;
+7 -7
View File
@@ -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
View File
@@ -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=) ;
}
+10 -10
View File
@@ -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 ;
+1 -1
View File
@@ -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) ;
}
+1 -1
View 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
+1 -1
View File
@@ -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
+3 -28
View File
@@ -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