Generate our own copies of Gentoo files (.ebuild, and a digest record).
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 27 May 2003 11:55:49 +0000 (11:55 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 27 May 2003 11:55:49 +0000 (11:55 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@697 fdb21ef1-2011-0410-befe-b5e4ea1792b1

HOWTO/release.txt
README
SConstruct
gentoo/scons.ebuild.in [new file with mode: 0644]

index d9c0ae88b762b655bca8238780e3e9f603474370..283c4abbf1280257759f6000bc8612eb5f8eaaea 100644 (file)
@@ -327,6 +327,23 @@ Things to do to release a new version of SCons:
                         [wait until business hours so the announcement
                        hits mailboxes while U.S. workers are active]
 
+        Notify Gentoo Linux of the update
+
+                For now, we will do this by entering a bug report, and
+                attaching the files in build/gentoo to the report.  Go
+                to:
+
+                        http://bugs.gentoo.org/
+
+                This requires an account (based on your email address)
+                and a certain amount of Bugzilla-based navigation,
+                but nothing that's too difficult.
+
+                This is just my best stab at a process that will work
+                for Gentoo.  This process may change if the Gentoo
+                developers come back and want something submitted in
+                some other form.
+
        Notify www.cmtoday.com/contribute.html
 
                 [This guy wants an announcement no more frequently than
diff --git a/README b/README
index 47c90906c8138c2618eeca5106c32e4e3dfe80f9..965a623a07f03d0fb4facfb217422d4675f904a8 100644 (file)
--- a/README
+++ b/README
@@ -316,6 +316,9 @@ etc/
         and which we don't want to force people to have to install on
         their own just to help out with SCons development.
 
+gentoo/
+        Stuff to generate files for Gentoo Linux.
+
 HOWTO/
         Documentation of SCons administrative procedures (making a
         change, releasing a new version).  Maybe other administrative
index 59f70881a24230fe728d086e59abba6576d96b07..570570d7d664918d0f7ea5b483bde2edc0aea592 100644 (file)
@@ -241,6 +241,7 @@ def SCons_revision(target, source, env):
         line = string.replace(line, '__FILE'      + '__', str(source[0]))
         line = string.replace(line, '__REVISION'  + '__', env['REVISION'])
         line = string.replace(line, '__VERSION'   + '__', env['VERSION'])
+        line = string.replace(line, '__NULL'      + '__', '')
         outf.write(line)
     inf.close()
     outf.close()
@@ -733,6 +734,37 @@ for p in [ scons ]:
                     deb,
                     "dpkg --fsys-tarfile $SOURCES | (cd $TEST_DEB_DIR && tar -xf -)")
 
+
+    #
+    # Generate portage files for submission to Gentoo Linux.
+    #
+    gentoo = os.path.join('build', 'gentoo')
+    ebuild = os.path.join(gentoo, 'scons-%s.ebuild' % version)
+    digest = os.path.join(gentoo, 'files', 'digest-scons-%s' % version)
+    env.Command(ebuild, os.path.join('gentoo', 'scons.ebuild.in'), SCons_revision)
+    def Digestify(target, source, env):
+        import md5
+       def hexdigest(s):
+           """Return a signature as a string of hex characters.
+           """
+           # NOTE:  This routine is a method in the Python 2.0 interface
+           # of the native md5 module, but we want SCons to operate all
+           # the way back to at least Python 1.5.2, which doesn't have it.
+           h = string.hexdigits
+           r = ''
+           for c in s:
+               i = ord(c)
+               r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
+           return r
+        src = source[0].rfile()
+        contents = open(str(src)).read()
+        sig = hexdigest(md5.new(contents).digest())
+        bytes = os.stat(str(src))[6]
+        open(str(target[0]), 'w').write("MD5 %s %s %d\n" % (sig,
+                                                            src.name,
+                                                            bytes))
+    env.Command(digest, tar_gz, Digestify)
+
     #
     # Use the Python distutils to generate the appropriate packages.
     #
diff --git a/gentoo/scons.ebuild.in b/gentoo/scons.ebuild.in
new file mode 100644 (file)
index 0000000..36f83db
--- /dev/null
@@ -0,0 +1,25 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $__NULL__Header: /home/cvsroot/gentoo-x86/dev-util/scons/scons-__VERSION__.ebuild,v 1.2 2003/02/13 12:00:11 vapier Exp __NULL__$
+
+MY_P=${PN}-__VERSION__
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="Extensible python-based build utility"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://www.scons.org"
+
+SLOT="0"
+LICENSE="as-is"
+KEYWORDS="~x86 ~sparc"
+
+DEPEND=">=dev-lang/python-2.0"
+
+src_compile() {
+        python setup.py build
+}
+
+src_install () {
+        python setup.py install --root=${D}
+        dodoc *.txt PKG-INFO MANIFEST
+        doman scons.1
+}