--- a/Makefile Wed Feb 11 11:08:08 2009 +0000
+++ b/Makefile Mon Mar 23 13:02:07 2009 +0100
@@ -8,14 +8,15 @@
all: $(bin_SCRIPTS)
install: all
- install -d $(DESTDIR)/$(sysconfdir)
- test -f $(DESTDIR)/$(sysconfdir)/config.pm \
- || install -m644 config.pm $(DESTDIR)/$(sysconfdir)/config.pm
- install -d $(bindir)
- install -m755 $(bin_SCRIPTS) $(DESTDIR)/$(bindir)/
+ install -d -m 0755 $(DESTDIR)/$(sysconfdir)
+ tools/chkconfig $(DESTDIR)/$(sysconfigdir)/config.pm \
+ && install -m 644 config.pm $(DESTDIR)/$(sysconfdir)/config.pm
+ tools/signconfig $(DESTDIR)/$(sysconfigdir)/config.pm
+ install -d -m 0755 $(bindir)
+ install -m 0755 $(bin_SCRIPTS) $(DESTDIR)/$(bindir)/
- install -d $(DESTDIR)/usr/share/perl5/Logbuch
- install -m644 Logbuch/HG.pm $(DESTDIR)/usr/share/perl5/Logbuch/
+ install -d -m 0755 $(DESTDIR)/usr/share/perl5/Logbuch
+ install -m 0644 Logbuch/HG.pm $(DESTDIR)/usr/share/perl5/Logbuch/
cd $(DESTDIR)/$(bindir) && ln -sf log logbuch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/chkconfig Mon Mar 23 13:02:07 2009 +0100
@@ -0,0 +1,42 @@
+#! /usr/bin/perl
+use strict;
+use warnings;
+use File::Temp;
+
+my $pattern = "# sha1:";
+
+die "need exactly one filename" if not @ARGV == 1;
+
+if ($0 =~ /chk/) {
+ local $" = "";
+ exit 0 if not -e $ARGV[0];
+ my @file = <>;
+
+ my $expected = "";
+ $expected = pop @file if $file[-1] =~ /^$pattern/;
+
+ my $tmp = new File::Temp;
+ open(SHA1, "|sha1sum >" . $tmp->filename);
+ print SHA1 @file;
+ close(SHA1);
+ seek($tmp, 0, 0);
+
+ my $current = $pattern . <$tmp>;
+
+ exit 0 if $current eq $expected;
+ exit 1;
+}
+
+if ($0 =~ /sig/) {
+ local $" = "";
+ open(FILE, "+<$ARGV[0]") or die "Can't open $ARGV[0]: $!\n";
+ my @file = <FILE>;
+ pop @file if $file[-1] =~ /^$pattern/;
+ seek(FILE, 0, 0);
+ print FILE @file, $pattern;
+ truncate(FILE, tell FILE);
+ close FILE;
+ open(SHA1, "|sha1sum >>$ARGV[0]");
+ print SHA1 @file;
+ close(SHA1);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/signconfig Mon Mar 23 13:02:07 2009 +0100
@@ -0,0 +1,1 @@
+chkconfig
\ No newline at end of file