1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/openpkg/mirror.pod Tue Jul 31 12:23:42 2012 +0200 1.3 @@ -0,0 +1,137 @@ 1.4 +## 1.5 +## mirror.pod -- OpenPKG Package Mirroring 1.6 +## Copyright (c) 2011-2012 OpenPKG GmbH <http://openpkg.com/> 1.7 +## 1.8 +## This software is property of the OpenPKG GmbH, DE MUC HRB 160208. 1.9 +## All rights reserved. Licenses which grant limited permission to use, 1.10 +## copy, modify and distribute this software are available from the 1.11 +## OpenPKG GmbH. 1.12 +## 1.13 +## THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 1.14 +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.15 +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1.16 +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 1.17 +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.18 +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1.19 +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 1.20 +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 1.21 +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 1.22 +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 1.23 +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1.24 +## SUCH DAMAGE. 1.25 +## 1.26 + 1.27 +=pod 1.28 + 1.29 +=head1 NAME 1.30 + 1.31 +B<openpkg mirror> - B<OpenPKG> Package Mirroring 1.32 + 1.33 +=head1 SYNOPSIS 1.34 + 1.35 +B<openpkg> 1.36 +B<mirror> 1.37 +[B<-h>] 1.38 +[B<-f>] 1.39 +[B<-q>] 1.40 +[B<-C> I<local-cache-file>] 1.41 +[B<-r> I<remote-url>] 1.42 +[B<-p> I<remote-url-prefix>] 1.43 +I<local-dir-prefix> ... 1.44 + 1.45 +=head1 DESCRIPTION 1.46 + 1.47 +The B<openpkg mirror> tool is a frontend for mirroring OpenPKG 1.48 +repositories, based on the OpenPKG XML/RDF index files B<openpkg 1.49 +index -S -T -D> creates. The resulting mirror can then be used with 1.50 +B<openpkg build>. 1.51 + 1.52 +=head1 COMMAND LINE ARGUMENTS 1.53 + 1.54 +The following command line options and arguments exist: 1.55 + 1.56 +=over 4 1.57 + 1.58 +=item B<-h> 1.59 + 1.60 +Print usage help. 1.61 + 1.62 +=item B<-f> 1.63 + 1.64 +Force deletion of local files, even if more than 30% of the existing 1.65 +local files have to be removed. 1.66 + 1.67 +=item B<-q> 1.68 + 1.69 +More quiet operation, i.e., do not print interactive download progress 1.70 +bars. 1.71 + 1.72 +=item B<-C> I<local-cache-file> 1.73 + 1.74 +Use the text-file I<local-cache-file> for caching size/mtime/MD5 1.75 +information of local files in order to especially avoid the expensive 1.76 +re-calculation of MD5 message digests of local files on every mirror 1.77 +operation. It is strongly advised to use such a cache. Do NOT place 1.78 +I<local-cache-file> under I<local-dir-prefix>. 1.79 + 1.80 +=item B<-r> I<remote-url> 1.81 + 1.82 +The OpenPKG repository URL. By default the same URL as for B<openpkg 1.83 +build> is used: C<http://download.openpkg.org/stacks/current/source/> 1.84 + 1.85 +=item B<-p> I<remote-url-prefix> 1.86 + 1.87 +In case the I<remote-url> (option B<-r> above) points NOT to a 1.88 +root/base directory of the remote repository, it is required to 1.89 +provide the corresponding base directory I<remote-url-prefix> in 1.90 +order to allow all remote paths to be correctly mapped to sub-paths 1.91 +under I<local-dir-prefix>. By default I<remote-url-prefix> is 1.92 +just I<remote-url>. For the public OpenPKG default repository URL 1.93 +C<http://download.openpkg.org/stacks/current/source/> the corresponding 1.94 +I<remote-url-prefix> is C<http://download.openpkg.org/>. 1.95 + 1.96 +=item I<local-dir-prefix> 1.97 + 1.98 +The local base directory under which the mirror is established. 1.99 +Content-wise it directly corresponds to I<remote-url-prefix> (option 1.100 +B<-p> above). 1.101 + 1.102 +=back 1.103 + 1.104 +=head1 EXAMPLE 1.105 + 1.106 +The following command mirrors the public OpenPKG-CURRENT repository 1.107 +files from download.openpkg.org to the local directory F<download/>. The 1.108 +prefix specification is important as the OpenPKG-CURRENT stack index 1.109 +points upwards. 1.110 + 1.111 + $ openpkg mirror \ 1.112 + -C download.cache \ 1.113 + -r http://download.openpkg.org/stacks/current/source/ \ 1.114 + -p http://download.openpkg.org/ \ 1.115 + download/ 1.116 + 1.117 +The mirror now can be used with B<openpkg build>: 1.118 + 1.119 + $ openpkg build \ 1.120 + -r file://`pwd`/download/stacks/current/source/ \ 1.121 + -Uaq | sh 1.122 + 1.123 +=head1 SEE ALSO 1.124 + 1.125 +index(8). 1.126 + 1.127 +=head1 HISTORY 1.128 + 1.129 +The B<openpkg mirror> command was invented in May 2012 by I<Ralf 1.130 +S. Engelschall> E<lt>rse@engelschall.comE<gt> for use inside the 1.131 +B<OpenPKG> project E<lt>http://www.openpkg.org/E<gt>. 1.132 + 1.133 +=head1 AUTHORS 1.134 + 1.135 + Ralf S. Engelschall 1.136 + rse@engelschall.com 1.137 + www.engelschall.com 1.138 + 1.139 +=cut 1.140 +