From e8807059a3626188bc1385bd1e203358c1aafc17 Mon Sep 17 00:00:00 2001 From: Damir Dzeko Date: Wed, 8 Mar 2006 18:57:43 +0000 Subject: [PATCH 01/16] r98: cp-update total delete bugfix (LinesCount) --- changelog.CARNet | 2 +- cp-update | 1 + test/Makefile | 1 + test/README | 17 +++++++++++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/changelog.CARNet b/changelog.CARNet index f783254..55cbd84 100644 --- a/changelog.CARNet +++ b/changelog.CARNet @@ -4,7 +4,7 @@ carnet-tools-cn (2.5.2) sarge; urgency=low generiranja prazne datoteke nakon brisanja bloka koji je predstavljao jedini sadrzaj datoteke - -- Damir Dzeko Tue, 07 Mar 2006 22:35:37 +0100 + -- Damir Dzeko Tue, 07 Mar 2006 22:35:37 +0100 carnet-tools-cn (2.5.1) sarge; urgency=low diff --git a/cp-update b/cp-update index 00ad0d9..4ae4213 100755 --- a/cp-update +++ b/cp-update @@ -492,6 +492,7 @@ sub actualize() { unlink($file_old) or warn "$ProgramName: Failed to remove file '$file_old' ($!)\n"; } + DEBUG and print STDERR "actualize: LinesCount=$LinesCount\n"; } # return content from standard input diff --git a/test/Makefile b/test/Makefile index 339768e..4f733be 100644 --- a/test/Makefile +++ b/test/Makefile @@ -104,6 +104,7 @@ test9: test9.start cp test9.start test9.tmp $(CPUPDATE) -r test9 test9.tmp cmp test9.tmp test9.ok + cp test9.tmp test9 echo Succeeded $@ # more tests needed diff --git a/test/README b/test/README index b07cba4..5cc3c15 100644 --- a/test/README +++ b/test/README @@ -2,3 +2,20 @@ This directory contains test scripts/procedures used for quality check of utility scripts included in the package. -- Damir Dzeko Sun, 20 Mar 2005 08:52:16 +0100 + +Good output looks like this: + +Succeeded test1 +Succeeded test2 +Succeeded test3 +cp-update: Inserting lines at the end implicitly! No '(?-xism:abracadabra)' +Succeeded test4 +Succeeded test5 +Succeeded test6 +Succeeded test7 +Succeeded test8 +Succeeded test9 +All tests completed successfully + + -- Damir Dzeko Wed, 08 Mar 2006 19:56:34 +0100 + -- 1.7.10.4 From 64e2d2cffac17873e3dc3e342edf87344d5552b3 Mon Sep 17 00:00:00 2001 From: Damir Dzeko Date: Tue, 14 Mar 2006 20:23:53 +0000 Subject: [PATCH 02/16] r99: minor version update --- changelog.CARNet | 4 ++-- cp-update | 2 +- cp-update.1 | 23 +++++++++++++++-------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/changelog.CARNet b/changelog.CARNet index 55cbd84..2b8e94f 100644 --- a/changelog.CARNet +++ b/changelog.CARNet @@ -1,10 +1,10 @@ -carnet-tools-cn (2.5.2) sarge; urgency=low +carnet-tools-cn (2.6) sarge; urgency=low * cp-update: ispravljen propust u sigurnosnoj provjeri prilikom generiranja prazne datoteke nakon brisanja bloka koji je predstavljao jedini sadrzaj datoteke - -- Damir Dzeko Tue, 07 Mar 2006 22:35:37 +0100 + -- Damir Dzeko Mon, 13 Mar 2006 07:18:56 +0100 carnet-tools-cn (2.5.1) sarge; urgency=low diff --git a/cp-update b/cp-update index 4ae4213..01bfe48 100755 --- a/cp-update +++ b/cp-update @@ -35,7 +35,7 @@ sub DEBUG () { 0 }; # my ($ProgramName, $UsageLong, $UsageShort, $VERSION); -$VERSION = '2.0'; +$VERSION = '2.1'; # Looks nicer without the slashes and dots ($ProgramName = $0) =~ s!.*/!!; # strip dir diff --git a/cp-update.1 b/cp-update.1 index cd6dc2b..b8cd11b 100644 --- a/cp-update.1 +++ b/cp-update.1 @@ -1,5 +1,5 @@ .\" Copied from from Pod::Man template -.\" Wed, 23 Mar 2005 11:51:08 +0100 +.\" Wed, 14 Mar 2006 21:15:00 +0100 .\" .\" Standard preamble: .\" ====================================================================== @@ -38,7 +38,7 @@ .if n .na .\" .IX Title "cp-update 1" -.TH cp-update 1 "March 2005" CARNet "CARNet Packaging Tools" +.TH cp-update 1 "March 2006" CARNet "CARNet Packaging Tools" .SH NAME cp-update \- versatile line-based file updating tool .\" @@ -81,15 +81,15 @@ block marking and file handling. Remove entry \fIpackage\fR from \fIfile\fR. Default is to add lines from stdin. .TP +\fB\-x\fR | \fB\-\-change\fR +Modify existing block, or add it if it does not exist but the begin +mark can be found. Does basically the same as regular insert without +\-\-allow\-multiple but on other way (in-place). Thus those two options +are mutually exclusive. +.TP \fB\-m\fR | \fB\-\-allow\-multiple\fR Allow multiple blocks of the same type. By default, old blocks are replaced with the new one. -.TP -\fB\-h\fR | \fB\-\-help\fR -Print usage reference and exit. -.TP - \fB\-\-version\fR -Print title, version, copyright message, and exit. .SS Placement control .TP \fB\-t\fR | \fB\-\-insert\-on\-top\fR @@ -139,6 +139,13 @@ anew and replaces the old by renaming it to target name. \fB\-n\fR | \fB\-\-no\-close\fR Do not close and reopen file when editing it in place. Slightly optimized version of the above. +.SS Support modes +.TP +\fB\-h\fR | \fB\-\-help\fR +Print usage reference and exit. +.TP + \fB\-\-version\fR +Print title, version, copyright message, and exit. .\" .SH "EXIT STATUS" Upon successful execution of given operation, program returns -- 1.7.10.4 From f65804c1b92f032afd4e09b7f01ea48de446ac6d Mon Sep 17 00:00:00 2001 From: Damir Dzeko Date: Thu, 6 Jul 2006 22:52:17 +0000 Subject: [PATCH 03/16] r100: _cp_customize, with function dependancies --- functions.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/functions.sh b/functions.sh index 84af780..2ab04ff 100644 --- a/functions.sh +++ b/functions.sh @@ -480,3 +480,41 @@ cp_get_ldap_realm() { CP_ECHO_RETURN="$echo_return" } +_cp_customize() { + [ "$CP_SCRIPT_DEBUG" ] && set -vx + # < input functions > output_functions + # new-prefix list-of-functions + perl -e ' + $prefix = shift; %keep = (); $output = ""; + $keep{$_} = 1 for @ARGV; + # add dependent functions + %deps = ( + get_ifaddr => [ "get_ifdefault" ], + get_netaddr => [ "get_ifdefault", "get_ifaddr", "get_ifmask" ], + check_and_backup => [ "backup_conffile" ], + check_and_sed => [ "mv" ], + get_ldap_realm => [ "get_ldap_suffix" ], + ); + foreach my $f (keys(%keep)) { + if (exists($deps{$f})) { + $keep{$_} = 1 for (@{$deps{$f}}); + } + } + while () { + if (/^_?cp_(\w+) *\(\) *\{/) { + if (! exists($keep{$1})) { + while () { last if /^\}/; } # skip it + next; + } else { + $output .= "\n"; + } + } + next if /^\s*(\#|$)/; + $output .= $_; + } + $output =~ s/\b(_?)cp_/$1${prefix}_/sg; + $prefix = uc($prefix); + $output =~ s/\b(_?)CP_/$1${prefix}_/sg; + print $output; + ' -- $* +} -- 1.7.10.4 From 6e44504818980810addd1ab6ba6f2122725d6f41 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Mon, 22 Oct 2007 14:07:01 +0000 Subject: [PATCH 04/16] r101: --- changelog.CARNet | 112 ----------------------------------------------------- debian/changelog | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 112 insertions(+), 113 deletions(-) delete mode 100644 changelog.CARNet mode change 120000 => 100644 debian/changelog diff --git a/changelog.CARNet b/changelog.CARNet deleted file mode 100644 index 2b8e94f..0000000 --- a/changelog.CARNet +++ /dev/null @@ -1,112 +0,0 @@ -carnet-tools-cn (2.6) sarge; urgency=low - - * cp-update: ispravljen propust u sigurnosnoj provjeri prilikom - generiranja prazne datoteke nakon brisanja bloka koji je - predstavljao jedini sadrzaj datoteke - - -- Damir Dzeko Mon, 13 Mar 2006 07:18:56 +0100 - -carnet-tools-cn (2.5.1) sarge; urgency=low - - * Ignoriranje visestrukih default route. - - -- Zoran Dzelajlija Sun, 25 Dec 2005 00:32:52 +0100 - -carnet-tools-cn (2.5) sarge; urgency=low - - * Dodane -n, -p i -d opcije za cp_backup_conffile. - - -- Zoran Dzelajlija Fri, 28 Oct 2005 11:54:24 +0200 - -carnet-tools-cn (2.4.3) sarge; urgency=low - - * Inicijalizacija pomocne $CP_ECHO_RETURN varijable. - - -- Zoran Dzelajlija Thu, 15 Sep 2005 00:57:09 +0200 - -carnet-tools-cn (2.4.2) sarge; urgency=low - - * dodan set -vx u sve funkcije, ako postoji varijabla CP_SCRIPT_DEBUG - * sredjen problem sa cp_get_ifdefault() (uvijek se vracao false, zbog - krive logike na kraju funkcije) - * popravljena funkcija cp_mail() - - -- Ivan 'ico' Rako Tue, 23 Aug 2005 15:08:45 +0200 - -carnet-tools-cn (2.4.1) sarge; urgency=low - - * cp_backup_conffile je greskom vracao false ako backup nije - bio potreban. - - -- Zoran Dzelajlija Sat, 25 Jun 2005 00:29:32 +0200 - -carnet-tools-cn (2.4) testing; urgency=low - - * Kozmeticke ispravke. - * Dodana cp_check_and_backup funkcija. - * Ispravak buga funkcije cp_check_and_sed (ako pukne sed, datoteka - ostane prazna) - * Funkcija cp_check_and_sed se prekida ako nedostaju potrebni argumenti - - -- Ivan 'ico' Rako Mon, 6 Jun 2005 12:01:43 +0200 - -carnet-tools-cn (2.3.1) testing; urgency=low - - * dodana ovisnost o mail-transport-agent i sed - - -- Ivan 'ico' Rako Thu, 28 Apr 2005 15:48:17 +0200 - -carnet-tools-cn (2.3) testing; urgency=low - - * dodane funkcije: - - cp_get_ldap_suffix - - cp_get_ldap_realm - - -- Ivan 'ico' Rako Wed, 20 Apr 2005 21:30:52 +0200 - -carnet-tools-cn (2.2) testing; urgency=low - - * cp-update: Ispravka uvjeta za upozorenje kod implicitnog - pozicioniranja ubacenog bloka na kraj datoteke - * cp-update: Ispravljene nekompatibilnosti sa starom verzijom - (regexp-match je default) - - -- Damir Dzeko Fri, 08 Apr 2005 02:10:45 +0200 - -carnet-tools-cn (2.1) testing; urgency=low - - * novi cp-update i man-stranice: cp-update(1), carnet-tools(7) - * dodane funkcije: - - cp_yes_no - - cp_db_get - - -- Damir Dzeko Tue, 29 Mar 2005 19:40:12 +0200 - -carnet-tools-cn (2.0) testing; urgency=low - - * /usr/local/doc -> /usr/share/doc - * dodane funkcije: - - cp_get_ifaddr - - cp_get_ifmask - - cp_get_ifdefault - - cp_get_netaddr - - cp_backup_conffile - - cp_check_and_sed - - cp_echo - - cp_mail - - cp_safe_file_replace - - -- Ivan 'ico' Rako Tue, 22 Mar 2005 10:53:43 +0100 - -carnet-tools (1.2) unstable; urgency=low - - * Dodana nova verzija cp-update (v2.2) - - -- Nikola Pavkovic Wed, 25 Feb 2004 21:26:58 +0100 - -carnet-tools (1.1-5) unstable; urgency=low - - * Prvo izdanje za Sarge - - -- Nikola Pavkovic Sun, 22 Feb 2004 20:44:52 +0100 - diff --git a/debian/changelog b/debian/changelog deleted file mode 120000 index dbf0845..0000000 --- a/debian/changelog +++ /dev/null @@ -1 +0,0 @@ -../changelog.CARNet \ No newline at end of file diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..2b8e94f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,112 @@ +carnet-tools-cn (2.6) sarge; urgency=low + + * cp-update: ispravljen propust u sigurnosnoj provjeri prilikom + generiranja prazne datoteke nakon brisanja bloka koji je + predstavljao jedini sadrzaj datoteke + + -- Damir Dzeko Mon, 13 Mar 2006 07:18:56 +0100 + +carnet-tools-cn (2.5.1) sarge; urgency=low + + * Ignoriranje visestrukih default route. + + -- Zoran Dzelajlija Sun, 25 Dec 2005 00:32:52 +0100 + +carnet-tools-cn (2.5) sarge; urgency=low + + * Dodane -n, -p i -d opcije za cp_backup_conffile. + + -- Zoran Dzelajlija Fri, 28 Oct 2005 11:54:24 +0200 + +carnet-tools-cn (2.4.3) sarge; urgency=low + + * Inicijalizacija pomocne $CP_ECHO_RETURN varijable. + + -- Zoran Dzelajlija Thu, 15 Sep 2005 00:57:09 +0200 + +carnet-tools-cn (2.4.2) sarge; urgency=low + + * dodan set -vx u sve funkcije, ako postoji varijabla CP_SCRIPT_DEBUG + * sredjen problem sa cp_get_ifdefault() (uvijek se vracao false, zbog + krive logike na kraju funkcije) + * popravljena funkcija cp_mail() + + -- Ivan 'ico' Rako Tue, 23 Aug 2005 15:08:45 +0200 + +carnet-tools-cn (2.4.1) sarge; urgency=low + + * cp_backup_conffile je greskom vracao false ako backup nije + bio potreban. + + -- Zoran Dzelajlija Sat, 25 Jun 2005 00:29:32 +0200 + +carnet-tools-cn (2.4) testing; urgency=low + + * Kozmeticke ispravke. + * Dodana cp_check_and_backup funkcija. + * Ispravak buga funkcije cp_check_and_sed (ako pukne sed, datoteka + ostane prazna) + * Funkcija cp_check_and_sed se prekida ako nedostaju potrebni argumenti + + -- Ivan 'ico' Rako Mon, 6 Jun 2005 12:01:43 +0200 + +carnet-tools-cn (2.3.1) testing; urgency=low + + * dodana ovisnost o mail-transport-agent i sed + + -- Ivan 'ico' Rako Thu, 28 Apr 2005 15:48:17 +0200 + +carnet-tools-cn (2.3) testing; urgency=low + + * dodane funkcije: + - cp_get_ldap_suffix + - cp_get_ldap_realm + + -- Ivan 'ico' Rako Wed, 20 Apr 2005 21:30:52 +0200 + +carnet-tools-cn (2.2) testing; urgency=low + + * cp-update: Ispravka uvjeta za upozorenje kod implicitnog + pozicioniranja ubacenog bloka na kraj datoteke + * cp-update: Ispravljene nekompatibilnosti sa starom verzijom + (regexp-match je default) + + -- Damir Dzeko Fri, 08 Apr 2005 02:10:45 +0200 + +carnet-tools-cn (2.1) testing; urgency=low + + * novi cp-update i man-stranice: cp-update(1), carnet-tools(7) + * dodane funkcije: + - cp_yes_no + - cp_db_get + + -- Damir Dzeko Tue, 29 Mar 2005 19:40:12 +0200 + +carnet-tools-cn (2.0) testing; urgency=low + + * /usr/local/doc -> /usr/share/doc + * dodane funkcije: + - cp_get_ifaddr + - cp_get_ifmask + - cp_get_ifdefault + - cp_get_netaddr + - cp_backup_conffile + - cp_check_and_sed + - cp_echo + - cp_mail + - cp_safe_file_replace + + -- Ivan 'ico' Rako Tue, 22 Mar 2005 10:53:43 +0100 + +carnet-tools (1.2) unstable; urgency=low + + * Dodana nova verzija cp-update (v2.2) + + -- Nikola Pavkovic Wed, 25 Feb 2004 21:26:58 +0100 + +carnet-tools (1.1-5) unstable; urgency=low + + * Prvo izdanje za Sarge + + -- Nikola Pavkovic Sun, 22 Feb 2004 20:44:52 +0100 + -- 1.7.10.4 From 407cf3f5ae6558ce23844285cd35d65cfbc22012 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Mon, 22 Oct 2007 14:07:22 +0000 Subject: [PATCH 05/16] r102: --- changelog.CARNet | 1 + 1 file changed, 1 insertion(+) create mode 120000 changelog.CARNet diff --git a/changelog.CARNet b/changelog.CARNet new file mode 120000 index 0000000..6a28af6 --- /dev/null +++ b/changelog.CARNet @@ -0,0 +1 @@ +changelog \ No newline at end of file -- 1.7.10.4 From 3576446fef8951dfd73ff2e9a7dae06eaccd21e2 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Mon, 22 Oct 2007 14:11:46 +0000 Subject: [PATCH 06/16] r103: --- README.CARNet | 4 +- carnet-tools.7 | 14 +++- cp-update.1 | 2 +- cp-update.old | 231 ------------------------------------------------------ debian/changelog | 22 ++++++ 5 files changed, 37 insertions(+), 236 deletions(-) delete mode 100755 cp-update.old diff --git a/README.CARNet b/README.CARNet index 49f9808..4e676d4 100644 --- a/README.CARNet +++ b/README.CARNet @@ -16,7 +16,7 @@ Man-stranice cp-update(1) i carnet-tools(7) donose popis funkcija koje ti alati podrzavaju/sadrzavaju te upute za njihovo koristenje. O eventualnim problemima / ispravkama / zahtjevima za novim funkcijama -posaljite poruku Grupi za izradu paketa . +posaljite poruku Grupi za izradu paketa . - -- Damir Dzeko Thu, 31 Mar 2005 09:29:28 +0200 + -- Damir Dzeko Mon, 06 Nov 2006 02:02:02 +0100 diff --git a/carnet-tools.7 b/carnet-tools.7 index 59aee63..36f7703 100644 --- a/carnet-tools.7 +++ b/carnet-tools.7 @@ -146,6 +146,15 @@ Funkcija vraca LDAP suffix kojeg cita iz \fI/etc/ldap/slapd.conf\fR. .TP \fBcp_get_ldap_realm\fR Funkcija vraca LDAP realm kojeg cita iz \fI/etc/ldap/slapd.conf\fR. +.TP +\fBcp_get_mx_domain\fR +Funkcija vraca najopcenitiju domenu ciji MX zapis pokazuje +na ovo racunalo. Na primjer, ako se racunalo zove fly.srk.fer.hr +i MX zapisi u DNS-u za srk.fer.hr i fer.hr pokazuju na nj, +funkcija ce vratiti niz "fer.hr". Ako nije pronadjena ni jedna +domena, vraca se FQDN racunala, pa se usporedbom vracene vrijednosti +i izlaza `hostname -f` moze ustanoviti je li ovo racunalo MX za +domenu. .PP U pravilu, funkcije cije ime pocinje sa \fBcp_get_\fR pohranjuju rezultat u varijabli \fB$RET\fR, a one s prefiksom cp_check_ kao rezultat vracaju @@ -200,10 +209,11 @@ povratna vrijednost iz \fBcp_get_\fRxxx funkcija Ne koriste se nikakve posebne datoteke. .\" .SH BUGOVI -Nema poznatih. +cp_get_mx_domain ovisi o ispravnom radu DNS sustava. .\" .SH AUTORI -Ivan 'ico' Rako, Zoran Dzelajlija, Damir Dzeko. SRCE . +Ivan 'ico' Rako, Zoran Dzelajlija, Damir Dzeko, +Grupa za izradu paketa . .\" .SH "VEZANO" .BR cp-update(1) diff --git a/cp-update.1 b/cp-update.1 index b8cd11b..1332c2e 100644 --- a/cp-update.1 +++ b/cp-update.1 @@ -209,7 +209,7 @@ For precise insight in its operation don't hesitate to look at the source. .\" .SH "REPORTING BUGS" If you find any, we encourage you to send them to CARNet packaging group -at SRCE . +. .PP When sending bug reports, please try to run program in diagnostic mode and try to send us quality feedback so we could easily locate and diff --git a/cp-update.old b/cp-update.old deleted file mode 100755 index fdbfaf9..0000000 --- a/cp-update.old +++ /dev/null @@ -1,231 +0,0 @@ -#! /usr/bin/perl -w - -## Copyright (C) 1998 Hrvoje Niksic -## Modification by Zeljko Boros (block entries, removing old entries) -## More options and use strict by Zoran Dzelajlija on 2004-02-24 -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -## $Id: cp-update,v 2.2 2004/02/24 jelly Exp $ - -use strict; - -my ($name, $usage); - -($name = $0) =~ s%.*/%%; # Looks nicer without the slashes -$usage = "Usage:\n"; -$usage .= "$name [-r] [-m] [-i AFTER|-t] [-b START -e STOP] [-c CHAR] PACKAGE FILE\n"; -$usage .= " -r Remove entry PACKAGE from FILE\n"; -$usage .= " Default is to add lines from stdin.\n"; -$usage .= " -m Allow multiple blocks of the same type\n"; -$usage .= " By default, old blocks are replaced with the new one.\n"; -$usage .= "\n"; -$usage .= " Special placement of config blocks:\n"; -$usage .= " -i Insert after this line\n"; -$usage .= " -t Insert on top\n"; -$usage .= " The default is to append at the bottom.\n"; -$usage .= "\n"; -$usage .= " Manipulating block marks:\n"; -$usage .= " -c Use alternative comment character (default: #)\n"; -$usage .= " Alternative block marks:\n"; -$usage .= " -b Start mark (ie 'service ftp')\n"; -$usage .= " -e Stop mark (ie. '}')\n"; -$usage .= " These will delete to the end of the file if no end mark\n"; -$usage .= " is found. The deletion is otherwise not greedy and\n"; -$usage .= " stops at the first end mark found. You can use\n"; -$usage .= " %P to insert the PACKAGE argument, and\n"; -$usage .= " %% to insert a literal % sign into the mark.\n"; - - - - -my ($begin, $end, $trailer); -my ($parambegin, $paramend, $insert); -my ($pkg, $file); -my ($block, $multi, $addafter, $addontop); - -my $add = 1; -my $comment = "#"; -my $SEEK_END = 2; - -while (@ARGV) -{ - $_ = shift; - if (/^-c$/ || /^--comment$/) - { - defined ($comment = shift) - || die "$name: `-c' must be followed by an argument\n"; - } - elsif (/^-r$/ || /^--remove$/) - { - $add = 0; - } - elsif (/^-m$/ || /^--allow-multiple$/) - { - $multi = 1; - } - elsif (/^-b$/ || /^--begin$/) - { - defined ($parambegin = shift) - || die "$name: '-b' must be followed by an argument\n"; - $block = 1; - } - elsif (/^-e$/ || /^--end$/) - { - defined ($paramend = shift) - || die "$name: '-e' must be followed by an argument\n"; - $block = 1; - } - elsif (/^-i$/ || /^--insert-after$/) - { - defined($insert = shift) - || die "$name: '-i' must be followed by an anrgument\n"; - #$multi = 1; # uncomment for -i backward compatibility - $addafter = 1; - } - elsif (/^-t$/ || /^--insert-on-top$/) - { - $insert = ""; - $addafter = 1; - } - elsif (/^-/) - { - die "$name: Unrecognized option \`$_'\n"; - } - else - { - unshift(@ARGV, $_); - last; - } -} - -($pkg = shift) || die $usage; -($file = shift) || die $usage; -(! $block || ($parambegin && $paramend)) - || die ("$name: must provide both begin and end marks.\n"); - -if ($block) -{ - $parambegin =~ s,%P,$pkg,g; - $parambegin =~ s,%%,%,g; - $paramend =~ s,%P,$pkg,g; - $paramend =~ s,%%,%,g; - $begin = $parambegin; - $end = $paramend; - $trailer = ""; -} -else -{ - $begin = "$comment Begin update by CARNet package $pkg"; - $end = "$comment End update by CARNet package $pkg"; - $trailer = " -- DO NOT DELETE THIS LINE!"; -} - -if ($add) -{ - if (! $multi) - { - &del; - } - &add; -} -else -{ - &del; -} - -sub add() { - $trailer .= "\n"; - $begin .= $trailer; - $end .= $trailer; - my $byte = ""; # @#$@#$@#$$@#$@#$#@$! -w - my $prefix = ""; - - open (HANDLE, "<$file") || die "$file: $!\n"; - - # Need to load it all into memory if we want to write it - # out to the same file. - my @lines = if ($addafter); - - # If FILE does not have a trailing newline, be suire to add it - # before appending anything else. - - # Unless it is size 0! - if ((-s $file)) - { - seek HANDLE, -1, $SEEK_END; - defined (read HANDLE, $byte, 1) && ($byte ne "\n") && ($prefix = "\n"); - close HANDLE; - } - - if(!$addafter) - { - # The actual work is in the following three lines: - open (HANDLE, ">>$file") || die "$file: $!\n"; - print HANDLE $prefix . $begin . join('', ) . $end; - close HANDLE; - } - else - { - # Overwrite it - open (HANDLE, ">$file") || die "$file: $!\n"; - my $added = 0; - foreach (@lines) - { - if (! $added && /^$insert/o) - { - print HANDLE if ($insert ne ""); - print HANDLE $begin . join('', ) . $end; - print HANDLE if ($insert eq ""); - $added = 1; - } - else - { - print HANDLE; - } - } - if(! $added) - { - print HANDLE $prefix . $begin . join('', ) . $end; - } - close HANDLE; - } -} - -sub del() { - # saving vars for &add function... - my ($mybegin, $myend, $mytrailer); - - $mybegin = $begin; - $myend = $end; - $mytrailer = $trailer; - - # Make the strings regexp-friendly by quoting non-word chars. - $mybegin =~ s/\W/\\$&/g; - $myend =~ s/\W/\\$&/g; - $mytrailer =~ s/\W/\\$&/g; - open (HANDLE, "<$file") || die "$file: $!\n"; - # Need to load it all into memory, because we'll want to write it - # out to the same file. - my @lines = ; - close HANDLE; - open (HANDLE, ">$file") || die "$file: $!\n"; - foreach (@lines) - { - print HANDLE unless (/^$mybegin(?:$mytrailer)?$/o - .. /^$myend(?:$mytrailer)?$/o); - } - close HANDLE; -} diff --git a/debian/changelog b/debian/changelog index 2b8e94f..019248f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,25 @@ +carnet-tools-cn (2.7.1) sarge; urgency=low + + * Zbog typoa cp_get_mx_domain nije radila sa host paketom. + + -- Zoran Dzelajlija Thu, 16 Nov 2006 15:51:33 +0100 + +carnet-tools-cn (2.7) sarge; urgency=low + + * Dodana funkcija cp_get_mx_domain(). + + -- Zoran Dzelajlija Wed, 8 Nov 2006 13:53:04 +0100 + +carnet-tools-cn (2.6.1) sarge; urgency=low + + * stara email adresa grupe @srce.hr zamijenjena novom @CARNet.hr + u svim datotekama + + * functions.sh: funkcija cp_get_netaddr -- opcija '-c' izbacena + iz argumenata programa ipcalc + + -- Damir Dzeko Mon, 06 Nov 2006 02:26:23 +0100 + carnet-tools-cn (2.6) sarge; urgency=low * cp-update: ispravljen propust u sigurnosnoj provjeri prilikom -- 1.7.10.4 From 5c4e97ab54961b0446fce35968cb9a56d6af1188 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Mon, 22 Oct 2007 14:12:30 +0000 Subject: [PATCH 07/16] r104: --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 019248f..604e417 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +carnet-tools-cn (2.8) sarge; urgency=low + + * Prva verzija za Etch + + -- Ivan Rako Mon, 22 Oct 2007 16:12:15 +0200 + carnet-tools-cn (2.7.1) sarge; urgency=low * Zbog typoa cp_get_mx_domain nije radila sa host paketom. -- 1.7.10.4 From 6ec5afc2f99590e31ace89be18a037c4e52000c4 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Mon, 22 Oct 2007 14:12:50 +0000 Subject: [PATCH 08/16] r105: --- debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index 551f097..36b93a9 100755 --- a/debian/rules +++ b/debian/rules @@ -56,7 +56,7 @@ binary-indep: build install binary-arch: build install dh_testdir dh_testroot -# dh_installchangelogs -k + dh_installchangelogs -k dh_installdocs # dh_installexamples dh_install -- 1.7.10.4 From aff7c030672d174106f73e68730e9ff98cc364e9 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Tue, 23 Oct 2007 10:09:58 +0000 Subject: [PATCH 09/16] r106: --- functions.sh | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/functions.sh b/functions.sh index 2ab04ff..851be62 100644 --- a/functions.sh +++ b/functions.sh @@ -151,7 +151,7 @@ cp_get_netaddr() { if [ "$netmask" = "255.255.255.255" ]; then cidr="$ipaddress/32" else - cidr="`ipcalc -ncb $ipaddress $netmask | awk '/^Network:/{print $2}'`" + cidr="`ipcalc -nb $ipaddress $netmask | awk '/^Network:/{print $2}'`" fi RET="$cidr" @@ -476,8 +476,46 @@ cp_get_ldap_realm() { RET="`echo $RET | awk -F, '{print $1}' | awk -F= '{print $2}'`" [ -z "$RET" ] && echo "cp_get_ldap_realm: No LDAP REALM in /etc/ldap/slapd.conf" >&2 - [ -z "$echo_return" ] || echo $RET - CP_ECHO_RETURN="$echo_return" +} + +# if fqdn is name.dom3.dom2.dom1.hr, check if this host is MX for +# either dom3.dom2.dom1.hr, dom2.dom1.hr or dom1.hr and dump highest level +# domain on stdout +cp_get_mx_domain() { + [ "$CP_SCRIPT_DEBUG" ] && set -vx + + local domains d host + + host=$(hostname -f) + RET="$host" + if ! echo "$host" | grep -q '\.'; then + return + fi + if [ ! -x /usr/bin/host ]; then + # no host command + return + fi + domains=$(/bin/hostname -f | awk -F. ' + { + for (i=2; i Date: Mon, 29 Oct 2007 23:21:39 +0000 Subject: [PATCH 10/16] r107: --- carnet-tools.7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/carnet-tools.7 b/carnet-tools.7 index 36f7703..6847069 100644 --- a/carnet-tools.7 +++ b/carnet-tools.7 @@ -175,7 +175,7 @@ Poziv \fBcp_check_\fRxxx funkcije i nastavak toka programa: .Vb 6 \& . /usr/share/carnet-tools/functions.sh \& -\& if ! cp_check_and_sed watter 's/watter/ice/' \\ +\& if ! cp_check_and_sed water 's/water/ice/' \\ \& /dev/fridge; then \& cp_echo "Clean the /dev/fridge!" \& fi -- 1.7.10.4 From 202aaca8f6a163482403c104ff192a0375496646 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Tue, 30 Oct 2007 00:18:25 +0000 Subject: [PATCH 11/16] r108: --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 604e417..432fbe2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -carnet-tools-cn (2.8) sarge; urgency=low +carnet-tools-cn (2.8) stable; urgency=low * Prva verzija za Etch -- 1.7.10.4 From 0391d17254435cc342c65e2277edb13c7c9cb093 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Wed, 19 Mar 2008 17:51:57 +0100 Subject: [PATCH 12/16] Uvoz u git: carnet-tools-cn 2.8.1 * Kozmeticke ispravke u funkcijama cp_yes_no() i cp_mail() * cp_mv() ostavlja kopiju stare datoteke --- debian/changelog | 7 +++++++ functions.sh | 15 ++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 432fbe2..88a15a0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +carnet-tools-cn (2.8.1) stable; urgency=low + + * Kozmeticke ispravke u funkcijama cp_yes_no() i cp_mail() + * cp_mv() ostavlja kopiju stare datoteke + + -- Ivan Rako Mon, 4 Feb 2008 23:47:02 +0100 + carnet-tools-cn (2.8) stable; urgency=low * Prva verzija za Etch diff --git a/functions.sh b/functions.sh index 851be62..dc2d45c 100644 --- a/functions.sh +++ b/functions.sh @@ -327,7 +327,7 @@ cp_mail () { CP_NOTICE="From: $pkg postinst script To: root Subject: $pkg$version package install log -Date: $(/bin/date +'%a, %d %b %Y %H:%M:%S %z') +Date: $(LC_ALL=C /bin/date --rfc-2822) Hello! @@ -338,7 +338,7 @@ is included below. ---------- ${CP_NOTICE}----------" - echo "$CP_NOTICE" | /usr/sbin/sendmail -t & + echo "$CP_NOTICE" | /usr/sbin/sendmail -t -oi & sleep 1 fi } @@ -356,6 +356,7 @@ cp_mv () { if [ -e "$old" ]; then chown --reference "$old" "$new" chmod --reference "$old" "$new" + cp -pf "$old" "$old.cn-old" fi mv "$new" "$old" } @@ -378,6 +379,14 @@ cp_yes_no () { echo -n "$prompt (y)es/(n)o: " read answer case "$answer" in + Y*) + echo + RET=y + ;; + N*) + echo + RET=n + ;; y*) echo RET=y @@ -389,7 +398,7 @@ cp_yes_no () { *) echo echo "Please read the message and choose y or n" - cp_yes_no + cp_yes_no "$prompt" ;; esac } -- 1.7.10.4 From 07f3e2984f79dfb911e3b0364dd10c7127fd705e Mon Sep 17 00:00:00 2001 From: Dinko Korunic Date: Mon, 13 Apr 2009 18:16:41 +0200 Subject: [PATCH 13/16] - Ispravak za cp_mail gdje je zalutao whitespace i uzrokovao blacklisting od Amavisa - Ispravak za cp-update gdje se za inplace edit koristio sysopen() bez zadrzavanje prethodnih dozvola --- README.CARNet | 2 +- cp-update | 2 +- debian/changelog | 9 +++++++++ debian/control | 4 ++-- functions.sh | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.CARNet b/README.CARNet index 4e676d4..d65104c 100644 --- a/README.CARNet +++ b/README.CARNet @@ -12,7 +12,7 @@ Trenutna verzija sadrzi: - /usr/share/carnet-tools/functions.sh datoteku koja sadrzi sljedece shell funkcije: -Man-stranice cp-update(1) i carnet-tools(7) donose popis funkcija koje +Man-stranice cp-update(1) i carnet-tools(7) donose popis funkcija koje ti alati podrzavaju/sadrzavaju te upute za njihovo koristenje. O eventualnim problemima / ispravkama / zahtjevima za novim funkcijama diff --git a/cp-update b/cp-update index 01bfe48..5514ee6 100755 --- a/cp-update +++ b/cp-update @@ -459,7 +459,7 @@ sub actualize() { $file_new .= '.cp-update.new'; # our .new file $file_old .= '.cp-update.old'; # our .old file # write content in new file in single write op - sysopen ($FileHandle, $file_new, O_CREAT|O_TRUNC|O_WRONLY) + sysopen ($FileHandle, $file_new, O_CREAT|O_TRUNC|O_WRONLY, (stat($File))[2]) or die "$ProgramName: Failed to open file '$File' for writing ($!)\n"; if (length($newContent)) { my $wb = syswrite($FileHandle, $newContent); diff --git a/debian/changelog b/debian/changelog index 88a15a0..62bc447 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +carnet-tools-cn (2.8.2) stable; urgency=low + + * Ispravak za cp_mail gdje je zalutao whitespace i uzrokovao blacklisting od + Amavisa + * Ispravak za cp-update gdje se za inplace edit koristio sysopen() bez + zadrzavanje prethodnih dozvola + + -- Dinko Korunic Mon, 13 Apr 2009 18:00:24 +0200 + carnet-tools-cn (2.8.1) stable; urgency=low * Kozmeticke ispravke u funkcijama cp_yes_no() i cp_mail() diff --git a/debian/control b/debian/control index d4d86f4..de85bfa 100644 --- a/debian/control +++ b/debian/control @@ -1,9 +1,9 @@ Source: carnet-tools-cn Section: utils Priority: optional -Maintainer: Grupa za izradu paketa +Maintainer: Grupa za izradu paketa Build-Depends: debhelper (>= 4.0.0) -Standards-Version: 3.6.1 +Standards-Version: 3.7.2 Package: carnet-tools-cn Architecture: all diff --git a/functions.sh b/functions.sh index dc2d45c..38cd05f 100644 --- a/functions.sh +++ b/functions.sh @@ -328,7 +328,7 @@ cp_mail () { To: root Subject: $pkg$version package install log Date: $(LC_ALL=C /bin/date --rfc-2822) - + Hello! The $pkg package has been successfully installed on your computer. -- 1.7.10.4 From 0bfcdc144e63167d37578c6c33b6c4113d1f8c5b Mon Sep 17 00:00:00 2001 From: Dinko Korunic Date: Fri, 22 May 2009 12:32:41 +0200 Subject: [PATCH 14/16] * Ispravak za cp_mail: pokusava se pozvati sendmail wrapper cak i kad ne postoji na sustavu --- debian/changelog | 7 +++++++ functions.sh | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 62bc447..3834900 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +carnet-tools-cn (2.8.3) stable; urgency=low + + * Ispravak za cp_mail: pokusava se pozvati sendmail wrapper cak i kad ne + postoji na sustavu + + -- Dinko Korunic Fri, 22 May 2009 12:32:16 +0200 + carnet-tools-cn (2.8.2) stable; urgency=low * Ispravak za cp_mail gdje je zalutao whitespace i uzrokovao blacklisting od diff --git a/functions.sh b/functions.sh index 38cd05f..24c7cf9 100644 --- a/functions.sh +++ b/functions.sh @@ -337,9 +337,11 @@ is included below. ---------- ${CP_NOTICE}----------" - - echo "$CP_NOTICE" | /usr/sbin/sendmail -t -oi & - sleep 1 + + if [ -x /usr/sbin/sendmail ]; then + echo "$CP_NOTICE" | /usr/sbin/sendmail -t -oi & + sleep 1 + fi fi } -- 1.7.10.4 From a34e1000529d001d4a8ddb85917552167eb13582 Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Tue, 5 Apr 2011 14:39:52 +0200 Subject: [PATCH 15/16] lenny branch --- README.CARNet | 1 - 1 file changed, 1 deletion(-) diff --git a/README.CARNet b/README.CARNet index d65104c..1bd1144 100644 --- a/README.CARNet +++ b/README.CARNet @@ -19,4 +19,3 @@ O eventualnim problemima / ispravkama / zahtjevima za novim funkcijama posaljite poruku Grupi za izradu paketa . -- Damir Dzeko Mon, 06 Nov 2006 02:02:02 +0100 - -- 1.7.10.4 From 0302751df5ef1a0545de7b6f3e48f6628f9c21ee Mon Sep 17 00:00:00 2001 From: Ivan Rako Date: Tue, 5 Apr 2011 14:41:58 +0200 Subject: [PATCH 16/16] prvo izdanje za squeeze --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3834900..6e52312 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +carnet-tools-cn (3.0.0) stable; urgency=low + + * Prvo izdanje za squeeze + + -- Ivan Rako Tue, 05 Apr 2011 14:41:40 +0200 + carnet-tools-cn (2.8.3) stable; urgency=low * Ispravak za cp_mail: pokusava se pozvati sendmail wrapper cak i kad ne -- 1.7.10.4