r77733 - in /website: git.pod policy.pod

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Fri Jul 22 19:34:47 UTC 2011


Author: gregoa
Date: Fri Jul 22 19:34:44 2011
New Revision: 77733

URL: http://svn.debian.org/wsvn/?sc=1&rev=77733
Log:
first version of mr docs in git.pod

Modified:
    website/git.pod
    website/policy.pod

Modified: website/git.pod
URL: http://svn.debian.org/wsvn/website/git.pod?rev=77733&op=diff
==============================================================================
--- website/git.pod (original)
+++ website/git.pod Fri Jul 22 19:34:44 2011
@@ -5,9 +5,9 @@
 to maintain packages in the Git repositories on git.debian.org.
 
 It will describe how to upload an initial package, how to update the packages,
-how to build them and how to upgrade them.
-
-The guide is a work in progress. Different people tent to do things in
+how to build them, how to upgrade them, and how to get all packages with L<mr(1)>.
+
+The guide is a work in progress. Different people tend to do things in
 different ways. If your way diverges, you may want to document it here so that
 others can benefit. Please send any comments or ideas to
 <debian-perl at lists.debian.org>.
@@ -58,6 +58,36 @@
 
     $ gbp-clone --pristine-tar ssh://git.debian.org/git/pkg-perl/packages/libfoo-perl.git
 
+=head2 track all repositories on Alioth with L<mr(1)>
+
+Add the following to your (existing or new) F<~/.mrconfig>:
+
+    [src/pkg-perl/git]
+    chain = true
+    checkout = git clone ssh://git.debian.org/git/pkg-perl/meta.git git
+
+Note 1: The path has to be under the place of the F<.mrconfig> file, otherwise
+it won't work; i.e. [/tmp/foobar] in F<~/.mrconfig>.
+
+Note 2: The last part of the path has to be the same as the target of the clone
+command (in this example: 'git').
+
+Then add F<~/src/pkg-perl/git/.mrconfig> to F<~/.mrtrust>, otherwise the C<chain> 
+feature doesn't work.
+
+Now run B<mr up> which will clone the C<meta> repository, which contains another
+F<.mrconfig> with some features and some helper scripts.
+
+A second invocation of B<mr up> will then clone all the repositories mentioned
+in C<meta>'s F<.mrconfig>, i.e. all pkg-perl git repositories in
+F</git/pkg-perl/packages> on git.debian.org.
+
+For the adventurous:
+
+    mr --trust-all bootstrap ssh://git.debian.org/git/pkg-perl/meta.git
+
+probably does the same.    
+
 =head2 repository layout
 
 Upstream sources are kept (in plain, uncompressed form) in the C<upstream>
@@ -83,9 +113,6 @@
 This will create an empty, bare, shared Git repository and setup some hooks.
 
 Each package is kept in its own Git repository. We don't use git-submodules.
-L<mr(1)> may be of help if you need to track several packages.
-
-TODO: give example mr setup
 
 Now, on your local machine add the alioth repository as a remote:
 
@@ -194,11 +221,13 @@
 
 =item * Damyan Ivanov
 
+=item * gregor herrmann
+
 =back
 
 =head1 License
 
-Copyright (c) 2010 by the individual authors and contributors noted above.  All
+Copyright (c) 2010-2011 by the individual authors and contributors noted above.  All
 rights reserved. This document is free software; you may redistribute it and/or
 modify it under the same terms as Perl itself
 

Modified: website/policy.pod
URL: http://svn.debian.org/wsvn/website/policy.pod?rev=77733&op=diff
==============================================================================
--- website/policy.pod (original)
+++ website/policy.pod Fri Jul 22 19:34:44 2011
@@ -29,13 +29,15 @@
 
 =item 5. L<Package Naming Policy|/"Package Naming Policy">
 
-=item 6. L<Debian Maintainers practice|/"Debian Maintainers practice">
-
-=item 7. L<Release Process|/"Release Process">
-
-=item 8. L<Authors|/"Authors">
-
-=item 9. L<License|/"License">
+=item 6. L<Test suites|/"Test suites">
+
+=item 7. L<Debian Maintainers practice|/"Debian Maintainers practice">
+
+=item 8. L<Release Process|/"Release Process">
+
+=item 9. L<Authors|/"Authors">
+
+=item 10. L<License|/"License">
 
 =back
 
@@ -254,6 +256,61 @@
 
 =back
 
+=head1 Test suites
+
+CPAN distributions typically come with a test suite that is run at build time.
+As a general rule, we want to run as many tests as possible in order to catch errors.
+Some details need to be taken into account:
+
+=over 4
+
+=item *
+
+We can't enable or need to disable tests that need internet access.
+(If there is no specific environment variable, a patch is required.)
+
+We can't run tests that need internet access.
+If they are run by default they must be disabled (if not controlled by a
+specific environment variable, a patch is required).
+                                                
+=item *
+
+We don't enable tests that are explicitly declared as upstream/author/release tests by the author
+(typically via an environment variable as I<RELEASE_TESTING>, I<AUTHOR_TESTING, >or I<TEST_AUTHOR>).
+
+Test designed to be run in automatic builds/installs (usually enabled by setting
+I<AUTOMATED_TESTING>) are fine.
+
+=item *
+
+Some tests are, even if not declared explicitly as release tests, a bit fragile and tend
+to break with new releases of the test modules, or test style and not functionality
+(Test::Perl::Critic, Test::Spelling, Test::Kwalitee, ...). It might be helpful to avoid running them.
+
+=item *
+
+Tests that are disabled or not enabled (like the ones needing internet
+access) should be run manually by the person preparing the package on their
+local machine before uploading.
+
+=item *
+
+Tests that need display access usually work with B<xvfb>:
+
+    debian/control:
+    Build-Depends(-Indep): ..., xvfb, xauth, ...
+
+    debian/rules:
+    override_dh_auto_test:
+        xvfb-run -a dh_auto_test
+
+=item *
+
+Some tests need versioned build dependencies for dual-lifed modules (e.g. B<Test::More>),
+cf. L<Build and runtime dependencies|/"Build and runtime dependencies">.
+
+=back
+
 =head1 Debian Maintainers practice
 
 The Debian project has adopted the Debian Maintainers (DM) concept (cf.
@@ -294,7 +351,7 @@
 
 =head1 LICENSE
 
-Copyright (c) 2004-2010 by the individual authors and contributors noted
+Copyright (c) 2004-2011 by the individual authors and contributors noted
 above.  All rights reserved. This document is free software; you may
 redistribute it and/or modify it under the same terms as Perl itself
 




More information about the Pkg-perl-cvs-commits mailing list