Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^2: Where to put the bits and pieces - Installing a complex CPAN dist

by Hercynium (Hermit)
on Sep 19, 2008 at 16:11 UTC ( #712544=note: print w/replies, xml ) Need Help??

in reply to Re: Where to put the bits and pieces - Installing a complex CPAN dist
in thread Where to put the bits and pieces - Installing a complex CPAN dist

Thank you for your input - Debian tends to be my "gold standard" for correct packaging, and it seems that most of the Perl community agrees.

To try to clarify, the demo scripts are just that - scripts, and they use config files that the modules will look for on the system (the search path is *fully* configurable). Each script has it's own config file.

In the case of this distro, applications written using the modules will need to load config files and so I think the appropriate location is in /etc/$distname or /usr/local/etc/$distname. System defaults (like the search-path and various default behaviors) are stored in a module generated by Module::Build, but those can be overridden by any application's config.

I'm wondering if I should put the demo configs under an etc directory as well, or should they be sequestered under a /usr/share sort of place. Perhaps I should put them under /usr/share and install into /usr/bin a script that the user could run later that copies the demo configs and scripts from there to /etc?

After packaging it correctly, my goal for this distro is to make it as *easy* as possible for people to use and try out. It's been used in production for years now, but the author always custom-installed it, usually placing things wherever seemed good for that particular instance. Now we both want to see this software with a broader user-base, and my opinion is that a distro *must* install properly, right from CPAN, or 99.9% of users will give up and never look back. "Properly" includes putting things in places that are accessible and expected by the users and won't annoy sysadmins who run a tight ship (ARRRRRR!)
  • Comment on Re^2: Where to put the bits and pieces - Installing a complex CPAN dist

Replies are listed 'Best First'.
Re^3: Where to put the bits and pieces - Installing a complex CPAN dist
by LesleyB (Friar) on Sep 20, 2008 at 23:57 UTC

    It's always difficult to really be sure but I think the standard form is to put demo scripts and their config files in /usr/share/doc/<package-name>/demo and /usr/share/doc/<package-name>/demo/conf directories. I think tucked away with the default config in /etc would be the wrong place - not even exim4, spamassassin or clamav do that.

    I think that /etc or /usr/local/etc is the right place for an active config or set of configs for an installed system. (My /usr/local/etc happens to be empty on two systems.)

    Pod could always point out the existence of the /usr/share/doc/<package-name>/demo directories and even discuss their contents as well as that of the default install

    I think that is fairly general Linux behaviour - at least what I have seen of Debian, SuSE, Mandriva and Ubuntu - and so not entirely limited to Debian. The FHS says /usr/local/etc is for host specific configuration files for local binaries. I don't know if your application falls into that category.

    Nightmare with all the different possibilities, though -- I can't imagine where things go in Windows... or a Mac .

    Good luck

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://712544]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2017-01-19 23:36 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (173 votes). Check out past polls.