Matahari 0.4.4 Released
by Russell Bryant
Greetings,
Matahari 0.4.4 has been released. It is available for download from github:
https://github.com/matahari/matahari/downloads/matahari-0.4.4.tar.gz
Version 0.4.3 was released just over a week ago but some important
issues have been resolved since then, including:
Core:
- Fixed systemd support. (661389)
- DNS SRV support now correctly handles multiple SRV records.
(735419)
- Run k5start from init script if kerberos auth is being used.
(674578)
- Ensure localhost is the default broker on Linux. (735429)
- Add base UUID support for Windows, which resolves a regression
that prevented agents from working on Windows. (733483)
Matahari Broker:
- Fix a regression that resulted in a the matahari-brokerd wrapper
around qpidd not executable. (734981)
- Implement broker federation in a new qpidd wrapper implementation.
(735426)
Services Agent and Console:
- Improve consistency between services console and QMF API. (734536)
- Make agent more robust in handling failures due to invalid input.
(733468) (734522)
Sysconfig Agent:
- Fix run_string method. (733393)
Network Agent:
- Ensure get_ip_address doesn't return garbage in result. (736468)
Thanks,
--
Russell Bryant
12 years, 8 months
[PATCH 0/3] Support for multiple DNS SRV records.
by Russell Bryant
This patch series adds support for multiple DNS SRV records.
Get some formatting out of the way so it doesn't distract me:
[PATCH 1/3] dnssrv: minor code cleanup.
Update core APIs:
[PATCH 2/3] core: Add API support for multiple DNS SRV records.
Use new core APIs in MatahariAgent:
[PATCH 3/3] core: rhbz#735419 Update agents to use multiple SRV
Thanks,
--
Russell Bryant
12 years, 8 months
[PATCH] network: rhbz#736468 fix output on bogus input to get_ip_address.
by Russell Bryant
Ensure that the output is always initialized, even if the network
interface that was named is not found.
Also update network API unit tests to cover this case.
Signed-off-by: Russell Bryant <rbryant(a)redhat.com>
---
src/lib/network.c | 4 ++++
src/tests/mh_api_network.h | 15 ++++++++++++++-
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/src/lib/network.c b/src/lib/network.c
index f264856..9e6d785 100644
--- a/src/lib/network.c
+++ b/src/lib/network.c
@@ -152,6 +152,10 @@ mh_network_get_ip_address(const char *iface, char *buf, size_t len)
GList *plist;
char addr_str[SIGAR_INET6_ADDRSTRLEN];
+ if (len) {
+ *buf = '\0';
+ }
+
list = mh_network_get_interfaces();
for (plist = g_list_first(list); plist; plist = g_list_next(plist)) {
struct mh_network_interface *mh_iface = plist->data;
diff --git a/src/tests/mh_api_network.h b/src/tests/mh_api_network.h
index 315f8ee..dd09923 100644
--- a/src/tests/mh_api_network.h
+++ b/src/tests/mh_api_network.h
@@ -59,7 +59,19 @@ class MhApiNetworkSuite : public CxxTest::TestSuite
void testGetNetworkIP(void)
{
const char *ip = NULL;
- char buf[64];
+ char buf[64] = "blah";
+
+ /*
+ * Ensure that buf gets initialized even if a bogus interface
+ * name is specified.
+ */
+ ip = mh_network_get_ip_address("fakeInterface", buf, sizeof(buf));
+ TS_ASSERT(*ip == '\0');
+
+ /*
+ * Now verify we can get a valid IP address for each interface
+ * on this system.
+ */
for(std::vector<char *>::iterator it = iface_names.begin();
it != iface_names.end(); ++it) {
ip = mh_network_get_ip_address(*it, buf, sizeof(buf));
@@ -69,6 +81,7 @@ class MhApiNetworkSuite : public CxxTest::TestSuite
ip)) >= 0);
infomsg.str("");
}
+
}
void testGetNetworkMAC(void)
--
1.7.6
12 years, 8 months
Windows UUID patch final
by Adam Stokes
After a very helpful gobby session we (stokes, zane, russell) we were able to flush out all cosmetic and logic issues.
This resolves rhbz 733483
12 years, 8 months
[PATCH] Win32 UUID Support v3
by Adam Stokes
- Fixes rhbz#733483 as a result
- Add support for generating UUIDs in Windows
- Stores first time agents UUID in registry for persistence
Signed-off-by: Adam Stokes <astokes(a)fedoraproject.org>
---
src/lib/CMakeLists.txt | 2 +-
src/lib/utilities.c | 27 ++++----------------
src/lib/utilities_linux.c | 19 ++++++++++++++
src/lib/utilities_private.h | 6 ++++
src/lib/utilities_windows.c | 56 +++++++++++++++++++++++++++++++++++++++++++
5 files changed, 88 insertions(+), 22 deletions(-)
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index 1cd41d4..610040f 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -32,7 +32,7 @@ target_link_libraries(msysconfig ${pcre_LIBRARIES} mcommon ${glib_LIBRARIES})
if(WIN32)
foreach (lib ${LIBS})
- target_link_libraries(${lib} wsock32 dnsapi)
+ target_link_libraries(${lib} wsock32 dnsapi rpcrt4)
install(TARGETS ${lib} DESTINATION sbin)
endforeach (lib ${LIBS})
else(WIN32)
diff --git a/src/lib/utilities.c b/src/lib/utilities.c
index 9d60de8..e4a24f9 100644
--- a/src/lib/utilities.c
+++ b/src/lib/utilities.c
@@ -382,6 +382,12 @@ mh_dnsdomainname(void)
}
const char *
+mh_uuid(void)
+{
+ return mh_os_uuid();
+}
+
+const char *
mh_hostname(void)
{
static char *hostname = NULL;
@@ -437,27 +443,6 @@ char *mh_file_first_line(const char *file)
return buffer;
}
-const char *
-mh_uuid(void)
-{
- static char *uuid = NULL;
-
-#ifdef __linux__
- if (uuid == NULL && g_file_test("/etc/machine-id", G_FILE_TEST_EXISTS)) {
- uuid = mh_file_first_line("/etc/machine-id");
- }
- if (uuid == NULL && g_file_test("/var/lib/dbus/machine-id", G_FILE_TEST_EXISTS)) {
- /* For pre-systemd machines */
- uuid = mh_file_first_line("/var/lib/dbus/machine-id");
- }
-#endif
-
- if(uuid) {
- mh_trace("Got uuid: %s", uuid);
- }
- return uuid;
-}
-
#ifdef WIN32
wchar_t *
char2wide(const char *str)
diff --git a/src/lib/utilities_linux.c b/src/lib/utilities_linux.c
index c848802..f0aae14 100644
--- a/src/lib/utilities_linux.c
+++ b/src/lib/utilities_linux.c
@@ -63,3 +63,22 @@ mh_os_dnsdomainname(void)
return dnsdomainname ? dnsdomainname : "";
}
+
+const char *
+mh_os_uuid(void)
+{
+ static char *uuid = NULL;
+
+ if (uuid == NULL && g_file_test("/etc/machine-id", G_FILE_TEST_EXISTS)) {
+ uuid = mh_file_first_line("/etc/machine-id");
+ }
+ if (uuid == NULL && g_file_test("/var/lib/dbus/machine-id", G_FILE_TEST_EXISTS)) {
+ /* For pre-systemd machines */
+ uuid = mh_file_first_line("/var/lib/dbus/machine-id");
+ }
+
+ if(uuid) {
+ mh_trace("Got uuid: %s", uuid);
+ }
+ return uuid;
+}
diff --git a/src/lib/utilities_private.h b/src/lib/utilities_private.h
index e39d22c..5219198 100644
--- a/src/lib/utilities_private.h
+++ b/src/lib/utilities_private.h
@@ -36,4 +36,10 @@
const char *
mh_os_dnsdomainname(void);
+/**
+ * Generate UUID
+ */
+const char *
+mh_os_uuid(void);
+
#endif /* __MH_UTILITIES_PRIVATE_H__ */
diff --git a/src/lib/utilities_windows.c b/src/lib/utilities_windows.c
index 26a3679..f61a4d9 100644
--- a/src/lib/utilities_windows.c
+++ b/src/lib/utilities_windows.c
@@ -18,9 +18,15 @@
#include "config.h"
+#include <windows.h>
+#include <rpc.h>
+#include <wchar.h>
#include "matahari/utilities.h"
+#include "matahari/logging.h"
#include "utilities_private.h"
+#define MAXUUIDLEN 255
+
const char *
mh_os_dnsdomainname(void)
{
@@ -32,3 +38,53 @@ mh_os_dnsdomainname(void)
return mh_domainname();
}
+
+const char *
+mh_os_uuid(void)
+{
+ UUID u;
+ HKEY hKey;
+ DWORD nSize = MAXUUIDLEN;
+ wchar_t szData[MAXUUIDLEN];
+ static char s[MAXUUIDLEN];
+ wchar_t *szValue = char2wide("UUID");
+ unsigned char *rs;
+ long lSuccess = RegOpenKey(HKEY_LOCAL_MACHINE,
+ L"SYSTEM\\CurrentControlSet\\services\\Matahari",
+ &hKey);
+
+ if (lSuccess != ERROR_SUCCESS) {
+ mh_debug("Could not open Matahari key from the registry: %ld",
+ lSuccess);
+ goto bail;
+ }
+
+ lSuccess = RegQueryValueEx(hKey, szValue, NULL, NULL, (LPBYTE) szData,
+ &nSize);
+ if (lSuccess == ERROR_SUCCESS) {
+ wcstombs(s, szData, (size_t) MAXUUIDLEN);
+ return s;
+ }
+
+ UuidCreate(&u);
+
+ if (UuidToStringA(&u, &rs) == RPC_S_OK) {
+ wchar_t *s_ws = NULL;
+ strncpy(s, (char *)rs, MAXUUIDLEN);
+ s[sizeof(s) - 1] = '\0';
+ RpcStringFreeA(&rs);
+ mh_trace("Got uuid: %s", s);
+ s_ws = char2wide(s);
+ lSuccess = RegSetValueEx(hKey, szValue, 0, REG_SZ, (CONST BYTE *)s_ws,
+ wcslen(s_ws) * sizeof(wchar_t *));
+ free(s_ws);
+ free(szValue);
+ if (lSuccess != ERROR_SUCCESS) {
+ goto bail;
+ }
+ }
+ return s;
+ bail:
+ free(szValue);
+ return "";
+}
--
1.7.6.1
12 years, 8 months
[PATCH] Win32 UUID Support v2
by Adam Stokes
- Fixes rhbz#733483 as a result
- Add support for generating UUIDs in Windows
- Stores first time agents UUID in registry for persistence
Signed-off-by: Adam Stokes <astokes(a)fedoraproject.org>
---
src/lib/CMakeLists.txt | 2 +-
src/lib/utilities.c | 31 ++++++++------------------
src/lib/utilities_linux.c | 19 ++++++++++++++++
src/lib/utilities_private.h | 6 +++++
src/lib/utilities_windows.c | 49 +++++++++++++++++++++++++++++++++++++++++++
5 files changed, 85 insertions(+), 22 deletions(-)
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index 1cd41d4..610040f 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -32,7 +32,7 @@ target_link_libraries(msysconfig ${pcre_LIBRARIES} mcommon ${glib_LIBRARIES})
if(WIN32)
foreach (lib ${LIBS})
- target_link_libraries(${lib} wsock32 dnsapi)
+ target_link_libraries(${lib} wsock32 dnsapi rpcrt4)
install(TARGETS ${lib} DESTINATION sbin)
endforeach (lib ${LIBS})
else(WIN32)
diff --git a/src/lib/utilities.c b/src/lib/utilities.c
index 9d60de8..30720a4 100644
--- a/src/lib/utilities.c
+++ b/src/lib/utilities.c
@@ -382,6 +382,16 @@ mh_dnsdomainname(void)
}
const char *
+mh_uuid(void)
+{
+ const char *res;
+
+ res = mh_os_uuid();
+
+ return res;
+}
+
+const char *
mh_hostname(void)
{
static char *hostname = NULL;
@@ -437,27 +447,6 @@ char *mh_file_first_line(const char *file)
return buffer;
}
-const char *
-mh_uuid(void)
-{
- static char *uuid = NULL;
-
-#ifdef __linux__
- if (uuid == NULL && g_file_test("/etc/machine-id", G_FILE_TEST_EXISTS)) {
- uuid = mh_file_first_line("/etc/machine-id");
- }
- if (uuid == NULL && g_file_test("/var/lib/dbus/machine-id", G_FILE_TEST_EXISTS)) {
- /* For pre-systemd machines */
- uuid = mh_file_first_line("/var/lib/dbus/machine-id");
- }
-#endif
-
- if(uuid) {
- mh_trace("Got uuid: %s", uuid);
- }
- return uuid;
-}
-
#ifdef WIN32
wchar_t *
char2wide(const char *str)
diff --git a/src/lib/utilities_linux.c b/src/lib/utilities_linux.c
index c848802..f0aae14 100644
--- a/src/lib/utilities_linux.c
+++ b/src/lib/utilities_linux.c
@@ -63,3 +63,22 @@ mh_os_dnsdomainname(void)
return dnsdomainname ? dnsdomainname : "";
}
+
+const char *
+mh_os_uuid(void)
+{
+ static char *uuid = NULL;
+
+ if (uuid == NULL && g_file_test("/etc/machine-id", G_FILE_TEST_EXISTS)) {
+ uuid = mh_file_first_line("/etc/machine-id");
+ }
+ if (uuid == NULL && g_file_test("/var/lib/dbus/machine-id", G_FILE_TEST_EXISTS)) {
+ /* For pre-systemd machines */
+ uuid = mh_file_first_line("/var/lib/dbus/machine-id");
+ }
+
+ if(uuid) {
+ mh_trace("Got uuid: %s", uuid);
+ }
+ return uuid;
+}
diff --git a/src/lib/utilities_private.h b/src/lib/utilities_private.h
index e39d22c..5219198 100644
--- a/src/lib/utilities_private.h
+++ b/src/lib/utilities_private.h
@@ -36,4 +36,10 @@
const char *
mh_os_dnsdomainname(void);
+/**
+ * Generate UUID
+ */
+const char *
+mh_os_uuid(void);
+
#endif /* __MH_UTILITIES_PRIVATE_H__ */
diff --git a/src/lib/utilities_windows.c b/src/lib/utilities_windows.c
index 26a3679..c87dfe4 100644
--- a/src/lib/utilities_windows.c
+++ b/src/lib/utilities_windows.c
@@ -18,9 +18,14 @@
#include "config.h"
+#include <windows.h>
+#include <rpc.h>
#include "matahari/utilities.h"
+#include "matahari/logging.h"
#include "utilities_private.h"
+#define MAXUUIDLEN 255
+
const char *
mh_os_dnsdomainname(void)
{
@@ -32,3 +37,47 @@ mh_os_dnsdomainname(void)
return mh_domainname();
}
+
+const char *
+mh_os_uuid(void)
+{
+ UUID u;
+ HKEY hKey;
+ DWORD nSize = MAXUUIDLEN;
+ wchar_t szData[MAXUUIDLEN];
+ static char s[MAXUUIDLEN];
+ wchar_t *szValue = char2wide("UUID");
+ unsigned char __RPC_FAR *rs;
+ long lSuccess = RegOpenKey(HKEY_LOCAL_MACHINE,
+ L"SYSTEM\\CurrentControlSet\\services\\Matahari",
+ &hKey);
+
+ if (lSuccess != ERROR_SUCCESS) {
+ mh_debug("Could not open Matahari key from the registry: %ld",
+ lSuccess);
+ goto bail;
+ }
+
+ lSuccess = RegQueryValueEx(hKey, szValue, NULL, NULL, (LPBYTE) szData,
+ &nSize);
+ if (lSuccess == ERROR_SUCCESS) {
+ wcstombs(s, szData, (size_t) MAXUUIDLEN);
+ return s;
+ }
+
+ UuidCreate(&u);
+
+ if (UuidToStringA(&u, &rs) == RPC_S_OK) {
+ strncpy(s,(char __RPC_FAR *)rs, MAXUUIDLEN);
+ s[MAXUUIDLEN - 1] = '\0';
+ RpcStringFreeA(&rs);
+ mh_trace("Got uuid: %s", s);
+ lSuccess = RegSetValueEx(hKey, szValue, 0, REG_SZ, (CONST BYTE *)char2wide(s), strlen(s) * sizeof(wchar_t *));
+ if (lSuccess != ERROR_SUCCESS) {
+ goto bail;
+ }
+ }
+ return s;
+ bail:
+ return "";
+}
\ No newline at end of file
--
1.7.6.1
12 years, 8 months
[PATCH] Add a Getting Started chapter.
by Russell Bryant
I wanted to document the support for logging in Matahari, but there
wasn't a good place for that information to go in the manual. I added a
"Getting Started" chapter which is intended to cover installation and
initial configuration tasks.
Signed-off-by: Russell Bryant <rbryant(a)redhat.com>
---
en-US/GettingStarted.xml | 129 ++++++++++++++++++++++++++++++++++++++++++++++
en-US/Matahari.xml | 1 +
2 files changed, 130 insertions(+), 0 deletions(-)
create mode 100644 en-US/GettingStarted.xml
diff --git a/en-US/GettingStarted.xml b/en-US/GettingStarted.xml
new file mode 100644
index 0000000..aefc857
--- /dev/null
+++ b/en-US/GettingStarted.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Matahari.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="Matahari-GettingStarted">
+ <title>Getting Started</title>
+
+ <para>This chapter covers installation and initial configuration for
+ Matahari. For some additional more advanced configuration topics, see <xref
+ linkend="Matahari-Security" />.</para>
+
+ <section id="GettingStarted-Installation">
+ <title>Installation</title>
+
+ <para>There are a few different ways to install Matahari, depending on the
+ operating system or Linux distribution being used. We aim to get Matahari
+ packaged in various Linux distributions to make installation as easy as
+ possible. If Matahari is not packaged in your Linux distribution, you can
+ fall back to installation from source. For source installation
+ instructures, please see the <ulink
+ url="https://github.com/matahari/matahari/blob/master/README.mkd">README</ulink>
+ included in the Matahari source.</para>
+
+ <section>
+ <title>Linux</title>
+
+ <para>Install Matahari via your Linux distribution's package management
+ system. For example, on Fedora:</para>
+
+ <screen><prompt>#</prompt> <userinput>yum install matahari</userinput></screen>
+ </section>
+
+ <section>
+ <title>Windows</title>
+
+ <warning>
+ <para>TODO: Document how to install on Windows.</para>
+ </warning>
+ </section>
+ </section>
+
+ <section id="GettingStarted-RunningBroker">
+ <title>Running a Broker</title>
+
+ <para>At this time, the <command>qpidd</command> broker is only supported
+ on Linux. Matahari comes with a <command>matahari-brokerd</command>
+ wrapper around <command>qpidd</command>. Start it via the include init
+ script or systemd unit.</para>
+
+ <screen><prompt>#</prompt> <userinput>/etc/init.d/matahari-broker start</userinput></screen>
+
+ <para>or</para>
+
+ <screen><prompt>#</prompt> <userinput>service matahari-broker start</userinput></screen>
+
+ <para>By defailt, the broker will listen for connections on the Matahari
+ port, <literal>49000</literal>. Customizations can be made by editing the
+ configuration file. On Fedora, the file is
+ <filename>/etc/sysconfig/matahari-broker</filename>.</para>
+ </section>
+
+ <section>
+ <title>Running Matahari Agents</title>
+
+ <para>How to run Matahari agents differs between Linux and Windows.</para>
+
+ <section>
+ <title>Linux</title>
+
+ <para>Each Matahari agent can be started via an init script or systemd
+ unit. For example, to start the <literal>Host</literal> agent:</para>
+
+ <screen><prompt>#</prompt> <userinput>/etc/init.d/<replaceable>matahari-host</replaceable> start</userinput></screen>
+
+ <para>or</para>
+
+ <screen><prompt>#</prompt> <userinput>service <replaceable>matahari-host</replaceable> start</userinput></screen>
+
+ <para>By default, Matahari agents on Linux assume that there is a broker
+ running locally. To have the agents connect to a different broker, or to
+ set other agent options, edit the configuration file. On Fedora, the
+ file is <filename>/etc/sysconfig/matahari</filename>.</para>
+
+ <section>
+ <title>Logging</title>
+
+ <para>By default, Matahari agents will send log entries to syslog
+ (levels <literal>NOTICE</literal>, <literal>WARNING</literal>,
+ <literal>ERROR</literal>, <literal>CRITICAL</literal>,
+ <literal>ALERT</literal>, and <literal>EMERGENCY</literal>). To get
+ more verbose debugging, the agent can be run manually from a terminal
+ with the verbose (<literal>-v</literal>) option, which will enable
+ having log entries sent to <literal>stderr</literal>. For each
+ <literal>-v</literal> passed, the verbosity goes up by one level. A
+ maximum of 3 <literal>-v</literal>s can be passed, which will enable
+ logger levels <literal>INFO</literal>, <literal>DEBUG</literal>, and
+ <literal>TRACE</literal>.</para>
+
+ <screen><prompt>#</prompt> <literal>matahari-qmf-<replaceable>host</replaceable>d -vvv</literal></screen>
+
+ <note>
+ <para>If the verbose option is used to have log output sent to
+ <literal>stderr</literal>, log entries will <emphasis>not</emphasis>
+ be sent to syslog.</para>
+ </note>
+ </section>
+ </section>
+
+ <section>
+ <title>Windows</title>
+
+ <warning>
+ <para>TODO: Document how to run agents on Windows.</para>
+ </warning>
+
+ <section>
+ <title>Logging</title>
+
+ <para>Logging is currently not supported on Windows. The only way to
+ get log output from an agent running on Windows is to run it in a
+ console with the verbose (<literal>-v</literal>) option. When run in
+ this manner, the log output will be sent to
+ <literal>stderr</literal>.</para>
+ </section>
+ </section>
+ </section>
+</chapter>
diff --git a/en-US/Matahari.xml b/en-US/Matahari.xml
index 8045741..2b7d0c7 100644
--- a/en-US/Matahari.xml
+++ b/en-US/Matahari.xml
@@ -6,6 +6,7 @@
<book>
<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="GettingStarted.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Agents.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="CreatingYourOwnAgent.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Security.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
--
1.7.6
12 years, 8 months
[PATCH] - Fix dns srv unittest to call correct routine
by Adam Stokes
Signed-off-by: Adam Stokes <astokes(a)fedoraproject.org>
---
src/tests/mh_hsa_windows.h | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/src/tests/mh_hsa_windows.h b/src/tests/mh_hsa_windows.h
index ee77188..484dece 100644
--- a/src/tests/mh_hsa_windows.h
+++ b/src/tests/mh_hsa_windows.h
@@ -47,9 +47,8 @@ class MhHsaSuite : public CxxTest::TestSuite
{
char *target;
const char *host = "_matahari._tcp.matahariproject.org";
- int ret = 0;
- target = mh_os_dnssrv_lookup(host);
+ target = mh_dnssrv_lookup(host);
TS_ASSERT(target != NULL);
TS_ASSERT((mh_test_is_match("^www\\.matahariproject\\.org$",
target)) >= 0);
--
1.7.6.1
12 years, 8 months
dont forget windows
by Adam Stokes
Hi,
I just wanted to send out a gentle reminder not to let Windows be an
afterthought. I've run into several issues where I've had to scramble
to make Windows agents work after a commit or update.
The latest being rhbz
https://bugzilla.redhat.com/show_bug.cgi?id=733483 which is actually a
major one since it required the completion of UUID generation for
Windows.
Thanks!
Adam
12 years, 8 months
Matahari manual in git
by Russell Bryant
Greetings,
A few people just got into a discussion on IRC about how the Matahari
manual is developed and versioned. Right now, it's in the same
repository with the code. Now that we have a v0.4 branch, we need to
decide between two options:
1) Develop and version the manual just like the code.
2) Have a single version of the manual, and ensure that documentation
for new features (post v0.4) indicates the version they were first
introduced. With this option, we'd just move the documentation into its
own repository to avoid any confusion.
Having one version of the manual to maintain is certainly easier, so I'm
thinking we should take option #2 until we feel like there is a really
good reason to branch the manual.
If there are no objections, I'll get things moved around next week.
Thanks,
--
Russell Bryant
12 years, 8 months