diff options
author | Justin Davis <jrcd83@gmail.com> | 2011-10-21 22:46:21 +0200 |
---|---|---|
committer | Justin Davis <jrcd83@gmail.com> | 2011-10-21 22:46:21 +0200 |
commit | 879bbf01560e348d93c6903786fabae0607a59e6 (patch) | |
tree | dddf7f119a44d9754a1600edb42dfdcb4f1a21ff /bin/templ | |
parent | 623989ed692a74f40a162bb7a198ac8ffaf8215e (diff) | |
download | genpkg-879bbf01560e348d93c6903786fabae0607a59e6.tar.gz genpkg-879bbf01560e348d93c6903786fabae0607a59e6.tar.xz |
Create lib/ directory for meta generator and template scripts.
Diffstat (limited to 'bin/templ')
-rwxr-xr-x | bin/templ/pbfields | 91 | ||||
-rwxr-xr-x | bin/templ/perl-pkg | 120 |
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); |