Put haiku repository onto image.
* Now that system updates seem to work properly, put the haiku repository config and cache file onto the image automatically. * Adjust URL of haiku repository (it is currently redirected to some other URL at download.haiku-os.org, but that will be changed later).
This commit is contained in:
+18
-14
@@ -744,8 +744,7 @@ actions BuildRemoteHaikuPortsRepository1
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
rule HaikuRepository repository : repoInfoTemplate : packages : url
|
rule HaikuRepository repository : repoInfoTemplate : packages
|
||||||
: versionFile
|
|
||||||
{
|
{
|
||||||
# HaikuRepository <repository> : <repoInfoTemplate> : <packages>
|
# HaikuRepository <repository> : <repoInfoTemplate> : <packages>
|
||||||
# [ : <url> [ : <versionFile> ] ] ;
|
# [ : <url> [ : <versionFile> ] ] ;
|
||||||
@@ -757,10 +756,6 @@ rule HaikuRepository repository : repoInfoTemplate : packages : url
|
|||||||
# meta data files.
|
# meta data files.
|
||||||
# <repoInfoTemplate> - The repository info template file to be used.
|
# <repoInfoTemplate> - The repository info template file to be used.
|
||||||
# <packages> - The packages to be added to the repository.
|
# <packages> - The packages to be added to the repository.
|
||||||
# <url> - Optional repository URL for the repository config file to be
|
|
||||||
# created. If not specified the one from the repository info is used.
|
|
||||||
# <versionFile> - Optional file containing the version string that shall
|
|
||||||
# replace the "$version" placeholder in <url> (if any).
|
|
||||||
|
|
||||||
local architecture = $(HAIKU_PACKAGING_ARCH) ;
|
local architecture = $(HAIKU_PACKAGING_ARCH) ;
|
||||||
local secondaryArchitecture ;
|
local secondaryArchitecture ;
|
||||||
@@ -771,18 +766,27 @@ rule HaikuRepository repository : repoInfoTemplate : packages : url
|
|||||||
local repositoriesDir = $(HAIKU_PACKAGE_REPOSITORIES_DIR_$(architecture)) ;
|
local repositoriesDir = $(HAIKU_PACKAGE_REPOSITORIES_DIR_$(architecture)) ;
|
||||||
|
|
||||||
# build the repository info
|
# build the repository info
|
||||||
local repoInfo = $(repository:G=repository-info)-info ;
|
local repositoryInfo = $(repository:G=repository-info)-info ;
|
||||||
MakeLocate $(repoInfo) : $(repositoriesDir) ;
|
MakeLocate $(repositoryInfo) : $(repositoriesDir) ;
|
||||||
PreprocessPackageOrRepositoryInfo $(repoInfo) : $(repoInfoTemplate)
|
PreprocessPackageOrRepositoryInfo $(repositoryInfo) : $(repoInfoTemplate)
|
||||||
: $(architecture) : $(secondaryArchitecture) ;
|
: $(architecture) : $(secondaryArchitecture) ;
|
||||||
|
|
||||||
# build the respository config
|
# build the respository config
|
||||||
local repositoryConfig = $(repository:G=repository-config)-config ;
|
local repositoryConfig = $(repository:G=repository-config)-config ;
|
||||||
MakeLocate $(repositoryConfig) : $(repositoriesDir) ;
|
MakeLocate $(repositoryConfig) : $(repositoriesDir) ;
|
||||||
RepositoryConfig $(repositoryConfig) : $(repoInfo) : $(url)
|
RepositoryConfig $(repositoryConfig) : $(repositoryInfo) ;
|
||||||
: $(versionFile) ;
|
|
||||||
HAIKU_REPOSITORY_CONFIG_FILE on $(repository) = $(repositoryConfig) ;
|
HAIKU_REPOSITORY_CONFIG_FILE on $(repository) = $(repositoryConfig) ;
|
||||||
|
|
||||||
|
# setup the repository cache file
|
||||||
|
local repositoryCache = $(repository:B=repo:G=repository-cache) ;
|
||||||
|
MakeLocate $(repositoryCache)
|
||||||
|
: [ FDirName $(repositoriesDir) $(repository:G=) ] ;
|
||||||
|
Depends $(repositoryCache) : $(repository) ;
|
||||||
|
HAIKU_REPOSITORY_CACHE_FILE on $(repository) = $(repositoryCache) ;
|
||||||
|
|
||||||
|
# add the repository to the list of known package repositories
|
||||||
|
HAIKU_REPOSITORIES += $(repository) ;
|
||||||
|
|
||||||
# prepare the script that initializes the shell variables
|
# prepare the script that initializes the shell variables
|
||||||
local initVariablesScript = $(repository)-repository-init-vars ;
|
local initVariablesScript = $(repository)-repository-init-vars ;
|
||||||
MakeLocate $(initVariablesScript)
|
MakeLocate $(initVariablesScript)
|
||||||
@@ -802,10 +806,10 @@ rule HaikuRepository repository : repoInfoTemplate : packages : url
|
|||||||
local mainScript = build_haiku_repository ;
|
local mainScript = build_haiku_repository ;
|
||||||
SEARCH on $(mainScript) = [ FDirName $(HAIKU_TOP) build scripts ] ;
|
SEARCH on $(mainScript) = [ FDirName $(HAIKU_TOP) build scripts ] ;
|
||||||
|
|
||||||
Depends $(repository) : $(mainScript) $(initVariablesScript) $(repoInfo)
|
Depends $(repository) : $(mainScript) $(initVariablesScript)
|
||||||
$(packages) ;
|
$(repositoryInfo) $(packages) ;
|
||||||
HaikuRepository1 $(repository) : $(mainScript) $(initVariablesScript)
|
HaikuRepository1 $(repository) : $(mainScript) $(initVariablesScript)
|
||||||
$(repoInfo) $(packages) ;
|
$(repositoryInfo) $(packages) ;
|
||||||
Always $(repository) ;
|
Always $(repository) ;
|
||||||
|
|
||||||
RmTemps $(repository) : $(initVariablesScript) ;
|
RmTemps $(repository) : $(initVariablesScript) ;
|
||||||
|
|||||||
@@ -271,12 +271,8 @@ CopyDirectoryToHaikuImage home config settings Media
|
|||||||
: dvb : -x Jamfile ;
|
: dvb : -x Jamfile ;
|
||||||
|
|
||||||
# repository config and cache files
|
# repository config and cache files
|
||||||
local repositories = $(HAIKU_REPOSITORIES) ;
|
|
||||||
if $(HAIKU_ADD_HAIKU_REPOSITORY_CONFIG) {
|
|
||||||
repositories += <repository>haiku ;
|
|
||||||
}
|
|
||||||
local repository ;
|
local repository ;
|
||||||
for repository in $(repositories) {
|
for repository in $(HAIKU_REPOSITORIES) {
|
||||||
local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ;
|
local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ;
|
||||||
local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ;
|
local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ;
|
||||||
if $(HAIKU_UPDATE_ALL_PACKAGES) {
|
if $(HAIKU_UPDATE_ALL_PACKAGES) {
|
||||||
|
|||||||
@@ -24,9 +24,4 @@ if $(TARGET_PACKAGING_ARCH) != x86_gcc2 || $(secondaryArchs) {
|
|||||||
packages += webpositive ;
|
packages += webpositive ;
|
||||||
}
|
}
|
||||||
|
|
||||||
HaikuRepository $(haikuRepository) : $(repoInfo) : $(packages:S=.hpkg)
|
HaikuRepository $(haikuRepository) : $(repoInfo) : $(packages:S=.hpkg) ;
|
||||||
: http://www.haiku-files.org/haiku/master/repo/$(TARGET_PACKAGING_ARCH)/$(HAIKU_VERSION)_$version
|
|
||||||
: [ DetermineEffectiveHaikuRevision ]
|
|
||||||
# TODO: Remove the URL and the version file argument once the repository
|
|
||||||
# is available on haiku-os.org as specified in the repository info.
|
|
||||||
;
|
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ name Haiku
|
|||||||
vendor "Haiku Project"
|
vendor "Haiku Project"
|
||||||
summary "The Haiku repository (for Haiku %HAIKU_VERSION_NO_REVISION%)"
|
summary "The Haiku repository (for Haiku %HAIKU_VERSION_NO_REVISION%)"
|
||||||
priority 1
|
priority 1
|
||||||
url http://packages.haiku-os.org/haiku/master/repo/%HAIKU_PACKAGING_ARCH%/%HAIKU_VERSION_NO_REVISION%
|
url http://packages.haiku-os.org/haiku/master/%HAIKU_PACKAGING_ARCH%/%HAIKU_VERSION_NO_REVISION%
|
||||||
architecture %HAIKU_PACKAGING_ARCH%
|
architecture %HAIKU_PACKAGING_ARCH%
|
||||||
|
|||||||
Reference in New Issue
Block a user