.\" Copied from from Pod::Man template .\" Wed, 23 Mar 2005 11:51:08 +0100 .\" .\" Standard preamble: .\" ====================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" .\" For nroff, turn off justification. Always turn off hyphenation; it .\" makes way too many mistakes in technical documents. .hy 0 .if n .na .\" .IX Title "carnet-tools 7" .TH carnet-tools 7 "March 2005" CARNET "CARNET Packaging Tools" .SH NAME carnet-tools \- pomocni alati za laksi zivot package maintainera .\" .SH PREGLED .B . /usr/share/carnet-tools/functions.sh .\" .SH OPIS Paket carnet-tools-cn sadrzi skripte i shell funkcije koje se cesto koriste u CARNETovim paketima. To sluzi tome da se postinst skripte pisu lakse, brze i pouzdanije temeljene na vec isprobanom kodu. Tu su i primjeri provjerenih rjesenja za shell-skriptiranje da se nadju pri ruci kad zatreba. .\" .SH FUNKCIJE .TP \fBcp_get_ifaddr\fR \fIinterface\fR Funkcija vraca IP adresu mreznog sucelja. U slucaju da nije naveden kao argument, vraca IP adresu od loopback sucelja (lo). .TP \fBcp_get_ifmask\fR \fIinterface\fR Funkcija vraca IP netmask mreznog sucelja. U slucaju da nije naveden kao argument, vraca IP netmask od loopback sucelja (lo). .TP \fBcp_get_ifdefault\fR <\fBdev\fR|\fBaddr\fR> Funkcija vraca naziv uredjaj ili adresu podrazumne rute (default route). .TP \fBcp_get_netaddr\fR \fIinterface\fR Funkcija vraca podmrezu mreznog sucelja u CIDR obliku. U slucaju da nije naveden \fIinterface\fR argument, vraca CIDR sucelja preko kojeg ide default route, a ako isti nije definiran, vraca CIDR loopback sucelja (lo). .TP \fBcp_backup_conffile\fR [\fB-n\fR] [[\fB-p\fR] \fB-d\fR \fIbackup_dir\fR] \fIfile\fR [\fIbackup_file\fR] .TP \fBcp_check_and_backup\fR [\fB-n\fR] [[\fB-p\fR] \fB-d\fR \fIbackup_dir\fR] \fIfile\fR [\fIbackup_file\fR] Funkcije backupiraju datoteku, kopija originala se sprema u /var/backups/ direktorij sa dodanim .bak nastavkom. Po potrebi se vrsi rotacija prethodno spremljenih kopija ako postoje neke razlike. Opcionalni argument \fIbackup_file\fR zamjenuje ime backup datoteke u /var/backups nekim drugim. Opcijom \fB-d\fR se moze podesiti alternativno odrediste, bilo apsolutnom putanjom do zeljenog direktorija ili relativnom unutar /var/backups. \fB-p\fR ce automatski stvoriti odredisni direktorij ako ne postoji. Opcija \fB-n\fR sprecava dodavanje .bak nastavka. Na primjer: .nf cp_backup_conffile config.php .fi - backup ide u /var/backups/config.php.bak .nf cp_backup_conffile apache.conf squirrelmail-apache.conf .fi - backup ide u /var/backups/squirrelmail-apache.conf.bak cp_backup_conffile -n -d aai preinstall.ldif .fi - backup ide u /var/backups/aai/preinstall.ldif cp_backup_conffile uspjesno zavrsi ako nije bilo potrebno izvrsiti backup, dok cp_check_and_backup u tom slucaju vraca status 3. .TP \fBcp_check_and_sed\fR \fIregexp\fR \fIsed\fR \fIfile\fR [\fIfile\fR ...] Funkcija trazi (egrep) regularni izraz \fIregexp\fR u datotekama, te ako postoji, izvrsi sed program \fIsed\fR nad tim datotekama. Najcesce se koristi za zamjenu stare vrijednosti postavke novom. .TP \fBcp_echo\fR [\fB-mailonly\fR|\fB-m\fR] \fIstring\fR .TP \fBcp_mail\fR [\fB-q\fR] \fIpackage\fR [\fIversion\fR] U kombinaciji, ove funkcije sluze za slanje poruka na stdout \fUi\fR na mail rootu. Koristiti za informacije koje svakako treba dostaviti sistemcu (passwordi, nekompatibilne izmjene u konfiguraciji kriticnih servisa), cak i ako ne cita dokumentaciju niti prati poruke kod upgradea. :\-> Paket koji koristi cp_mail() mora imati Depends: mail-transport-agent. .PP cp_echo se koristi umjesto echo. Uz \fB-m\fR salje poruku samo na mail. cp_mail se poziva na kraju (postinsta), kad posalje mail. Bez \fB-q\fR opcije \fBcp_mail\fR ce ispisati obavijest o slanju tog maila. .PP Ove dvije funkcije koriste globalnu varijablu \fBCP_NOTICE\fR u koju se spremaju poruke za mail. .TP \fBcp_mv\fR \fInew-file\fR \fItarget-file\fR Funkcija cija je namjena da novu datoteku \fInew-file\fR instalira kao zadanu \fItarget-file\fR datoteku, koja moze i/ili ne postojati. Ako ta datoteka postoji onda se novoj dodjeljuje jednako vlasnistvo i modovi pristupa. Operacija je atomicna. .PP Funkcija \fBcp_mv\fR je prikladna za koristenje kod raznih sed-like izmjena neke postojece datoteke iako se za samo sed-anje preporuca koristiti funkciju \fBcp_check_and_sed\fR. .TP \fBcp_yes_no\fR [\fIprompt\fR] Funkcija za jednostavni \fUy\fRes/\fUn\fRo dijalog. Odgovor '\fBy\fR' | '\fBn\fR' vraca u RET. Valja napomenuti da je kao i sve ostalo sto koristi stdin/stdout nekompatibilan s debconfom (doticnog treba ugasiti prvo). .TP \fBcp_db_get\fR \fIpackage\fR\fB/\fR\fIvariable\fR Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane greske vrati prazni \fBRET\fR. Kome treba greska neka ga ne koristi. Funkcija je namijenjena koristenju na mjestu gdje se inace poziva \fBdb_get\fR, sto znaci da korisnik mora sam napraviti sve potrebne predradnje, od \fB. /usr/share/debconf/confmodule\fR nadalje. .TP \fBcp_get_ldap_suffix\fR Funkcija vraca LDAP suffix kojeg cita iz \fI/etc/ldap/slapd.d/\fR (ako ne postoji, onda cita iz \fI/etc/ldap/slapd.conf\fR). .TP \fBcp_get_ldap_realm\fR Funkcija vraca LDAP suffix kojeg cita iz \fI/etc/ldap/slapd.d/\fR (ako ne postoji, onda 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 exit status. Pogledajte dolje koje se varijable okruzja mogu upotrijebiti za utjecaj na nacin vracanja povratne vrijednosti. .\" .SH PRIMJER Poziv \fBcp_get_\fRxxx funkcije i preuzimanje rezultata: .Sp .Vb 4 \& . /usr/share/carnet-tools/functions.sh \& \& cp_get_ifaddr ppp0 \& addr="$RET" .Ve Poziv \fBcp_check_\fRxxx funkcije i nastavak toka programa: .Sp .Vb 6 \& . /usr/share/carnet-tools/functions.sh \& \& if ! cp_check_and_sed water 's/water/ice/' \\ \& /dev/fridge; then \& cp_echo "Clean the /dev/fridge!" \& fi .Ve .\" .SH ENVIRONMENT .TP \fBCP_ECHO_RETURN\fR .nf kontrola nacina povrata vrijednosti, postaviti na 1 \fUnakon\fR ucitavanja datoteke s funkcijama da bi rezultat \fBcp_get_*\fR funkcija isao i na stdout pored postavljanja \fB$RET\fR. .fi .TP \fBCP_SCRIPT_DEBUG\fR .nf potpomaze debugiranje (set -vx) .fi .TP \fBCP_NOTICE\fR .nf tijelo poruke koja se salje na mail .fi .TP \fBRET\fR .nf povratna vrijednost iz \fBcp_get_\fRxxx funkcija .fi .\" .SH DATOTEKE Ne koriste se nikakve posebne datoteke. .\" .SH BUGOVI cp_get_mx_domain ovisi o ispravnom radu DNS sustava. .\" .SH AUTORI Ivan 'ico' Rako, Zoran Dzelajlija, Damir Dzeko, Grupa za izradu paketa . .\" .SH "VEZANO" .BR cp-update(1) .\" End