summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2007-12-06 20:04:26 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2007-12-06 20:04:26 +0000
commitfb89e1265c288b619f04c0f6c06193c8e1a0a46d (patch)
tree35a2806eff0093b32533375a658b1a2cf0f02e38
parenta780b447814eb7c2c42251236d944dbb277d79d7 (diff)
Ångström autobuilder: new RSS generator
-rwxr-xr-xcontrib/angstrom/build-release.sh2
-rw-r--r--contrib/angstrom/rss.php57
-rw-r--r--contrib/angstrom/rss2.php63
3 files changed, 95 insertions, 27 deletions
diff --git a/contrib/angstrom/build-release.sh b/contrib/angstrom/build-release.sh
index e487669e0d..7ba5f8bf3b 100755
--- a/contrib/angstrom/build-release.sh
+++ b/contrib/angstrom/build-release.sh
@@ -29,7 +29,7 @@ do_build() {
do_report_success() {
- echo "$(date -u +%Y%M%d%H%M) $target ($BUILD_MODE) built for $machine" >> autobuilder.log
+ echo "$(date -u +%s) $target $BUILD_MODE $machine" >> autobuilder.log
}
# No graphics
diff --git a/contrib/angstrom/rss.php b/contrib/angstrom/rss.php
index 8970ba1797..cf5a9e0218 100644
--- a/contrib/angstrom/rss.php
+++ b/contrib/angstrom/rss.php
@@ -1,43 +1,48 @@
-<? print('<?xml version="1.0" encoding="utf-8"?>');?>
+<?php echo ('<?xml version="1.0" encoding="utf-8"?>'); ?>
<rss version="2.0" xml:base="http://www.angstrom-distribution.org/unstable/autobuild/" xmlns:dc="http://purl.org/dc/elements/1.1/">
-<channel>
- <title>Ångstrom autobuilder updates </title>
- <link>http://www.angstrom-distribution.org/unstable/autobuild</link>
- <description></description>
- <language>en</language>
+ <channel>
+ <title>Ångström autobuilder updates</title>
+ <link>http://www.angstrom-distribution.org/unstable/autobuild/</link>
+ <description></description>
+ <language>en</language>
<?php
$base_path = "/home/angstrom/website/unstable/autobuild";
-if ($handle = opendir("$base_path")) {
+if ($handle = opendir("$base_path"))
+{
+ while (false !== ($file = readdir($handle)))
+ {
+ if(!(is_dir($file) && $file != "." && $file != ".."))
+ {
+ continue;
+ }
- while (false !== ($file = readdir($handle))) {
- if(is_dir($file) && $file != "." && $file != "..") {
- $second_handle = opendir("$base_path/$file/");
- while (false !== ($file2 = readdir($second_handle))) {
- if(is_file("/$base_path/$file/$file2")) {
- $fmtime = filemtime("$file/$file2");
+ $second_handle = opendir("$base_path/$file/");
-print("<item>\n");
-print("<title>$file/$file2 uploaded</title>\n");
-print(" <link>http://www.angstrom-distribution.org/unstable/autobuild/$file/$file2</link>\n");
+ while (false !== ($file2 = readdir($second_handle)))
+ {
+ if(is_file("/$base_path/$file/$file2"))
+ {
+ $fmtime = filemtime("$file/$file2");
-$rsstime = strftime("%a, %d %b %Y %T +0100", $fmtime);
+ echo "<item>\n"
+ echo "<title>$file/$file2 uploaded</title>\n";
+ echo " <link>http://www.angstrom-distribution.org/unstable/autobuild/$file/$file2</link>\n";
-print("<pubDate>$rsstime</pubDate>\n");
-print("<dc:creator>Angstrom autobuilder</dc:creator>");
-print("</item>\n");
+ $rsstime = strftime("%a, %d %b %Y %T +0100", $fmtime);
- }
+ echo "<pubDate>$rsstime</pubDate>\n";
+ echo "<dc:creator>Angstrom autobuilder</dc:creator>";
+ echo "</item>\n";
}
- closedir($second_handle);
- }
+ }
+ closedir($second_handle);
}
+
closedir($handle);
}
?>
-</channel>
+ </channel>
</rss>
-
-
diff --git a/contrib/angstrom/rss2.php b/contrib/angstrom/rss2.php
new file mode 100644
index 0000000000..995c344e14
--- /dev/null
+++ b/contrib/angstrom/rss2.php
@@ -0,0 +1,63 @@
+<?php
+
+/*
+ * This generator expect only log from autobuilder in simple format:
+ * TIME_OF_BUILD BUILD_TARGET BUILD_MODE MACHINE
+ *
+ * where TIME_OF_BUILD is epoch
+ *
+ * All what it does is parsing log and output it in reverse order (new builds
+ * first) in RSS 2.0 format.
+ *
+ * (C) 2007 Marcin Juszkiewicz
+ *
+ * License: MIT
+ *
+ */
+
+$build_link_base = 'http://www.angstrom-distribution.org/unstable/autobuild/';
+
+$builder_log_date = file('autobuilder.log');
+
+if(empty($builder_log_date))
+ die("No logs\n");
+
+$builder_log_date = array_reverse($builder_log_date);
+
+$rss_xml = new xmlWriter();
+
+if(!$rss_xml)
+ die("Unable to create XML Writer\n");
+
+$rss_xml->openMemory();
+
+$rss_xml->startDocument('1.0','utf-8');
+$rss_xml->startElement('rss');
+$rss_xml->writeAttribute('version', '2.0');
+
+$rss_xml->startElement('channel');
+
+$rss_xml->writeElement('title', 'Ångström autobuilder updates');
+$rss_xml->writeElement('link', $build_link_base);
+$rss_xml->writeElement('description', 'Ångström autobuilder updates list');
+
+foreach($builder_log_date as $build)
+{
+ $build = str_replace("\n", "", $build);
+ $data = explode(' ', $build);
+
+ $rss_xml->startElement('item');
+ $rss_xml->writeElement('title', "{$data[1]} ({$data[2]}) built for {$data[3]}");
+ $rss_xml->writeElement('link', "{$build_link_base}{$data[3]}/");
+ $rss_xml->writeElement('pubDate', date('r', $data[0]));
+
+ $rss_xml->endElement();
+}
+
+$rss_xml->endElement();
+$rss_xml->endElement();
+
+echo $rss_xml->outputMemory(true);
+
+echo "\n";
+?>