aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--g_octave/ebuild.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/g_octave/ebuild.py b/g_octave/ebuild.py
index 41d3a30..442eee3 100644
--- a/g_octave/ebuild.py
+++ b/g_octave/ebuild.py
@@ -24,6 +24,7 @@ from .description_tree import *
from .exception import EbuildException
from .compat import open
+import getpass
import os
import portage
import re
@@ -116,6 +117,7 @@ class Ebuild:
ebuild_path = os.path.join(self._config.overlay, 'g-octave', self.pkgname)
ebuild_file = os.path.join(ebuild_path, '%s-%s.ebuild' % (self.pkgname, self.version))
+ metadata_file = os.path.join(ebuild_path, 'metadata.xml')
if not os.path.exists(ebuild_path):
os.makedirs(ebuild_path, 0o755)
@@ -144,6 +146,20 @@ RDEPEND="${DEPEND}
\t%(rdepend)s"
"""
+ metadata = """\
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+\t<herd>no-herd</herd>
+\t<maintainer>
+\t\t<email>%(username)s@%(hostname)s</email>
+\t</maintainer>
+\t<longdescription lang="en">
+\t\tThe files on this directory was created by g-octave.
+\t</longdescription>
+</pkgmetadata>
+"""
+
description = len(self.__desc.description) > 70 and \
self.__desc.description[:70]+'...' or self.__desc.description
@@ -192,6 +208,17 @@ RDEPEND="${DEPEND}
with open(ebuild_file, 'w') as fp:
fp.write(ebuild % vars)
+ if not os.path.exists(metadata_file):
+ try:
+ hostname = os.uname()[1]
+ except:
+ hostname = 'localhost'
+ with open(metadata_file, 'w') as fp:
+ fp.write(metadata % {
+ 'username': getpass.getuser(),
+ 'hostname': hostname,
+ })
+
if manifest:
proc = self.__pkg_manager.create_manifest(ebuild_file)