From f598ef9c27fa51b2d3b809f2937104b8bca271b2 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sun, 22 Nov 2020 16:39:56 +0100 Subject: [PATCH] rbutil: Add support for installing daily builds. Change-Id: If2bb23adcbd4a441f18846515c609118da8c5b5e --- rbutil/rbutilqt/base/serverinfo.cpp | 4 ++++ rbutil/rbutilqt/base/serverinfo.h | 2 ++ rbutil/rbutilqt/gui/selectiveinstallwidget.cpp | 9 +++++++++ rbutil/rbutilqt/rbutil.ini | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/rbutil/rbutilqt/base/serverinfo.cpp b/rbutil/rbutilqt/base/serverinfo.cpp index 8b6707540e..9fa3402828 100644 --- a/rbutil/rbutilqt/base/serverinfo.cpp +++ b/rbutil/rbutilqt/base/serverinfo.cpp @@ -41,6 +41,8 @@ const static struct { { ServerInfo::CurReleaseUrl, "release/:platform:", "" }, { ServerInfo::RelCandidateVersion, "release-candidate/:platform:", "" }, { ServerInfo::RelCandidateUrl, "release-candidate/:platform:", "" }, + { ServerInfo::DailyVersion, "daily/:platform:", "" }, + { ServerInfo::DailyUrl, "daily/:platform:", "" }, { ServerInfo::CurStatus, "status/:platform:", "-1" }, { ServerInfo::BleedingRevision, "bleeding/rev", "" }, { ServerInfo::BleedingDate, "bleeding/timestamp", "" }, @@ -83,10 +85,12 @@ QVariant ServerInfo::platformValue(enum ServerInfos info, QString platform) switch(info) { case CurReleaseVersion: case RelCandidateVersion: + case DailyVersion: value = value.toStringList().at(0); break; case CurReleaseUrl: case RelCandidateUrl: + case DailyUrl: { QString version = value.toStringList().at(0); if(value.toStringList().size() > 1) diff --git a/rbutil/rbutilqt/base/serverinfo.h b/rbutil/rbutilqt/base/serverinfo.h index 7b7e52beb7..0746ec2c4f 100644 --- a/rbutil/rbutilqt/base/serverinfo.h +++ b/rbutil/rbutilqt/base/serverinfo.h @@ -45,6 +45,8 @@ class ServerInfo : public QObject BleedingDate, RelCandidateVersion, RelCandidateUrl, + DailyVersion, + DailyUrl }; static ServerInfo* instance(); diff --git a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp index f64cfecd7c..cc5abb40ad 100644 --- a/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp +++ b/rbutil/rbutilqt/gui/selectiveinstallwidget.cpp @@ -124,6 +124,8 @@ void SelectiveInstallWidget::updateVersion(void) ServerInfo::BleedingRevision).toString()); m_versions.insert(SystemInfo::BuildCandidate, ServerInfo::instance()->platformValue( ServerInfo::RelCandidateVersion).toString()); + m_versions.insert(SystemInfo::BuildDaily, ServerInfo::instance()->platformValue( + ServerInfo::DailyVersion).toString()); } ui.selectedVersion->clear(); @@ -139,6 +141,10 @@ void SelectiveInstallWidget::updateVersion(void) ui.selectedVersion->addItem(tr("Release Candidate (Revison %1)").arg( m_versions[SystemInfo::BuildCandidate]), SystemInfo::BuildCandidate); } + if(!m_versions[SystemInfo::BuildDaily].isEmpty()) { + ui.selectedVersion->addItem(tr("Daily Build (%1)").arg( + m_versions[SystemInfo::BuildDaily]), SystemInfo::BuildDaily); + } // select previously selected version int index = ui.selectedVersion->findData(RbSettings::value(RbSettings::Build).toString()); @@ -450,6 +456,9 @@ void SelectiveInstallWidget::installRockbox(void) url = ServerInfo::instance()->platformValue( ServerInfo::RelCandidateUrl, m_target).toString(); break; + case SystemInfo::BuildDaily: + url = ServerInfo::instance()->platformValue( + ServerInfo::DailyUrl, m_target).toString(); } //! install build if(m_zipinstaller != nullptr) m_zipinstaller->deleteLater(); diff --git a/rbutil/rbutilqt/rbutil.ini b/rbutil/rbutilqt/rbutil.ini index cec17d2fa4..da7a2a78af 100644 --- a/rbutil/rbutilqt/rbutil.ini +++ b/rbutil/rbutilqt/rbutil.ini @@ -42,7 +42,7 @@ manual_url=https://download.rockbox.org/daily/manual/rockbox-%MODEL%%FORMAT% [daily] build_url=https://download.rockbox.org/daily/%MODEL%/rockbox-%MODEL%.zip -voice_url=https://download.rockbox.org/daily/voices/%MODEL%-%LANGUAGE%.zip +voice_url=https://download.rockbox.org/daily/%MODEL%/voice-%MODEL%-%LANGUAGE%.zip font_url=https://download.rockbox.org/daily/fonts/rockbox-fonts.zip manual_url=https://download.rockbox.org/daily/manual/rockbox-%MODEL%%FORMAT%