Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Add arch, osrelease and osversion to json in the compat conversion
Baptiste Daroussin committed 15 years ago
commit 13006662780fc6df36aff3205df047a809f8a9da
parent 216c5798a80d65ddf6f46b70e69d0c32515f157b
1 file changed +21 -1
modified libpkg/pkg_compat.c
@@ -2,6 +2,8 @@
#include <err.h>
#include <stdlib.h>
#include <string.h>
+
#include <sys/param.h>
+
#include <sys/utsname.h>

#include "pkg_compat.h"

@@ -155,7 +157,25 @@ bottom:
cJSON *
pkg_compat_converter(char *plist_str)
{
+
	struct utsname uts;
+
	char *osrelease;
+
	char *tmp;
+

	cJSON *rootpkg = cJSON_CreateObject();
+
	uname(&uts);
+
	
+
	cJSON_AddStringToObject(rootpkg, "arch", uts.machine);
+

+
	osrelease = strdup(uts.release);
+
	tmp = strrchr(osrelease, '-');
+
	tmp[0] = '\0';
+

+
	cJSON_AddStringToObject(rootpkg, "osrelease", osrelease);
+
	free(osrelease);
+

+
	cJSON_AddNumberToObject(rootpkg, "osversion", __FreeBSD_version);
+

	pkg_compat_read_plist(rootpkg, plist_str);
-
	return rootpkg;
+

+
	return (rootpkg);
}