restructuring Perl installation

Discussion in 'Perl Misc' started by Damian, Jan 12, 2004.

  1. Damian

    Damian Guest

    Hello again.

    I want to restructure my Perl installation (5.6.1) so it's a bit more
    self contained.

    Right now everything is scattered.

    /usr/bin/perl (and all other binaries that come with it.)
    /usr/bin/perl5/*
    /usr/man/* (scattered perl man's in here.

    I want to structure it like
    /usr/local/perl5.6.1/bin/ (lke perl and a whole bunch of other binaries
    that come with it.)
    /usr/local/perl5.6.1/lib/
    /usr/local/perl5.6.1/man/

    I have recently setup 5.8.2 as well which follows the self
    containedsetup like above:

    /usr/local/perl5.8.2/bin/
    /usr/local/perl5.8.2/lib/
    /usr/local/perl5.8.2/man/

    now moving files and making symlinks (so perl5.6.1 remains
    /usr/bin/perl) is not a problem, my main question comes down to how do I
    update the master @INC to reflect the new paths? I read that Config.pm
    has to do with it but that alone doesn't seem to do it.

    Also, sicne the 5.6.1 bin's are mixed in with everything else in
    /usr/bin, whats the best way to seperate them out? Same for the man's.
    Maybe by same creation/mod date as /usr/bin/perl, but is that safest
    way?

    Thanks
     
    Damian, Jan 12, 2004
    #1
    1. Advertising

  2. Damian

    Ben Morrow Guest

    "Damian" <> wrote:
    > I want to restructure my Perl installation (5.6.1) so it's a bit more
    > self contained.
    >
    > Right now everything is scattered.


    This is usual on Unix systems. It means that if (e.g.) you want a
    manpage, you only have to look in one place. Collecting up all the
    various files that go together in one piece of software is the job of
    a package manager.

    > /usr/bin/perl (and all other binaries that come with it.)
    > /usr/bin/perl5/*


    What's in here? Or do you mean /usr/lib/perl5?

    > /usr/man/* (scattered perl man's in here.
    >
    > I want to structure it like
    > /usr/local/perl5.6.1/bin/ (lke perl and a whole bunch of other binaries
    > that come with it.)


    You realise you will now have to put /usr/local/perl5.6.1/bin in your
    PATH? Also, where do you want libperl.so to go? It *ought* to go in
    /usr/lib or /usr/local/lib...

    > /usr/local/perl5.6.1/lib/
    > /usr/local/perl5.6.1/man/
    >
    > I have recently setup 5.8.2 as well which follows the self
    > containedsetup like above:
    >
    > /usr/local/perl5.8.2/bin/
    > /usr/local/perl5.8.2/lib/
    > /usr/local/perl5.8.2/man/
    >
    > now moving files and making symlinks (so perl5.6.1 remains
    > /usr/bin/perl) is not a problem, my main question comes down to how do I
    > update the master @INC to reflect the new paths? I read that Config.pm
    > has to do with it but that alone doesn't seem to do it.


    Nope. The hardcoded default @INC is, err... hardcoded, so you'll have
    to rebuild perl if you want to change it. It's probably best, anyway:
    unix programs often get shirty if you try and move them around.

    > Also, sicne the 5.6.1 bin's are mixed in with everything else in
    > /usr/bin, whats the best way to seperate them out? Same for the
    > man's.


    The perl mans in man3 will all be called *.3pm, so that's easy. The
    others, and the stuff in /bin... tricky. If you do a rebuild into your
    new structure you could look in /bin there and remove the old ones
    from that.

    Ben

    --
    Although few may originate a policy, we are all able to judge it.
    - Pericles of Athens, c.430 B.C.
     
    Ben Morrow, Jan 12, 2004
    #2
    1. Advertising

  3. Damian

    Damian Guest

    Ben Morrow wrote:
    > "Damian" <> wrote:
    >> I want to restructure my Perl installation (5.6.1) so it's a bit more
    >> self contained.
    >>
    >> Right now everything is scattered.

    >
    > This is usual on Unix systems. It means that if (e.g.) you want a
    > manpage, you only have to look in one place. Collecting up all the
    > various files that go together in one piece of software is the job of
    > a package manager.
    >
    >> /usr/bin/perl (and all other binaries that come with it.)
    >> /usr/bin/perl5/*

    >
    > What's in here? Or do you mean /usr/lib/perl5?


    oops yes.

    >> /usr/man/* (scattered perl man's in here.
    >>
    >> I want to structure it like
    >> /usr/local/perl5.6.1/bin/ (lke perl and a whole bunch of other
    >> binaries that come with it.)

    >
    > You realise you will now have to put /usr/local/perl5.6.1/bin in your
    > PATH? Also, where do you want libperl.so to go? It *ought* to go in
    > /usr/lib or /usr/local/lib...
    >
    >> /usr/local/perl5.6.1/lib/
    >> /usr/local/perl5.6.1/man/
    >>
    >> I have recently setup 5.8.2 as well which follows the self
    >> containedsetup like above:
    >>
    >> /usr/local/perl5.8.2/bin/
    >> /usr/local/perl5.8.2/lib/
    >> /usr/local/perl5.8.2/man/
    >>
    >> now moving files and making symlinks (so perl5.6.1 remains
    >> /usr/bin/perl) is not a problem, my main question comes down to how
    >> do I update the master @INC to reflect the new paths? I read that
    >> Config.pm
    >> has to do with it but that alone doesn't seem to do it.

    >
    > Nope. The hardcoded default @INC is, err... hardcoded, so you'll have
    > to rebuild perl if you want to change it. It's probably best, anyway:
    > unix programs often get shirty if you try and move them around.
    >
    >> Also, since the 5.6.1 bin's are mixed in with everything else in
    >> /usr/bin, whats the best way to seperate them out? Same for the
    >> man's.

    >
    > The perl mans in man3 will all be called *.3pm, so that's easy. The
    > others, and the stuff in /bin... tricky. If you do a rebuild into your
    > new structure you could look in /bin there and remove the old ones
    > from that.


    I will have to dig up my linux CD's as 5.6.1 was isntalled as part of
    the original rh 7.3 linux installation.

    As far as I know theres only rpm's.

    Thank you for your help.
     
    Damian, Jan 12, 2004
    #3
  4. Also sprach Ben Morrow:

    > "Damian" <> wrote:
    >> I want to restructure my Perl installation (5.6.1) so it's a bit more
    >> self contained.
    >>
    >> Right now everything is scattered.

    >
    > This is usual on Unix systems. It means that if (e.g.) you want a
    > manpage, you only have to look in one place. Collecting up all the
    > various files that go together in one piece of software is the job of
    > a package manager.
    >
    >> /usr/bin/perl (and all other binaries that come with it.)
    >> /usr/bin/perl5/*

    >
    > What's in here? Or do you mean /usr/lib/perl5?
    >
    >> /usr/man/* (scattered perl man's in here.
    >>
    >> I want to structure it like
    >> /usr/local/perl5.6.1/bin/ (lke perl and a whole bunch of other binaries
    >> that come with it.)

    >
    > You realise you will now have to put /usr/local/perl5.6.1/bin in your
    > PATH? Also, where do you want libperl.so to go? It *ought* to go in
    > /usr/lib or /usr/local/lib...


    Provided he has a shared perl library at all. I never build it since I
    don't need it (with few exceptions: for using Perl as a scripting engine
    for e.g. postgres one needs it).

    Tassilo
    --
    $_=q#",}])!JAPH!qq(tsuJ[{@"tnirp}3..0}_$;//::niam/s~=)]3[))_$-3(rellac(=_$({
    pam{rekcahbus})(rekcah{lrePbus})(lreP{rehtonabus})!JAPH!qq(rehtona{tsuJbus#;
    $_=reverse,s+(?<=sub).+q#q!'"qq.\t$&."'!#+sexisexiixesixeseg;y~\n~~dddd;eval
     
    Tassilo v. Parseval, Jan 13, 2004
    #4
  5. Damian

    Damian Guest

    "Tassilo v. Parseval" <> wrote in message
    news:bu02tv$r1p$-Aachen.DE...
    > Also sprach Ben Morrow:
    >
    > > "Damian" <> wrote:
    > >> I want to restructure my Perl installation (5.6.1) so it's a bit

    more
    > >> self contained.
    > >>
    > >> Right now everything is scattered.

    > >
    > > This is usual on Unix systems. It means that if (e.g.) you want a
    > > manpage, you only have to look in one place. Collecting up all the
    > > various files that go together in one piece of software is the job

    of
    > > a package manager.
    > >
    > >> /usr/bin/perl (and all other binaries that come with it.)
    > >> /usr/bin/perl5/*

    > >
    > > What's in here? Or do you mean /usr/lib/perl5?
    > >
    > >> /usr/man/* (scattered perl man's in here.
    > >>
    > >> I want to structure it like
    > >> /usr/local/perl5.6.1/bin/ (lke perl and a whole bunch of other

    binaries
    > >> that come with it.)

    > >
    > > You realise you will now have to put /usr/local/perl5.6.1/bin in

    your
    > > PATH? Also, where do you want libperl.so to go? It *ought* to go in
    > > /usr/lib or /usr/local/lib...

    >
    > Provided he has a shared perl library at all. I never build it since I
    > don't need it (with few exceptions: for using Perl as a scripting

    engine
    > for e.g. postgres one needs it).


    # whereis libperl.so
    libperl:

    # locate libperl.so
    /home/oracle/OraHome1/Apache/Apache/libexec/libperl.so
    /usr/lib/apache/libperl.so

    It seems I don't really have a shared perl lib with 5.6.1, just
    something apache droppd off (and oracle) I guess, but nothing associated
    with 5.6.1 it seems.

    I did NOT opt for the shared lib when I recently isntalled 5.8.2 though.
     
    Damian, Jan 14, 2004
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Steve
    Replies:
    0
    Views:
    560
    Steve
    Jul 20, 2004
  2. Andre Baresel
    Replies:
    0
    Views:
    583
    Andre Baresel
    Feb 1, 2004
  3. Hans
    Replies:
    3
    Views:
    127
    Simon Andrews
    Aug 15, 2003
  4. OccasionalFlyer

    Cascading drop-down restructuring

    OccasionalFlyer, Feb 7, 2011, in forum: Javascript
    Replies:
    12
    Views:
    191
    Thomas 'PointedEars' Lahn
    Feb 24, 2011
  5. neurino
    Replies:
    3
    Views:
    192
Loading...

Share This Page