Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
GNOME:STABLE:3.34
PackageKit
PackageKit-dnf-Add-openSUSE-vendor.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File PackageKit-dnf-Add-openSUSE-vendor.patch of Package PackageKit
From ce09f71f3ef58ccdb647672b400bbdddeea8235d Mon Sep 17 00:00:00 2001 From: Neal Gompa <ngompa13@gmail.com> Date: Sun, 12 Jan 2020 14:42:45 -0500 Subject: [PATCH] dnf: Add openSUSE vendor --- backends/dnf/Makefile.am | 3 +- backends/dnf/dnf-backend-vendor-opensuse.c | 61 ++++++++++++++++++++++ configure.ac | 4 +- 3 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 backends/dnf/dnf-backend-vendor-opensuse.c diff --git a/backends/dnf/Makefile.am b/backends/dnf/Makefile.am index 7b12328bd..97578d081 100644 --- a/backends/dnf/Makefile.am +++ b/backends/dnf/Makefile.am @@ -4,7 +4,8 @@ EXTRA_DIST = \ dnf-backend-vendor-fedora.c \ dnf-backend-vendor-mageia.c \ dnf-backend-vendor-openmandriva.c \ - dnf-backend-vendor-rosa.c + dnf-backend-vendor-rosa.c \ + dnf-backend-vendor-opensuse.c libpk_backend_dnf_la_SOURCES = \ dnf-backend-vendor.h \ dnf-backend.c \ diff --git a/backends/dnf/dnf-backend-vendor-opensuse.c b/backends/dnf/dnf-backend-vendor-opensuse.c new file mode 100644 index 000000000..f317ac34f --- /dev/null +++ b/backends/dnf/dnf-backend-vendor-opensuse.c @@ -0,0 +1,61 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2020 Neal Gompa <ngompa13@gmail.com> + * based on dnf-backend-vendor-mageia.c + * + * Licensed under the GNU Lesser General Public License Version 2.1 + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "dnf-backend-vendor.h" + +gboolean +dnf_validate_supported_repo (const gchar *id) +{ + guint i, j, k, l; + + const gchar *valid_sourcesect[] = { "-oss", + "-non-oss", + NULL }; + + const gchar *valid_sourcetype[] = { "", + "-debuginfo", + "-source", + NULL }; + + const gchar *valid_sourcechan[] = { "", + "-update", + NULL }; + + const gchar *valid[] = { "opensuse-tumbleweed", + "opensuse-leap", + NULL }; + + /* Iterate over the ID arrays to find a matching identifier */ + for (i = 0; valid[i] != NULL; i++) { + for (j = 0; valid_sourcesect[j] != NULL; j++) { + for (k = 0; valid_sourcechan[k] != NULL; k++) { + for (l = 0; valid_sourcetype[l] != NULL; l++) { + g_autofree gchar *source_entry = g_strconcat(valid[i], valid_sourcesect[j], valid_sourcechan[k], valid_sourcetype[l], NULL); + if (g_strcmp0 (id, source_entry) == 0) { + return TRUE; + } + } + } + } + } + return FALSE; +} diff --git a/configure.ac b/configure.ac index 2edb6270f..297304fa5 100644 --- a/configure.ac +++ b/configure.ac @@ -426,8 +426,8 @@ AC_SUBST(DBUS_SERVICES_DIR) if test x$enable_dnf = xyes; then PKG_CHECK_MODULES(DNF, appstream-glib libdnf >= 0.22.0 rpm) AC_ARG_WITH(dnf-vendor, - [AS_HELP_STRING([--with-dnf-vendor=<vendor>],[select a vendor configuration (fedora, mageia, openmandriva, rosa; default is fedora)])]) - if test "$with_dnf_vendor" = "fedora" -o "$with_dnf_vendor" = "mageia" -o "$with_dnf_vendor" = "openmandriva" -o "$with_dnf_vendor" = "rosa"; then + [AS_HELP_STRING([--with-dnf-vendor=<vendor>],[select a vendor configuration (fedora, mageia, openmandriva, rosa, opensuse; default is fedora)])]) + if test "$with_dnf_vendor" = "fedora" -o "$with_dnf_vendor" = "mageia" -o "$with_dnf_vendor" = "openmandriva" -o "$with_dnf_vendor" = "rosa" -o "$with_dnf_vendor" = "opensuse"; then with_dnf_vendor="$with_dnf_vendor" else with_dnf_vendor="fedora" -- 2.24.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor