[svn:parrot] r43248 - trunk/runtime/parrot/library
fperrad at svn.parrot.org
fperrad at svn.parrot.org
Sat Dec 26 17:14:13 UTC 2009
Author: fperrad
Date: Sat Dec 26 17:14:12 2009
New Revision: 43248
URL: https://trac.parrot.org/parrot/changeset/43248
Log:
[distutils] add changelog & copyright (debian)
Modified:
trunk/runtime/parrot/library/distutils.pir
Modified: trunk/runtime/parrot/library/distutils.pir
==============================================================================
--- trunk/runtime/parrot/library/distutils.pir Sat Dec 26 17:00:21 2009 (r43247)
+++ trunk/runtime/parrot/library/distutils.pir Sat Dec 26 17:14:12 2009 (r43248)
@@ -2479,6 +2479,8 @@
.param string str
$P0 = split '"', str
str = join '\"', $P0
+ $P0 = split "\n", str
+ str = join "\\n", $P0
.return (str)
.end
@@ -3108,6 +3110,8 @@
=head3 Step control
+See L<http://www.debian.org/doc/maint-guide/>.
+
=over 4
=item control_dir
@@ -3137,6 +3141,20 @@
spew($S0, $S1, 1 :named('verbose'))
L2:
+ $S0 = get_deb('changelog', kv :flat :named)
+ $I0 = file_exists($S0)
+ if $I0 goto L4
+ $S1 = mk_deb_changelog(kv :flat :named)
+ spew($S0, $S1, 1 :named('verbose'))
+ L4:
+
+ $S0 = get_deb('copyright', kv :flat :named)
+ $I0 = file_exists($S0)
+ if $I0 goto L5
+ $S1 = mk_deb_copyright(kv :flat :named)
+ spew($S0, $S1, 1 :named('verbose'))
+ L5:
+
$S0 = get_deb('rules', kv :flat :named)
$S1 = mk_deb_rules(kv :flat :named)
spew($S0, $S1, 1 :named('verbose'))
@@ -3188,17 +3206,23 @@
.local string packager
packager = get_value('packager', "you <you at you.org>" :named('default'), kv :flat :named)
+ .local string abstract
+ abstract = get_value('abstract', kv :flat :named)
+
.local string description
- description = get_value('description', kv :flat :named)
+ $S0 = get_value('description', kv :flat :named)
+ $P0 = split "\n", $S0
+ description = join "\n ", $P0
$P0 = new 'FixedStringArray'
- set $P0, 6
+ set $P0, 7
$P0[0] = name
$P0[1] = packager
$P0[2] = parrot_version
$P0[3] = name
$P0[4] = parrot_version
- $P0[5] = description
+ $P0[5] = abstract
+ $P0[6] = description
$S0 = <<'TEMPLATE'
Source: parrot-%s
@@ -3212,6 +3236,90 @@
Architecture: any
Depends: parrot-minimal (= %s)
Description: %s
+ %s
+TEMPLATE
+ $S0 = sprintf $S0, $P0
+ .return ($S0)
+.end
+
+.sub 'mk_deb_changelog' :anon
+ .param pmc kv :slurpy :named
+
+ .local string name
+ name = get_name(kv :flat :named)
+
+ .local string version
+ version = get_version(kv :flat :named)
+
+ .local string release
+ release = get_value('release', '1' :named('default'), kv :flat :named)
+
+ .local string packager
+ packager = get_value('packager', "you <you at you.org>" :named('default'), kv :flat :named)
+
+ .local string timestamp
+ timestamp = get_timestamp()
+
+ $P0 = new 'FixedStringArray'
+ set $P0, 5
+ $P0[0] = name
+ $P0[1] = version
+ $P0[2] = release
+ $P0[3] = packager
+ $P0[4] = timestamp
+
+ $S0 = <<'TEMPLATE'
+parrot-%s (%s-%s) unstable; urgency=low
+
+ * Created by distutils.
+
+ -- %s %s
+TEMPLATE
+ $S0 = sprintf $S0, $P0
+ .return ($S0)
+.end
+
+.sub 'mk_deb_copyright' :anon
+ .param pmc kv :slurpy :named
+
+ .local string packager
+ packager = get_value('packager', "you <you at you.org>" :named('default'), kv :flat :named)
+
+ .local string timestamp
+ timestamp = get_timestamp()
+
+ .local string project_uri
+ project_uri =get_value('project_uri', kv :flat :named)
+
+ .local string copyright_holder
+ copyright_holder = get_value('copyright_holder', kv :flat :named)
+
+ .local string license
+ license = ''
+ $S0 = get_license_file()
+ if $S0 == '' goto L1
+ license = slurp($S0)
+ L1:
+
+ $P0 = new 'FixedStringArray'
+ set $P0, 5
+ $P0[0] = packager
+ $P0[1] = timestamp
+ $P0[2] = project_uri
+ $P0[3] = copyright_holder
+ $P0[4] = license
+
+ $S0 = <<'TEMPLATE'
+This package was debianized by %s on
+%s
+
+It was downloaded from %s
+
+Copyright for the code is held by: %s
+
+License:
+
+%s
TEMPLATE
$S0 = sprintf $S0, $P0
.return ($S0)
@@ -3234,15 +3342,16 @@
$S0 = <<'TEMPLATE'
#!/usr/bin/make -f
+# -*- makefile -*-
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
configure: configure-stamp
-
configure-stamp:
dh_testdir
touch configure-stamp
build: build-stamp
-
build-stamp: configure-stamp
dh_testdir
parrot setup.pir build
@@ -3259,10 +3368,10 @@
dh_testdir
dh_testroot
dh_clean -k
- parrot setup.pir --root $(CURDIR)/tmp install
+ parrot setup.pir --root $(CURDIR)/debian/tmp install
dh_installdirs
find $(CURDIR)/debian/tmp -type f
- dh_install --sourcedir=$(CURDIR)/tmp --list-missing
+ dh_install --sourcedir=$(CURDIR)/debian/tmp --list-missing
# Build architecture-independent files here.
binary-indep: build install
@@ -3340,8 +3449,17 @@
.return ($S0)
.end
+.sub 'get_timestamp' :anon
+ $P0 = open 'date --rfc-2822', 'rp'
+ $S0 = $P0.'readline'()
+ $P0.'close'()
+ .return ($S0)
+.end
+
=head3 Step ebuild
+See L<http://devmanual.gentoo.org/>.
+
=over 4
=item description
@@ -3444,6 +3562,10 @@
parrot setup.pir --root ${D} install || die "install failed"
%s
}
+
+src_test() {
+ parrot setup.pir test || die "test failed"
+}
TEMPLATE
$S0 = sprintf $S0, $P0
.return ($S0)
More information about the parrot-commits
mailing list