summaryrefslogtreecommitdiff
path: root/utils/build-releasenote
blob: b25a87c2c4cf9e7dc5f6e0122e91cc05f1f014be (plain)
  1. #!/bin/bash
  2. VERSION=`head -n1 packaging/debian/changelog | sed 's/.*(\([^)]*\)).*/\1/'`
  3. {
  4. sed "s/__VERSION__/$VERSION/g" < utils/releasenote.header
  5. head -n$(( $(grep -n '^ --' packaging/debian/changelog | head -n1 | cut -f1 -d:) - 2 )) packaging/debian/changelog | tail -n+3
  6. sed "s/__VERSION__/$VERSION/g" < utils/releasenote.footer
  7. } > "website/news/release-$VERSION.mdwn"
  8. git add "website/news/release-$VERSION.mdwn"
  9. checksums() {
  10. echo "checksums for the monkeysphere ${VERSION%%-*} release:"
  11. echo
  12. echo "MD5:"
  13. md5sum "monkeysphere_${VERSION%%-*}.orig.tar.gz"
  14. echo
  15. echo "SHA1:"
  16. sha1sum "monkeysphere_${VERSION%%-*}.orig.tar.gz"
  17. echo
  18. echo "SHA256:"
  19. sha256sum "monkeysphere_${VERSION%%-*}.orig.tar.gz"
  20. }
  21. checksums
  22. temprelease=$(mktemp ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX)
  23. trap "rm -f $temprelease" EXIT
  24. set -e
  25. head -n$(( $(grep -n '^-----BEGIN PGP SIGNED MESSAGE-----$' website/download.mdwn | head -n1 | cut -f1 -d:) - 1 )) website/download.mdwn | \
  26. sed -e 's|http://archive\.monkeysphere\.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_[[:digit:].]\+\.orig\.tar\.gz|http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_'"${VERSION%%-*}"'.orig.tar.gz|g' >$temprelease
  27. checksums | gpg --no-tty --clearsign --default-key EB8AF314 >>$temprelease
  28. cat utils/download.mdwn.footer >>$temprelease
  29. mv "$temprelease" website/download.mdwn
  30. trap - EXIT
  31. set +e
  32. git add website/download.mdwn
  33. gpg --verify website/download.mdwn
