Search code examples
dependenciespackagedebianpackagingdpkg

Different pre/post inst/rm maintainer scripts and unit files for split packages?


I am trying to make multiple .deb's from a single source, but would like to have different maintainer scripts (pre/post inst/rm) scripts as well as different systemd unit files for each package. Is this supported?


Solution

  • Multiple sets of maintainer scripts

    To have different maintainer scripts for each package, you add a prefix to the script. For example if your packages are called mypkg & mypkg-extra you could create these files in your /debain directory

    debian/install               #Files to be installed in default package. 
                                 #This must now exist even for your
                                 #default package, or your files will be missing.
    debian/mypkg-extra.install   #Same, but for second package
    debian/preinst               #Preinstall script for default package
    debian/mypkg-extra.preinst   #Preinstall script for second package
    debian/mypkg.service         #systemd unit file for default package
    debian/mypkg-extra.service   #Systemd unit file for second package
    

    Also, I believe the default scripts/unit files could be prefixed by the default package name as well, but I didn't try that.