Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-22 Thread Nigel Metheringham


On 18 Aug 2008, at 22:00, James S. White wrote:


My notes are here:

http://github.com/fapestniegd/wcyd/tree/master/scratch/procedures/el5/installing_catalyst_on_el5


I really hope you aren't just pulling a list of rpms and then installing
them. Thats why package handlers like yum were invented.


There are a lot of them (~137),


I am very surprised at this. I currently have 470 perl-*.rpm files in my
repo (for Centos 4 - I haven't currently got production Centos 5 cat).
The vast majority of these are catalyst/dbix-class and there
dependancies, although there is also a rebuild of the perl packages
themselves and the dual-life modules.

Note that the perl on all versions of RHEL5 prior to 5.3 (which is not
released yet) is not suitable for running DBIX::Class - see
https://bugzilla.redhat.com/show_bug.cgi?id=379791

Anyhow I would strongly suggest you look at cpanrpm effort and join that
campaign - see
http://www.perlfoundation.org/perl5/index.cgi?cpanrpm
http://lists.dave.org.uk/mailman/listinfo/cpanrpm

Other comments...

cpanflute/cpanflute2 are very old and produce rather rocky rpms.
cpan2rpm is rather better but tends to miss dependancies. cpanspec is
very good - see
http://fedoraproject.org/wiki/Perl/cpanspec
http://cpanspec.sourceforge.net/

Nigel.
--
[ Nigel Metheringham [EMAIL PROTECTED] ]
[ - Comments in this message are my own and not ITO opinion/policy - ]


___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-22 Thread Nigel Metheringham


On 22 Aug 2008, at 14:44, James S. White wrote:
[Regarding number of rpms needed for cat/DBIX]

This was just what it took to get the base catalyst going. If your
particular App needs other perl modules, that goes in a separate
brick.


Thinking about it, I always rebuild rpms in a clean environment (mach
for the older stuff - Centos 4.x, mock for newer) which means my repo
contains not just the rpms I put on a production box, but also the ones
I need to make those build, test etc. A production server currently has
235 perl rpms on it.


Anyhow I would strongly suggest you look at
cpanrpm effort and join that campaign - see
http://www.perlfoundation.org/perl5/index.cgi?cpanrpm
http://lists.dave.org.uk/mailman/listinfo/cpanrpm


Good information. I will certainly look into this.  Is there an
equivalent org for .debs?


As I understand it the cpanrpm effort is aiming to build on similar work
done for debs. I only have one debian box though (not at work) and that
uses CPAN instead.

Nigel.

--
[ Nigel Metheringham [EMAIL PROTECTED] ]
[ - Comments in this message are my own and not ITO opinion/policy - ]


___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-22 Thread James S. White
 I really hope you aren't just pulling a list of rpms and then installing
 them. Thats why package handlers like yum were invented.

I'm not. I'm moving them into the yum repos for the servers that get catalyst
deployed on them. This HOWTO is just how I determine what goes into a given
repo. Cfengine actually does the installation, removal, and configuration of
the services. This basically defines what we call a brick.

  There are a lot of them (~137),

 I am very surprised at this. I currently have 470 perl-*.rpm files in my
 repo (for Centos 4 - I haven't currently got production Centos 5 cat).
 The vast majority of these are catalyst/dbix-class and there
 dependancies, although there is also a rebuild of the perl packages
 themselves and the dual-life modules.

This was just what it took to get the base catalyst going. If your particular
App needs other perl modules, that goes in a separate brick. The philosophy
to which we try to adhere is set-theory, sets of files define packages, sets
of packages define bricks, sets of these bricks make applications, sets
of applications define a system (not to be confused, but often is with a
host system), sets of systems define business functions, and sets of business
functions serve customers/consumers.

Now we can use this clearly defined, OO approach to system building to allow
project managers (who often aren't technical) to work with business analysts
(who often forget that the devil is in the details) to create new business
functions at a high level, while the developers and sysadmins create packages,
bricks and systems to serve the needs that aren't already met by existing
components. Having a service catalog that can be re-ordered at a high-level
(not unlike lego(tm)  bricks) helps keep the business-function project managers
out of the developers business. They only need know when a particular
(higher-level) component is ready. This also nudges the  architects to
re-use existing work when possible rather than go off in an entirely different
direction.

It also eliminates the fear around change control as we know exactly which
files we are changing will effect what *customers* which is really what
the company officials really want to know. When they ask, If I apply this
patch, what is the impact? They don't really care if a given service will
be offline, they want to know what relationships with business partners will
be effected. The Venn diagrams let us tell them whom and what with no ambiguity.

 Note that the perl on all versions of RHEL5 prior to 5.3 (which is not
 released yet) is not suitable for running DBIX::Class - see
 https://bugzilla.redhat.com/show_bug.cgi?id=379791

Yes, we don't have any catalyst in production just yet (I'm hoping to see more
of it) but perl will be re-rpmed and repo'ed before that happens.
(Still in the assembling catalyst bricks phase)

 Anyhow I would strongly suggest you look at cpanrpm effort and join that
 campaign - see
  http://www.perlfoundation.org/perl5/index.cgi?cpanrpm
  http://lists.dave.org.uk/mailman/listinfo/cpanrpm

Good information. I will certainly look into this.
Is there an equivalent org for .debs?

 cpanflute/cpanflute2 are very old and produce rather rocky rpms.
 cpan2rpm is rather better but tends to miss dependancies. cpanspec is
 very good - see
  http://fedoraproject.org/wiki/Perl/cpanspec
  http://cpanspec.sourceforge.net/

I had some issues with cpan2rpm in the past which caused me to standardize on
cpanflute2. But this could be a cut the ends off the roast issue now. I will
re-visit cpan2rpm.

Thank you.


___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-22 Thread Bogdan Lucaciu
On Friday 22 August 2008 16:44:01 James S. White wrote:
  Anyhow I would strongly suggest you look at cpanrpm effort and join that
  campaign - see
       http://www.perlfoundation.org/perl5/index.cgi?cpanrpm
       http://lists.dave.org.uk/mailman/listinfo/cpanrpm

 Good information. I will certainly look into this.
 Is there an equivalent org for .debs?

There are http://alioth.debian.org/projects/pkg-catalyst/ and 
http://alioth.debian.org/projects/pkg-perl

Lots of people in these groups are packaging Perl modules and (more 
importantly maybe) maintaining these packages.

The tool used by the Debian Perl group (and myself whenever I need to package 
a module) is dh-make-perl.

You can also use cpan2dist in CPANPLUS :

### build a debian package of DBI and it's prerequisites, 
### don't bother running tests
cpan2dist --format CPANPLUS::Dist::Deb --buildprereq --skiptest DBI

### build a debian package of DBI and it's prerequisites and install them
cpan2dist --format CPANPLUS::Dist::Deb --buildprereq --install DBI

-- 
Bogdan Lucaciu
http://www.wiz.ro/
___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-21 Thread Matt S Trout
On Mon, Aug 18, 2008 at 04:00:17PM -0500, James S. White wrote:
 I've already gone through this procedure:
 
 My notes are here:
 
 http://github.com/fapestniegd/wcyd/tree/master/scratch/procedures/el5/installing_catalyst_on_el5
 
 There are a lot of them (~137), Matt an I disagree on the using of CPAN
 instead of real packages. I say real packages, because package management
 is as much about being able to cleanly remove the files from a system as
 adding them.

That's what .packlist files are for - you can almost always do

rm -r `cat /path/to/distribution/.packlist`

and if you can't I tend to consider that a bug.

-- 
  Matt S Trout   Need help with your Catalyst or DBIx::Class project?
   Technical Directorhttp://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/http://www.shadowcat.co.uk/servers/

___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-20 Thread John Lee
Aristotle Pagaltzis wrote:
 Point taken; the usual advice of compiling Perl and running a
 vetted CPAN mirror is motivated by the more common situation
 where the number of large Perl apps to run, which tend to be
 sensitive to module versions and may each require a different
 version of the same module, is not a priori bounded. Trying to
 handle that situation via the package manager of the distro is
 asking for the impossible.
 
 If you have a large number of boxen and only a bounded and small
 number of Perl apps to support, then using the package manager is
 a more sensible proposition, but few people are in that position.

To provide one other perspective on this...

I found it convenient to package Perl in .deb files on Ubuntu.  It
actually can support dependencies on specific package versions or
package version minimums.  There's no good automated way of building
packages (dh-make-perl notwithstanding), but it can be done and giving
everything a once over is probably a good idea.  Having them in packages
is also convenient because then if I need to do a new deployment, I can
build a package list, and use that for Perl module installation.  I
build a local repository and give developers access, so they can get any
modules I build, rather than relying on them to install them all on
their own.  I can also be sure that the versioning across the entire
system is the same, because they just pull package updates.

And yes, it does have drawbacks:

 * Upstream providers will sometimes over-package modules, which can
resuilt in conflicts when building new ones.  (perl-modules and
libcatalyst-modules-perl come to mind.)  One can either build their own
to replace, or force overwrite it.

 * No easy way of applying CPAN updates (yet).  I manually scan an RSS
feed and consider upgrades, but there's no easy way to vet it.  (This is
a terrible solution, I just haven't come up with a better one yet.)

 * Doing the work of CPAN yourself.  You're essentially doing a lot of
the work CPAN would do for you (finding and building dependencies,
especially).

 * I sometimes end up building the same module a couple times for
different architectures (amd64 vs. i386).



___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-20 Thread Oliver Gorwits

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


John Lee wrote:
| * Upstream providers will sometimes over-package modules, which
| can resuilt in conflicts when building new ones.  (perl-modules
| and libcatalyst-modules-perl

Yeah libcatalyst-modules-perl should die a cold, horrible death.

| * I sometimes end up building the same module a couple times for
| different architectures (amd64 vs. i386).

(for general info - sounds like you probably know this, John :)

The dh-make-perl script is very useful, and they are good about
giving commit bits for folks with patches. We use it a lot. There's
also the debian-perl project which has an SVN repo and a friendly
bunch on IRC.

regards,
oliver.
- --
Oliver Gorwits, Network and Telecommunications Group,
Oxford University Computing Services
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIrD/C2NPq7pwWBt4RAo6pAKCKER6H+Te6Y2HtduKt5dQ6D6k8KgCaA4d4
9ZLlGwLO8eBL+exrNEe/ch4=
=htZO
-END PGP SIGNATURE-

___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Re: list of perl-*.rpm files for a basic Cat install

2008-08-18 Thread James S. White
I've already gone through this procedure:

My notes are here:

http://github.com/fapestniegd/wcyd/tree/master/scratch/procedures/el5/installing_catalyst_on_el5

There are a lot of them (~137), Matt an I disagree on the using of CPAN
instead of real packages. I say real packages, because package management
is as much about being able to cleanly remove the files from a system as
adding them.

Anyone who has been bitten by the:
Uninstall is unsafe and deprecated, the uninstallation was not performed;

Using CPAN to manage your systems when you have a handful of boxes is fine, and
if you're doing development, I'd recommend it as well. But when you have over
200, having multiple versions of perl and CPAN modules all over the system
becomes an operational abyss.

On Mon, 18 Aug 2008, Aristotle Pagaltzis wrote:

 * Matt S Trout [EMAIL PROTECTED] [2008-08-18 12:00]:
  Leave the system perl on there for system-provided things that
  depend on perl.
 
  Build your own applications perl for your applications.
 
  You are allowed more than one perl on a system. I've got over a
  dozen on the Shadowcat dev server and I know of people with
  many more than that.

 FWIW, Dermot, I also suggest you go down this road. There are lot
 of reasons to do it that way. A major reason is that shoehorning
 CPAN into the distributor’s packaging model is always a bad fit
 because CPAN has no release process and every author handles API
 stability differently. You want full control over which version
 of which modules you install. (Strictly speaking you even want
 to keep your own vetted CPAN mirror. :-) )

 None of this, btw, is difficult.

 Regards,
 --
 Aristotle Pagaltzis // http://plasmasturm.org/

 ___
 List: Catalyst@lists.scsys.co.uk
 Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
 Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
 Dev site: http://dev.catalyst.perl.org/



___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/