aboutsummaryrefslogtreecommitdiffstats
path: root/src/brandbot.c
diff options
context:
space:
mode:
authorLukas Nykryn <lnykryn@redhat.com>2013-09-20 13:22:32 +0200
committerLukas Nykryn <lnykryn@redhat.com>2013-09-23 15:20:04 +0200
commit53c65afa1508cfc89ff3c38909ad1a956a57c28f (patch)
tree714c53891a0f7da25f06e40cf6c91bf82241b1c1 /src/brandbot.c
parent363999c2255fd41d1548956d9ca04c0655ffabdb (diff)
downloadinitscripts-53c65afa1508cfc89ff3c38909ad1a956a57c28f.tar
initscripts-53c65afa1508cfc89ff3c38909ad1a956a57c28f.tar.gz
initscripts-53c65afa1508cfc89ff3c38909ad1a956a57c28f.tar.bz2
initscripts-53c65afa1508cfc89ff3c38909ad1a956a57c28f.tar.xz
initscripts-53c65afa1508cfc89ff3c38909ad1a956a57c28f.zip
brandbot: tool to write branding to /etc/os-release (#1009947)
Diffstat (limited to 'src/brandbot.c')
-rw-r--r--src/brandbot.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/brandbot.c b/src/brandbot.c
new file mode 100644
index 00000000..c9b21ecd
--- /dev/null
+++ b/src/brandbot.c
@@ -0,0 +1,36 @@
+
+#include <stdio.h>
+#include <string.h>
+
+#include <glib.h>
+
+#include "shvar.h"
+
+char *read_name() {
+ gchar *name = NULL;
+
+ g_file_get_contents("/var/lib/rhsm/branded_name", &name, NULL, NULL);
+ if (name)
+ name = g_strstrip(name);
+ return name;
+}
+
+int main(int argc, char **argv) {
+ shvarFile *osrelease;
+ char *newname, *oldname;
+ int rc = 0;
+
+ newname = read_name();
+ if (!newname)
+ return 0;
+ osrelease = svNewFile("/etc/os-release");
+ if (!osrelease)
+ return 0;
+ oldname = svGetValue(osrelease, "PRETTY_NAME");
+ if (!strcmp(oldname, newname))
+ return 0;
+ svSetValue(osrelease, "PRETTY_NAME", newname);
+ rc += svWriteFile(osrelease, 0644);
+ svCloseFile(osrelease);
+ return rc;
+}