#12905: package_repo requires a url in repo-info file which needs eval
---------------------------+----------------------------
Reporter: kallisti5 | Owner: nobody
Type: enhancement | Status: new
Priority: normal | Milestone: Unscheduled
Component: - General | Version: R1/Development
Resolution: | Keywords: package_repo
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
---------------------------+----------------------------
Comment (by kallisti5):
{{{
kallisti5@ares package :) $ grep -R url * | grep -v Package
RepositoryConfig.cpp: << "url=" << fBaseURL << "\n"
RepositoryConfig.cpp: const char* url =
driverSettings.GetParameterValue("url");
RepositoryConfig.cpp: if (url == NULL || *url == '\0')
RepositoryConfig.cpp: fBaseURL = url;
RepositoryInfo.cpp:const char* const BRepositoryInfo::kURLField
= "url";
RepositoryInfo.cpp:BRepositoryInfo::SetOriginalBaseURL(const BString& url)
RepositoryInfo.cpp: fOriginalBaseURL = url;
RepositoryInfo.cpp: const char* url =
get_driver_parameter(settingsHandle, "url", NULL, NULL);
RepositoryInfo.cpp: if (name == NULL || *name == '\0' || url == NULL
|| *url == '\0'
RepositoryInfo.cpp: fOriginalBaseURL = url;
}}}
So BRepositoryConfig's fBaseURL, PackagesURL(), and BaseURL() use it...
{{{
kallisti5@ares package :( $ egrep -R "PackagesURL\(|BaseURL\(" *
ActivateRepositoryConfigJob.cpp:
fRepositoryBaseURL(repositoryBaseURL),
ActivateRepositoryConfigJob.cpp:
repoConfig.SetBaseURL(fRepositoryBaseURL);
AddRepositoryRequest.cpp: fRepositoryBaseURL(repositoryBaseURL),
manager/PackageManager.cpp: BString url =
remoteRepository->Config().PackagesURL();
RefreshRepositoryRequest.cpp: = BString(fRepoConfig.BaseURL())
<< "/" << "repo.sha256";
RefreshRepositoryRequest.cpp: BString("Fetching repository
checksum from ") << fRepoConfig.BaseURL(),
RefreshRepositoryRequest.cpp: BString repoCacheURL =
BString(fRepoConfig.BaseURL()) << "/" << "repo";
RefreshRepositoryRequest.cpp: BString("Fetching repository-cache
from ") << fRepoConfig.BaseURL(),
RepositoryConfig.cpp: fBaseURL(baseURL),
RepositoryConfig.cpp:BRepositoryConfig::BaseURL() const
RepositoryConfig.cpp:BRepositoryConfig::PackagesURL() const
RepositoryConfig.cpp:BRepositoryConfig::SetBaseURL(const BString& baseURL)
RepositoryInfo.cpp:BRepositoryInfo::OriginalBaseURL() const
RepositoryInfo.cpp:BRepositoryInfo::SetOriginalBaseURL(const BString& url)
}}}
Since the user provides the repo URL to gain access to the repo, it all
seems extremely illogical to then re-read the repo config file and
potentially re-adjust where the repo is?
--
Ticket URL: <https://dev.haiku-os.org/ticket/12905#comment:1>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.