Add support for new command line flag, --ignore-modules.

svn path=/trunk/kdenonbeta/kdecvs-build/; revision=342363
wilder
Michael Pyne 22 years ago
parent fa6d5a8168
commit dbacf48600
  1. 3
      HISTORY
  2. 68
      doc.html.in
  3. 33
      kdecvs-build

@ -1,3 +1,6 @@
Version history: 0.83
* Added option, --ignore-modules.
Version history: 0.82
* Add hack to make kdebindings build using builddir == srcdir even though
srcdir is really != builddir. Unfortunately, kdebindings still won't

@ -65,6 +65,15 @@ those who either can't or don't feel like installing it.</p>
<p id="emailaddy">It is authored by Michael Pyne (mpyne (AT) grammarian (DOT) homelinux
(DOT) net), and is one of several build scripts for this purpose.</p>
<p><b>2004-Aug-29:</b> v0.83<br/>
New features:
<ul>
<li>Added the <a href="#cmdline-ignore-modules">--ignore-modules</a> option,
which allows you to specify modules to skip from the CVS and build process, by
request of Matt Rogers.</li>
<li>Also, kdecvs-build is now hosted in KDE's kdenonbeta CVS module.</li>
</ul>
<p><b>2004-Aug-12:</b> v0.82<br/>
New features:
<ul>
@ -127,60 +136,6 @@ Bugfixes:
<li>Fixed an output alignment error discovered by Michal Rokos.</li>
</ul>
<p><b>2004-Jul-11:</b> v0.77<br/>
<i>OK, <b>this</b> will be the last one, berkus really wanted the included new
feature.</i><br/>
New features:
<ul>
<li>Added <a href="#conf-inst-apps">inst-apps</a> configure option, which
affects the build process by only building the specified top-level
directories. The entire module will still be downloaded, however. This
option doesn't take effect until you re-run make -f Makefile.cvs (either by <a
href="#cmdline-refresh-build">--refresh-build</a> or a <a
href="#cmdline-recreate-configure">--recreate-configure</a>).</li>
</ul>
<p><b>2004-Jul-11:</b> v0.76<br/>
<i>This will probably be the last release before I go out of town for a week
or so on the 14<sup>th</sup>. If you send me mail and don't get a response
while I'm gone, that's why.</i><br/>
New features:
<ul>
<li>Added the <a href="#cmdline-cvs-only">--cvs-only</a> command line option,
as suggested and coded by Kurt Hindenburg. Although equivalent to <a
href="#cmdline-no-build">--no-build</a> at this point, that may change in the
future. If you really want no CVS updates, you should use this argument.</li>
<li>To be consistent, I went and added the <a
href="#cmdline-build-only">--build-only</a> switch. It disables CVS updates
and the install process.</li>
</ul>
Bugfixes:
<ul>
<li>Updated the <a href="#cmdline-help">--help</a> documentation, including
some command line options I had left out and a spelling fix.</li>
</ul>
<p><b>2004-Jul-02:</b> v0.75<br/>
New features:
<ul>
<li>Added the <a href="#cmdline-rc-file">--rc-file</a> command line option,
as suggested by Kurt Hindenburg.</li>
</ul>
Bugfixes:
<ul>
<li>Make <a href="#cmdline-debug">--debug</a> option use the logging
functionality in addition to outputting to stdout, as suggested by Kurt
Hindenburg.</li>
<li>Add a signal handler for SIGPIPE to keep the script from leaving lockfiles
around after piping the output into less.</li>
<li>Silence warnings when the script informs you that you need to create a
.kdecvs-buildrc by using the correct exit function.</li>
<li>Try to build modules even if one of the updates happened to fail.</li>
</ul>
</p>
<hr>
<a name="features"></a>
<h3>Features</h3>
@ -767,6 +722,9 @@ act like you did.</li>
<li id="cmdline-build-only">--build-only, Only perform the build process.</li>
<li id="cmdline-ignore-modules">--ignore-modules, Don't including the modules
passed on the rest of the command line in the update/build process.</li>
<li id="cmdline-no-cvs">--no-cvs, Skip contacting the CVS server.</li>
<li id="cmdline-no-build">--no-build, Skip the build process.</li>
@ -840,7 +798,7 @@ href="#options">.kdecvs-buildrc options</a>.
<div align="center" class="thankyou">
<font size="-1"><a href="http://www.cvsup.org/">CVSup</a> is a registered trademark of John D. Polstra.
<br/>
Last modified: Thu Aug 12 22:46:40 2004</font>
Last modified: Sun Aug 29 00:46:53 2004</font>
</div>
</body>
</html>

@ -70,6 +70,7 @@ my %global_opts = (
);
my %package_opts; # Holds module-specific options.
my %ignore_list; # List of packages to refuse to include in the build list.
my @update_list; # List of modules to update/checkout.
my @build_list; # List of modules to build.
my $install_flag; # True if we're in install mode.
@ -530,11 +531,11 @@ sub read_options
}
# Done reading options, add this module to the update list
push (@update_list, $modulename);
push (@update_list, $modulename) unless exists $ignore_list{$modulename};
# Add it to the build list, unless the build is only
# supposed to be done manually.
if (not get_option ($modulename, 'manual-build'))
if (not get_option ($modulename, 'manual-build') and not exists $ignore_list{$modulename})
{
push (@build_list, $modulename);
}
@ -623,7 +624,7 @@ sub process_arguments
{
my $arg;
my $author = "Michael Pyne <michael.pyne\@kdemail.net>";
my $version = "kdecvs-build 0.82\n";
my $version = "kdecvs-build 0.83\n";
my @argv;
while ($_ = shift @ARGV)
@ -775,6 +776,32 @@ DONE
last SWITCH;
};
/^--ignore-modules$/ && do {
# We need to keep read_options() from adding these modules to
# the build list, taken care of by ignore_list. We then need
# to remove the modules from the command line, taken care of
# by the @ARGV = () statement;
my @options = ();
foreach (@ARGV)
{
if (/^-/)
{
push @options, $_;
}
else
{
$ignore_list{$_} = 1;
# the pattern match doesn't work with $_, alias it.
my $module = $_;
@argv = grep (!/^$module$/, @argv);
}
}
@ARGV = @options;
last SWITCH;
};
/^(--pretend)|(-p)$/ && do {
$global_opts{'#pretend'} = 1;
last SWITCH;

Loading…
Cancel
Save