Provided by: dpkg_1.15.8.4ubuntu3_i386 bug

NAMN

       dpkg-maintscript-helper - gr runt knda dpkg-begrnsningar i paketskript

SYNOPS

       dpkg-maintscript-helper kommando [flaggor...] -- maint-script-flaggor

KOMMANDON OCH PARAMETRAR

       rm_conffile konffil [senasteversion [paket]]

       mv_conffile gammalkonffil nykonffil [senasteverison [paket]]

BESKRIVNING

       Programmet  skrevs fr att kras i paketskript fr att utfra en del tgrder
       som dpkg (nnu) inte sjlv kan hantera, antingen  p  grund  av  designval
       eller p grund av nuvarande begrnsningar.

       Mnga  av  dessa  tgrder  krver  samordnade tgrder frn flera paketskript
       (preint, postinst, prerm, postrm). Fr att undvika misstag rcker det att
       lgga  in  ett  och  samma anrop i alla skript, varp programmet anpassar
       sitt beteende beroende  p  miljvariabeln  DPKG_MAINTSCRIPT_NAME  och  p
       paketskriptets  parametrar,  vilka  du  mste  vidaresnda  efter  dubbla
       bindestreck.

KONFFIL-RELATERADE TGRDER

       Nr ett paket uppgraders kommer dpkg inte att  automatiskt  ta  bort  en
       konffil  (en  konfigurationsfil  fr vilken dpkg skall behlla anvndarens
       ndringar) om  den  inte  finns  i  den  nya  versionen.  Det  finns  tv
       grundlggande  skl  till detta; den frsta r att konffilen kan ha tappats
       av misstag och nsta version kan komma att terstlla den, varp  anvndaren
       inte vill tappa sina ndringar. Den andra r att fr att gra det mjligt fr
       paket att g ver frn en dpkg-hanterad konffil till en fil  som  hanteras
       av paketets skript, vanligtvis genom ett verktyg som debconf eller ucf.

       Det innebr att, om paketet  menar  att  byta  namn  eller  ta  bort  en
       konfigurationsfil,   s   mste   det   gra   s   explicit,   och  d  kan
       dpkg-maintscript-helper  anvndas  fr  att   implementera   en   elegant
       borttagning och flyttning av konffiler i paketscripten.

   TA BORT EN KONFFIL
       Om  en  konffil  helt  tas  bort  br  den tas bort frn disk, svida inte
       anvndaren har modifierat den.  Om  det  finns  lokala  ndringar  br  de
       bibehllas.  Om  paketuppgraderingen  avbryts br inte konffilen som just
       blev frldras frsvinna.

       Allt  detta  implementeras  genom  att  lgga  in  fljande   skalkod   i
       paketskripten preinst, postinst och postrm:

           dpkg-maintscript-helper rm_conffile \
               konffil senasteversion paket -- "$@"

       konffil  r filnamnet p den konffil som skall tas bort. senasteversion r
       den senaste versionen av  paketet  som  innehll  konffilen  (eller  den
       senaste  versionen  av  paketet  som  inte  tog hand om att ta bort den
       verblivna konffilen  om  detta  inte  omedelbart  implementerades).  Om
       senasteversion  r  tomt eller inte angivits frsks operationen varje gng
       paketet uppgraderas. paket r paketnamnet, det r frivilligt eftersom det
       faller  tillbaka  p  $DPKG_MAINSTCRIPT_PACKAGE  (variabeln stts av dpkg
       till  namnet  p  det  paket  som  behandlas).   Alla   paramerar   till
       paketskriptet mste vidaresndas till programmet efter "--".

       Aktuell implementation: i preinst kontrolleras om konffilen ndrades och
       i s fall byts namnet p den till antingen konffil.dpkg-remove  (om  inte
       modifierad)  eller till konffil.dpkg-backup (om modifierad). I postinst
       byts namnet p den sistnmnda filen till konffil.dpkg-bak och behlls  som
       referens  om  den  innehller  ndringar av anvndaren, medan den tidigare
       kommer att tas bort. Om paketuppgraderingen avbryts kommer  postrm  att
       ominstallera  den ursprungliga konffilen. Vid borttagning kommer postrm
       ven att ta bort .dpkg-bak-filen som behllits fram till dess.

   BYTA NAMN P EN KONFFIL
       Om en konffil flyttas frn en plats till en annan mste du se till att du
       flyttar  med  eventuella  ndringar  gjorda av anvndaren. Detta kan frst
       verka vara en enkel ndring av preinst-skriptet,  men  det  kommer  leda
       till att anvndaren ombeds att godknna ndringar i konffilen fr dpkg, ven
       om denne inte r ansvarig fr dem.

       En elegant namnndring kan  implementeras  genom  att  lgga  in  fljande
       skalkod i paketskripten preinst, postinst och postrm:

           dpkg-maintscript-helper mv_conffile \
               gammalkonffil nykonffil senasteversion paket -- "$@"

       gammalkonffil och nykonffil r det gamla och nya namnet p konffilen vars
       namn skall bytas. senasteversion r den senaste versionen av paketet som
       innehll  konffilen  med  dess gamla namn. Om senasteversion r tom eller
       inte har angivits kommer  operationen  att  frskas  varje  gng  paketet
       uppgraderas  (observera:  det  r  skrare  att  ange versionen och drmed
       endast utfra operationen en gng). paket r paketnamnet, det r frivilligt
       eftersom  det  faller  tillbaka  p $DPKG_MAINSTCRIPT_PACKAGE (variabeln
       stts av dpkg till namnet p det paket  som  behandlas).  Alla  paramerar
       till paketskriptet mste vidaresndas till programmet efter "--".

       Aktuell implementation: I preinst kontrolleras om konffilen har ndrats,
       om  ja  lmnas  den  kvar  p  plats,  annars  byts  namnet  p  den  till
       gammalkonffil.dpkg-remove.   Vid   konfigurering   tar   postinst  bort
       gammalkonffil.dpkg-remove och byter namn p gammalkonffil till nykonffil
       om  gammalkonffil  fortfarande  finns.  Vid avbruten uppgradering eller
       installation byter postrm tillbaka namnet frn gammalkonffil.dpkg-remove
       till gammalkonffil om s behvs.

INTEGRERA I PAKET

       Givet  att  dpkg-maintscript-helper  anvnds  i  preinst  s innebr detta
       villkorslst att ett  frhandsberoende  ("pre-dependency")  krvs  fr  att
       frskra  att den ndvndiga versionen av dpkg redan har konfigurerats. Den
       version som krvs beror p vilket kommando som anvnds, fr rm_conffile och
       mv_conffile r det 1.15.7.2:

           Pre-Depends: dpkg (>= 1.15.7.2)

       Men  i mnga fall r operationen som utfrs av programmet inte kritiskt fr
       paketet, och istllet fr att anvnda ett frhandsberoende  kan  vi  anropa
       programmet  endast  om vi vet att det ndvndiga kommandot stds av den nu
       installerade dpkg:

           if dpkg-maintscript-helper supports <kommando>; then
               dpkg-maintscript-helper <kommando> ...
           fi

FRFATTARE

       Upphovsrttsskyddat  2010 Raphal Hertzog
       Upphovsrttsskyddat  2008 Joey Hess
       Upphovsrttsskyddat  2007 Guillem Jover
       Upphovsrttsskyddat  2005 Scott James Remnant

       Detta r fri programvara; se GNU General Public License version 2  eller
       senare fr kopieringsvillkor. Det finns INGEN GARANTI.

VERSTTNING

       Peter Krefting och Daniel Nylander.