Hi Steven, > I am putting the finishing touches on an IPS package for AMANDA. I have to > admit, this is probably the most challenging package I have done to date. I > am running into some serious issues packaging this correctly:
I'll try to contribute some advice ? I suppose you mean you want to have this working with SourceJuicer. > 1) Amanda requires a non-root user and group (defaults to amanda) Currently there's no way to do this. I have contributed a set of patches for pkgbuild that allow arbitrary actions, including new users and groups, inside a spec file. While not a top-priority item, I think this integration is already on Laca's to-do list; once that is done, I guess it will not take too much to make the patched pkgbuild available to SourceJuicer too. If you want to have that for your own repo, in the meantime, get the patch from the list archives, or just ping me and I'll dig it up and send it to you :) > 2) A huge number of files are installed which rely on very specific > permissions (i.e. setuid root, with the newly created group name) and many > files require they be installed with the new user/group. > 3) %files is growing out of control because how dissimilar permissions are > on each file. Unfortunately I don't think that there is a (proper) alternative to managing them under %files. > 4) A few sparse directories should be installed (notably /var/amanda, and > /etc/amanda) - there is an earlier thread on this list questioning how to > create these correctly using pkgbuild. I must have missed that. I haven't run into any problem with that so far, will try to catch the thread again. > 5) New inetd.conf entries need to be added for amandad, and of course, > inetconv should be called. You should probably draw inspiration from an existing SMF manifest that uses inetd as a restarter, or use inetconv on your system and include the resulting manifest (modulo customizations) in your package. If you are using an action-enabled pkgbuild, again not on SourceJuicer currently, you may also tag the manifest with a manifest-import in your spec file, so that the administrator who installs the package does not have to do that manually. Bye, -- Emanuele
