~ubuntu-branches/ubuntu/maverick/schroot/maverick-updates

« back to all changes in this revision

Viewing changes to doc/schroot/html/schroot-base-main_8cc-source.html

  • Committer: Bazaar Package Importer
  • Author(s): Roger Leigh
  • Date: 2008-01-20 22:51:04 UTC
  • mfrom: (1.1.15 upstream)
  • Revision ID: james.westby@ubuntu.com-20080120225104-3zhs8gk9byqigato
Tags: 1.1.6-1
* New upstream development release.
* Acknowledge NMU.  Thanks to Lucas Nussbaum for fixing the Boost
  library names following another incompatible change in Boost
  (Closes: #439215).
* debian/control: Suggest lvm2 instead of lvm-common (Closes: #452263).
* debian/copyright:
  - Update with new GIT source code repository location.
  - Update licence to GPLv3.
* debian/schroot.init: Update licence to GPLv3.
* bin/schroot/setup/20network, bin/schroot/setup/30passwd: For files to
  copy, compare file device, inode and contents to avoid copying
  identical files (Closes: #428808).
* If unknown keys are present in the configuration file, print a warning
  message to alert the user (Closes: #459658).
* The filesystems to mount in the chroot may be customised by the system
  administrator through the use of an fstab file on a per-chroot basis,
  and a new helper utility, schroot-mount (Closes: #395062, #427047).
  Thanks for your patience while we took the time to implement this the
  right way.
* Update Vietnamese translation (Closes: #461531).  Thanks to Clytie
  Siddall.
* debian/schroot.preinst: Add rm_conffile function to remove
  /etc/schroot/setup.d/20network and /etc/schroot/setup.d/30passwd for
  versions prior to this.  These are replaced by
  /etc/schroot/setup.d/20copyfiles.
* debian/schroot.NEWS: Document conffile changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
6
</head><body>
7
 
<!-- Generated by Doxygen 1.5.2 -->
 
7
<!-- Generated by Doxygen 1.5.4 -->
8
8
<div class="tabs">
9
9
  <ul>
10
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
15
15
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
16
16
  </ul>
17
17
</div>
18
 
<div class="tabs">
19
 
  <ul>
20
 
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
21
 
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
22
 
  </ul>
23
 
</div>
24
18
<div class="nav">
25
 
<a class="el" href="dir_101a379c6bb6ea5a405fc1dc3c87af45.html">bin</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_30fbaeced51d633f61c49adafcc6c94a.html">schroot-base</a></div>
 
19
<a class="el" href="dir_85aaf03b3f18b2b8320021a91397a390.html">bin</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8216d4337d095ab35a31c1d4e23b6883.html">schroot-base</a></div>
26
20
<h1>schroot-base-main.cc</h1><a href="schroot-base-main_8cc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Copyright © 2005-2007  Roger Leigh &lt;rleigh@debian.org&gt;</span>
27
21
<a name="l00002"></a>00002 <span class="comment"> *</span>
28
 
<a name="l00003"></a>00003 <span class="comment"> * schroot is free software; you can redistribute it and/or modify it</span>
 
22
<a name="l00003"></a>00003 <span class="comment"> * schroot is free software: you can redistribute it and/or modify it</span>
29
23
<a name="l00004"></a>00004 <span class="comment"> * under the terms of the GNU General Public License as published by</span>
30
 
<a name="l00005"></a>00005 <span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span>
 
24
<a name="l00005"></a>00005 <span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span>
31
25
<a name="l00006"></a>00006 <span class="comment"> * (at your option) any later version.</span>
32
26
<a name="l00007"></a>00007 <span class="comment"> *</span>
33
27
<a name="l00008"></a>00008 <span class="comment"> * schroot is distributed in the hope that it will be useful, but</span>
36
30
<a name="l00011"></a>00011 <span class="comment"> * General Public License for more details.</span>
37
31
<a name="l00012"></a>00012 <span class="comment"> *</span>
38
32
<a name="l00013"></a>00013 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
39
 
<a name="l00014"></a>00014 <span class="comment"> * along with this program; if not, write to the Free Software</span>
40
 
<a name="l00015"></a>00015 <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston,</span>
41
 
<a name="l00016"></a>00016 <span class="comment"> * MA  02111-1307  USA</span>
42
 
<a name="l00017"></a>00017 <span class="comment"> *</span>
43
 
<a name="l00018"></a>00018 <span class="comment"> *********************************************************************/</span>
44
 
<a name="l00019"></a>00019 
45
 
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;config.h&gt;</span>
46
 
<a name="l00021"></a>00021 
47
 
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/sbuild-i18n_8h.html">sbuild/sbuild-i18n.h</a>&gt;</span>
48
 
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/sbuild-log_8h.html">sbuild/sbuild-log.h</a>&gt;</span>
49
 
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/sbuild-types_8h.html">sbuild/sbuild-types.h</a>&gt;</span>
50
 
<a name="l00025"></a>00025 
51
 
<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="schroot-base-main_8h.html">schroot-base-main.h</a>"</span>
52
 
<a name="l00027"></a>00027 
53
 
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;cstdlib&gt;</span>
54
 
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;ctime&gt;</span>
55
 
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;iostream&gt;</span>
56
 
<a name="l00031"></a>00031 
57
 
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;syslog.h&gt;</span>
58
 
<a name="l00033"></a>00033 
59
 
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;boost/format.hpp&gt;</span>
60
 
<a name="l00035"></a>00035 
61
 
<a name="l00036"></a>00036 <span class="keyword">using</span> std::endl;
62
 
<a name="l00037"></a>00037 <span class="keyword">using</span> boost::format;
63
 
<a name="l00038"></a>00038 <span class="keyword">using</span> sbuild::_;
64
 
<a name="l00039"></a>00039 <span class="keyword">using namespace </span>schroot_base;
65
 
<a name="l00040"></a>00040 
66
 
<a name="l00041"></a><a class="code" href="classschroot__base_1_1main.html#eceeb5beb43967c3cf504f3646887c8f">00041</a> <a class="code" href="schroot_8cc.html#0ddf1224851353fc92bfbff6f499fa97" title="Main routine.">main::main</a> (std::string <span class="keyword">const</span>&amp;  program_name,
67
 
<a name="l00042"></a>00042             std::string <span class="keyword">const</span>&amp;  program_usage,
68
 
<a name="l00043"></a>00043             options::ptr <span class="keyword">const</span>&amp; program_options,
69
 
<a name="l00044"></a>00044             <span class="keywordtype">bool</span>                use_syslog):
70
 
<a name="l00045"></a>00045   program_name(program_name),
71
 
<a name="l00046"></a>00046   program_usage(program_usage),
72
 
<a name="l00047"></a>00047   program_options(program_options),
73
 
<a name="l00048"></a>00048   use_syslog(use_syslog)
74
 
<a name="l00049"></a>00049 {
75
 
<a name="l00050"></a>00050 }
76
 
<a name="l00051"></a>00051 
77
 
<a name="l00052"></a><a class="code" href="classschroot__base_1_1main.html#4444e261c1a635e1aab12e00e5b95f5a">00052</a> <a class="code" href="classschroot__base_1_1main.html#4444e261c1a635e1aab12e00e5b95f5a" title="The destructor.">main::~main</a> ()
78
 
<a name="l00053"></a>00053 {
79
 
<a name="l00054"></a>00054 }
80
 
<a name="l00055"></a>00055 
81
 
<a name="l00056"></a>00056 <span class="keywordtype">void</span>
82
 
<a name="l00057"></a><a class="code" href="classschroot__base_1_1main.html#cd9c1d4d7c52a423eb929a4bb6f644e0">00057</a> <a class="code" href="classschroot__base_1_1main.html#cd9c1d4d7c52a423eb929a4bb6f644e0" title="Print version information.">main::action_version</a> (std::ostream&amp; stream)
83
 
<a name="l00058"></a>00058 {
84
 
<a name="l00059"></a>00059   <span class="comment">// TRANSLATORS: %1% = program name</span>
85
 
<a name="l00060"></a>00060   <span class="comment">// TRANSLATORS: %2% = program version</span>
86
 
<a name="l00061"></a>00061   <span class="comment">// TRANSLATORS: %3% = release date</span>
87
 
<a name="l00062"></a>00062   format fmt(_(<span class="stringliteral">"%1% (Debian sbuild) %2% (%3%)\n"</span>));
88
 
<a name="l00063"></a>00063   fmt % this-&gt;<a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b" title="The name of the program.">program_name</a> % VERSION % <a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/classsbuild_1_1gmdate.html">sbuild::gmdate</a>(RELEASE_DATE);
89
 
<a name="l00064"></a>00064 
90
 
<a name="l00065"></a>00065   stream &lt;&lt; fmt
91
 
<a name="l00066"></a>00066          &lt;&lt; _(<span class="stringliteral">"Written by Roger Leigh"</span>) &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; <span class="charliteral">'\n'</span>
92
 
<a name="l00067"></a>00067     <span class="comment">// TRANSLATORS: '(C)' is a copyright symbol and '-' is an en-dash.</span>
93
 
<a name="l00068"></a>00068          &lt;&lt; _(<span class="stringliteral">"Copyright (C) 2004-2007 Roger Leigh"</span>) &lt;&lt; <span class="charliteral">'\n'</span>
94
 
<a name="l00069"></a>00069          &lt;&lt; _(<span class="stringliteral">"This is free software; see the source for copying conditions.  There is NO\n"</span>
95
 
<a name="l00070"></a>00070               <span class="stringliteral">"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"</span>)
96
 
<a name="l00071"></a>00071          &lt;&lt; std::flush;
97
 
<a name="l00072"></a>00072 }
98
 
<a name="l00073"></a>00073 
99
 
<a name="l00074"></a>00074 <span class="keywordtype">void</span>
100
 
<a name="l00075"></a><a class="code" href="classschroot__base_1_1main.html#4c246d8a2cedf030e094ffdee5a38553">00075</a> <a class="code" href="classschroot__base_1_1main.html#4c246d8a2cedf030e094ffdee5a38553" title="Print help information.">main::action_help</a> (std::ostream&amp; stream)
101
 
<a name="l00076"></a>00076 {
102
 
<a name="l00077"></a>00077   stream
103
 
<a name="l00078"></a>00078     &lt;&lt; _(<span class="stringliteral">"Usage:"</span>) &lt;&lt; <span class="charliteral">'\n'</span>
104
 
<a name="l00079"></a>00079     &lt;&lt; <span class="stringliteral">"  "</span> &lt;&lt; this-&gt;<a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b" title="The name of the program.">program_name</a> &lt;&lt; <span class="stringliteral">"  "</span>
105
 
<a name="l00080"></a>00080     &lt;&lt; this-&gt;<a class="code" href="classschroot__base_1_1main.html#a6c3a9a050dc1f525d289bbe7d63534b" title="The usage text of the program.">program_usage</a> &lt;&lt; std::endl;
106
 
<a name="l00081"></a>00081 
107
 
<a name="l00082"></a>00082   stream &lt;&lt; this-&gt;<a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995" title="The program options.">program_options</a>-&gt;get_visible_options() &lt;&lt; std::flush;
108
 
<a name="l00083"></a>00083 }
109
 
<a name="l00084"></a>00084 
110
 
<a name="l00085"></a>00085 <span class="keywordtype">int</span>
111
 
<a name="l00086"></a><a class="code" href="classschroot__base_1_1main.html#aea33f1f3d50f732d8ec6b0a09860ee7">00086</a> <a class="code" href="namespaceschroot__base.html#89b50862b19c7bac85832e27092ed01d" title="Main routine.">main::run</a> (<span class="keywordtype">int</span>   argc,
112
 
<a name="l00087"></a>00087            <span class="keywordtype">char</span> *argv[])
113
 
<a name="l00088"></a>00088 {
114
 
<a name="l00089"></a>00089   <span class="keywordflow">try</span>
115
 
<a name="l00090"></a>00090     {
116
 
<a name="l00091"></a>00091       this-&gt;<a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995" title="The program options.">program_options</a>-&gt;parse(argc, argv);
117
 
<a name="l00092"></a>00092 
118
 
<a name="l00093"></a>00093 <span class="preprocessor">#ifdef SBUILD_DEBUG</span>
119
 
<a name="l00094"></a>00094 <span class="preprocessor"></span>      <a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/namespacesbuild.html#8cce2f8a60529f8f0c5064028610c89c">sbuild::debug_level</a> = <a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754dffa463972dbe4f170e64069c622886ec">sbuild::DEBUG_CRITICAL</a>;
120
 
<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
121
 
<a name="l00096"></a>00096 <span class="preprocessor"></span>
122
 
<a name="l00097"></a>00097       <span class="keywordflow">if</span> (this-&gt;use_syslog)
123
 
<a name="l00098"></a>00098         openlog(this-&gt;program_name.c_str(), LOG_PID|LOG_NDELAY, LOG_AUTHPRIV);
124
 
<a name="l00099"></a>00099 
125
 
<a name="l00100"></a>00100       <span class="keywordtype">int</span> status = <a class="code" href="classschroot__base_1_1main.html#e252e6014964a24c7290b9c0378c1310" title="Run the program.">run_impl</a>();
126
 
<a name="l00101"></a>00101 
127
 
<a name="l00102"></a>00102       closelog();
128
 
<a name="l00103"></a>00103 
129
 
<a name="l00104"></a>00104       <span class="keywordflow">return</span> status;
130
 
<a name="l00105"></a>00105     }
131
 
<a name="l00106"></a>00106   <span class="keywordflow">catch</span> (std::exception <span class="keyword">const</span>&amp; e)
132
 
<a name="l00107"></a>00107     {
133
 
<a name="l00108"></a>00108       <a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/namespacesbuild.html#fb5f819f244e5c27be632b6243c7b82a">sbuild::log_exception_error</a>(e);
134
 
<a name="l00109"></a>00109 
135
 
<a name="l00110"></a>00110       <span class="keywordflow">try</span>
136
 
<a name="l00111"></a>00111         {
137
 
<a name="l00112"></a>00112           <span class="keyword">dynamic_cast&lt;</span>boost::program_options::error const&amp;<span class="keyword">&gt;</span>(e);
138
 
<a name="l00113"></a>00113           <a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/namespacesbuild.html#4b668d467f8c9c6063cd2c9c7aaf3086">sbuild::log_info</a>()
139
 
<a name="l00114"></a>00114             <span class="comment">// TRANSLATORS: %1% = program name</span>
140
 
<a name="l00115"></a>00115             &lt;&lt; format(_(<span class="stringliteral">"Run \"%1% --help\" to list usage example and all available options"</span>))
141
 
<a name="l00116"></a>00116             % argv[0]
142
 
<a name="l00117"></a>00117             &lt;&lt; endl;
143
 
<a name="l00118"></a>00118         }
144
 
<a name="l00119"></a>00119       <span class="keywordflow">catch</span> (std::bad_cast <span class="keyword">const</span>&amp; discard)
145
 
<a name="l00120"></a>00120         {
146
 
<a name="l00121"></a>00121         }
147
 
<a name="l00122"></a>00122 
148
 
<a name="l00123"></a>00123       <span class="keywordflow">if</span> (this-&gt;use_syslog)
149
 
<a name="l00124"></a>00124         closelog();
150
 
<a name="l00125"></a>00125 
151
 
<a name="l00126"></a>00126       <span class="keywordflow">return</span> EXIT_FAILURE;
152
 
<a name="l00127"></a>00127     }
153
 
<a name="l00128"></a>00128 }
154
 
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Jul 8 21:23:55 2007 for schroot by&nbsp;
 
33
<a name="l00014"></a>00014 <span class="comment"> * along with this program.  If not, see</span>
 
34
<a name="l00015"></a>00015 <span class="comment"> * &lt;http://www.gnu.org/licenses/&gt;.</span>
 
35
<a name="l00016"></a>00016 <span class="comment"> *</span>
 
36
<a name="l00017"></a>00017 <span class="comment"> *********************************************************************/</span>
 
37
<a name="l00018"></a>00018 
 
38
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;config.h&gt;</span>
 
39
<a name="l00020"></a>00020 
 
40
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/sbuild-i18n_8h.html">sbuild/sbuild-i18n.h</a>&gt;</span>
 
41
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/sbuild-log_8h.html">sbuild/sbuild-log.h</a>&gt;</span>
 
42
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/sbuild-types_8h.html">sbuild/sbuild-types.h</a>&gt;</span>
 
43
<a name="l00024"></a>00024 
 
44
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="schroot-base-main_8h.html">schroot-base-main.h</a>"</span>
 
45
<a name="l00026"></a>00026 
 
46
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;cstdlib&gt;</span>
 
47
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;ctime&gt;</span>
 
48
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;iostream&gt;</span>
 
49
<a name="l00030"></a>00030 
 
50
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;syslog.h&gt;</span>
 
51
<a name="l00032"></a>00032 
 
52
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;boost/format.hpp&gt;</span>
 
53
<a name="l00034"></a>00034 
 
54
<a name="l00035"></a>00035 <span class="keyword">using</span> std::endl;
 
55
<a name="l00036"></a>00036 <span class="keyword">using</span> boost::format;
 
56
<a name="l00037"></a>00037 <span class="keyword">using</span> sbuild::_;
 
57
<a name="l00038"></a>00038 <span class="keyword">using namespace </span>schroot_base;
 
58
<a name="l00039"></a>00039 
 
59
<a name="l00040"></a><a class="code" href="classschroot__base_1_1main.html#eceeb5beb43967c3cf504f3646887c8f">00040</a> <a class="code" href="schroot_8cc.html#0ddf1224851353fc92bfbff6f499fa97" title="Main routine.">main::main</a> (std::string <span class="keyword">const</span>&amp;  program_name,
 
60
<a name="l00041"></a>00041             std::string <span class="keyword">const</span>&amp;  program_usage,
 
61
<a name="l00042"></a>00042             options::ptr <span class="keyword">const</span>&amp; program_options,
 
62
<a name="l00043"></a>00043             <span class="keywordtype">bool</span>                use_syslog):
 
63
<a name="l00044"></a>00044   program_name(program_name),
 
64
<a name="l00045"></a>00045   program_usage(program_usage),
 
65
<a name="l00046"></a>00046   program_options(program_options),
 
66
<a name="l00047"></a>00047   use_syslog(use_syslog)
 
67
<a name="l00048"></a>00048 {
 
68
<a name="l00049"></a>00049 }
 
69
<a name="l00050"></a>00050 
 
70
<a name="l00051"></a><a class="code" href="classschroot__base_1_1main.html#4444e261c1a635e1aab12e00e5b95f5a">00051</a> <a class="code" href="classschroot__base_1_1main.html#4444e261c1a635e1aab12e00e5b95f5a" title="The destructor.">main::~main</a> ()
 
71
<a name="l00052"></a>00052 {
 
72
<a name="l00053"></a>00053 }
 
73
<a name="l00054"></a>00054 
 
74
<a name="l00055"></a>00055 <span class="keywordtype">void</span>
 
75
<a name="l00056"></a><a class="code" href="classschroot__base_1_1main.html#cd9c1d4d7c52a423eb929a4bb6f644e0">00056</a> <a class="code" href="classschroot__base_1_1main.html#cd9c1d4d7c52a423eb929a4bb6f644e0" title="Print version information.">main::action_version</a> (std::ostream&amp; stream)
 
76
<a name="l00057"></a>00057 {
 
77
<a name="l00058"></a>00058   <span class="comment">// TRANSLATORS: %1% = program name</span>
 
78
<a name="l00059"></a>00059   <span class="comment">// TRANSLATORS: %2% = program version</span>
 
79
<a name="l00060"></a>00060   <span class="comment">// TRANSLATORS: %3% = release date</span>
 
80
<a name="l00061"></a>00061   format fmt(_(<span class="stringliteral">"%1% (Debian sbuild) %2% (%3%)\n"</span>));
 
81
<a name="l00062"></a>00062   fmt % this-&gt;<a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b" title="The name of the program.">program_name</a> % VERSION % <a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/classsbuild_1_1gmdate.html">sbuild::gmdate</a>(RELEASE_DATE);
 
82
<a name="l00063"></a>00063 
 
83
<a name="l00064"></a>00064   stream &lt;&lt; fmt
 
84
<a name="l00065"></a>00065          &lt;&lt; _(<span class="stringliteral">"Written by Roger Leigh"</span>) &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; <span class="charliteral">'\n'</span>
 
85
<a name="l00066"></a>00066     <span class="comment">// TRANSLATORS: '(C)' is a copyright symbol and '-' is an en-dash.</span>
 
86
<a name="l00067"></a>00067          &lt;&lt; _(<span class="stringliteral">"Copyright (C) 2004-2008 Roger Leigh"</span>) &lt;&lt; <span class="charliteral">'\n'</span>
 
87
<a name="l00068"></a>00068          &lt;&lt; _(<span class="stringliteral">"This is free software; see the source for copying conditions.  There is NO\n"</span>
 
88
<a name="l00069"></a>00069               <span class="stringliteral">"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"</span>)
 
89
<a name="l00070"></a>00070          &lt;&lt; std::flush;
 
90
<a name="l00071"></a>00071 }
 
91
<a name="l00072"></a>00072 
 
92
<a name="l00073"></a>00073 <span class="keywordtype">void</span>
 
93
<a name="l00074"></a><a class="code" href="classschroot__base_1_1main.html#4c246d8a2cedf030e094ffdee5a38553">00074</a> <a class="code" href="classschroot__base_1_1main.html#4c246d8a2cedf030e094ffdee5a38553" title="Print help information.">main::action_help</a> (std::ostream&amp; stream)
 
94
<a name="l00075"></a>00075 {
 
95
<a name="l00076"></a>00076   stream
 
96
<a name="l00077"></a>00077     &lt;&lt; _(<span class="stringliteral">"Usage:"</span>) &lt;&lt; <span class="charliteral">'\n'</span>
 
97
<a name="l00078"></a>00078     &lt;&lt; <span class="stringliteral">"  "</span> &lt;&lt; this-&gt;<a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b" title="The name of the program.">program_name</a> &lt;&lt; <span class="stringliteral">"  "</span>
 
98
<a name="l00079"></a>00079     &lt;&lt; this-&gt;<a class="code" href="classschroot__base_1_1main.html#a6c3a9a050dc1f525d289bbe7d63534b" title="The usage text of the program.">program_usage</a> &lt;&lt; std::endl;
 
99
<a name="l00080"></a>00080 
 
100
<a name="l00081"></a>00081   stream &lt;&lt; this-&gt;<a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995" title="The program options.">program_options</a>-&gt;get_visible_options() &lt;&lt; std::flush;
 
101
<a name="l00082"></a>00082 }
 
102
<a name="l00083"></a>00083 
 
103
<a name="l00084"></a>00084 <span class="keywordtype">int</span>
 
104
<a name="l00085"></a><a class="code" href="classschroot__base_1_1main.html#aea33f1f3d50f732d8ec6b0a09860ee7">00085</a> <a class="code" href="namespaceschroot__base.html#89b50862b19c7bac85832e27092ed01d" title="Main routine.">main::run</a> (<span class="keywordtype">int</span>   argc,
 
105
<a name="l00086"></a>00086            <span class="keywordtype">char</span> *argv[])
 
106
<a name="l00087"></a>00087 {
 
107
<a name="l00088"></a>00088   <span class="keywordflow">try</span>
 
108
<a name="l00089"></a>00089     {
 
109
<a name="l00090"></a>00090       this-&gt;<a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995" title="The program options.">program_options</a>-&gt;parse(argc, argv);
 
110
<a name="l00091"></a>00091 
 
111
<a name="l00092"></a>00092 <span class="preprocessor">#ifdef SBUILD_DEBUG</span>
 
112
<a name="l00093"></a>00093 <span class="preprocessor"></span>      <a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/namespacesbuild.html#8cce2f8a60529f8f0c5064028610c89c">sbuild::debug_level</a> = <a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/namespacesbuild.html#cc4d8fc120bfd21c22acd9d9ed0e754dffa463972dbe4f170e64069c622886ec">sbuild::DEBUG_CRITICAL</a>;
 
113
<a name="l00094"></a>00094 <span class="preprocessor">#endif</span>
 
114
<a name="l00095"></a>00095 <span class="preprocessor"></span>
 
115
<a name="l00096"></a>00096       <span class="keywordflow">if</span> (this-&gt;use_syslog)
 
116
<a name="l00097"></a>00097         openlog(this-&gt;program_name.c_str(), LOG_PID|LOG_NDELAY, LOG_AUTHPRIV);
 
117
<a name="l00098"></a>00098 
 
118
<a name="l00099"></a>00099       <span class="keywordtype">int</span> status = <a class="code" href="classschroot__base_1_1main.html#e252e6014964a24c7290b9c0378c1310" title="Run the program.">run_impl</a>();
 
119
<a name="l00100"></a>00100 
 
120
<a name="l00101"></a>00101       closelog();
 
121
<a name="l00102"></a>00102 
 
122
<a name="l00103"></a>00103       <span class="keywordflow">return</span> status;
 
123
<a name="l00104"></a>00104     }
 
124
<a name="l00105"></a>00105   <span class="keywordflow">catch</span> (std::exception <span class="keyword">const</span>&amp; e)
 
125
<a name="l00106"></a>00106     {
 
126
<a name="l00107"></a>00107       <a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/namespacesbuild.html#fb5f819f244e5c27be632b6243c7b82a">sbuild::log_exception_error</a>(e);
 
127
<a name="l00108"></a>00108 
 
128
<a name="l00109"></a>00109       <span class="keywordflow">try</span>
 
129
<a name="l00110"></a>00110         {
 
130
<a name="l00111"></a>00111           <span class="keyword">dynamic_cast&lt;</span>boost::program_options::error const&amp;<span class="keyword">&gt;</span>(e);
 
131
<a name="l00112"></a>00112           <a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/namespacesbuild.html#4b668d467f8c9c6063cd2c9c7aaf3086">sbuild::log_info</a>()
 
132
<a name="l00113"></a>00113             <span class="comment">// TRANSLATORS: %1% = program name</span>
 
133
<a name="l00114"></a>00114             &lt;&lt; format(_(<span class="stringliteral">"Run \"%1% --help\" to list usage example and all available options"</span>))
 
134
<a name="l00115"></a>00115             % argv[0]
 
135
<a name="l00116"></a>00116             &lt;&lt; endl;
 
136
<a name="l00117"></a>00117         }
 
137
<a name="l00118"></a>00118       <span class="keywordflow">catch</span> (std::bad_cast <span class="keyword">const</span>&amp; discard)
 
138
<a name="l00119"></a>00119         {
 
139
<a name="l00120"></a>00120         }
 
140
<a name="l00121"></a>00121 
 
141
<a name="l00122"></a>00122       <span class="keywordflow">if</span> (this-&gt;use_syslog)
 
142
<a name="l00123"></a>00123         closelog();
 
143
<a name="l00124"></a>00124 
 
144
<a name="l00125"></a>00125       <span class="keywordflow">return</span> EXIT_FAILURE;
 
145
<a name="l00126"></a>00126     }
 
146
<a name="l00127"></a>00127 }
 
147
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Jan 21 00:38:28 2008 for schroot by&nbsp;
155
148
<a href="http://www.doxygen.org/index.html">
156
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 
149
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
157
150
</body>
158
151
</html>