summaryrefslogtreecommitdiffstats
path: root/bin/templ
diff options
context:
space:
mode:
authorJustin Davis <jrcd83@gmail.com>2011-10-21 22:46:21 +0200
committerJustin Davis <jrcd83@gmail.com>2011-10-21 22:46:21 +0200
commit879bbf01560e348d93c6903786fabae0607a59e6 (patch)
treedddf7f119a44d9754a1600edb42dfdcb4f1a21ff /bin/templ
parent623989ed692a74f40a162bb7a198ac8ffaf8215e (diff)
downloadgenpkg-879bbf01560e348d93c6903786fabae0607a59e6.tar.gz
genpkg-879bbf01560e348d93c6903786fabae0607a59e6.tar.xz
Create lib/ directory for meta generator and template scripts.
Diffstat (limited to 'bin/templ')
-rwxr-xr-xbin/templ/pbfields91
-rwxr-xr-xbin/templ/perl-pkg120
2 files changed, 0 insertions, 211 deletions
diff --git a/bin/templ/pbfields b/bin/templ/pbfields
deleted file mode 100755
index 247b18c..0000000
--- a/bin/templ/pbfields
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/awk -f
-
-BEGIN {
- fieldstr = "pkgname pkgver pkgrel pkgdesc epoch" \
- " *arch *license *options" \
- " install changelog" \
- " *depends *makedepends *checkdepends *optdepends" \
- " *conflicts *provides" \
- " url *source *noextract *md5sums *sha512sums"
- max = split(fieldstr, fields)
- for(i=1; i<=max; i++) {
- if(sub(/^[*]/, "", fields[i])) arrfield[fields[i]] = 1;
- else strfield[fields[i]] = 1;
- }
-
- COLS = 78; FS = "\n"; RS = ""
-}
-
-NF < 2 { next }
-
-$1 == "packager" { packager = $2 }
-
-$1 == "maintainer" { maintainer = $2 }
-
-$1 ~ /depends$|conflicts|provides|source/ { quotevals() }
-
-$1 == "pkgdesc" {
- gsub(/[$"`]/, "\\\\&", $2)
- $2 = sprintf("\"%s\"", $2)
-}
-
-strfield[$1] { output[$1] = $2 }
-
-arrfield[$1] {
- output[$1] = wraparray(length($1) + 2)
-}
-
-END {
- if(!maintainer && !packager) { packager = "Anonymous" }
- if(maintainer) print "# Maintainer: " maintainer
- else if(packager) print "# Packager: " packager
- print ""
-
- OFS = "="; ORS = "\n";
- for(i=1; i<=max; i++) {
- name = fields[i]
- if(name in output) print name, output[name]
- }
-}
-
-function wraparray (indent)
-{
- if(NF == 1) return "()" # this shouldn't happen but just in case.
-
- line = ""
- delete lines
- linecount = 0
-
- i = 2
- while(i <= NF) {
- linelen = length(line)
-
- if((indent + linelen + 1 + length($i) > COLS) && linelen > 0) {
- lines[++linecount] = line
- line = ""
- } else {
- if(linelen == 0) line = $(i++)
- else line = line " " $(i++)
- }
- }
-
- if(length(line) > 0) lines[++linecount] = line
-
- indtxt = sprintf("%" indent "s", "")
- txt = "(" lines[1]
- for(i=2; i<=linecount; i++) txt = txt "\n" indtxt lines[i]
- txt = txt ")"
-
- return txt
-}
-
-function quotevals ()
-{
- for(i=2; i<=NF; i++) $i = bashquote($i)
-}
-
-function bashquote (val)
-{
- if(val ~ /[$]/) return sprintf("\"%s\"", val)
- return sprintf("'%s'", val)
-}
diff --git a/bin/templ/perl-pkg b/bin/templ/perl-pkg
deleted file mode 100755
index e29ba05..0000000
--- a/bin/templ/perl-pkg
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env perl
-
-use warnings 'FATAL' => 'all';
-use strict;
-
-my %ACTIONS_OF =
- ('MM', {
- 'build' => [ q{/usr/bin/perl Makefile.PL}, q{make} ],
- 'check' => [ q{make test} ],
- 'package' => [ q{make DESTDIR="$pkgdir" install} ]
- },
- 'MB', {
- 'build' => [ q{/usr/bin/perl Build.PL}, q{./Build} ],
- 'check' => [ q{./Build test} ],
- 'package' => [ q{./Build install} ]
- });
-
-my %FUNCFMTS;
-$FUNCFMTS{'build'} = <<'END_FMT';
-build() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
- PERL_AUTOINSTALL=--skipdeps \
- PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
- PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
- MODULEBUILDRC=/dev/null
-
- cd "$_distdir"
-%s
- )
-}
-END_FMT
-
-$FUNCFMTS{'check'} = <<'END_FMT';
-check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
-%s
- )
-}
-END_FMT
-
-$FUNCFMTS{'package'} = <<'END_FMT';
-package() {
- cd "$_distdir"
-%s
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
-}
-END_FMT
-
-my $PBEND = <<'END_END';
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
-END_END
-
-# Convert actions array into lines of bash to insert into template.
-sub bashify
-{
- my (@lines) = @_;
- my $txt = join qq{\n}, map { s/^/ /gm; $_ } @lines;
- return $txt
-}
-
-sub mungevars
-{
- my ($vars) = @_;
- $vars->{'options'} = [ '!emptydirs' ];
-
- # Replace version string in 'source' entry & 'distdir' with
- # $pkgver parameter.
- for my $v (qw/pkgver distdir/) {
- die "$0: $v is undefined" unless defined $vars->{$v}[0];
- }
- my $ver = $vars->{'pkgver'}[0];
- s/\Q$ver\E/\${pkgver}/g for ($vars->{'source'}[0], $vars->{'distdir'}[0]);
-
- return;
-}
-
-sub printpb
-{
- my ($btype, $pbvars) = @_;
- my $acts = $ACTIONS_OF{$btype}
- or die "$0: unknown build type ($btype)\n";
-
- my $distdir = $pbvars->{'distdir'}[0];
- print qq{_distdir="\${srcdir}/$distdir"\n};
- print "\n";
-
- for my $func (qw/build check package/) {
- my $funclines = $acts->{$func};
- printf $FUNCFMTS{$func}, bashify(@$funclines);
- print "\n";
- }
- print $PBEND;
-}
-
-sub readvars
-{
- local $/ = ""; # split records on empty lines
- my (%pbvars);
- while (<STDIN>) {
- my ($name, @vals) = split /\n/;
- $pbvars{$name} = [ @vals ];
- }
- return \%pbvars;
-}
-
-sub main
-{
- my ($type) = @_;
- my $vars = readvars();
- mungevars($vars);
- printpb($type, $vars);
-}
-
-my $type = shift or die qq{$0: please provide "MM" or "MB" as argument\n};
-main($type);