Get rid of svnversion.

This commit is contained in:
Itms
2024-08-20 19:10:54 +02:00
parent 459ffa18cf
commit b698558102
41 changed files with 35 additions and 831 deletions
@@ -1,4 +1,4 @@
/* Copyright (C) 2010 Wildfire Games.
/* Copyright (C) 2024 Wildfire Games.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@@ -22,6 +22,6 @@
#include "precompiled.h"
wchar_t svn_revision[] =
#include "../../build/svn_revision/svn_revision.txt"
wchar_t build_version[] =
#include "../../build/build_version/build_version.txt"
;
@@ -1,4 +1,4 @@
/* Copyright (C) 2010 Wildfire Games.
/* Copyright (C) 2024 Wildfire Games.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@@ -20,4 +20,4 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
extern wchar_t svn_revision[];
extern wchar_t build_version[];
+3 -3
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 2023 Wildfire Games.
/* Copyright (C) 2024 Wildfire Games.
* This file is part of 0 A.D.
*
* 0 A.D. is free software: you can redistribute it and/or modify
@@ -17,7 +17,7 @@
#include "precompiled.h"
#include "lib/svn_revision.h"
#include "lib/build_version.h"
#include "lib/external_libraries/libsdl.h"
#include "lib/posix/posix_utsname.h"
#include "lib/timer.h"
@@ -328,7 +328,7 @@ void RunHardwareDetection(bool writeSystemInfoBeforeDetection, Renderer::Backend
Script::SetProperty(rq, settings, "build_opengles", CONFIG2_GLES);
Script::SetProperty(rq, settings, "build_datetime", std::string(__DATE__ " " __TIME__));
Script::SetProperty(rq, settings, "build_revision", std::wstring(svn_revision));
Script::SetProperty(rq, settings, "build_version", std::wstring(build_version));
Script::SetProperty(rq, settings, "build_msc", (int)MSC_VERSION);
Script::SetProperty(rq, settings, "build_icc", (int)ICC_VERSION);
+3 -3
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 2021 Wildfire Games.
/* Copyright (C) 2024 Wildfire Games.
* This file is part of 0 A.D.
*
* 0 A.D. is free software: you can redistribute it and/or modify
@@ -22,7 +22,7 @@
#include "Pyrogenesis.h"
#include "lib/sysdep/sysdep.h"
#include "lib/svn_revision.h"
#include "lib/build_version.h"
const char* engine_version = "0.0.27";
const char* main_window_name = "0 A.D.";
@@ -56,7 +56,7 @@ static void AppendAsciiFile(FILE* out, const OsPath& pathname)
// for user convenience, bundle all logs into this file:
void psBundleLogs(FILE* f)
{
fwprintf(f, L"SVN Revision: %ls\n\n", svn_revision);
fwprintf(f, L"Build Version: %ls\n\n", build_version);
fwprintf(f, L"Engine Version: %hs\n\n", engine_version);
fwprintf(f, L"System info:\n\n");
+12 -12
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 2021 Wildfire Games.
/* Copyright (C) 2024 Wildfire Games.
* This file is part of 0 A.D.
*
* 0 A.D. is free software: you can redistribute it and/or modify
@@ -20,7 +20,7 @@
#include "JSInterface_Debug.h"
#include "i18n/L10n.h"
#include "lib/svn_revision.h"
#include "lib/build_version.h"
#include "lib/debug.h"
#include "scriptinterface/FunctionWrapper.h"
#include "scriptinterface/ScriptRequest.h"
@@ -75,17 +75,17 @@ double GetBuildTimestamp()
return std::time(nullptr);
}
// Return the revision number at which the current executable was compiled.
// - svn revision is generated by calling svnversion and cached in
// lib/svn_revision.cpp. it is useful to know when attempting to
// reproduce bugs (the main EXE and PDB should be temporarily reverted to
// that revision so that they match user-submitted crashdumps).
std::wstring GetBuildRevision()
// Return the build version of the current executable.
// - in nightly builds, build version is generated from the git HEAD branch and
// hash and cached in lib/build_version.cpp. it is useful to know when attempting
// to reproduce bugs (the main EXE and PDB should be temporarily reverted to
// that commit so that they match user-submitted crashdumps).
std::wstring GetBuildVersion()
{
std::wstring svnRevision(svn_revision);
if (svnRevision == L"custom build")
std::wstring buildVersion(build_version);
if (buildVersion == L"custom build")
return wstring_from_utf8(g_L10n.Translate("custom build"));
return svnRevision;
return buildVersion;
}
void RegisterScriptFunctions(const ScriptRequest& rq)
@@ -96,6 +96,6 @@ void RegisterScriptFunctions(const ScriptRequest& rq)
ScriptFunction::Register<&DisplayErrorDialog>(rq, "DisplayErrorDialog");
ScriptFunction::Register<&GetBuildDate>(rq, "GetBuildDate");
ScriptFunction::Register<&GetBuildTimestamp>(rq, "GetBuildTimestamp");
ScriptFunction::Register<&GetBuildRevision>(rq, "GetBuildRevision");
ScriptFunction::Register<&GetBuildVersion>(rq, "GetBuildVersion");
}
}
-17
View File
@@ -1,17 +0,0 @@
use inc::Module::Install;
name('SVNLog');
abstract('Catalyst Application');
author('Catalyst developer');
version_from('lib/SVNLog.pm');
license('perl');
include('ExtUtils::AutoInstall');
requires( Catalyst => '5.60' );
catalyst_files();
install_script( glob('script/*.pl') );
auto_install();
&WriteAll;
-11
View File
@@ -1,11 +0,0 @@
name: SVNLog
svn:
username: philip
password: ????????
url : http://svn.wildfiregames.com/svn/ps/trunk
cdbi:
dsn : dbi:SQLite:/var/svn/autolog/SVNLog/sql/svnlog.db
output:
filename: /var/svn/htdocs/log.html
filename_feed: /var/svn/htdocs/log.atom
feed_url: http://svn.wildfiregames.com/log.atom
-22
View File
@@ -1,22 +0,0 @@
package SVNLog;
use strict;
use warnings;
use YAML ();
use Catalyst qw/FormValidator CDBI::Transaction/;
our $VERSION = '0.01';
__PACKAGE__->config(YAML::LoadFile(__PACKAGE__->path_to('config.yml')));
__PACKAGE__->setup;
sub end : Private {
my ($self, $c) = @_;
$c->forward('SVNLog::View::TT') unless $c->response->body;
}
1;
@@ -1,219 +0,0 @@
package SVNLog::Controller::LogUpdate;
use strict;
use base 'Catalyst::Controller';
use XML::Simple;
use XML::Atom::SimpleFeed;
use Data::UUID;
sub doupdate : Local
{
my ($self, $c) = @_;
my $latest = SVNLog::Model::CDBI::Logentry->maximum_value_of('revision') || 0;
my $min = $latest;
my $max = 'HEAD';
my $svn_cmd_data = '--username '.$c->config->{svn}{username}.' --password '.$c->config->{svn}{password}.' '.$c->config->{svn}{url};
my $log_xml = `svn log --xml --verbose -r $min:$max $svn_cmd_data`;
die "SVN request failed" if not (defined $log_xml and $log_xml =~ m~</log>~);
my $log = XMLin($log_xml, ContentKey => 'path');
my $max_seen = -1;
$c->transaction(sub {
for my $logentry (ref $log->{logentry} eq 'ARRAY' ? @{$log->{logentry}} : ($log->{logentry}))
{
$max_seen = $logentry->{revision} if $logentry->{revision} > $max_seen;
next if $logentry->{revision} <= $latest;
my $paths = $logentry->{paths}->{path};
delete $logentry->{paths};
# Convert <msg></msg> into just a string (because XML::Simple doesn't know that's what it should be)
$logentry->{msg} = '' if ref $logentry->{msg};
my $entry = SVNLog::Model::CDBI::Logentry->insert($logentry);
for my $path (ref $paths eq 'ARRAY' ? @$paths : ($paths))
{
SVNLog::Model::CDBI::Paths->insert({logentry => $entry->id, filter_copyfrom(%$path)});
}
}
}) or $c->log->error("Transaction failed: " . $c->error->[-1]);
add_default_public_msgs($c);
open my $text_fh, '>', $c->config->{output}{filename} or die $!;
print $text_fh $self->generate_text($c);
open my $feed_fh, '>', $c->config->{output}{filename_feed} or die $!;
print $feed_fh $self->generate_feed($c);
$c->res->body("Updated log to $max_seen.");
}
sub defaultise : Local
{
my ($self, $c) = @_;
add_default_public_msgs($c);
$c->res->body("Done");
}
# (To reset the database:
# delete from public_message; delete from sqlite_sequence where name = "public_message";
# )
sub add_default_public_msgs
{
my ($c) = @_;
$c->transaction(sub {
my @unmessaged = SVNLog::Model::CDBI::Logentry->retrieve_from_sql(qq{
NOT (SELECT COUNT(*) FROM public_message WHERE public_message.logentry = logentry.id)
ORDER BY logentry.id
});
for my $logentry (@unmessaged)
{
my @lines;
for (split /\n/, $logentry->msg)
{
push @lines, $_ if s/^#\s*//;
}
my $msg = join "\n", @lines;
SVNLog::Model::CDBI::PublicMessage->insert({
logentry => $logentry->id,
msg => $msg,
});
}
});
}
sub createtext : Local
{
my ($self, $c) = @_;
my $out = $self->generate_text($c);
$c->res->body($out);
}
sub createfeed : Local
{
my ($self, $c) = @_;
my $out = $self->generate_feed($c);
$c->res->body($out);
}
sub get_log_entries
{
my ($days, $max) = @_;
my @logentries = ();
for (SVNLog::Model::CDBI::Logentry->recent($days))
{
my $msg = $_->public_msg;
next unless defined $msg and $msg->msg; # skip ones with empty messages
push @logentries, $_;
last if $max and @logentries >= $max;
}
return @logentries;
}
sub generate_text
{
my ($self, $c) = @_;
my $feed_url = $c->config->{output}{feed_url};
my $out = <<EOF;
<!DOCTYPE html>
<title>0 A.D. Revision Log</title>
<style>
body {
color: #fff;
margin: 3px;
background-color: #000;
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
}
img {
border: 0;
}
</style>
<a href="$feed_url" target="_top"><img alt="Atom feed" title="Subscribe to feed of revision log" src="/feed-icon-16x16.png" style="float: right"></a>
EOF
my @logentries = get_log_entries(28, 10);
for (@logentries)
{
my ($revision, $author, $date, $msg) = ($_->revision, $_->author, $_->date, $_->public_msg);
$date =~ s/T.*Z//;
$out .= <<EOF;
<b>revision:</b> $revision<br>
<b>author:</b> $author<br>
<b>date:</b> $date<br>
EOF
my $text = $msg->msg;
$text =~ s/&/&amp;/g;
$text =~ s/</&lt;/g;
$text =~ s/>/&gt;/g;
$text =~ s/\n/<br>/g;
$out .= $text . "\n<hr>\n";
}
if (not @logentries)
{
$out .= 'Sorry, no data is available right now.';
}
return $out;
}
sub generate_feed
{
my ($self, $c) = @_;
my $uid_gen = new Data::UUID;
my $feed_url = $c->config->{output}{feed_url};
my $feed = new XML::Atom::SimpleFeed(
title => "0 A.D. Revision Log",
link => "http://play0ad.com/",
link => { rel => 'self', href => $feed_url },
id => "urn:uuid:" . $uid_gen->create_from_name_str('WFG SVN feed', 'feed'),
);
my @logentries = get_log_entries(7);
for (@logentries)
{
my ($revision, $author, $date, $msg) = ($_->revision, $_->author, $_->date, $_->public_msg);
my $uid = $uid_gen->create_from_name_str('WFG SVN feed', $revision);
$feed->add_entry(
title => "Revision $revision - ".$msg->msg,
id => "urn:uuid:$uid",
author => $author,
content => $msg->msg,
published => $date,
updated => $date,
link => "http://play0ad.com/",
);
}
return $feed->as_string;
}
sub filter_copyfrom
{
my @r = @_;
s/^(copyfrom)-(rev|path)$/$1_$2/ for @r;
@r;
}
1;
@@ -1,41 +0,0 @@
package SVNLog::Controller::PublicMessage;
use strict;
use base 'Catalyst::Base';
sub default : Private {
my ( $self, $c ) = @_;
$c->forward('list');
}
sub do_edit : Local {
my ( $self, $c, $id ) = @_;
$c->form(optional => [ SVNLog::Model::CDBI::PublicMessage->columns ],
missing_optional_valid => 1 );
if ($c->form->has_missing) {
$c->stash->{message}='You have to fill in all fields.'.
'the following are missing: <b>'.
join(', ',$c->form->missing()).'</b>';
} elsif ($c->form->has_invalid) {
$c->stash->{message}='Some fields are not correctly filled in.'.
'the following are invalid: <b>'.
join(', ',$c->form->invalid()).'</b>';
} else {
SVNLog::Model::CDBI::PublicMessage->retrieve($id)->update_from_form( $c->form );
$c->stash->{message}='Updated OK';
}
$c->forward('edit');
}
sub edit : Local {
my ( $self, $c, $id ) = @_;
$c->stash->{item} = SVNLog::Model::CDBI::PublicMessage->retrieve($id);
$c->stash->{template} = 'PublicMessage/edit.tt';
}
sub list : Local {
my ( $self, $c ) = @_;
$c->stash->{template} = 'PublicMessage/list.tt';
}
1;
@@ -1,15 +0,0 @@
package SVNLog::Model::CDBI;
use strict;
use base 'Catalyst::Model::CDBI';
__PACKAGE__->config(
dsn => SVNLog->config->{cdbi}{dsn},
user => '',
password => '',
options => {},
relationships => 1,
additional_base_classes => [qw/Class::DBI::FromForm Class::DBI::AsForm/],
);
1;
@@ -1,9 +0,0 @@
package SVNLog::Model::CDBI::Logentry;
use strict;
__PACKAGE__->add_constructor(recent => "datetime(substr(date, 0, 26)) >= datetime('now', -? || ' days') ORDER BY revision DESC");
__PACKAGE__->might_have(public_msg => 'SVNLog::Model::CDBI::PublicMessage');
1;
@@ -1,5 +0,0 @@
package SVNLog::Model::CDBI::Paths;
use strict;
1;
@@ -1,13 +0,0 @@
package SVNLog::Model::CDBI::PublicMessage;
use strict;
__PACKAGE__->set_sql(log_range => qq{
SELECT __TABLE__.id
FROM __TABLE__
JOIN logentry ON __TABLE__.logentry = logentry.id
ORDER BY revision DESC
LIMIT ? OFFSET ?
});
1;
@@ -1,6 +0,0 @@
package SVNLog::View::TT;
use strict;
use base 'Catalyst::View::TT';
1;
@@ -1,25 +0,0 @@
<p>[% message %]</p>
<form action="[% c.uri_for('/publicmessage/do_edit', item.id) %]" method="post">
Revision<br/>
[% item.logentry.revision %]<br/>
<br/>
Log message<br/>
<tt>[% item.logentry.msg | html_line_break %]</tt><br/>
<br/>
Public message<br/>
[%
textarea = item.to_field('msg');
CALL textarea.attr('rows', 10);
CALL textarea.attr('cols', 60);
textarea.as_XML
%]
<br/>
<input type="submit" value="Save changes"/>
</form>
<br/>
<a href="[% c.uri_for('/publicmessage/list') %]">Back to list</a>
@@ -1,36 +0,0 @@
[% USE table_class = Class('SVNLog::Model::CDBI::PublicMessage') %]
<table border="1">
<tr>
<th>Revision</th>
<th>Author</th>
<th>Date</th>
<th>Log message</th>
<th>Public message</th>
<th/>
</tr>
[%
count = 20;
start = c.req.param('start') || 0;
%]
[% FOR object = table_class.search_log_range(count, start) %]
<tr>
<td>[% object.logentry.revision %]</td>
<td>[% object.logentry.author %]</td>
<td>[% str = object.logentry.date.match('(\d{4}-\d{2}-\d{2}).(\d{2}:\d{2}:\d{2})');
str.0 %] [% str.1 %]</td>
<td>[% object.logentry.msg | html | html_line_break %]</td>
<td>[% object.msg | html | html_line_break %]</td>
<td>
<a href="[% c.uri_for('/publicmessage/edit', object.id) %]">
Edit
</a>
</td>
</tr>
[% END %]
</table>
[% IF start > 0 %]
<a href="[% c.uri_for('/publicmessage/list') _ '?start=' _ (start-count) %]">Previous page</a> |
[% END %]
<a href="[% c.uri_for('/publicmessage/list') _ '?start=' _ (start+count) %]">Next page</a>
@@ -1,37 +0,0 @@
#!/usr/bin/perl -w
BEGIN { $ENV{CATALYST_ENGINE} ||= 'CGI' }
use strict;
use FindBin;
use lib "$FindBin::Bin/../lib";
use SVNLog;
SVNLog->run;
1;
=head1 NAME
svnlog_cgi.pl - Catalyst CGI
=head1 SYNOPSIS
See L<Catalyst::Manual>
=head1 DESCRIPTION
Run a Catalyst application as cgi.
=head1 AUTHOR
Sebastian Riedel, C<sri@oook.de>
=head1 COPYRIGHT
Copyright 2004 Sebastian Riedel. All rights reserved.
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
@@ -1,72 +0,0 @@
#!/usr/bin/perl -w
use strict;
use Getopt::Long;
use Pod::Usage;
use Catalyst::Helper;
my $force = 0;
my $mech = 0;
my $help = 0;
GetOptions(
'nonew|force' => \$force,
'mech|mechanize' => \$mech,
'help|?' => \$help
);
pod2usage(1) if ( $help || !$ARGV[0] );
my $helper = Catalyst::Helper->new( { '.newfiles' => !$force, mech => $mech } );
pod2usage(1) unless $helper->mk_component( 'SVNLog', @ARGV );
1;
=head1 NAME
svnlog_create.pl - Create a new Catalyst Component
=head1 SYNOPSIS
svnlog_create.pl [options] model|view|controller name [helper] [options]
Options:
-force don't create a .new file where a file to be created exists
-mechanize use Test::WWW::Mechanize::Catalyst for tests if available
-help display this help and exits
Examples:
svnlog_create.pl controller My::Controller
svnlog_create.pl -mechanize controller My::Controller
svnlog_create.pl view My::View
svnlog_create.pl view MyView TT
svnlog_create.pl view TT TT
svnlog_create.pl model My::Model
svnlog_create.pl model SomeDB CDBI dbi:SQLite:/tmp/my.db
svnlog_create.pl model AnotherDB CDBI dbi:Pg:dbname=foo root 4321
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
=head1 DESCRIPTION
Create a new Catalyst Component.
Existing component files are not overwritten. If any of the component files
to be created already exist the file will be written with a '.new' suffix.
This behavior can be suppressed with the C<-force> option.
=head1 AUTHOR
Sebastian Riedel, C<sri@oook.de>
=head1 COPYRIGHT
Copyright 2004 Sebastian Riedel. All rights reserved.
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
@@ -1,76 +0,0 @@
#!/usr/bin/perl -w
BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
use strict;
use Getopt::Long;
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
use SVNLog;
my $help = 0;
my ( $listen, $nproc, $pidfile, $manager, $detach );
GetOptions(
'help|?' => \$help,
'listen|l=s' => \$listen,
'nproc|n=i' => \$nproc,
'pidfile|p=s' => \$pidfile,
'manager|M=s' => \$manager,
'daemon|d' => \$detach,
);
pod2usage(1) if $help;
SVNLog->run(
$listen,
{ nproc => $nproc,
pidfile => $pidfile,
manager => $manager,
detach => $detach,
}
);
1;
=head1 NAME
svnlog_fastcgi.pl - Catalyst FastCGI
=head1 SYNOPSIS
svnlog_fastcgi.pl [options]
Options:
-? -help display this help and exits
-l -listen Socket path to listen on
(defaults to standard input)
can be HOST:PORT, :PORT or a
filesystem path
-n -nproc specify number of processes to keep
to serve requests (defaults to 1,
requires -listen)
-p -pidfile specify filename for pid file
(requires -listen)
-d -daemon daemonize (requires -listen)
-M -manager specify alternate process manager
(FCGI::ProcManager sub-class)
or empty string to disable
=head1 DESCRIPTION
Run a Catalyst application as fastcgi.
=head1 AUTHOR
Sebastian Riedel, C<sri@oook.de>
=head1 COPYRIGHT
Copyright 2004 Sebastian Riedel. All rights reserved.
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
@@ -1,104 +0,0 @@
#!/usr/bin/perl -w
BEGIN {
$ENV{CATALYST_ENGINE} ||= 'HTTP';
$ENV{CATALYST_SCRIPT_GEN} = 27;
}
use strict;
use Getopt::Long;
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
my $debug = 0;
my $fork = 0;
my $help = 0;
my $host = undef;
my $port = 3000;
my $keepalive = 0;
my $restart = 0;
my $restart_delay = 1;
my $restart_regex = '\.yml$|\.yaml$|\.pm$';
my @argv = @ARGV;
GetOptions(
'debug|d' => \$debug,
'fork' => \$fork,
'help|?' => \$help,
'host=s' => \$host,
'port=s' => \$port,
'keepalive|k' => \$keepalive,
'restart|r' => \$restart,
'restartdelay|rd=s' => \$restart_delay,
'restartregex|rr=s' => \$restart_regex
);
pod2usage(1) if $help;
if ( $restart ) {
$ENV{CATALYST_ENGINE} = 'HTTP::Restarter';
}
if ( $debug ) {
$ENV{CATALYST_DEBUG} = 1;
}
# This is require instead of use so that the above environment
# variables can be set at runtime.
require SVNLog;
SVNLog->run( $port, $host, {
argv => \@argv,
'fork' => $fork,
keepalive => $keepalive,
restart => $restart,
restart_delay => $restart_delay,
restart_regex => qr/$restart_regex/
} );
1;
=head1 NAME
svnlog_server.pl - Catalyst Testserver
=head1 SYNOPSIS
svnlog_server.pl [options]
Options:
-d -debug force debug mode
-f -fork handle each request in a new process
(defaults to false)
-? -help display this help and exits
-host host (defaults to all)
-p -port port (defaults to 3000)
-k -keepalive enable keep-alive connections
-r -restart restart when files got modified
(defaults to false)
-rd -restartdelay delay between file checks
-rr -restartregex regex match files that trigger
a restart when modified
(defaults to '\.yml$|\.yaml$|\.pm$')
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
=head1 DESCRIPTION
Run a Catalyst Testserver for this application.
=head1 AUTHOR
Sebastian Riedel, C<sri@oook.de>
=head1 COPYRIGHT
Copyright 2004 Sebastian Riedel. All rights reserved.
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
@@ -1,54 +0,0 @@
#!/usr/bin/perl -w
use strict;
use Getopt::Long;
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Catalyst::Test 'SVNLog';
my $help = 0;
GetOptions( 'help|?' => \$help );
pod2usage(1) if ( $help || !$ARGV[0] );
print request($ARGV[0])->content . "\n";
1;
=head1 NAME
svnlog_test.pl - Catalyst Test
=head1 SYNOPSIS
svnlog_test.pl [options] uri
Options:
-help display this help and exits
Examples:
svnlog_test.pl http://localhost/some_action
svnlog_test.pl /some_action
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
=head1 DESCRIPTION
Run a Catalyst action from the command line.
=head1 AUTHOR
Sebastian Riedel, C<sri@oook.de>
=head1 COPYRIGHT
Copyright 2004 Sebastian Riedel. All rights reserved.
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
@@ -1,2 +0,0 @@
#!/bin/bash
sqlite3 svnlog.db < svnlog.sql
@@ -1,24 +0,0 @@
CREATE TABLE logentry (
id INTEGER PRIMARY KEY AUTOINCREMENT,
revision INTEGER UNIQUE,
author TEXT,
date TEXT,
msg TEXT
);
CREATE TABLE paths (
id INTEGER PRIMARY KEY AUTOINCREMENT,
logentry INTEGER REFERENCES logentry,
action TEXT,
copyfrom_path TEXT,
copyfrom_rev INTEGER,
path TEXT
);
CREATE TABLE public_message (
id INTEGER PRIMARY KEY AUTOINCREMENT,
logentry INTEGER REFERENCES logentry,
msg TEXT
);
CREATE INDEX public_message_logentry ON public_message (logentry);
+2 -2
View File
@@ -1,6 +1,6 @@
; To generate the installer (on Linux):
; Do an 'svn export' into a directory called e.g. "export-win32"
; makensis -nocd -dcheckoutpath=export-win32 -drevision=1234 -dversion=0.1.2 -dprefix=0ad-0.1.2-alpha export-win32/source/tools/dist/0ad.nsi
; makensis -nocd -dcheckoutpath=export-win32 -dversion=0.1.2 -dprefix=0ad-0.1.2-alpha export-win32/source/tools/dist/0ad.nsi
SetCompressor /SOLID LZMA
@@ -164,7 +164,7 @@ Section "!Game and data files" GameSection
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "DisplayName" "0 A.D."
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "DisplayVersion" "${VERSION}"
WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "VersionMajor" 0
WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "VersionMinor" ${REVISION}
WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "VersionMinor" "${VERSION}"
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "Publisher" "Wildfire Games"
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "DisplayIcon" "$\"$INSTDIR\binaries\system\pyrogenesis.exe$\""
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "InstallLocation" "$\"$INSTDIR$\""
-4
View File
@@ -27,10 +27,6 @@ if [ ! -d "${SYSROOT}" ]; then
die "${SYSROOT} does not exist! You probably need to install Xcode"
fi
# Assume this is called from trunk/
SVN_REV=$(svnversion -n .)
echo "L\"${SVN_REV}-release\"" > build/svn_revision/svn_revision.txt
cd "build/workspaces/"
JOBS=${JOBS:="-j5"}
-4
View File
@@ -7,9 +7,6 @@ GZIP7ZOPTS="-mx=9"
BUNDLE_VERSION=${BUNDLE_VERSION:="0.0.xxx"}
PREFIX="0ad-${BUNDLE_VERSION}-alpha"
SVN_REV=${SVN_REV:=$(svnversion -n .)}
echo "L\"${SVN_REV}-release\"" > build/svn_revision/svn_revision.txt
# Collect the relevant files
tar cf $PREFIX-unix-build.tar \
--exclude='*.bat' --exclude='*.dll' --exclude='*.exe' --exclude='*.lib' \
@@ -40,7 +37,6 @@ fi
# This needs nsisbi for files > 2GB
makensis -V4 -nocd \
-dcheckoutpath="." \
-drevision=${SVN_REV} \
-dversion=${BUNDLE_VERSION} \
-dprefix=${PREFIX} \
-darchive_path="archives/" \
@@ -73,7 +73,7 @@ def report_performance(request):
'cpu_identifier': json['cpu_identifier'],
'device': report.gl_device_identifier(),
'build_debug': json['build_debug'],
'build_revision': json['build_revision'],
'build_version': json['build_version'],
'build_datetime': json['build_datetime'],
'gfx_res': (json['video_xres'], json['video_yres']),
}