Commits

Steven Knight  committed 3f5491c

Generate our own copies of Gentoo files (.ebuild, and a digest record).

  • Participants
  • Parent commits 18e4265

Comments (0)

Files changed (4)

File HOWTO/release.txt

                         [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
         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
         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()
                     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.
     #

File gentoo/scons.ebuild.in

+# 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
+}