[Bps-public-commit] r12867 - Shipwright/trunk/lib/Shipwright/Manual
spang at bestpractical.com
spang at bestpractical.com
Wed Jun 4 11:12:56 EDT 2008
Author: spang
Date: Wed Jun 4 11:12:54 2008
New Revision: 12867
Modified:
Shipwright/trunk/lib/Shipwright/Manual/UsingFlags.pod
Log:
Finish updating CustomizeBuild.pod
Modified: Shipwright/trunk/lib/Shipwright/Manual/UsingFlags.pod
==============================================================================
--- Shipwright/trunk/lib/Shipwright/Manual/UsingFlags.pod (original)
+++ Shipwright/trunk/lib/Shipwright/Manual/UsingFlags.pod Wed Jun 4 11:12:54 2008
@@ -4,42 +4,47 @@
=head1 DESCRIPTION
-B<Flags> is supported since 1.10.
+Shipwright B<flags> are a method for having a single repository support
+multiple variants of vessels.
-It's another way to skip some dists, and even more...
+Imagine you want to create a project which requires a database. There are
+several database types you want to support in the same repository, while you'd
+like each built vessel to only support one type. (Sometimes you have to choose
+one because some dists will be confused if provided with more than one type;
+e.g. for RT, you have to supply the database type when running ./configure).
-Imagining you want to create a project, there're several database types
-you want to support, while for each B<vessel>, you'd like users to choose only
-one type.( sometimes you have to choose one because some other dists
-will be confused if provided more than one type. e.g. for RT, you have to
-supply the database type when ./configure ).
+This is a task that you can use Shipwright flags to accomplish.
-Well, B<Flags> is right for this.
+For example, say you want to support both mysql and postgresql, and you've
+imported mysql, DBD::mysql, postgresql and DBD::Pg to the repository.
-e.g. you want to support both mysql and postgresql, and you've imported mysql, DBD::mysql( will be named as cpan-DBD-mysql), postgresql and DBD::Pg( cpan-DBD-Pg).
-
-then you need to mark dists with flags, let's say they are C<mysql> and
-C<postgresql>.
+The next step is to mark dists with flags; let's use C<mysql> and
+C<postgresql> for this example.
$ shipwright flags set mysql mysql
$ shipwright flags set cpan-DBD-mysql mysql
$ shipwright flags set postgresql postgresql
$ shipwright flags set cpan-DBD-Pg postgresql
-B<Flags> related things are stored in F<shipwright/flags.yml>
+B<Flags> data is stored in F<shipwright/flags.yml>
-So when building you can set C<--flags> arg to C<mysql> or C<postgresql> to
-install that type db and related stuff only.
+When building, you can then set C<--flags> to C<mysql> or C<postgresql> to
+install support for that database only.
-If a dist need this info to configure( RT in our example ), you'll need
-to customize the build script, see L<Shipwright::Manual::CustomizeBuild> for
-more info about that.
+If a dist needs this info to configure (like RT for example), you'll need
+to customize the build script; see L<Shipwright::Manual::CustomizeBuild> for
+information about how to do this.
+
+If no flags are specified during build, both mysql and postgresql would be
+installed to the vessel. Which one RT chooses to configure for depends on its
+build script.
Note:
-Shipwright will automatically add C<default> to C<--flags> args, and if one dist isn't set flags at all( so no such item in F<shipwright/flags.yml> ), it'll be the same as C<default> so it can be installed by default.
+Shipwright will automatically add C<default> to C<--flags>, and if a
+dist has no flags set (i.e. it does not appear in F<shipwright/flags.yml>),
+it will be given the C<default> flag and will be installed by default.
=head1 SEE ALSO
L<Shipwright::Manual::CustomizeBuild>
-
More information about the Bps-public-commit
mailing list