Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'jb47252' into 'master'
[ssu] Add repos.d to allow other packages to install ssu domains. Fixes JB#47252

See merge request mer-core/ssu!35
  • Loading branch information
Andrew Branson committed Oct 15, 2019
2 parents babcc97 + 8b73884 commit 440090f
Show file tree
Hide file tree
Showing 10 changed files with 19 additions and 10 deletions.
6 changes: 4 additions & 2 deletions constants.h
Expand Up @@ -10,8 +10,10 @@

/// The group ID ssu expects to run as. This is usually the GID of the main phone user
#define SSU_GROUP_ID 1000
/// Path to the main ssu configuration file
#define SSU_REPO_CONFIGURATION "/usr/share/ssu/repos.ini"
/// Path to the ssu domain configuration file
#define SSU_REPO_CONFIGURATION "/var/cache/ssu/repos.ini"
/// Path to config.d for ssu domain configurations
#define SSU_REPO_CONFIGURATION_DIR "/usr/share/ssu/repos.d"
/// Path to board / device family mappings file
#define SSU_BOARD_MAPPING_CONFIGURATION "/var/cache/ssu/board-mappings.ini"
/// Path to config.d for board mappings
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion libssu/ssu.cpp
Expand Up @@ -85,7 +85,7 @@ QPair<QString, QString> Ssu::credentials(const QString &scope)
QString Ssu::credentialsScope(const QString &repoName, bool rndRepo)
{
SsuCoreConfig *settings = SsuCoreConfig::instance();
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, QSettings::IniFormat);
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, SSU_REPO_CONFIGURATION_DIR);

// hardcoded magic for doing special privileges store repositories
if (repoName == "store" || repoName.startsWith("store-c-"))
Expand Down
2 changes: 1 addition & 1 deletion libssu/ssudeviceinfo.cpp
Expand Up @@ -426,7 +426,7 @@ QStringList SsuDeviceInfo::repos(bool rnd, int filter)
result.append(QString("adaptation%1").arg(i));

// now read the release/rnd repos
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, QSettings::IniFormat);
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, SSU_REPO_CONFIGURATION_DIR);
QString repoKey = (rnd ? "default-repos/rnd" : "default-repos/release");
if (repoSettings.contains(repoKey))
result.append(repoSettings.value(repoKey).toStringList());
Expand Down
6 changes: 3 additions & 3 deletions libssu/ssurepomanager.cpp
Expand Up @@ -61,7 +61,7 @@ int SsuRepoManager::add(const QString &repo, const QString &repoUrl)
QString SsuRepoManager::caCertificatePath(const QString &domain)
{
SsuCoreConfig *settings = SsuCoreConfig::instance();
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, QSettings::IniFormat);
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, SSU_REPO_CONFIGURATION_DIR);

QString ca = SsuVariables::variable(&repoSettings,
(domain.isEmpty() ? settings->domain() : domain) + "-domain",
Expand Down Expand Up @@ -352,7 +352,7 @@ QStringList SsuRepoManager::repoVariables(QHash<QString, QString> *storageHash,
SsuVariables var;
SsuCoreConfig *settings = SsuCoreConfig::instance();
QStringList configSections;
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, QSettings::IniFormat);
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, SSU_REPO_CONFIGURATION_DIR);

// fill in all arbitrary repo specific variables from ssu.ini
var.variableSection(settings, "repository-url-variables", storageHash);
Expand Down Expand Up @@ -431,7 +431,7 @@ QString SsuRepoManager::url(const QString &repoName, bool rndRepo,
repoParameters.insert("brand", settings->brand());

// variableSection does autodetection for the domain default section
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, QSettings::IniFormat);
SsuSettings repoSettings(SSU_REPO_CONFIGURATION, SSU_REPO_CONFIGURATION_DIR);
SsuVariables var;
var.variableSection(&repoSettings, domain + "-domain", &repoParameters);

Expand Down
7 changes: 6 additions & 1 deletion rpm/ssu.spec
@@ -1,5 +1,5 @@
Name: ssu
Version: 0.43.10
Version: 0.44.6
Release: 1
Summary: SSU enabler for RND
Group: System/Base
Expand Down Expand Up @@ -42,6 +42,7 @@ Requires: ssu-network-proxy
%dir %{_datarootdir}/%{name}
%dir %{_datarootdir}/%{name}/board-mappings.d
%dir %{_datarootdir}/%{name}/features.d
%dir %{_datarootdir}/%{name}/repos.d
%dir %{_sysconfdir}/%{name}/
%{_sysconfdir}/dbus-1/system.d/*.conf
%doc COPYING.GPL COPYING.LGPL COPYING.BSD
Expand Down Expand Up @@ -180,6 +181,7 @@ cd build && make INSTALL_ROOT=%{buildroot} install
mkdir -p %{buildroot}/%{_sysconfdir}/zypp/credentials.d
mkdir -p %{buildroot}/%{_datarootdir}/%{name}/board-mappings.d
mkdir -p %{buildroot}/%{_datarootdir}/%{name}/features.d
mkdir -p %{buildroot}/%{_datarootdir}/%{name}/repos.d
mkdir -p %{buildroot}/%{_docdir}/%{name}
mkdir -p %{buildroot}/%{_sysconfdir}/%{name}
cd .. && cp -R doc/html/* %{buildroot}/%{_docdir}/%{name}/
Expand Down Expand Up @@ -209,3 +211,6 @@ fi
if [ -f /usr/share/ssu/features.ini ]; then
rm -f /usr/share/ssu/features.ini
fi
if [ -f /usr/share/ssu/repos.ini ]; then
rm -f /usr/share/ssu/repos.ini
fi
6 changes: 4 additions & 2 deletions ssu.pro
Expand Up @@ -18,7 +18,7 @@ ssud.depends = libssu
ssuslipstream.depends = libssu
declarative.depends = libssu

config.files = ssu.ini
config.files = examples/ssu.ini
config.path = /etc/ssu

oneshot.files = ssu-update-repos
Expand All @@ -27,7 +27,9 @@ oneshot.path = /usr/lib/oneshot.d
macros.files = macros.ssuks
macros.path = /etc/rpm/

static_config.files = repos.ini ssu-defaults.ini board-mappings.ini
static_config.files = examples/repos.ini \
examples/ssu-defaults.ini \
examples/board-mappings.ini
static_config.path = /usr/share/ssu

INSTALLS += config static_config oneshot macros

0 comments on commit 440090f

Please sign in to comment.