Re: distribute and install problem
From: Asier (as5yer_nh9ag_at_terra.es)
Date: 05/04/04
- Previous message: John W. Krahn: "Re: problems concatenating a series of variables"
- In reply to: Martien Verbruggen: "Re: distribute and install problem"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 04 May 2004 11:26:09 GMT
El Mon, 03 May 2004 22:55:54 +0000, Martien Verbruggen escribió:
> [Please, in the future, put your reply _after_ the suitably trimmed
> text you reply to. This is the convention on this newsgroup, and
> Usenet in general. Thank you]
> [Post re-arranged]
>
>
> On Mon, 03 May 2004 13:27:46 GMT,
> Asier <as5yer_nh9ag@terra.es> wrote:
>
>>> It's hard to tell what your wish is from the above:
>>>
>>> Do you want to
>>>
>>> 1 - Compile your modules on the machine they are installed on?
>>>
>>> If so, what's wrong with perl Makefile.PL; make install?
>>>
>>> 2 - Compile them on some machine with the same architecture/OS as your
>>> target machine, and then package them up?
>>>
>>> use the OSes native packages (rpm, deb), or the Perl distro native
>>> packages (ppm), or create a zip file, and tell people how to unpack
>>> it.
>>>
>>> It severely depends on your target platform.
>>
>> Maybe i wrote it incorrectly.
>>
>> I have developed my own modules, for my
>> applicattion. The problem is that these modules i have
>> developed, use others previously downloaded from CPAN (for example
>> XML::Simple).
>>
>> So i want to compile and install XML::Simple in every target
>> machine, instead of packing XML::Simple with my own modules
>> with PAR. Becouse if i pack XML::Simple with my modules,
>> XML::Simple uses XS modules, and that gives me errors when
>> i try to use my app in a different box (for example if i compile
>> XML::Simple in a RedHat box, pack my modules with PAR,
>> and target machines use Mandrake, and have a different architecture,
>> the app doesnt work).
>
> You don't want to ever pack other modules with your own. You simply
> express the dependency in the Makefile.PL, and leave it up to the
> admin to install the module.
>
> What would happen if an admin has installed the latest version of
> XML::Simple, then installs your module, which probably contains an
> older version of XML::Simple, overwriting the changes just made.
>
>> So my wish, is distribute my modules, with the sources of
>> the XML::Simple version i use, and zip everything in a file
>> to be distributed. Then, target machines, would not have
>> to write install sentences more than once, to compile
>> these attached modules.
>> Yesterday, i discovered Module::Install::Bundle. Which bundles
>> the modules i use. I suppose that this is what i need.
>
> Yes, it does sound like Bundles are what you need. You don't
> necessarily need that module. All you need to do is create a bundle
> file, and use the CPAN module to install the bundle in one go. The
> documentation of the CPAN module has some information about this (the
> section with the title "Bundles").
>
> You write a bundle file that expresses which modules need to be
> installed, and the CPAN module will fetch them, compile them, and
> install them, all from one command.
>
> I don't know how well bundles work on Windows/ActiveState, but you
> seem to be concentrating on Linux platforms. Maybe someone with
> experience with ppm can weigh in, if needed.
>
> Martien
Hi Martien;
Thank you very much. (And sorry about my typing, i forgot).
I understand, that there is a problem with versions of modules
i need, and possible overwriting of versions. But i think
i have the fortune for the moment, that target machines
are known for me, and the modules i use will not overwrite
anything.
As you told me, i found something about Bundles, in
(http://www.cpan.org/misc/cpan-faq.html#How_make_bundle),
and in man CPAN. I tried to build my own bundle, with some
examples. But i found that what happens, is that later
and using this bundle, tries to download from cpan the modules
of versions, which are not updated or installed in target machine.
How can i avoid this? I mean, couldn't this, be made off-line?
And another question is, are bundle files
cross-platform (i open my_bundle.pm, and found information
related to my machine)?
I have made some examples with Module::Install::Bundle, and
what this makes, is create an 'inc' directory, and
bundle there the source of the module (XML::Simple in this case).
So that i get everything in the same directory, ready
to be packed and distributed. I could read in docs that this module
checks for newer versions of these 'requires' in target machines
and only update if necessary ( i suppose that user is asked).
I also suppose that target machines do not need to download
from cpan (Can not this be made with the different bundle
option you told me?)
I have the same question for this module; Does this make
cross-platform installers (at least in linux)?
thank you very much for you interest.
Asier.
- Previous message: John W. Krahn: "Re: problems concatenating a series of variables"
- In reply to: Martien Verbruggen: "Re: distribute and install problem"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|