lass="hl slc">#
  • # This file has not undergone any whitespace cleanup.
  • #
  • # printing routines for ar, ap
  • #
  • use Error qw(:try);
  • use LedgerSMB::Template;
  • # any custom scripts for this one
  • if ( -f "bin/custom/arapprn.pl" ) {
  • eval { require "bin/custom/arapprn.pl"; };
  • }
  • if ( -f "bin/custom/$form->{login}_arapprn.pl" ) {
  • eval { require "bin/custom/$form->{login}_arapprn.pl"; };
  • }
  • 1;
  • # end of main
  • sub print {
  • if ( $form->{media} !~ /screen/ ) {
  • $form->error( $locale->text('Select postscript or PDF!') )
  • if $form->{format} !~ /(postscript|pdf)/;
  • $old_form = new Form;
  • for ( keys %$form ) { $old_form->{$_} = $form->{$_} }
  • }
  • if ( $form->{formname} =~ /(check|receipt)/ ) {
  • if ( $form->{media} eq 'screen' ) {
  • $form->error( $locale->text('Select postscript or PDF!') )
  • if $form->{format} !~ /(postscript|pdf)/;
  • }
  • }
  • if ( !$form->{invnumber} ) {
  • $invfld = 'sinumber';
  • $invfld = 'vinumber' if $form->{ARAP} eq 'AP';
  • $form->{invnumber} = $form->update_defaults( \%myconfig, $invfld );
  • if ( $form->{media} eq 'screen' ) {
  • if ( $form->{media} eq 'screen' ) {
  • &update;
  • exit;
  • }
  • }
  • }
  • if ( $form->{formname} =~ /(check|receipt)/ ) {
  • if ( $form->{media} ne 'screen' ) {
  • for (qw(action header)) { delete $form->{$_} }
  • $form->{invtotal} = $form->{oldinvtotal};
  • foreach $key ( keys %$form ) {
  • $form->{$key} =~ s/&/%26/g;
  • $form->{previousform} .= qq|$key=$form->{$key}&|;
  • }
  • chop $form->{previousform};
  • $form->{previousform} = $form->escape( $form->{previousform}, 1 );
  • }
  • if ( $form->{paidaccounts} > 1 ) {
  • if ( $form->{"paid_$form->{paidaccounts}"} ) {
  • &update;
  • exit;
  • }
  • elsif ( $form->{paidaccounts} > 2 ) {
  • # select payment
  • &select_payment;
  • exit;
  • }
  • }
  • else {
  • $form->error( $locale->text('Nothing to print!') );
  • }
  • }
  • if ( $filename = $queued{ $form->{formname} } ) {
  • $form->{queued} =~ s/$form->{formname} $filename//;
  • unlink "${LedgerSMB::Sysconfig::spool}/$filename";
  • $filename =~ s/\..*$//g;
  • }
  • else {
  • $filename = time;
  • $filename .= $$;
  • }
  • $filename .= ( $form->{format} eq 'postscript' ) ? '.ps' : '.pdf';
  • if ( $form->{media} ne 'screen' ) {
  • $form->{OUT} = "${LedgerSMB::Sysconfig::spool}/$filename";
  • $form{printmode} = '>';
  • }
  • $form->{queued} .= " $form->{formname} $filename";
  • $form->{queued} =~ s/^ //;
  • $printform = new Form;
  • for ( keys %$form ) {
  • $printform->{$_} = $form->{$_};
  • }
  • if ( $form->{printandpost} ) {
  • $form->{action} = 'post';
  • delete $form->{printandpost};
  • &post;
  • }
  • else {
  • &{"print_$form->{formname}"}( $old_form, 1 );
  • }
  • }
  • sub print_check {
  • my ( $old_form, $i ) = @_;
  • $display_form =
  • ( $form->{display_form} ) ? $form->{display_form} : "display_form";
  • if ( $form->{"paid_$i"} ) {
  • @a = ();
  • if ( exists $form->{longformat} ) {
  • $form->{"datepaid_$i"} =
  • $locale->date( \%myconfig, $form->{"datepaid_$i"},
  • $form->{longformat} );
  • }
  • push @a, "source_$i", "memo_$i";
  • $form->format_string(@a);
  • }
  • $form->{amount} = $form->{"paid_$i"};
  • if ( ( $form->{formname} eq 'check' && $form->{vc} eq 'customer' )
  • || ( $form->{formname} eq 'receipt' && $form->{vc} eq 'vendor' ) )
  • {
  • $form->{amount} =~ s/-//g;
  • }
  • for (qw(datepaid source memo)) { $form->{$_} = $form->{"${_}_$i"} }
  • &{"$form->{vc}_details"};
  • @a = qw(name address1 address2 city state zipcode country);
  • foreach $item (qw(invnumber ordnumber)) {
  • $temp{$item} = $form->{$item};
  • delete $form->{$item};
  • push( @{ $form->{$item} }, $temp{$item} );
  • }
  • push( @{ $form->{invdate} }, $form->{transdate} );
  • push(
  • @{ $form->{due} },
  • $form->format_amount( \%myconfig, $form->{oldinvtotal}, 2 )
  • );
  • push( @{ $form->{paid} }, $form->{"paid_$i"} );
  • use LedgerSMB::CP;
  • $c =
  • CP->new( ( $form->{language_code} )
  • ? $form->{language_code}
  • : $myconfig{countrycode} );
  • $c->init;
  • ( $whole, $form->{decimal} ) = split /\./,
  • $form->parse_amount( \%myconfig, $form->{amount} );
  • $form->{decimal} .= "00";
  • $form->{decimal} = substr( $form->{decimal}, 0, 2 );
  • $form->{text_decimal} = $c->num2text( $form->{decimal} * 1 );
  • $form->{text_amount} = $c->num2text($whole);
  • $form->{integer_amount} = $form->format_amount( $myconfig, $whole );
  • ( $form->{employee} ) = split /--/, $form->{employee};
  • $form->{notes} =~ s/^\s+//g;
  • push @a, "notes";
  • for (qw(company address tel fax businessnumber)) {
  • $form->{$_} = $myconfig{$_};
  • }
  • $form->{address} =~ s/\\n/\n/g;
  • push @a,
  • qw(company address tel fax businessnumber text_amount text_decimal);
  • $form->format_string(@a);
  • $form->{templates} = "$myconfig{templates}";
  • $form->{IN} =
  • ( $form->{formname} eq 'transaction' )
  • ? lc $form->{ARAP} . "_$form->{formname}.html"
  • : "$form->{formname}.html";
  • if ( $form->{format} =~ /(postscript|pdf)/ ) {
  • $form->{IN} =~ s/html$/tex/;
  • }
  • if ( $form->{media} eq 'queue' ) {
  • # save status
  • $form->update_status( \%myconfig );
  • $form->{queued} = $form->{queued};
  • %audittrail = (
  • tablename => ($order) ? 'oe' : lc $ARAP,
  • reference => $form->{"${inv}number"},
  • formname => $form->{formname},
  • action => 'queued',
  • id => $form->{id}
  • );
  • $form->{audittrail} .=
  • $form->audittrail( "", \%myconfig, \%audittrail );
  • $form->{OUT} = "${LedgerSMB::Sysconfig::spool}/$filename";
  • $form->{printmode} = '>';
  • $form->{queued} .= " $form->{formname} $filename";
  • $form->{queued} =~ s/^ //;
  • }
  • if ( $form->{media} !~ /(screen|queue)/ ) {
  • %queued = split / /, $form->{queued};
  • $form->{OUT} = ${LedgerSMB::Sysconfig::printer}{ $form->{media} };
  • $form->{printmode} = '|-';
  • if ( $form->{printed} !~ /$form->{formname}/ ) {
  • $form->{printed} .= " $form->{formname}";
  • $form->{printed} =~ s/^ //;
  • $form->update_status( \%myconfig );
  • }
  • %audittrail = (
  • tablename => lc $form->{ARAP},
  • reference => $form->{invnumber},
  • formname => $form->{formname},
  • action => 'printed',
  • id => $form->{id}
  • );
  • %status = ();
  • for (qw(printed audittrail)) { $status{$_} = $form->{$_} }
  • $status{audittrail} .=
  • $form->audittrail( "", \%myconfig, \%audittrail );
  • }
  • $form->{fileid} = $invnumber;
  • $form->{fileid} =~ s/(\s|\W)+//g;
  • my $template = LedgerSMB::Template->new(
  • user => \%myconfig, template => $form->{'formname'},
  • format => uc $form->{'format'} );
  • try {
  • $template->render($form);
  • $template->output(%{$form});
  • }
  • catch Error::Simple with {
  • my $E = shift;
  • $form->error( $E->stacktrace );
  • };
  • if ( $form->{previousform} ) {
  • $previousform = $form->unescape( $form->{previousform} );
  • for ( keys %$form ) { delete $form->{$_} }
  • foreach $item ( split /&/, $previousform ) {
  • ( $key, $value ) = split /=/, $item, 2;
  • $value =~ s/%26/&/g;
  • $form->{$key} = $value;
  • }
  • for (qw(exchangerate creditlimit creditremaining)) {
  • $form->{$_} = $form->parse_amount( \%myconfig, $form->{$_} );
  • }
  • for ( 1 .. $form->{rowcount} ) {
  • $form->{"amount_$_"} =
  • $form->parse_amount( \%myconfig, $form->{"amount_$_"} );
  • }
  • for ( split / /, $form->{taxaccounts} ) {
  • $form->{"tax_$_"} =
  • $form->parse_amount( \%myconfig, $form->{"tax_$_"} );
  • }
  • for $i ( 1 .. $form->{paidaccounts} ) {
  • for (qw(paid exchangerate)) {
  • $form->{"${_}_$i"} =
  • $form->parse_amount( \%myconfig, $form->{"${_}_$i"} );
  • }
  • }
  • for (qw(printed audittrail)) { $form->{$_} = $status{$_} }
  • &{"$display_form"};
  • }
  • }
  • sub print_receipt {
  • my ( $old_form, $i ) = @_;
  • &print_check( $old_form, $i );
  • }
  • sub print_transaction {
  • my ($old_form) = @_;
  • $display_form =
  • ( $form->{display_form} ) ? $form->{display_form} : "display_form";
  • &{"$form->{vc}_details"};
  • @a = qw(name address1 address2 city state zipcode country);
  • $form->{invtotal} = 0;
  • foreach $i ( 1 .. $form->{rowcount} - 1 ) {
  • ( $form->{tempaccno}, $form->{tempaccount} ) = split /--/,
  • $form->{"$form->{ARAP}_amount_$i"};
  • ( $form->{tempprojectnumber} ) = split /--/,
  • $form->{"projectnumber_$i"};
  • $form->{tempdescription} = $form->{"description_$i"};
  • $form->format_string(
  • qw(tempaccno tempaccount tempprojectnumber tempdescription));
  • push( @{ $form->{accno} }, $form->{tempaccno} );
  • push( @{ $form->{account} }, $form->{tempaccount} );
  • push( @{ $form->{description} }, $form->{tempdescription} );
  • push( @{ $form->{projectnumber} }, $form->{tempprojectnumber} );
  • push( @{ $form->{amount} }, $form->{"amount_$i"} );
  • $form->{subtotal} +=
  • $form->parse_amount( \%myconfig, $form->{"amount_$i"} );
  • }
  • foreach $accno ( split / /, $form->{taxaccounts} ) {
  • if ( $form->{"tax_$accno"} ) {
  • $form->format_string("${accno}_description");
  • $tax += $form->parse_amount( \%myconfig, $form->{"tax_$accno"} );
  • $form->{"${accno}_tax"} = $form->{"tax_$accno"};
  • push( @{ $form->{tax} }, $form->{"tax_$accno"} );
  • push(
  • @{ $form->{taxdescription} },
  • $form->{"${accno}_description"}
  • );
  • $form->{"${accno}_taxrate"} =
  • $form->format_amount( $myconfig, $form->{"${accno}_rate"} * 100 );
  • push( @{ $form->{taxrate} }, $form->{"${accno}_taxrate"} );
  • push( @{ $form->{taxnumber} }, $form->{"${accno}_taxnumber"} );
  • }
  • }
  • $tax = 0 if $form->{taxincluded};
  • push @a, $form->{ARAP};
  • $form->format_string(@a);
  • $form->{paid} = 0;
  • for $i ( 1 .. $form->{paidaccounts} - 1 ) {
  • if ( $form->{"paid_$i"} ) {
  • @a = ();
  • $form->{paid} +=
  • $form->parse_amount( \%myconfig, $form->{"paid_$i"} );
  • if ( exists $form->{longformat} ) {
  • $form->{"datepaid_$i"} =
  • $locale->date( \%myconfig, $form->{"datepaid_$i"},
  • $form->{longformat} );
  • }
  • push @a, "$form->{ARAP}_paid_$i", "source_$i", "memo_$i";
  • $form->format_string(@a);
  • ( $accno, $account ) = split /--/, $form->{"$form->{ARAP}_paid_$i"};
  • push( @{ $form->{payment} }, $form->{"paid_$i"} );