summaryrefslogtreecommitdiff
path: root/libappstream-builder/asb-package.c
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2014-12-17 21:12:31 +0000
committerRichard Hughes <richard@hughsie.com>2014-12-17 21:12:31 +0000
commitddb4d5f5b6c25b8691856447edb6b1349d6286cc (patch)
tree288a13b6f8010c15e4f430efec4081e0d14d9c0b /libappstream-builder/asb-package.c
parentd56ac9c07ca4d6a8950b81fa096c56e29f1eed31 (diff)
downloadappstream-glib-ddb4d5f5b6c25b8691856447edb6b1349d6286cc.tar.gz
Add the VCS information to the AppStream metadata
Resolves: https://github.com/hughsie/appstream-glib/issues/27
Diffstat (limited to 'libappstream-builder/asb-package.c')
-rw-r--r--libappstream-builder/asb-package.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/libappstream-builder/asb-package.c b/libappstream-builder/asb-package.c
index 989de43..5b7a872 100644
--- a/libappstream-builder/asb-package.c
+++ b/libappstream-builder/asb-package.c
@@ -53,6 +53,7 @@ struct _AsbPackagePrivate
gchar *nevra;
gchar *evr;
gchar *license;
+ gchar *vcs;
gchar *source_nevra;
gchar *source_pkgname;
gsize log_written_len;
@@ -92,6 +93,7 @@ asb_package_finalize (GObject *object)
g_free (priv->nevra);
g_free (priv->evr);
g_free (priv->license);
+ g_free (priv->vcs);
g_free (priv->source_nevra);
g_free (priv->source_pkgname);
g_string_free (priv->log, TRUE);
@@ -364,6 +366,23 @@ asb_package_get_license (AsbPackage *pkg)
}
/**
+ * asb_package_get_vcs:
+ * @pkg: A #AsbPackage
+ *
+ * Gets the package version control system.
+ *
+ * Returns: utf8 string
+ *
+ * Since: 0.3.4
+ **/
+const gchar *
+asb_package_get_vcs (AsbPackage *pkg)
+{
+ AsbPackagePrivate *priv = GET_PRIVATE (pkg);
+ return priv->vcs;
+}
+
+/**
* asb_package_get_source:
* @pkg: A #AsbPackage
*
@@ -550,6 +569,23 @@ asb_package_set_license (AsbPackage *pkg, const gchar *license)
}
/**
+ * asb_package_set_vcs:
+ * @pkg: A #AsbPackage
+ * @vcs: vcs string
+ *
+ * Sets the package version control system.
+ *
+ * Since: 0.3.4
+ **/
+void
+asb_package_set_vcs (AsbPackage *pkg, const gchar *vcs)
+{
+ AsbPackagePrivate *priv = GET_PRIVATE (pkg);
+ g_free (priv->vcs);
+ priv->vcs = g_strdup (vcs);
+}
+
+/**
* asb_package_set_source:
* @pkg: A #AsbPackage
* @source: source string, e.g. the srpm nevra
@@ -777,6 +813,8 @@ asb_package_ensure (AsbPackage *pkg,
flags &= ~ASB_PACKAGE_ENSURE_NEVRA;
if (priv->license != NULL)
flags &= ~ASB_PACKAGE_ENSURE_LICENSE;
+ if (priv->vcs != NULL)
+ flags &= ~ASB_PACKAGE_ENSURE_VCS;
if (priv->url != NULL)
flags &= ~ASB_PACKAGE_ENSURE_URL;
if (priv->source_pkgname != NULL)