openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2008
- 1 participants
- 1421 discussions
Hello community,
here is the log from the commit of package zypper
checked in at Thu May 1 15:01:20 CEST 2008.
--------
--- zypper/zypper.changes 2008-04-28 16:55:45.000000000 +0200
+++ /mounts/work_src_done/STABLE/zypper/zypper.changes 2008-04-30 19:00:54.000000000 +0200
@@ -1,0 +2,27 @@
+Wed Apr 30 18:48:16 CEST 2008 - jkupec(a)suse.cz
+
+- abbreviate package summary in the search to fit screen width
+- r9915
+- 0.11.2
+
+-------------------------------------------------------------------
+Tue Apr 29 22:56:48 CEST 2008 - jkupec(a)suse.cz
+
+- basic cleanup upon SIGINT and SIGTERM (will remove
+ temporary repos) (bnc #340505)
+- r9893
+
+-------------------------------------------------------------------
+Tue Apr 29 13:41:25 CEST 2008 - jreidinger(a)suse.cz
+
+- show license in pager (bnc #260883)
+- r9882
+
+-------------------------------------------------------------------
+Tue Apr 29 09:55:24 CEST 2008 - jreidinger(a)suse.cz
+
+- provide better info for allready installed capabilities.
+ (bnc #384412)
+- r9876
+
+-------------------------------------------------------------------
Old:
----
zypper-0.11.1.tar.bz2
New:
----
zypper-0.11.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zypper.spec ++++++
--- /var/tmp/diff_new_pack.P23885/_old 2008-05-01 15:00:32.000000000 +0200
+++ /var/tmp/diff_new_pack.P23885/_new 2008-05-01 15:00:32.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package zypper (Version 0.11.1)
+# spec file for package zypper (Version 0.11.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,7 +12,7 @@
Name: zypper
-BuildRequires: boost-devel >= 1.33.1 gettext-devel >= 0.15 libzypp-devel >= 4.16.0 readline-devel >= 5.1
+BuildRequires: boost-devel >= 1.33.1 gettext-devel >= 0.15 libzypp-devel >= 4.18.0 readline-devel >= 5.1
BuildRequires: cmake >= 2.4.6 gcc-c++ >= 4.1
Requires: procps
Recommends: logrotate cron
@@ -22,9 +22,9 @@
AutoReqProv: on
PreReq: permissions
Summary: Command Line Package Management Using Libzypp
-Version: 0.11.1
+Version: 0.11.2
Release: 1
-Source: zypper-0.11.1.tar.bz2
+Source: zypper-0.11.2.tar.bz2
Prefix: /usr
Url: http://en.opensuse.org/Zypper
Provides: y2pmsh
@@ -106,6 +106,21 @@
# it from being erased by rpm -e
%ghost %config(noreplace) %{_var}/log/zypper.log
%changelog
+* Wed Apr 30 2008 jkupec(a)suse.cz
+- abbreviate package summary in the search to fit screen width
+- r9915
+- 0.11.2
+* Wed Apr 30 2008 jkupec(a)suse.cz
+- basic cleanup upon SIGINT and SIGTERM (will remove
+ temporary repos) (bnc #340505)
+- r9893
+* Tue Apr 29 2008 jreidinger(a)suse.cz
+- show license in pager (bnc #260883)
+- r9882
+* Tue Apr 29 2008 jreidinger(a)suse.cz
+- provide better info for allready installed capabilities.
+ (bnc #384412)
+- r9876
* Mon Apr 28 2008 jkupec(a)suse.cz
- translations update
- 0.11.1
++++++ zypper-0.11.1.tar.bz2 -> zypper-0.11.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/doc/zypper.8 new/zypper-0.11.2/doc/zypper.8
--- old/zypper-0.11.1/doc/zypper.8 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/doc/zypper.8 2008-04-30 19:00:45.000000000 +0200
@@ -679,6 +679,9 @@
Returned by the \fBinstall\fR and the \fBremove\fR command in case any of the
arguments does not match any of the available (or installed) resolvable names
or other capabilities.
+105 - ZYPPER_EXIT_ON_SIGNAL
+Returned upon exiting after receiving a SIGINT or SIGTERM.
+
.SH "COMPATIBILITY WITH RUG"
.LP
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/package/zypper.changes new/zypper-0.11.2/package/zypper.changes
--- old/zypper-0.11.1/package/zypper.changes 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/package/zypper.changes 2008-04-30 19:00:45.000000000 +0200
@@ -1,4 +1,31 @@
-------------------------------------------------------------------
+Wed Apr 30 18:48:16 CEST 2008 - jkupec(a)suse.cz
+
+- abbreviate package summary in the search to fit screen width
+- r9915
+- 0.11.2
+
+-------------------------------------------------------------------
+Tue Apr 29 22:56:48 CEST 2008 - jkupec(a)suse.cz
+
+- basic cleanup upon SIGINT and SIGTERM (will remove
+ temporary repos) (bnc #340505)
+- r9893
+
+-------------------------------------------------------------------
+Tue Apr 29 13:41:25 CEST 2008 - jreidinger(a)suse.cz
+
+- show license in pager (bnc #260883)
+- r9882
+
+-------------------------------------------------------------------
+Tue Apr 29 09:55:24 CEST 2008 - jreidinger(a)suse.cz
+
+- provide better info for allready installed capabilities.
+ (bnc #384412)
+- r9876
+
+-------------------------------------------------------------------
Mon Apr 28 16:54:31 CEST 2008 - jkupec(a)suse.cz
- translations update
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper.cc new/zypper-0.11.2/src/zypper.cc
--- old/zypper-0.11.1/src/zypper.cc 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper.cc 2008-04-30 19:00:45.000000000 +0200
@@ -62,7 +62,7 @@
: _argc(0), _argv(NULL), _out_ptr(NULL),
_command(ZypperCommand::NONE),
_exit_code(ZYPPER_EXIT_OK),
- _running_shell(false), _running_help(false),
+ _running_shell(false), _running_help(false), _exit_requested(false),
_sh_argc(0), _sh_argv(NULL)
{
MIL << "Hi, me zypper " VERSION " built " << __DATE__ << " " << __TIME__ << endl;
@@ -272,7 +272,7 @@
{"normal-output", no_argument, 0, 0 },
// not implemented currently => ignored
{"terse", no_argument, 0, 't'},
- {"no-abbrev", no_argument, 0, 0 },
+ {"no-abbrev", no_argument, 0, 'A'},
{"table-style", required_argument, 0, 's'},
{"rug-compatible", no_argument, 0, 'r'},
{"non-interactive", no_argument, 0, 'n'},
@@ -642,7 +642,7 @@
else
safeDoCommand();
}
- catch (Exception & e)
+ catch (const Exception & e)
{
out().error(e.msg());
print_unknown_command_hint(*this);
@@ -2578,6 +2578,8 @@
{
// sort by name (can't sort by repo)
t.sort(1);
+ if (!globalOpts().no_abbrev)
+ t.allowAbbrev(2);
}
cout << t; //! \todo out().table()?
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper.h new/zypper-0.11.2/src/zypper.h
--- old/zypper-0.11.1/src/zypper.h 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper.h 2008-04-30 19:00:45.000000000 +0200
@@ -92,6 +92,10 @@
std::list<zypp::RepoInfo> additional_repos;
int patches_count;
int security_patches_count;
+ /**
+ * Used by requestMedia callback
+ * \todo but now it uses label, remove this variable?
+ */
zypp::RepoInfo current_repo;
std::list<zypp::SrcPackage::constPtr> srcpkgs_to_install;
@@ -142,10 +146,14 @@
void setExitCode(int exit) { _exit_code = exit; }
bool runningShell() const { return _running_shell; }
bool runningHelp() const { return _running_help; }
-
+ bool exitRequested() const { return _exit_requested; }
+ void requestExit() { _exit_requested = true; }
+
int argc() { return _running_shell ? _sh_argc : _argc; }
char ** argv() { return _running_shell ? _sh_argv : _argv; }
+ void cleanup();
+
public:
~Zypper();
private:
@@ -157,7 +165,6 @@
void shellCleanup();
void safeDoCommand();
void doCommand();
- void cleanup();
void setCommand(const ZypperCommand & command) { _command = command; }
void setRunningShell(bool value = true) { _running_shell = value; }
@@ -179,6 +186,7 @@
int _exit_code;
bool _running_shell;
bool _running_help;
+ bool _exit_requested;
RuntimeData _rdata;
@@ -196,11 +204,6 @@
{
public:
ExitRequestException(const std::string & msg = "") : zypp::Exception(msg) {}
-// ExitRequestException(const std::string & msg = "") : _msg(msg) {}
-
-// const std::string & msg() const { return _msg; }
-private:
-// std::string _msg;
};
#endif /*ZYPPER_H*/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-main.cc new/zypper-0.11.2/src/zypper-main.cc
--- old/zypper-0.11.1/src/zypper-main.cc 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-main.cc 2008-04-30 19:00:45.000000000 +0200
@@ -1,4 +1,6 @@
#include <iostream>
+#include <signal.h>
+//#include <readline/readline.h>
#include "zypp/base/Logger.h"
#include "zypp/base/LogControl.h"
@@ -19,6 +21,34 @@
KeyRingCallbacks keyring_callbacks;
DigestCallbacks digest_callbacks;
+
+void signal_handler(int sig)
+{
+ Zypper & zypper = *Zypper::instance();
+ if (zypper.exitRequested())
+ {
+ /*
+ if (zypper.runningShell())
+ {
+ cout << endl << zypp::str::form(
+ _("Use '%s' or enter '%s' to quit the shell."), "Ctrl+D", "quit") << endl;
+ ::rl_reset_after_signal();
+ exit(ZYPPER_EXIT_ON_SIGNAL);
+ //! \todo improve to drop to shell only
+ }
+ else*/
+ {
+ // translators: this will show up if you press ctrl+c twice outside of zypper shell
+ cerr << _("OK OK! Exitting immediately...") << endl;
+ zypper.cleanup();
+ exit(ZYPPER_EXIT_ON_SIGNAL);
+ }
+ }
+ else
+ zypper.requestExit();
+}
+
+
int main(int argc, char **argv)
{
struct Bye {
@@ -38,5 +68,10 @@
logfile = ZYPPER_LOG;
zypp::base::LogControl::instance().logfile( logfile );
+ if (::signal(SIGINT, signal_handler) == SIG_ERR)
+ cerr << "Failed to set SIGINT handler." << endl;
+ if (::signal(SIGTERM, signal_handler) == SIG_ERR)
+ cerr << "Failed to set SIGTERM handler." << endl;
+
return Zypper::instance()->main(argc, argv);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-main.h new/zypper-0.11.2/src/zypper-main.h
--- old/zypper-0.11.1/src/zypper-main.h 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-main.h 2008-04-30 19:00:45.000000000 +0200
@@ -21,6 +21,7 @@
#define ZYPPER_EXIT_INF_REBOOT_NEEDED 102 // reboot needed after install/upgrade
#define ZYPPER_EXIT_INF_RESTART_NEEDED 103 // restart of package manager itself needed
#define ZYPPER_EXIT_INF_CAP_NOT_FOUND 104 // given capability not found (for install/remove)
+#define ZYPPER_EXIT_ON_SIGNAL 105 // SIGINT or SIGTERM received
// undefine _ and _PL macros from libzypp
#ifdef _
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-media-callbacks.h new/zypper-0.11.2/src/zypper-media-callbacks.h
--- old/zypper-0.11.1/src/zypper-media-callbacks.h 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-media-callbacks.h 2008-04-30 19:00:45.000000000 +0200
@@ -80,7 +80,7 @@
// You can also have a look at the regular expressions used to check the answer here:
// /usr/lib/locale/<your_locale>/LC_MESSAGES/SYS_LC_MESSAGES
_("Please insert medium [%s] #%d and type 'y' to continue or 'n' to cancel the operation."))
- % gData.current_repo.name() % mediumNr);
+ % label % mediumNr);
if (read_bool_answer(PROMPT_YN_MEDIA_CHANGE, request, false))
return MediaChangeReport::RETRY;
else
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-misc.cc new/zypper-0.11.2/src/zypper-misc.cc
--- old/zypper-0.11.1/src/zypper-misc.cc 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-misc.cc 2008-04-30 19:00:45.000000000 +0200
@@ -3,6 +3,7 @@
#include <sstream>
#include <ctype.h>
#include <boost/format.hpp>
+#include <sys/wait.h> //for wait()
#include "zypp/ZYppFactory.h"
#include "zypp/base/Logger.h"
@@ -14,6 +15,7 @@
#include "zypp/SrcPackage.h"
#include "zypp/Capabilities.h"
#include "zypp/PoolQuery.h"
+#include "zypp/TmpPath.h"
#include "zypp/media/MediaException.h"
@@ -127,6 +129,53 @@
return true;
}
+//gets true if successfully display in pager
+bool show_in_pager(const string& text)
+{
+ const char* envpager = getenv("PAGER");
+ if (!envpager)
+ envpager="more"; //basic posix default, must be in PATH
+ string pager(envpager);
+ filesystem::TmpFile tfile;
+ string tpath = tfile.path().absolutename().c_str();
+ ofstream os(tpath.c_str());
+ os << text;
+ os.close();
+ ostringstream cmdline;
+ cmdline << pager <<" "<<tpath;
+ int termin = dup(0);
+ close(0);
+ int termout = dup(1);
+ close(1);
+
+ switch(fork()){
+ case -1:
+ WAR << "fork failed" << endl;
+ return false;
+
+ case 0:
+ //allow terminal only for pager
+ dup2(termin,0);
+ dup2(termout,1);
+ execlp("sh","sh","-c",cmdline.str().c_str(),(char *)0);
+ WAR << "exec failed with " << strerror(errno) << endl;
+ close(termin);
+ close(termout);
+ exit(1); //cannot return false here, due to here is another process
+ //so only kill itself
+
+ default:
+ wait(0);
+ //restore terminal access after end of pager
+ dup2(termin,0);
+ dup2(termout,1);
+ close(termin);
+ close(termout);
+ }
+
+ return true;
+}
+
// this does only resolvables with this _name_.
// we could also act on _provides_
// TODO edition, arch
@@ -543,14 +592,20 @@
// is the provider already installed?
bool installed = false;
+ string provider;
for_(solvit, q.poolItemBegin(), q.poolItemEnd())
if (solvit->status().isInstalled())
- { installed = true; break; }
+ {
+ installed = true;
+ provider = solvit->resolvable()->name();
+ break; }
// already installed, nothing to do
if (installed && install_not_remove)
{
+ string s = (provider==str) ? str : boost::str(format("%s (%s)")
+ % str % provider);
// translators: meaning a package %s or provider of capability %s
- zypper.out().info(str::form(_("'%s' is already installed."), str.c_str()));
+ zypper.out().info(str::form(_("'%s' is already installed."), s.c_str()));
MIL << str::form("skipping '%s': already installed", str.c_str()) << endl;
continue;
}
@@ -2418,7 +2473,8 @@
s << licenseText;
else
s << processRichText(licenseText);
- zypper.out().info(s.str(), Out::QUIET);
+ if (!show_in_pager(s.str())) //pager fail, show normal
+ zypper.out().info(s.str(), Out::QUIET);
// lincense prompt
string question = _("In order to install this package, you must agree"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-repos.cc new/zypper-0.11.2/src/zypper-repos.cc
--- old/zypper-0.11.1/src/zypper-repos.cc 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-repos.cc 2008-04-30 19:00:45.000000000 +0200
@@ -259,8 +259,8 @@
{
RepoManager manager(zypper.globalOpts().rm_options);
list<RepoInfo> known = manager.knownRepositories();
- bool founded = false;
-
+ bool founded = false;
+
unsigned int number = 1; // repo number
for (list<RepoInfo>::const_iterator known_it = known.begin();
known_it != known.end(); ++known_it, number++)
@@ -283,7 +283,7 @@
catch(const url::UrlException &){}
} // END for all known repos
-
+
return founded;
}
@@ -313,13 +313,13 @@
// repo found
// is it a duplicate? compare by alias and URIs
- //! \todo operator== in RepoInfo?
+ //! \todo operator== in RepoInfo?
bool duplicate = false;
for (list<RepoInfo>::const_iterator repo_it = repos.begin();
repo_it != repos.end(); ++repo_it)
{
bool equals = true;
-
+
// alias
if (repo_it->alias() != repo.alias())
{
@@ -892,12 +892,12 @@
{
string msg = boost::str(
format(_("Skipping disabled repository '%s'")) % repo.name());
-
+
if (specified.empty())
zypper.out().info(msg, Out::HIGH);
else
zypper.out().error(msg);
-
+
enabled_repo_count--;
continue;
}
@@ -1049,7 +1049,7 @@
it != repos.end(); ++it)
{
RepoInfo repo(*it);
-
+
if (!specified.empty())
{
bool found = false;
@@ -1060,7 +1060,7 @@
found = true;
break;
}
-
+
if (!found)
{
DBG << repo.alias() << "(#" << ") not specified,"
@@ -1069,7 +1069,7 @@
continue;
}
}
-
+
try
{
if( clean_metadata )
@@ -1115,7 +1115,8 @@
zypper.out().info(_("Cleaning installed packages cache."), Out::HIGH);
try
{
- manager.cleanTargetCache();
+ init_target(zypper);
+ God->target()->cleanCache();
}
catch (...)
{
@@ -1303,7 +1304,7 @@
repo.setType(RepoType(type));
repo.setAlias(alias.empty() ? timestamp() : alias);
- parsed_opts::const_iterator it = zypper.cOpts().find("name");
+ parsed_opts::const_iterator it = zypper.cOpts().find("name");
if (it != zypper.cOpts().end())
repo.setName(it->second.front());
repo.addBaseUrl(url);
@@ -1519,7 +1520,7 @@
changed_autoref = true;
repo.setAutorefresh(autoref);
}
-
+
int prio = 0;
parsed_opts::const_iterator tmp1;
if ((tmp1 = zypper.cOpts().find("priority")) != zypper.cOpts().end())
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-tabulator.cc new/zypper-0.11.2/src/zypper-tabulator.cc
--- old/zypper-0.11.1/src/zypper-tabulator.cc 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-tabulator.cc 2008-04-30 19:00:45.000000000 +0200
@@ -1,5 +1,7 @@
#include <iostream>
#include <cstring>
+#include <cstdlib>
+#include <readline/readline.h>
#include "zypp/base/Logger.h"
@@ -97,7 +99,7 @@
container::const_iterator
i = _columns.begin (),
e = _columns.end ();
-
+
stream.setf (ios::left, ios::adjustfield);
for (unsigned c = 0; i != e ; ++i, ++c) {
if (seen_first) {
@@ -107,14 +109,48 @@
}
seen_first = true;
-// stream.width (widths[c]);// that does not work with multibyte chars
- stream << *i;
- stream.width (widths[c] - string_to_columns (*i));
+ // stream.width (widths[c]); // that does not work with multibyte chars
+ const string & s = *i;
+ if (s.size() > widths[c])
+ stream << (s.substr(0, widths[c] - 2) + "->");
+ else
+ {
+ stream << s;
+ stream.width (widths[c] - string_to_columns (s));
+ }
stream << "";
}
stream << endl;
}
+// ----------------------( Table )---------------------------------------------
+
+Table::Table() :
+ _has_header (false),
+ _max_col (0),
+ _width(0),
+ _style (defaultStyle)
+{
+ //! \todo move this to utils
+
+ const char *cols_env = getenv("COLUMNS");
+ if (cols_env)
+ _screen_width = ::atoi (cols_env);
+ else
+ {
+ ::rl_initialize();
+ //::rl_reset_screen_size();
+ ::rl_get_screen_size (NULL, &_screen_width);
+ DBG << "readline says we have " << _screen_width << " char wide console screen" << endl;
+ }
+
+ // safe default
+ if (!_screen_width)
+ _screen_width = 80;
+
+ DBG << "got screen width of " << _screen_width << endl;
+}
+
void Table::add (const TableRow& tr) {
_rows.push_back (tr);
updateColWidths (tr);
@@ -126,7 +162,17 @@
updateColWidths (tr);
}
+void Table::allowAbbrev(unsigned column) {
+ if (column >= _abbrev_col.size()) {
+ _abbrev_col.reserve(column + 1);
+ _abbrev_col.insert(_abbrev_col.end(), column - _abbrev_col.size() + 1, false);
+ }
+ _abbrev_col[column] = true;
+}
+
void Table::updateColWidths (const TableRow& tr) {
+ _width = -3;
+
TableRow::container::const_iterator
i = tr._columns.begin (),
e = tr._columns.end ();
@@ -141,6 +187,8 @@
if (max < cur)
max = cur;
+
+ _width += max + 3;
}
}
@@ -165,6 +213,18 @@
}
void Table::dumpTo (ostream &stream) const {
+
+ // reset column widths for columns that can be abbreviated
+ //! \todo allow abbrev of multiple columns?
+ unsigned c = 0;
+ for (vector<bool>::const_iterator it = _abbrev_col.begin();
+ it != _abbrev_col.end() && c <= _max_col; ++it, ++c) {
+ if (*it && _width > _screen_width) {
+ _max_width[c] -= _width - _screen_width;
+ break;
+ }
+ }
+
if (_has_header) {
_header.dumpTo (stream, _max_width, _style);
dumpRule (stream);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-tabulator.h new/zypper-0.11.2/src/zypper-tabulator.h
--- old/zypper-0.11.1/src/zypper-tabulator.h 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-tabulator.h 2008-04-30 19:00:45.000000000 +0200
@@ -93,12 +93,10 @@
void style (TableStyle st);
void sort (unsigned by_column); // columns start with 0...
+ void allowAbbrev(unsigned column);
+
+ Table ();
- Table () :
- _has_header (false),
- _max_col (0),
- _style (defaultStyle)
- {}
private:
void dumpRule (ostream &stream) const;
void updateColWidths (const TableRow& tr);
@@ -109,9 +107,15 @@
//! maximum column index seen in this table
unsigned _max_col;
//! maximum width of respective columns
- vector<unsigned> _max_width;
+ mutable vector<unsigned> _max_width;
+ //! table width (columns)
+ int _width;
//! table drawing style
TableStyle _style;
+ //! console screen width as retrieved by readline
+ int _screen_width;
+ //! whether to abbreviate the column if needed
+ vector<bool> _abbrev_col;
};
inline
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/src/zypper-utils.cc new/zypper-0.11.2/src/zypper-utils.cc
--- old/zypper-0.11.1/src/zypper-utils.cc 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/src/zypper-utils.cc 2008-04-30 19:00:45.000000000 +0200
@@ -32,8 +32,9 @@
line_read = NULL;
}
- /* Get a line from the user. */
- line_read = readline ("zypper> ");
+ //::rl_catch_signals = 0;
+ /* Get a line from the user. */
+ line_read = ::readline ("zypper> ");
/* If the line has any text in it,
save it on the history. */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/VERSION.cmake new/zypper-0.11.2/VERSION.cmake
--- old/zypper-0.11.1/VERSION.cmake 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/VERSION.cmake 2008-04-30 19:00:45.000000000 +0200
@@ -20,4 +20,4 @@
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "11")
-SET(VERSION_PATCH "1")
+SET(VERSION_PATCH "2")
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypper-0.11.1/zypper.spec.cmake new/zypper-0.11.2/zypper.spec.cmake
--- old/zypper-0.11.1/zypper.spec.cmake 2008-04-28 16:55:39.000000000 +0200
+++ new/zypper-0.11.2/zypper.spec.cmake 2008-04-30 19:00:45.000000000 +0200
@@ -11,7 +11,7 @@
# norootforbuild
Name: @PACKAGE@
-BuildRequires: libzypp-devel >= 4.16.0 boost-devel >= 1.33.1 gettext-devel >= 0.15 readline-devel >= 5.1
+BuildRequires: libzypp-devel >= 4.18.0 boost-devel >= 1.33.1 gettext-devel >= 0.15 readline-devel >= 5.1
BuildRequires: gcc-c++ >= 4.1 cmake >= 2.4.6
Requires: procps
Recommends: logrotate cron
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package strigi
checked in at Thu May 1 15:00:42 CEST 2008.
--------
--- strigi/strigi.changes 2008-04-13 14:44:02.000000000 +0200
+++ /mounts/work_src_done/STABLE/strigi/strigi.changes 2008-04-29 22:34:44.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Apr 29 22:34:21 CEST 2008 - dmueller(a)suse.de
+
+- update to 0.5.9:
+ * Fix bug that would severely bloat the strigi index.
+ * Improve latency when calling strigi to stop.
+ * Better (but not yet complete) Xesam support
+
+-------------------------------------------------------------------
Old:
----
strigi-0.5.8.tar.bz2
New:
----
strigi-0.5.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ strigi.spec ++++++
--- /var/tmp/diff_new_pack.B22083/_old 2008-05-01 15:00:09.000000000 +0200
+++ /var/tmp/diff_new_pack.B22083/_new 2008-05-01 15:00:09.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package strigi (Version 0.5.8)
+# spec file for package strigi (Version 0.5.9)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -24,8 +24,8 @@
Summary: Lightweight and fast desktop search engine
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Url: http://www.vandenoever.info/software/strigi/
-Version: 0.5.8
-Release: 20
+Version: 0.5.9
+Release: 1
Source: strigi-%{version}.tar.bz2
Provides: strigi-ui = 0.5.7
Obsoletes: strigi-ui <= 0.5.7
@@ -144,6 +144,11 @@
%_libdir/strigi/StrigiConfig.cmake
%changelog
+* Wed Apr 30 2008 dmueller(a)suse.de
+- update to 0.5.9:
+ * Fix bug that would severely bloat the strigi index.
+ * Improve latency when calling strigi to stop.
+ * Better (but not yet complete) Xesam support
* Sun Apr 13 2008 dmueller(a)suse.de
- fix build against cmake 2.6
* Thu Apr 10 2008 ro(a)suse.de
++++++ strigi-0.5.8.tar.bz2 -> strigi-0.5.9.tar.bz2 ++++++
++++ 8958 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package squid3
checked in at Thu May 1 14:59:27 CEST 2008.
--------
--- squid3/squid3.changes 2008-04-17 12:07:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/squid3/squid3.changes 2008-04-29 17:40:10.374136000 +0200
@@ -1,0 +2,20 @@
+Tue Apr 29 17:39:40 CEST 2008 - kssingvo(a)suse.de
+
+- update to version 3.0.STABLE5, which is mainly a bugfix version only:
+ * Bypassing 403 and 404 status to ICAP using icap_access - Failed
+ * file uploads (RFC1867) fail with "error:double-CR"
+ * Range tests failing.
+ * crashes/restarts when ICAP enabled on respmod for HTTP body size
+ greater than 100kb
+ * Support for resolv.conf 'domain' option
+ * Fix for incorrect default time/date log format
+ * Fix: reentrant debugging crashes Squid
+ * better handling of intercepted URI
+ * better port for non-FQDN URI lookups
+ * Improved logging, including incorrect timestamp format in earlier
+ 3.0 releases
+ * Support for profiling on x86 64-bit systems
+- removed upstream patches, which are now included in source tarball
+- removed own compiler warning patch (now upstream)
+
+-------------------------------------------------------------------
Old:
----
b8733.patch
b8734.patch
b8735.patch
b8736.patch
b8737.patch
b8738.patch
b8739.patch
b8741.patch
b8742.patch
squid-3.0.STABLE4-RELEASENOTES.html
squid-3.0.STABLE4.tar.bz2
squid3-3.0.STABLE4-gcc_warn_fix.patch
New:
----
squid-3.0.STABLE5-RELEASENOTES.html
squid-3.0.STABLE5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ squid3.spec ++++++
--- /var/tmp/diff_new_pack.u18694/_old 2008-05-01 14:59:09.000000000 +0200
+++ /var/tmp/diff_new_pack.u18694/_new 2008-05-01 14:59:09.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package squid3 (Version 3.0.STABLE4)
+# spec file for package squid3 (Version 3.0.STABLE5)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -14,8 +14,8 @@
BuildRequires: db-devel expat gcc-c++ krb5-devel libexpat-devel libxml2-devel
BuildRequires: openldap2-devel opensp-devel pam-devel sharutils
Summary: Squid Version 3 WWW Proxy Server
-Version: 3.0.STABLE4
-Release: 3
+Version: 3.0.STABLE5
+Release: 1
License: GPL v2 or later
Url: http://www.squid-cache.org/Versions/v3
Group: Productivity/Networking/Web/Proxy
@@ -43,15 +43,15 @@
# please read every file if there is interest about what the patch changes
# or just visit: http://www.squid-cache.org/Versions/v3/3.0/changesets/
#
-Patch01: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8733.patch
-Patch02: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8734.patch
-Patch03: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8735.patch
-Patch04: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8736.patch
-Patch05: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8737.patch
-Patch06: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8738.patch
-Patch07: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8739.patch
-Patch08: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8741.patch
-Patch09: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8742.patch
+# Patch01: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8733.patch
+# Patch02: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8734.patch
+# Patch03: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8735.patch
+# Patch04: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8736.patch
+# Patch05: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8737.patch
+# Patch06: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8738.patch
+# Patch07: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8739.patch
+# Patch08: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8741.patch
+# Patch09: http://www.squid-cache.org/Versions/v3/3.0/changesets/b8742.patch
# Patch10: http://www.squid-cache.org/Versions/v3/3.0/changesets/
# Patch11: http://www.squid-cache.org/Versions/v3/3.0/changesets/
# Patch12: http://www.squid-cache.org/Versions/v3/3.0/changesets/
@@ -120,7 +120,6 @@
Patch103: squid-beta-3.0.pre4-gcc41_wur.patch
Patch104: squid-beta-3.0-openldap.patch
Patch105: squid-beta-3.0-mem_node_64bit.patch
-Patch106: squid3-3.0.STABLE4-gcc_warn_fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define squidlibdir %{_libdir}/squid
%define squidconfdir /etc/squid
@@ -153,15 +152,15 @@
%prep
%setup -n squid-%{version}
%patch -p1
-%patch1 -p0
-%patch2 -p0
-%patch3 -p0
-%patch4 -p0
+# %patch1 -p0
+# %patch2 -p0
+# %patch3 -p0
+# %patch4 -p0
# %patch5 -p0
-%patch6 -p0
-%patch7 -p0
-%patch8 -p0
-%patch9 -p0
+# %patch6 -p0
+# %patch7 -p0
+# %patch8 -p0
+# %patch9 -p0
# %patch10 -p1
# %patch11 -p1
# %patch12 -p1
@@ -260,7 +259,6 @@
%patch103 -p1
%patch104 -p1
%patch105 -p1
-%patch106 -p1
%build
export CFLAGS="$RPM_OPT_FLAGS -fPIE -fPIC -fno-strict-aliasing"
@@ -464,6 +462,23 @@
#%doc squid_ldapauth.conf
%changelog
+* Tue Apr 29 2008 kssingvo(a)suse.de
+- update to version 3.0.STABLE5, which is mainly a bugfix version only:
+ * Bypassing 403 and 404 status to ICAP using icap_access - Failed
+ * file uploads (RFC1867) fail with "error:double-CR"
+ * Range tests failing.
+ * crashes/restarts when ICAP enabled on respmod for HTTP body size
+ greater than 100kb
+ * Support for resolv.conf 'domain' option
+ * Fix for incorrect default time/date log format
+ * Fix: reentrant debugging crashes Squid
+ * better handling of intercepted URI
+ * better port for non-FQDN URI lookups
+ * Improved logging, including incorrect timestamp format in earlier
+ 3.0 releases
+ * Support for profiling on x86 64-bit systems
+- removed upstream patches, which are now included in source tarball
+- removed own compiler warning patch (now upstream)
* Thu Apr 17 2008 kssingvo(a)suse.de
- added official patches:
* increase MAX_URL to 8192
++++++ squid-3.0.STABLE4.tar.bz2 -> squid-3.0.STABLE5.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/ChangeLog new/squid-3.0.STABLE5/ChangeLog
--- old/squid-3.0.STABLE4/ChangeLog 2008-04-01 13:54:25.000000000 +0200
+++ new/squid-3.0.STABLE5/ChangeLog 2008-04-29 05:43:22.000000000 +0200
@@ -1,3 +1,16 @@
+Changes to squid-3.0.STABLE5 (28 Apr 2008):
+
+ - Support for resolv.conf 'domain' option
+ - Improved URI support, including
+ longer URI up to 8192 bytes accepted
+ better handling of intercepted URI
+ better port for non-FQDN URI lookups
+ - Improved logging, including
+ Bug 3210 fixed: incorrect timestamp format in earlier 3.0 releases.
+ Fixed 'log_ip_on_direct' option behaviour
+ - Support for profiling on x86 64-bit systems
+ - .. and other bugs and minor code cleanups.
+
Changes to squid-3.0.STABLE4 (2 Apr 2008):
- Bug 2288: compile error slipped into STABLE3.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/configure new/squid-3.0.STABLE5/configure
--- old/squid-3.0.STABLE4/configure 2008-04-01 13:54:39.000000000 +0200
+++ new/squid-3.0.STABLE5/configure 2008-04-29 05:43:33.000000000 +0200
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.in Revision: 1.488.2.3 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Squid Web Proxy 3.0.STABLE4.
+# Generated by GNU Autoconf 2.61 for Squid Web Proxy 3.0.STABLE5.
#
# Report bugs to <http://www.squid-cache.org/bugs/>.
#
@@ -729,8 +729,8 @@
# Identity of this package.
PACKAGE_NAME='Squid Web Proxy'
PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='3.0.STABLE4'
-PACKAGE_STRING='Squid Web Proxy 3.0.STABLE4'
+PACKAGE_VERSION='3.0.STABLE5'
+PACKAGE_STRING='Squid Web Proxy 3.0.STABLE5'
PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/'
ac_unique_file="src/main.cc"
@@ -1507,7 +1507,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Squid Web Proxy 3.0.STABLE4 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 3.0.STABLE5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1577,7 +1577,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Squid Web Proxy 3.0.STABLE4:";;
+ short | recursive ) echo "Configuration of Squid Web Proxy 3.0.STABLE5:";;
esac
cat <<\_ACEOF
@@ -1886,7 +1886,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Squid Web Proxy configure 3.0.STABLE4
+Squid Web Proxy configure 3.0.STABLE5
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1900,7 +1900,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Squid Web Proxy $as_me 3.0.STABLE4, which was
+It was created by Squid Web Proxy $as_me 3.0.STABLE5, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2574,7 +2574,7 @@
# Define the identity of the package.
PACKAGE='squid'
- VERSION='3.0.STABLE4'
+ VERSION='3.0.STABLE5'
cat >>confdefs.h <<_ACEOF
@@ -22976,7 +22976,7 @@
SQUID_CPPUNIT_LA=''
SQUID_CPPUNIT_INC="`$CPPUNITCONFIG --cflags`"
else
- echo "cppunit does not apear to be installed. squid does not require this, but code testing with 'make check' will fail."
+ echo "cppunit does not appear to be installed. squid does not require this, but code testing with 'make check' will fail."
SQUID_CPPUNIT_LA=''
SQUID_CPPUNIT_LIBS=''
SQUID_CPPUNIT_INC=''
@@ -43330,6 +43330,92 @@
fi
+{ echo "$as_me:$LINENO: checking if strnstr is well implemented" >&5
+echo $ECHO_N "checking if strnstr is well implemented... $ECHO_C" >&6; }
+if test "${ac_cv_func_strnstr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+ // we expect this to succeed, or crash on over-run.
+ // if it passes otherwise we may need a better check.
+int main(int argc, char **argv)
+{
+ int size = 20;
+ char *str = malloc(size);
+ memset(str, 'x', size);
+ strnstr(str, "fubar", size);
+ return 0;
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_strnstr="yes"
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_strnstr="no"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_strnstr" >&5
+echo "${ECHO_T}$ac_cv_func_strnstr" >&6; }
+if test "$ac_cv_func_strnstr" = "yes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRNSTR 1
+_ACEOF
+
+else
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRNSTR 0
+_ACEOF
+
+fi
+
+
if false; then
@@ -45406,7 +45492,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Squid Web Proxy $as_me 3.0.STABLE4, which was
+This file was extended by Squid Web Proxy $as_me 3.0.STABLE5, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -45459,7 +45545,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-Squid Web Proxy config.status 3.0.STABLE4
+Squid Web Proxy config.status 3.0.STABLE5
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/configure.in new/squid-3.0.STABLE5/configure.in
--- old/squid-3.0.STABLE4/configure.in 2008-04-01 13:54:39.000000000 +0200
+++ new/squid-3.0.STABLE5/configure.in 2008-04-29 05:43:33.000000000 +0200
@@ -5,7 +5,7 @@
dnl
dnl
dnl
-AC_INIT(Squid Web Proxy, 3.0.STABLE4, http://www.squid-cache.org/bugs/, squid)
+AC_INIT(Squid Web Proxy, 3.0.STABLE5, http://www.squid-cache.org/bugs/, squid)
AC_PREREQ(2.52)
AM_CONFIG_HEADER(include/autoconf.h)
AC_CONFIG_AUX_DIR(cfgaux)
@@ -1745,7 +1745,7 @@
SQUID_CPPUNIT_LA=''
SQUID_CPPUNIT_INC="`$CPPUNITCONFIG --cflags`"
else
- echo "cppunit does not apear to be installed. squid does not require this, but code testing with 'make check' will fail."
+ echo "cppunit does not appear to be installed. squid does not require this, but code testing with 'make check' will fail."
SQUID_CPPUNIT_LA=''
SQUID_CPPUNIT_LIBS=''
SQUID_CPPUNIT_INC=''
@@ -2666,6 +2666,34 @@
AC_DEFINE(HAVE_SETRESUID,1,[Yay! Another Linux brokenness. Its not good enough to know that setresuid() exists, because RedHat 5.0 declare setresuid() but doesn't implement it.])
fi
+dnl Yay! This one is a MacOSX brokenness. Its not good enough
+dnl to know that strnstr() exists, because MacOSX 10.4 have a bad
+dnl copy that crashes with a buffer over-run!
+dnl
+AC_CACHE_CHECK(if strnstr is well implemented, ac_cv_func_strnstr,
+ AC_TRY_RUN([
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+ // we expect this to succeed, or crash on over-run.
+ // if it passes otherwise we may need a better check.
+int main(int argc, char **argv)
+{
+ int size = 20;
+ char *str = malloc(size);
+ memset(str, 'x', size);
+ strnstr(str, "fubar", size);
+ return 0;
+}
+ ],ac_cv_func_strnstr="yes",ac_cv_func_strnstr="no")
+)
+if test "$ac_cv_func_strnstr" = "yes" ; then
+ AC_DEFINE(HAVE_STRNSTR,1,[Yay! We have a working strnstr!])
+else
+ AC_DEFINE(HAVE_STRNSTR,0,[Yay! A MacOS X brokenness. Its not good enough to know that strnstr() exists, because MacOSX 10.4 and earlier may have a buffer overrun.])
+fi
+
+
AM_CONDITIONAL(NEED_OWN_STRSEP, false)
if test "$ac_cv_func_strsep" = "no" ; then
AM_CONDITIONAL(NEED_OWN_STRSEP, true)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/include/autoconf.h.in new/squid-3.0.STABLE5/include/autoconf.h.in
--- old/squid-3.0.STABLE4/include/autoconf.h.in 2008-04-01 13:54:33.000000000 +0200
+++ new/squid-3.0.STABLE5/include/autoconf.h.in 2008-04-29 05:43:28.000000000 +0200
@@ -562,6 +562,10 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Yay! A MacOS X brokenness. Its not good enough to know that strnstr()
+ exists, because MacOSX 10.4 and earlier may have a buffer overrun. */
+#undef HAVE_STRNSTR
+
/* Define to 1 if you have the `strsep' function. */
#undef HAVE_STRSEP
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/include/config.h new/squid-3.0.STABLE5/include/config.h
--- old/squid-3.0.STABLE4/include/config.h 2008-04-01 13:54:33.000000000 +0200
+++ new/squid-3.0.STABLE5/include/config.h 2008-04-29 05:43:28.000000000 +0200
@@ -461,4 +461,10 @@
#define RUNNING_ON_VALGRIND 0
#endif /* WITH_VALGRIND */
+
+/*
+ * strnstr() is needed. The OS may not provide a working copy.
+ */
+#include "strnstr.h"
+
#endif /* SQUID_CONFIG_H */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/include/profiling.h new/squid-3.0.STABLE5/include/profiling.h
--- old/squid-3.0.STABLE4/include/profiling.h 2008-04-01 13:54:33.000000000 +0200
+++ new/squid-3.0.STABLE5/include/profiling.h 2008-04-29 05:43:28.000000000 +0200
@@ -30,6 +30,17 @@
/* Note that "rdtsc" is relatively slow OP and stalls the CPU pipes, so use it wisely */
}
+#elif defined(__x86_64) || defined(__x86_64__)
+static inline hrtime_t
+get_tick(void)
+{
+ uint32_t lo, hi;
+ // Based on an example in Wikipedia
+ /* We cannot use "=A", since this would use %rax on x86_64 */
+ asm volatile ("rdtsc" : "=a" (lo), "=d" (hi));
+ return (hrtime_t)hi << 32 | lo;
+}
+
#elif defined(__alpha)
static inline hrtime_t
get_tick(void)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/include/strnstr.h new/squid-3.0.STABLE5/include/strnstr.h
--- old/squid-3.0.STABLE4/include/strnstr.h 1970-01-01 01:00:00.000000000 +0100
+++ new/squid-3.0.STABLE5/include/strnstr.h 2008-04-29 05:43:28.000000000 +0200
@@ -0,0 +1,16 @@
+/*
+ * Squid VCS $Id$
+ */
+#include "config.h"
+
+#if HAVE_STRNSTR
+
+/* Is strnstr exists and is usablewe do so. */
+#define squid_strnstr(a,b,c) strnstr(a,b,c)
+
+#else /* not HAVE_STRNSTR */
+
+/* If its not usable we have our own copy imported from FreeBSD */
+const char * squid_strnstr(const char *s, const char *find, size_t slen);
+
+#endif /* HAVE_STRNSTR*/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/include/version.h new/squid-3.0.STABLE5/include/version.h
--- old/squid-3.0.STABLE4/include/version.h 2008-04-01 13:54:39.000000000 +0200
+++ new/squid-3.0.STABLE5/include/version.h 2008-04-29 05:43:33.000000000 +0200
@@ -9,5 +9,5 @@
*/
#ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1207050858
+#define SQUID_RELEASE_TIME 1209440593
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/lib/Makefile.am new/squid-3.0.STABLE5/lib/Makefile.am
--- old/squid-3.0.STABLE4/lib/Makefile.am 2008-04-01 13:54:34.000000000 +0200
+++ new/squid-3.0.STABLE5/lib/Makefile.am 2008-04-29 05:43:28.000000000 +0200
@@ -68,6 +68,7 @@
safe_inet_addr.c \
$(SNPRINTFSOURCE) \
Splay.cc \
+ strnstr.cc \
$(STRSEPSOURCE) \
$(STRTOLLSOURCE) \
stub_memaccount.c \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/lib/Makefile.in new/squid-3.0.STABLE5/lib/Makefile.in
--- old/squid-3.0.STABLE4/lib/Makefile.in 2008-04-01 13:54:34.000000000 +0200
+++ new/squid-3.0.STABLE5/lib/Makefile.in 2008-04-29 05:43:28.000000000 +0200
@@ -60,8 +60,8 @@
am__libmiscutil_a_SOURCES_DIST = MemPool.cc base64.c getfullhostname.c \
hash.c heap.c html_quote.c iso3307.c md5.c radix.c rfc1035.c \
rfc1123.c rfc1738.c rfc2617.c safe_inet_addr.c Splay.cc \
- strsep.c strtoll.c stub_memaccount.c util.c uudecode.c \
- assert.c xusleep.c Profiler.c win32lib.c
+ strnstr.cc strsep.c strtoll.c stub_memaccount.c util.c \
+ uudecode.c assert.c xusleep.c Profiler.c win32lib.c
@NEED_OWN_STRSEP_TRUE@am__objects_1 = strsep.$(OBJEXT)
@NEED_OWN_STRTOLL_TRUE@am__objects_2 = strtoll.$(OBJEXT)
@ENABLE_XPROF_STATS_TRUE@am__objects_3 = Profiler.$(OBJEXT)
@@ -71,10 +71,10 @@
html_quote.$(OBJEXT) iso3307.$(OBJEXT) md5.$(OBJEXT) \
radix.$(OBJEXT) rfc1035.$(OBJEXT) rfc1123.$(OBJEXT) \
rfc1738.$(OBJEXT) rfc2617.$(OBJEXT) safe_inet_addr.$(OBJEXT) \
- Splay.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
- stub_memaccount.$(OBJEXT) util.$(OBJEXT) uudecode.$(OBJEXT) \
- assert.$(OBJEXT) xusleep.$(OBJEXT) $(am__objects_3) \
- $(am__objects_4)
+ Splay.$(OBJEXT) strnstr.$(OBJEXT) $(am__objects_1) \
+ $(am__objects_2) stub_memaccount.$(OBJEXT) util.$(OBJEXT) \
+ uudecode.$(OBJEXT) assert.$(OBJEXT) xusleep.$(OBJEXT) \
+ $(am__objects_3) $(am__objects_4)
libmiscutil_a_OBJECTS = $(am_libmiscutil_a_OBJECTS)
libntlmauth_a_AR = $(AR) $(ARFLAGS)
libntlmauth_a_DEPENDENCIES = @LIBOBJS@
@@ -396,6 +396,7 @@
safe_inet_addr.c \
$(SNPRINTFSOURCE) \
Splay.cc \
+ strnstr.cc \
$(STRSEPSOURCE) \
$(STRTOLLSOURCE) \
stub_memaccount.c \
@@ -530,6 +531,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc2617.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe_inet_addr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sspwin32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnstr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strsep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stub_memaccount.Po@am__quote@
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/lib/strnstr.cc new/squid-3.0.STABLE5/lib/strnstr.cc
--- old/squid-3.0.STABLE4/lib/strnstr.cc 1970-01-01 01:00:00.000000000 +0100
+++ new/squid-3.0.STABLE5/lib/strnstr.cc 2008-04-29 05:43:29.000000000 +0200
@@ -0,0 +1,100 @@
+#ifndef _SQUID_COMPAT_STRNSTR_C_
+#define _SQUID_COMPAT_STRNSTR_C_
+/*
+ * Shamelessly duplicated from the FreeBSD public sources
+ * for use by the Squid Project under GNU Public License.
+ *
+ * Update/Maintenance History:
+ *
+ * 26-Apr-2008 : Copied from FreeBSD via OpenGrok
+ * - added protection around libray headers
+ * - added squid_ prefix for uniqueness
+ * so we can use it where OS copy is broken.
+ *
+ * Squid VCS $Id$
+ *
+ * Original License and code follows.
+ */
+
+#include "config.h"
+#include "strnstr.h"
+
+#if !HAVE_STRNSTR
+
+/*-
+ * Copyright (c) 2001 Mike Barcroft <mike(a)FreeBSD.org>
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)strstr.c 8.1 (Berkeley) 6/4/93
+ * $FreeBSD: src/lib/libc/string/strnstr.c,v 1.2.2.1 2001/12/09 06:50:03 mike Exp $
+ * $DragonFly: src/lib/libc/string/strnstr.c,v 1.4 2006/03/20 17:24:20 dillon Exp $
+ */
+
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if HAVE_STRING_H
+#include <string.h>
+#endif
+
+/*
+ * Find the first occurrence of find in s, where the search is limited to the
+ * first slen characters of s.
+ */
+const char *
+squid_strnstr(const char *s, const char *find, size_t slen)
+{
+ char c, sc;
+ size_t len;
+
+ if ((c = *find++) != '\0') {
+ len = strlen(find);
+ do {
+ do {
+ if (slen < 1 || (sc = *s) == '\0')
+ return (NULL);
+ --slen;
+ ++s;
+ } while (sc != c);
+ if (len > slen)
+ return (NULL);
+ } while (strncmp(s, find, len) != 0);
+ s--;
+ }
+ return s;
+}
+
+#endif /* !HAVE_STRNSTR */
+#endif /* _SQUID_COMPAT_STRNSTR_C_ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/access_log.cc new/squid-3.0.STABLE5/src/access_log.cc
--- old/squid-3.0.STABLE4/src/access_log.cc 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/access_log.cc 2008-04-29 05:43:31.000000000 +0200
@@ -607,7 +607,7 @@
spec = fmt->data.timespec;
if (!spec)
- spec = "%d/%b/%Y %H:%M:%S";
+ spec = "%d/%b/%Y:%H:%M:%S";
if (fmt->type == LFT_TIME_LOCALTIME)
t = localtime(&squid_curtime);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/BodyPipe.cc new/squid-3.0.STABLE5/src/BodyPipe.cc
--- old/squid-3.0.STABLE4/src/BodyPipe.cc 2008-04-01 13:54:35.000000000 +0200
+++ new/squid-3.0.STABLE5/src/BodyPipe.cc 2008-04-29 05:43:29.000000000 +0200
@@ -370,8 +370,11 @@
BodyPipeCheckout::~BodyPipeCheckout()
{
- if (!checkedIn)
- pipe.undoCheckOut(*this);
+ if (!checkedIn) {
+// pipe.undoCheckOut(*this);
+ debugs(91, 2, "BodyPipeCheckout will gone without the checkin performed");
+ pipe.checkIn(*this);
+ }
}
void
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/client_side.cc new/squid-3.0.STABLE5/src/client_side.cc
--- old/squid-3.0.STABLE4/src/client_side.cc 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/client_side.cc 2008-04-29 05:43:31.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: client_side.cc,v 1.770 2007/12/04 03:35:52 hno Exp $
+ * $Id: client_side.cc,v 1.778 2008/02/26 18:43:58 rousskov Exp $
*
* DEBUG: section 33 Client-side Routines
* AUTHOR: Duane Wessels
@@ -55,6 +55,7 @@
* stream calls occur. Then we simply read as normal.
*/
+#include "config.h"
#include "squid.h"
#include "client_side.h"
#include "clientStream.h"
@@ -1406,8 +1407,7 @@
/* first update "i" if needed */
if (!http->range_iter.debt()) {
- debugs(33, 5, "ClientSocketContext::canPackMoreRanges: At end of current range spec for FD " <<
- fd());
+ debugs(33, 5, "ClientSocketContext::canPackMoreRanges: At end of current range spec for FD " << fd());
if (http->range_iter.pos.incrementable())
++http->range_iter.pos;
@@ -1463,7 +1463,7 @@
void
ClientSocketContext::pullData()
{
- debugs(33, 5, "ClientSocketContext::pullData: FD " << fd() << " attempting to pull upstream data");
+ debugs(33, 5, "ClientSocketContext::pullData: FD " << fd() );
/* More data will be coming from the stream. */
StoreIOBuffer readBuffer;
@@ -1490,8 +1490,7 @@
/* filter out data according to range specs */
if (!canPackMoreRanges()) {
- debugs(33, 5, "ClientSocketContext::socketState: Range request has hit end of returnable range sequence on FD " <<
- fd());
+ debugs(33, 5, "ClientSocketContext::socketState: Range request has hit end of returnable range sequence on FD " << fd() );
if (http->request->flags.proxy_keepalive)
return STREAM_COMPLETE;
@@ -1921,7 +1920,11 @@
debugs(33, 3, "parseHttpRequest: end = {" << end << "}");
- if (strstr(req_hdr, "\r\r\n")) {
+ /*
+ * Check that the headers don't have double-CR.
+ * NP: strnstr is required so we don't search any possible binary body blobs.
+ */
+ if ( squid_strnstr(req_hdr, "\r\r\n", req_sz) ) {
debugs(33, 1, "WARNING: suspicious HTTP request contains double CR");
xfree(url);
return parseHttpRequestAbort(conn, "error:double-CR");
@@ -1963,6 +1966,9 @@
/* prepend our name & port */
http->uri = xstrdup(internalLocalUri(NULL, url));
http->flags.accel = 1;
+ } else if (conn->port->transparent) {
+ // Fallback on transparent if enabled, useful for "self" requests
+ prepareTransparentURL(conn, http, url, req_hdr);
}
if (!http->uri) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/client_side_reply.cc new/squid-3.0.STABLE5/src/client_side_reply.cc
--- old/squid-3.0.STABLE4/src/client_side_reply.cc 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/client_side_reply.cc 2008-04-29 05:43:31.000000000 +0200
@@ -352,68 +352,47 @@
sendClientOldEntry();
}
- // we have a partial reply from the origin
- else if (STORE_PENDING == http->storeEntry()->store_status && 0 == status) {
- // header is too large, send old entry
-
- if (reqsize >= HTTP_REQBUF_SZ) {
- debugs(88, 3, "handleIMSReply: response from origin is too large '" << http->storeEntry()->url() << "', sending old entry to client" );
- http->logType = LOG_TCP_REFRESH_FAIL;
- sendClientOldEntry();
- }
+ HttpReply *old_rep = (HttpReply *) old_entry->getReply();
- // everything looks fine, we're just waiting for more data
- else {
- debugs(88, 3, "handleIMSReply: incomplete headers for '" << http->storeEntry()->url() << "', waiting for more data" );
- reqofs = reqsize;
- waitForMoreData();
- }
- }
+ // origin replied 304
- // we have a reply from the origin
- else {
- HttpReply *old_rep = (HttpReply *) old_entry->getReply();
+ if (status == HTTP_NOT_MODIFIED) {
+ http->logType = LOG_TCP_REFRESH_UNMODIFIED;
- // origin replied 304
+ // update headers on existing entry
+ HttpReply *old_rep = (HttpReply *) old_entry->getReply();
+ old_rep->updateOnNotModified(http->storeEntry()->getReply());
+ old_entry->timestampsSet();
- if (status == HTTP_NOT_MODIFIED) {
- http->logType = LOG_TCP_REFRESH_UNMODIFIED;
+ // if client sent IMS
- // update headers on existing entry
- HttpReply *old_rep = (HttpReply *) old_entry->getReply();
- old_rep->updateOnNotModified(http->storeEntry()->getReply());
- old_entry->timestampsSet();
-
- // if client sent IMS
-
- if (http->request->flags.ims) {
- // forward the 304 from origin
- debugs(88, 3, "handleIMSReply: origin replied 304, revalidating existing entry and forwarding 304 to client");
- sendClientUpstreamResponse();
- } else {
- // send existing entry, it's still valid
- debugs(88, 3, "handleIMSReply: origin replied 304, revalidating existing entry and sending " <<
- old_rep->sline.status << " to client");
- sendClientOldEntry();
- }
- }
+ if (http->request->flags.ims) {
+ // forward the 304 from origin
+ debugs(88, 3, "handleIMSReply: origin replied 304, revalidating existing entry and forwarding 304 to client");
+ sendClientUpstreamResponse();
+ } else {
+ // send existing entry, it's still valid
+ debugs(88, 3, "handleIMSReply: origin replied 304, revalidating existing entry and sending " <<
+ old_rep->sline.status << " to client");
+ sendClientOldEntry();
+ }
+ }
- // origin replied with a non-error code
- else if (status > HTTP_STATUS_NONE && status < HTTP_INTERNAL_SERVER_ERROR) {
- // forward response from origin
- http->logType = LOG_TCP_REFRESH_MODIFIED;
- debugs(88, 3, "handleIMSReply: origin replied " << status << ", replacing existing entry and forwarding to client");
- sendClientUpstreamResponse();
- }
+ // origin replied with a non-error code
+ else if (status > HTTP_STATUS_NONE && status < HTTP_INTERNAL_SERVER_ERROR) {
+ // forward response from origin
+ http->logType = LOG_TCP_REFRESH_MODIFIED;
+ debugs(88, 3, "handleIMSReply: origin replied " << status << ", replacing existing entry and forwarding to client");
+ sendClientUpstreamResponse();
+ }
- // origin replied with an error
- else {
- // ignore and let client have old entry
- http->logType = LOG_TCP_REFRESH_FAIL;
- debugs(88, 3, "handleIMSReply: origin replied with error " <<
- status << ", sending old entry (" << old_rep->sline.status << ") to client");
- sendClientOldEntry();
- }
+ // origin replied with an error
+ else {
+ // ignore and let client have old entry
+ http->logType = LOG_TCP_REFRESH_FAIL;
+ debugs(88, 3, "handleIMSReply: origin replied with error " <<
+ status << ", sending old entry (" << old_rep->sline.status << ") to client");
+ sendClientOldEntry();
}
}
@@ -472,33 +451,6 @@
/* update size of the request */
reqsize = result.length + reqofs;
- if (e->getReply()->sline.status == 0) {
- /*
- * we don't have full reply headers yet; either wait for more or
- * punt to clientProcessMiss.
- */
-
- if (e->mem_status == IN_MEMORY || e->store_status == STORE_OK) {
- processMiss();
- } else if (result.length + reqofs >= HTTP_REQBUF_SZ
- && http->out.offset == 0) {
- processMiss();
- } else {
- debugs(88, 3, "clientCacheHit: waiting for HTTP reply headers");
- reqofs += result.length;
- assert(reqofs <= HTTP_REQBUF_SZ);
- /* get the next users' buffer */
- StoreIOBuffer tempBuffer;
- tempBuffer.offset = http->out.offset + reqofs;
- tempBuffer.length = next()->readBuffer.length - reqofs;
- tempBuffer.data = next()->readBuffer.data + reqofs;
- storeClientCopy(sc, e,
- tempBuffer, CacheHit, this);
- }
-
- return;
- }
-
/*
* Got the headers, now grok them
*/
@@ -1371,32 +1323,14 @@
void
-clientReplyContext::buildReply(const char *buf, size_t size)
+clientReplyContext::cloneReply()
{
- size_t k = headersEnd(buf, size);
-
- if (!k)
- return;
-
assert(reply == NULL);
- HttpReply *rep = new HttpReply;
+ HttpReply *rep = http->storeEntry()->getReply()->clone();
reply = HTTPMSGLOCK(rep);
- if (!reply->parseCharBuf(buf, k)) {
- /* parsing failure, get rid of the invalid reply */
- HTTPMSGUNLOCK(reply);
-
- if (http->request->range) {
- debugs(0,0,HERE << "look for bug here");
- /* this will fail and destroy request->range */
- // clientBuildRangeHeader(http, reply);
- }
-
- return;
- }
-
/* enforce 1.0 reply version */
reply->sline.version = HttpVersion(1,0);
@@ -1703,32 +1637,6 @@
return getNextNode();
}
-void
-clientReplyContext::waitForMoreData ()
-{
- debugs(88, 5, "clientReplyContext::waitForMoreData: Waiting for more data to parse reply headers in client side.");
- /* We don't have enough to parse the metadata yet */
- /* TODO: the store should give us out of band metadata and
- * obsolete this routine
- */
- /* wait for more to arrive */
- startSendProcess();
-}
-
-void
-clientReplyContext::startSendProcess()
-{
- debugs(88, 5, "clientReplyContext::startSendProcess: triggering store read to SendMoreData");
- assert(reqofs <= HTTP_REQBUF_SZ);
- /* TODO: copy into the supplied buffer */
- StoreIOBuffer tempBuffer;
- tempBuffer.offset = reqofs;
- tempBuffer.length = next()->readBuffer.length - reqofs;
- tempBuffer.data = next()->readBuffer.data + reqofs;
- storeClientCopy(sc, http->storeEntry(),
- tempBuffer, SendMoreData, this);
-}
-
/*
* Calculates the maximum size allowed for an HTTP response
*/
@@ -1841,8 +1749,10 @@
http->loggingEntry(http->storeEntry());
ssize_t body_size = reqofs - reply->hdr_sz;
-
- assert(body_size >= 0);
+ if (body_size < 0) {
+ reqofs = reply->hdr_sz;
+ body_size = 0;
+ }
debugs(88, 3, "clientReplyContext::sendMoreData: Appending " <<
(int) body_size << " bytes after " << reply->hdr_sz <<
@@ -1872,7 +1782,7 @@
StoreIOBuffer tempBuffer;
char *buf = next()->readBuffer.data;
- char *body_buf = buf + reply->hdr_sz;
+ char *body_buf = buf + reply->hdr_sz - next()->readBuffer.offset;
//Server side may disable ranges under some circumstances.
@@ -1916,23 +1826,11 @@
char *body_buf = buf;
- /* This is always valid until we get the headers as metadata from
- * storeClientCopy.
- * Then it becomes reqofs == next->readBuffer.offset()
- */
- assert(reqofs == 0 || flags.storelogiccomplete);
-
- if (flags.headersSent && buf != result.data) {
+ if (buf != result.data) {
/* we've got to copy some data */
assert(result.length <= next()->readBuffer.length);
xmemcpy(buf, result.data, result.length);
body_buf = buf;
- } else if (!flags.headersSent &&
- buf + reqofs !=result.data) {
- /* we've got to copy some data */
- assert(result.length + reqofs <= next()->readBuffer.length);
- xmemcpy(buf + reqofs, result.data, result.length);
- body_buf = buf;
}
/* We've got the final data to start pushing... */
@@ -1971,38 +1869,23 @@
return;
}
- buildReply(buf, reqofs);
-
- if (reply) {
+ cloneReply();
- /* handle headers */
+ /* handle headers */
- if (Config.onoff.log_mime_hdrs) {
- size_t k;
+ if (Config.onoff.log_mime_hdrs) {
+ size_t k;
- if ((k = headersEnd(buf, reqofs))) {
- safe_free(http->al.headers.reply);
- http->al.headers.reply = (char *)xcalloc(k + 1, 1);
- xstrncpy(http->al.headers.reply, buf, k);
- }
- }
-
- holdingBuffer = result;
- processReplyAccess();
- return;
-
- } else if (reqofs < HTTP_REQBUF_SZ && entry->store_status == STORE_PENDING) {
- waitForMoreData();
- return;
- } else {
- debugs(88, 0, "clientReplyContext::sendMoreData: Unable to parse reply headers within a single HTTP_REQBUF_SZ length buffer");
- StoreIOBuffer tempBuffer;
- tempBuffer.flags.error = 1;
- /* XXX FIXME: make an html error page here */
- sendStreamError(tempBuffer);
- return;
+ if ((k = headersEnd(buf, reqofs))) {
+ safe_free(http->al.headers.reply);
+ http->al.headers.reply = (char *)xcalloc(k + 1, 1);
+ xstrncpy(http->al.headers.reply, buf, k);
+ }
}
- fatal ("clientReplyContext::sendMoreData: Unreachable code reached \n");
+
+ holdingBuffer = result;
+ processReplyAccess();
+ return;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/client_side_reply.h new/squid-3.0.STABLE5/src/client_side_reply.h
--- old/squid-3.0.STABLE4/src/client_side_reply.h 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/client_side_reply.h 2008-04-29 05:43:31.000000000 +0200
@@ -124,15 +124,13 @@
bool errorInStream(StoreIOBuffer const &result, size_t const &sizeToProcess)const ;
void sendStreamError(StoreIOBuffer const &result);
void pushStreamData(StoreIOBuffer const &result, char *source);
- void waitForMoreData ();
clientStreamNode * next() const;
- void startSendProcess();
StoreIOBuffer holdingBuffer;
HttpReply *reply;
void processReplyAccess();
static PF ProcessReplyAccessResult;
void processReplyAccessResult(bool accessAllowed);
- void buildReply(const char *buf, size_t size);
+ void cloneReply();
void buildReplyHeader ();
bool alwaysAllowResponse(http_status sline) const;
int checkTransferDone();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/debug.cc new/squid-3.0.STABLE5/src/debug.cc
--- old/squid-3.0.STABLE4/src/debug.cc 2008-04-01 13:54:38.000000000 +0200
+++ new/squid-3.0.STABLE5/src/debug.cc 2008-04-29 05:43:31.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * $Id: debug.cc,v 1.106.2.1 2008/02/25 03:01:01 amosjeffries Exp $
+ * $Id: debug.cc,v 1.109 2008/02/26 18:43:30 rousskov Exp $
*
* DEBUG: section 0 Debug Routines
* AUTHOR: Harvest Derived
@@ -35,7 +35,6 @@
#include "squid.h"
#include "Debug.h"
#include "SquidTime.h"
-#include <sstream>
int Debug::Levels[MAX_DEBUG_SECTIONS];
int Debug::level;
@@ -735,21 +734,50 @@
return Ctx_Descrs[ctx] ? Ctx_Descrs[ctx] : "<null>";
}
+int Debug::TheDepth = 0;
+
std::ostream &
Debug::getDebugOut() {
- assert (CurrentDebug == NULL);
- CurrentDebug = new std::ostringstream();
- // set default formatting flags
- CurrentDebug->setf(std::ios::fixed);
- CurrentDebug->precision(2);
+ assert(TheDepth >= 0);
+ ++TheDepth;
+ if (TheDepth > 1) {
+ assert(CurrentDebug);
+ *CurrentDebug << std::endl << "reentrant debuging " << TheDepth << "-{";
+ } else {
+ assert(!CurrentDebug);
+ CurrentDebug = new std::ostringstream();
+ // set default formatting flags
+ CurrentDebug->setf(std::ios::fixed);
+ CurrentDebug->precision(2);
+ }
return *CurrentDebug;
}
void
Debug::finishDebug() {
- _db_print("%s\n", CurrentDebug->str().c_str());
- delete CurrentDebug;
- CurrentDebug = NULL;
+ assert(TheDepth >= 0);
+ assert(CurrentDebug);
+ if (TheDepth > 1) {
+ *CurrentDebug << "}-" << TheDepth << std::endl;
+ } else {
+ assert(TheDepth == 1);
+ _db_print("%s\n", CurrentDebug->str().c_str());
+ delete CurrentDebug;
+ CurrentDebug = NULL;
+ }
+ --TheDepth;
+}
+
+// Hack: replaces global ::xassert() to debug debugging assertions
+// Relies on assert macro calling xassert() without a specific scope.
+void
+Debug::xassert(const char *msg, const char *file, int line) {
+
+ if (CurrentDebug) {
+ *CurrentDebug << "assertion failed: " << file << ":" << line <<
+ ": \"" << msg << "\"";
+ }
+ abort();
}
std::ostringstream (*Debug::CurrentDebug)(NULL);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/Debug.h new/squid-3.0.STABLE5/src/Debug.h
--- old/squid-3.0.STABLE4/src/Debug.h 2008-04-01 13:54:35.000000000 +0200
+++ new/squid-3.0.STABLE5/src/Debug.h 2008-04-29 05:43:29.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: Debug.h,v 1.10 2007/08/24 01:02:09 amosjeffries Exp $
+ * $Id: Debug.h,v 1.13 2008/02/26 18:43:30 rousskov Exp $
*
* DEBUG: section 0 Debug Routines
* AUTHOR: Harvest Derived
@@ -64,7 +64,11 @@
static void parseOptions(char const *);
private:
+ // Hack: replaces global ::xassert() to debug debugging assertions
+ static void xassert(const char *msg, const char *file, int line);
+
static std::ostringstream *CurrentDebug;
+ static int TheDepth; // level of nested debugging calls
};
/* Debug stream */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/defines.h new/squid-3.0.STABLE5/src/defines.h
--- old/squid-3.0.STABLE4/src/defines.h 2008-04-01 13:54:38.000000000 +0200
+++ new/squid-3.0.STABLE5/src/defines.h 2008-04-29 05:43:31.000000000 +0200
@@ -153,7 +153,7 @@
#define MAX_FILES_PER_DIR (1<<20)
-#define MAX_URL 4096
+#define MAX_URL 8192
#define MAX_LOGIN_SZ 128
#define PEER_MAX_ADDRESSES 10
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/dns_internal.cc new/squid-3.0.STABLE5/src/dns_internal.cc
--- old/squid-3.0.STABLE4/src/dns_internal.cc 2008-04-01 13:54:38.000000000 +0200
+++ new/squid-3.0.STABLE5/src/dns_internal.cc 2008-04-29 05:43:31.000000000 +0200
@@ -288,7 +288,7 @@
{
FILE *fp;
char buf[RESOLV_BUFSZ];
- char *t;
+ const char *t;
fp = fopen(_PATH_RESCONF, "r");
if (fp == NULL) {
@@ -315,7 +315,18 @@
debugs(78, 1, "Adding nameserver " << t << " from " << _PATH_RESCONF);
idnsAddNameserver(t);
+ } else if (strcasecmp(t, "domain") == 0) {
+ idnsFreeSearchpath();
+ t = strtok(NULL, w_space);
+
+ if (NULL == t)
+ continue;
+
+ debugs(78, 1, "Adding domain " << t << " from " << _PATH_RESCONF);
+
+ idnsAddPathComponent(t);
} else if (strcasecmp(t, "search") == 0) {
+ idnsFreeSearchpath();
while (NULL != t) {
t = strtok(NULL, w_space);
@@ -344,6 +355,11 @@
}
}
}
+ if (npc == 0 && (t = getMyHostname())) {
+ t = strchr(t, '.');
+ if (t)
+ idnsAddPathComponent(t+1);
+ }
fclose(fp);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/forward.cc new/squid-3.0.STABLE5/src/forward.cc
--- old/squid-3.0.STABLE4/src/forward.cc 2008-04-01 13:54:38.000000000 +0200
+++ new/squid-3.0.STABLE5/src/forward.cc 2008-04-29 05:43:31.000000000 +0200
@@ -681,7 +681,7 @@
assert(server_fd == aServerFD);
if (Config.onoff.log_ip_on_direct && status != COMM_ERR_DNS && fs->code == HIER_DIRECT)
- hierarchyNote(&request->hier, fs->code, fd_table[server_fd].ipaddr);
+ updateHierarchyInfo();
if (status == COMM_ERR_DNS) {
/*
@@ -741,7 +741,7 @@
assert(fd == server_fd);
if (Config.onoff.log_ip_on_direct && fs->code == HIER_DIRECT && fd_table[fd].ipaddr[0])
- hierarchyNote(&request->hier, fs->code, fd_table[fd].ipaddr);
+ updateHierarchyInfo();
if (entry->isEmpty()) {
ErrorState *anErr = errorCon(ERR_CONNECT_FAIL, HTTP_GATEWAY_TIMEOUT, request);
@@ -815,12 +815,10 @@
server_fd = fd;
n_tries++;
- if (!fs->_peer) {
+ if (!fs->_peer)
origin_tries++;
- hierarchyNote(&request->hier, fs->code, request->host);
- } else {
- hierarchyNote(&request->hier, fs->code, fs->_peer->host);
- }
+
+ updateHierarchyInfo();
comm_add_close_handler(fd, fwdServerClosedWrapper, this);
@@ -879,9 +877,7 @@
commSetTimeout(fd, ctimeout, fwdConnectTimeoutWrapper, this);
- if (fs->_peer) {
- hierarchyNote(&request->hier, fs->code, fs->_peer->host);
- } else {
+ if (!fs->_peer) {
#if LINUX_TPROXY
if (request->flags.tproxy) {
@@ -914,9 +910,9 @@
}
#endif
- hierarchyNote(&request->hier, fs->code, request->host);
}
+ updateHierarchyInfo();
commConnectStart(fd, host, port, fwdConnectDoneWrapper, this);
}
@@ -1200,6 +1196,38 @@
}
}
+// updates HierarchyLogEntry, guessing nextHop and its format
+void
+FwdState::updateHierarchyInfo()
+{
+ assert(request);
+
+ FwdServer *fs = servers;
+ assert(fs);
+
+ // some callers use one condition, some use the other; are they the same?
+ assert((fs->code == HIER_DIRECT) == !fs->_peer);
+
+ const char *nextHop = NULL;
+
+ if (fs->_peer) {
+ // went to peer, log peer domain name
+ nextHop = fs->_peer->host;
+ } else {
+ // went DIRECT, must honor log_ip_on_direct
+
+ // XXX: or should we use request->host_addr here? how?
+ assert(server_fd >= 0);
+ nextHop = fd_table[server_fd].ipaddr;
+ if (!Config.onoff.log_ip_on_direct || !nextHop[0])
+ nextHop = request->host; // domain name
+ }
+
+ assert(nextHop);
+ hierarchyNote(&request->hier, fs->code, nextHop);
+}
+
+
/**** PRIVATE NON-MEMBER FUNCTIONS ********************************************/
static void
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/forward.h new/squid-3.0.STABLE5/src/forward.h
--- old/squid-3.0.STABLE4/src/forward.h 2008-04-01 13:54:38.000000000 +0200
+++ new/squid-3.0.STABLE5/src/forward.h 2008-04-29 05:43:31.000000000 +0200
@@ -62,6 +62,7 @@
void start(Pointer aSelf);
static void logReplyStatus(int tries, http_status status);
+ void updateHierarchyInfo();
void completed();
void retryOrBail();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/http.cc new/squid-3.0.STABLE5/src/http.cc
--- old/squid-3.0.STABLE4/src/http.cc 2008-04-01 13:54:38.000000000 +0200
+++ new/squid-3.0.STABLE5/src/http.cc 2008-04-29 05:43:32.000000000 +0200
@@ -1213,12 +1213,16 @@
* handler until we get a notification from someone that
* its okay to read again.
*/
- if (read_sz < 2)
- return;
+ if (read_sz < 2) {
+ if (flags.headers_parsed)
+ return;
+ else
+ read_sz = 1024;
+ }
if (flags.do_next_read) {
- flags.do_next_read = 0;
- entry->delayAwareRead(fd, readBuf->space(), read_sz, ReadReplyWrapper, this);
+ flags.do_next_read = 0;
+ entry->delayAwareRead(fd, readBuf->space(read_sz), read_sz, ReadReplyWrapper, this);
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/HttpHdrContRange.cc new/squid-3.0.STABLE5/src/HttpHdrContRange.cc
--- old/squid-3.0.STABLE4/src/HttpHdrContRange.cc 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/HttpHdrContRange.cc 2008-04-29 05:43:30.000000000 +0200
@@ -94,11 +94,10 @@
return 0;
spec->length = size_diff(last_pos + 1, spec->offset);
+ /* Ensure typecast is safe */
+ assert (spec->length >= 0);
}
- /* Ensure typecast is safe */
- assert (spec->length >= 0);
-
/* we managed to parse, check if the result makes sence */
if (known_spec(spec->length) && spec->length == 0) {
debugs(68, 2, "invalid range (" << spec->offset << " += " <<
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/HttpHdrRange.cc new/squid-3.0.STABLE5/src/HttpHdrRange.cc
--- old/squid-3.0.STABLE4/src/HttpHdrRange.cc 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/HttpHdrRange.cc 2008-04-29 05:43:30.000000000 +0200
@@ -260,7 +260,7 @@
return 0;
/* skip "bytes="; hack! */
- pos = range_spec->buf() + 5;
+ pos = range_spec->buf() + 6;
/* iterate through comma separated list */
while (strListGetItem(range_spec, ',', &item, &ilen, &pos)) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/HttpHeaderTools.cc new/squid-3.0.STABLE5/src/HttpHeaderTools.cc
--- old/squid-3.0.STABLE4/src/HttpHeaderTools.cc 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/HttpHeaderTools.cc 2008-04-29 05:43:30.000000000 +0200
@@ -246,31 +246,26 @@
strListGetItem(const String * str, char del, const char **item, int *ilen, const char **pos)
{
size_t len;
- static char delim[2][3] = {
- { '"', '?', 0},
- { '"', '\\', 0}};
+ static char delim[3][8] = {
+ "\"?,",
+ "\"\\",
+ " ?,\t\r\n"
+ };
int quoted = 0;
assert(str && item && pos);
delim[0][1] = del;
+ delim[2][1] = del;
- if (*pos) {
- if (!**pos) /* end of string */
- return 0;
- else
- (*pos)++;
- } else {
+ if (!*pos) {
*pos = str->buf();
if (!*pos)
return 0;
}
- /* skip leading ws (ltrim) */
- *pos += xcountws(*pos);
-
- /* skip leading delimiters */
- *pos += strspn(*pos, delim[0]);
+ /* skip leading ws and delimiters */
+ *pos += strspn(*pos, delim[2]);
*item = *pos; /* remember item's start */
@@ -338,6 +333,7 @@
int
httpHeaderParseOffset(const char *start, int64_t * value)
{
+ errno = 0;
int64_t res = strtoll(start, NULL, 10);
if (!res && EINVAL == errno) /* maybe not portable? */
return 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/HttpMsg.cc new/squid-3.0.STABLE5/src/HttpMsg.cc
--- old/squid-3.0.STABLE4/src/HttpMsg.cc 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/HttpMsg.cc 2008-04-29 05:43:30.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: HttpMsg.cc,v 1.43 2007/08/13 17:20:51 hno Exp $
+ * $Id: HttpMsg.cc,v 1.44 2007/12/21 23:50:24 hno Exp $
*
* DEBUG: section 74 HTTP Message
* AUTHOR: Alex Rousskov
@@ -153,6 +153,14 @@
// TODO: Remove? httpReplyParseStep() should do similar checks
const size_t hdr_len = headersEnd(buf->content(), buf->contentSize());
+ // TODO: move to httpReplyParseStep()
+ if (hdr_len > Config.maxReplyHeaderSize || (hdr_len <= 0 && (size_t)buf->contentSize() > Config.maxReplyHeaderSize)) {
+ debugs(58, 1, "HttpMsg::parse: Too large reply header (" <<
+ hdr_len << " > " << Config.maxReplyHeaderSize);
+ *error = HTTP_HEADER_TOO_LARGE;
+ return false;
+ }
+
if (hdr_len <= 0) {
debugs(58, 3, "HttpMsg::parse: failed to find end of headers " <<
"(eof: " << eof << ") in '" << buf->content() << "'");
@@ -163,14 +171,6 @@
return false;
}
- // TODO: move to httpReplyParseStep()
- if (hdr_len > Config.maxReplyHeaderSize) {
- debugs(58, 1, "HttpMsg::parse: Too large reply header (" <<
- hdr_len << " > " << Config.maxReplyHeaderSize);
- *error = HTTP_HEADER_TOO_LARGE;
- return false;
- }
-
if (!sanityCheckStartLine(buf, error)) {
debugs(58,1, HERE << "first line of HTTP message is invalid");
*error = HTTP_INVALID_HEADER;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/HttpReply.cc new/squid-3.0.STABLE5/src/HttpReply.cc
--- old/squid-3.0.STABLE4/src/HttpReply.cc 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/HttpReply.cc 2008-04-29 05:43:30.000000000 +0200
@@ -496,3 +496,17 @@
return expectBody;
}
+
+HttpReply *
+HttpReply::clone() const
+{
+ HttpReply *rep = new HttpReply();
+ rep->header.append(&header);
+ rep->hdrCacheInit();
+ rep->hdr_sz = hdr_sz;
+ rep->http_ver = http_ver;
+ rep->pstate = pstate;
+ rep->protocol = protocol;
+ rep->sline = sline;
+ return rep;
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/HttpReply.h new/squid-3.0.STABLE5/src/HttpReply.h
--- old/squid-3.0.STABLE4/src/HttpReply.h 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/HttpReply.h 2008-04-29 05:43:30.000000000 +0200
@@ -122,6 +122,11 @@
void packHeadersInto(Packer * p) const;
+ /// Clone this reply.
+ /// Could be done as a copy-contructor but we do not want to
+ /// accidently copy a HttpReply..
+ HttpReply *clone() const;
+
private:
/* initialize */
void init();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/ICAP/ICAPConfig.cc new/squid-3.0.STABLE5/src/ICAP/ICAPConfig.cc
--- old/squid-3.0.STABLE4/src/ICAP/ICAPConfig.cc 2008-04-01 13:54:36.000000000 +0200
+++ new/squid-3.0.STABLE5/src/ICAP/ICAPConfig.cc 2008-04-29 05:43:30.000000000 +0200
@@ -186,6 +186,9 @@
// XXX we don't have access to conn->rfc931 here.
acl_checklist = aclChecklistCreate(theClass->accessList, req, dash_str);
+ if (rep)
+ acl_checklist->reply = HTTPMSGLOCK(rep); // ACLChecklist unlocks
+
acl_checklist->nonBlockingCheck(ICAPAccessCheckCallbackWrapper, this);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/MemBuf.h new/squid-3.0.STABLE5/src/MemBuf.h
--- old/squid-3.0.STABLE4/src/MemBuf.h 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/MemBuf.h 2008-04-29 05:43:30.000000000 +0200
@@ -1,7 +1,7 @@
/*
- * $Id: MemBuf.h,v 1.8 2006/08/21 00:50:41 robertc Exp $
+ * $Id: MemBuf.h,v 1.9 2007/12/21 23:48:04 hno Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
@@ -60,6 +60,7 @@
// these space-related methods assume no growth and allow 0-termination
char *space() { return buf + size; } // space to add data
+ char *space(mb_size_t required) { if (size + required > capacity) grow(size + required); return buf + size; } // space to add data
mb_size_t spaceSize() const;
bool hasSpace() const { return size+1 < capacity; }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/Parsing.cc new/squid-3.0.STABLE5/src/Parsing.cc
--- old/squid-3.0.STABLE4/src/Parsing.cc 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/Parsing.cc 2008-04-29 05:43:30.000000000 +0200
@@ -89,7 +89,8 @@
if (token == NULL)
self_destruct();
- if (sscanf(token, "%d", &i) != 1)
+ // %i honors 0 and 0x prefixes, which are important for things like umask
+ if (sscanf(token, "%i", &i) != 1)
self_destruct();
return i;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/src/WinSvc.cc new/squid-3.0.STABLE5/src/WinSvc.cc
--- old/squid-3.0.STABLE4/src/WinSvc.cc 2008-04-01 13:54:37.000000000 +0200
+++ new/squid-3.0.STABLE5/src/WinSvc.cc 2008-04-29 05:43:31.000000000 +0200
@@ -344,7 +344,7 @@
if (osvi.wProductType == VER_NT_WORKSTATION)
WIN32_OS_string = xstrdup("Windows Vista");
else
- WIN32_OS_string = xstrdup("Windows Server \"Longhorn\"");
+ WIN32_OS_string = xstrdup("Windows Server 2008");
return _WIN_OS_WINLON;
}
break;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-3.0.STABLE4/test-suite/test_tools.cc new/squid-3.0.STABLE5/test-suite/test_tools.cc
--- old/squid-3.0.STABLE4/test-suite/test_tools.cc 2008-04-01 13:54:39.000000000 +0200
+++ new/squid-3.0.STABLE5/test-suite/test_tools.cc 2008-04-29 05:43:33.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: test_tools.cc,v 1.9 2006/09/03 21:05:22 hno Exp $
+ * $Id: test_tools.cc,v 1.10 2008/02/26 18:44:16 rousskov Exp $
*
* AUTHOR: Robert Collins
*
@@ -161,18 +161,48 @@
fatal(message);
}
+int Debug::TheDepth = 0;
+
std::ostream &
Debug::getDebugOut() {
- assert (CurrentDebug == NULL);
- CurrentDebug = new std::ostringstream();
+ assert(TheDepth >= 0);
+ ++TheDepth;
+ if (TheDepth > 1) {
+ assert(CurrentDebug);
+ *CurrentDebug << std::endl << "reentrant debuging " << TheDepth << "-{";
+ } else {
+ assert(!CurrentDebug);
+ CurrentDebug = new std::ostringstream();
+ // set default formatting flags
+ CurrentDebug->setf(std::ios::fixed);
+ CurrentDebug->precision(2);
+ }
return *CurrentDebug;
}
void
Debug::finishDebug() {
- _db_print("%s\n", CurrentDebug->str().c_str());
- delete CurrentDebug;
- CurrentDebug = NULL;
+ assert(TheDepth >= 0);
+ assert(CurrentDebug);
+ if (TheDepth > 1) {
+ *CurrentDebug << "}-" << TheDepth << std::endl;
+ } else {
+ assert(TheDepth == 1);
+ _db_print("%s\n", CurrentDebug->str().c_str());
+ delete CurrentDebug;
+ CurrentDebug = NULL;
+ }
+ --TheDepth;
+}
+
+void
+Debug::xassert(const char *msg, const char *file, int line) {
+
+ if (CurrentDebug) {
+ *CurrentDebug << "assertion failed: " << file << ":" << line <<
+ ": \"" << msg << "\"";
+ }
+ abort();
}
std::ostringstream *Debug::CurrentDebug (NULL);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-packager
checked in at Thu May 1 14:59:15 CEST 2008.
--------
--- yast2-packager/yast2-packager.changes 2008-04-30 12:05:12.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-packager/yast2-packager.changes 2008-04-30 15:29:04.268465000 +0200
@@ -1,0 +2,7 @@
+Wed Apr 30 15:23:38 CEST 2008 - lslezak(a)suse.cz
+
+- don't show "Repository" menu in the package manager during
+ installation (bnc#381956)
+- 2.16.43
+
+-------------------------------------------------------------------
Old:
----
yast2-packager-2.16.42.tar.bz2
New:
----
yast2-packager-2.16.43.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.h18622/_old 2008-05-01 14:59:09.000000000 +0200
+++ /var/tmp/diff_new_pack.h18622/_new 2008-05-01 14:59:09.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-packager (Version 2.16.42)
+# spec file for package yast2-packager (Version 2.16.43)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: yast2-packager
-Version: 2.16.42
+Version: 2.16.43
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-packager-2.16.42.tar.bz2
+Source0: yast2-packager-2.16.43.tar.bz2
Prefix: /usr
BuildRequires: gcc-c++ libxcrypt-devel perl-XML-Writer update-desktop-files yast2-country-data yast2-devtools yast2-slp yast2-testsuite yast2-xml
# empty package callbacks
@@ -72,7 +72,7 @@
Arvin Schnell <arvin(a)suse.de>
%prep
-%setup -n yast2-packager-2.16.42
+%setup -n yast2-packager-2.16.43
%build
%{prefix}/bin/y2tool y2autoconf
@@ -107,7 +107,12 @@
/usr/share/YaST2/scrconf/*
%{prefix}/lib/YaST2/servers_non_y2/ag_*
%doc %{prefix}/share/doc/packages/yast2-packager
+
%changelog
+* Wed Apr 30 2008 lslezak(a)suse.cz
+- don't show "Repository" menu in the package manager during
+ installation (bnc#381956)
+- 2.16.43
* Tue Apr 29 2008 locilka(a)suse.cz
- Calling inst_extrasources in pkg_finish to get default
repositories added in case of upgrade (bnc #384827, bnc #381360).
++++++ yast2-packager-2.16.42.tar.bz2 -> yast2-packager-2.16.43.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/aclocal.m4 new/yast2-packager-2.16.43/aclocal.m4
--- old/yast2-packager-2.16.42/aclocal.m4 2008-04-25 18:20:31.000000000 +0200
+++ new/yast2-packager-2.16.43/aclocal.m4 2008-04-30 15:28:27.000000000 +0200
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,15 +11,12 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.61],,
-[m4_warning([this file was generated for autoconf 2.61.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+m4_if(m4_PACKAGE_VERSION, [2.61],,
+[m4_fatal([this file was generated for autoconf 2.61.
+You have another version of autoconf. If you want to use that,
+you should regenerate the build system entirely.], [63])])
-# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -34,7 +31,7 @@
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.1], [],
+m4_if([$1], [1.10], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,10 +47,8 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+[AM_AUTOMAKE_VERSION([1.10])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -146,13 +141,13 @@
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 13
+# serial 12
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -257,17 +252,16 @@
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
-_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $_am_arg | $_am_arg:* )
+ $1 | $1:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
@@ -504,7 +498,7 @@
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/agents/Makefile.in new/yast2-packager-2.16.43/agents/Makefile.in
--- old/yast2-packager-2.16.42/agents/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/agents/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/config.guess new/yast2-packager-2.16.43/config.guess
--- old/yast2-packager-2.16.42/config.guess 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/config.guess 2008-04-30 15:28:29.000000000 +0200
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2008-01-08'
+timestamp='2006-07-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -171,7 +171,6 @@
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@@ -340,7 +339,7 @@
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -542,7 +541,7 @@
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[456])
+ *:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -791,7 +790,7 @@
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
- *:MINGW*:*)
+ i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
@@ -801,18 +800,12 @@
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
+ x86:Interix*:[3456]*)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T:Interix*:[3456]*)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
@@ -846,17 +839,10 @@
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- else
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi
- fi
+ echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
@@ -974,9 +960,6 @@
x86_64:Linux:*:*)
echo x86_64-${VENDOR}-linux-gnu
exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
- exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@@ -1235,15 +1218,6 @@
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/config.sub new/yast2-packager-2.16.43/config.sub
--- old/yast2-packager-2.16.42/config.sub 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/config.sub 2008-04-30 15:28:29.000000000 +0200
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2008-01-16'
+timestamp='2006-09-20'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -245,12 +245,12 @@
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
+ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
+ | maxq | mb | microblaze | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -324,7 +324,7 @@
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
@@ -369,14 +369,10 @@
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa*-* \
+ | xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -447,14 +443,6 @@
basic_machine=ns32k-sequent
os=-dynix
;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -487,8 +475,8 @@
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16)
- basic_machine=cr16-unknown
+ cr16c)
+ basic_machine=cr16c-unknown
os=-elf
;;
crds | unos)
@@ -680,14 +668,6 @@
basic_machine=m68k-isi
os=-sysv
;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -703,10 +683,6 @@
basic_machine=i386-pc
os=-mingw32
;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -833,14 +809,6 @@
basic_machine=i860-intel
os=-osf
;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
pbd)
basic_machine=sparc-tti
;;
@@ -957,9 +925,6 @@
basic_machine=sh-hitachi
os=-hms
;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
sh64)
basic_machine=sh64-unknown
;;
@@ -1049,10 +1014,6 @@
basic_machine=tic6x-unknown
os=-coff
;;
- tile*)
- basic_machine=tile-unknown
- os=-linux-gnu
- ;;
tx39)
basic_machine=mipstx39-unknown
;;
@@ -1258,7 +1219,7 @@
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ | -skyos* | -haiku* | -rdos* | -toppers*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1453,9 +1414,6 @@
m68*-cisco)
os=-aout
;;
- mep-*)
- os=-elf
- ;;
mips*-cisco)
os=-elf
;;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/configure new/yast2-packager-2.16.43/configure
--- old/yast2-packager-2.16.42/configure 2008-04-25 18:20:33.000000000 +0200
+++ new/yast2-packager-2.16.43/configure 2008-04-30 15:28:28.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-packager 2.16.39.
+# Generated by GNU Autoconf 2.61 for yast2-packager 2.16.43.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-packager'
PACKAGE_TARNAME='yast2-packager'
-PACKAGE_VERSION='2.16.39'
-PACKAGE_STRING='yast2-packager 2.16.39'
+PACKAGE_VERSION='2.16.43'
+PACKAGE_STRING='yast2-packager 2.16.43'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-packager 2.16.39 to adapt to many kinds of systems.
+\`configure' configures yast2-packager 2.16.43 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-packager 2.16.39:";;
+ short | recursive ) echo "Configuration of yast2-packager 2.16.43:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-packager configure 2.16.39
+yast2-packager configure 2.16.43
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-packager $as_me 2.16.39, which was
+It was created by yast2-packager $as_me 2.16.43, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-packager'
- VERSION='2.16.39'
+ VERSION='2.16.43'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.16.39"
+VERSION="2.16.43"
RPMNAME="yast2-packager"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-packager $as_me 2.16.39, which was
+This file was extended by yast2-packager $as_me 2.16.43, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-packager config.status 2.16.39
+yast2-packager config.status 2.16.43
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/configure.in new/yast2-packager-2.16.43/configure.in
--- old/yast2-packager-2.16.42/configure.in 2008-04-25 18:20:28.000000000 +0200
+++ new/yast2-packager-2.16.43/configure.in 2008-04-30 15:28:24.000000000 +0200
@@ -1,9 +1,9 @@
dnl configure.in for yast2-packager
dnl
-dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.16.8 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-packager, 2.16.39, http://bugs.opensuse.org/, yast2-packager)
+AC_INIT(yast2-packager, 2.16.43, http://bugs.opensuse.org/, yast2-packager)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.16.39"
+VERSION="2.16.43"
RPMNAME="yast2-packager"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/doc/autodocs/Makefile.in new/yast2-packager-2.16.43/doc/autodocs/Makefile.in
--- old/yast2-packager-2.16.42/doc/autodocs/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/doc/autodocs/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/doc/Makefile.in new/yast2-packager-2.16.43/doc/Makefile.in
--- old/yast2-packager-2.16.42/doc/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/doc/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -314,8 +314,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -340,8 +340,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -351,12 +351,13 @@
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
+ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/install-sh new/yast2-packager-2.16.43/install-sh
--- old/yast2-packager-2.16.42/install-sh 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/install-sh 2008-04-30 15:28:29.000000000 +0200
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2006-12-25.00
+scriptversion=2006-10-14.15
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -48,7 +48,7 @@
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
+doit="${DOITPROG-}"
if test -z "$doit"; then
doit_exec=exec
else
@@ -58,49 +58,34 @@
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+posix_glob=
posix_mkdir=
# Desired mode of installed file.
mode=0755
-chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
+chgrpcmd=
stripcmd=
-
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
src=
dst=
dir_arg=
-dst_arg=
-
-copy_on_change=false
+dstarg=
no_target_directory=
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
@@ -110,55 +95,65 @@
In the 4th, create DIRECTORIES.
Options:
- --help display this help and exit.
- --version display version info and exit.
-
- -c (ignored)
- -C install only if different (preserve the last data modification time)
- -d create directories instead of installing files.
- -g GROUP $chgrpprog installed files to GROUP.
- -m MODE $chmodprog installed files to MODE.
- -o USER $chownprog installed files to USER.
- -s $stripprog installed files.
- -t DIRECTORY install into DIRECTORY.
- -T report an error if DSTFILE is a directory.
+-c (ignored)
+-d create directories instead of installing files.
+-g GROUP $chgrpprog installed files to GROUP.
+-m MODE $chmodprog installed files to MODE.
+-o USER $chownprog installed files to USER.
+-s $stripprog installed files.
+-t DIRECTORY install into DIRECTORY.
+-T report an error if DSTFILE is a directory.
+--help display this help and exit.
+--version display version info and exit.
Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
- RMPROG STRIPPROG
+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
- -c) ;;
-
- -C) copy_on_change=true;;
+ -c) shift
+ continue;;
- -d) dir_arg=true;;
+ -d) dir_arg=true
+ shift
+ continue;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift
+ shift
+ continue;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
+ shift
+ shift
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
- shift;;
+ continue;;
-o) chowncmd="$chownprog $2"
- shift;;
-
- -s) stripcmd=$stripprog;;
-
- -t) dst_arg=$2
- shift;;
-
- -T) no_target_directory=true;;
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t) dstarg=$2
+ shift
+ shift
+ continue;;
+
+ -T) no_target_directory=true
+ shift
+ continue;;
--version) echo "$0 $scriptversion"; exit $?;;
@@ -170,22 +165,21 @@
*) break;;
esac
- shift
done
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
- if test -n "$dst_arg"; then
+ if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dst_arg"
+ set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
- dst_arg=$arg
+ dstarg=$arg
done
fi
@@ -230,7 +224,7 @@
do
# Protect names starting with `-'.
case $src in
- -*) src=./$src;;
+ -*) src=./$src ;;
esac
if test -n "$dir_arg"; then
@@ -248,22 +242,22 @@
exit 1
fi
- if test -z "$dst_arg"; then
+ if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
- dst=$dst_arg
+ dst=$dstarg
# Protect names starting with `-'.
case $dst in
- -*) dst=./$dst;;
+ -*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
+ echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dstdir=$dst
@@ -384,19 +378,26 @@
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- -*) prefix='./';;
- *) prefix='';;
+ /*) prefix=/ ;;
+ -*) prefix=./ ;;
+ *) prefix= ;;
esac
- eval "$initialize_posix_glob"
+ case $posix_glob in
+ '')
+ if (set -f) 2>/dev/null; then
+ posix_glob=true
+ else
+ posix_glob=false
+ fi ;;
+ esac
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ $posix_glob && set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ $posix_glob && set +f
IFS=$oIFS
prefixes=
@@ -458,54 +459,41 @@
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # If -C, don't bother to copy if it wouldn't change the file.
- if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
- set X $old && old=:$2:$4:$5:$6 &&
- set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
- test "$old" = "$new" &&
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
- then
- rm -f "$dsttmp"
- else
- # Rename the file to the real destination.
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
- {
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- fi || exit 1
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # Now rename the file to the real destination.
+ { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
+ || {
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ if test -f "$dst"; then
+ $doit $rmcmd -f "$dst" 2>/dev/null \
+ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
+ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
+ || {
+ echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ else
+ :
+ fi
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ } || exit 1
trap '' 0
fi
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/Makefile.in new/yast2-packager-2.16.43/Makefile.in
--- old/yast2-packager-2.16.42/Makefile.in 2008-04-25 18:20:35.000000000 +0200
+++ new/yast2-packager-2.16.43/Makefile.in 2008-04-30 15:28:30.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -389,8 +389,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -415,8 +415,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -426,12 +426,13 @@
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
+ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -504,10 +505,6 @@
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -534,8 +531,6 @@
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
@@ -692,10 +687,10 @@
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
- dist-hook dist-lzma dist-shar dist-tarZ dist-zip distcheck \
- distclean distclean-generic distclean-tags distcleancheck \
- distdir distuninstallcheck dvi dvi-am html html-am info \
- info-am install install-am install-data install-data-am \
+ dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
+ distclean-generic distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
install-data-local install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/clients/inst_packages.ycp new/yast2-packager-2.16.43/src/clients/inst_packages.ycp
--- old/yast2-packager-2.16.42/src/clients/inst_packages.ycp 2008-03-19 11:39:55.000000000 +0100
+++ new/yast2-packager-2.16.43/src/clients/inst_packages.ycp 2008-04-30 15:28:15.000000000 +0200
@@ -3,7 +3,7 @@
* Authors: Stefan Hundhammer <sh(a)suse.de>
* Purpose: Show the package installation dialog
*
- * $Id: inst_packages.ycp 45525 2008-03-17 13:21:50Z lslezak $
+ * $Id: inst_packages.ycp 47232 2008-04-30 13:28:14Z lslezak $
*
*/
@@ -22,7 +22,7 @@
*
* Returns `accept or `cancel .
**/
- symbol detailedSelection( symbol mode )
+ symbol detailedSelection( symbol mode, boolean enable_repo_mgr )
{
// Open an empty dialog for immediate feedback
UI::OpenDialog(`opt(`defaultsize),
@@ -35,8 +35,15 @@
// while the package manager is initialized
UI::ReplaceWidget(`rep,
mode == nil ?
- `PackageSelector(`id(`packages ), "") :
- `PackageSelector(`id(`packages ), `opt(mode), "")
+ (enable_repo_mgr ?
+ `PackageSelector(`id(`packages), `opt(`repoMgr), "")
+ : `PackageSelector(`id(`packages), "")
+ ) :
+
+ (enable_repo_mgr ?
+ `PackageSelector(`id(`packages ), `opt(mode, `repoMgr), "")
+ : `PackageSelector(`id(`packages ), `opt(mode), "")
+ )
);
symbol result = (symbol) UI::RunPkgSelection(`id(`packages ) );
@@ -57,7 +64,7 @@
if ( ! UI::HasSpecialWidget(`PatternSelector ) ||
UI::WizardCommand(`Ping() ) != true )
{
- return detailedSelection( nil ); // Fallback: detailed selection
+ return detailedSelection( nil, !Stage::initial() ); // Fallback: detailed selection
}
// Help text for software patterns / selections dialog
@@ -112,7 +119,7 @@
if ( result == `details )
{
- result = detailedSelection( nil );
+ result = detailedSelection( nil, !Stage::initial() );
if ( result == `cancel )
// don't get all the way out - the user might just have
@@ -151,11 +158,18 @@
symbol mode = (symbol) WFM::Args(0);
y2milestone( "inst_packages called with: %1" , mode );
- result = detailedSelection( mode );
+ boolean repo_mgr = false;
+
+ if (size(WFM::Args()) > 1 && is( WFM::Args(1), symbol))
+ {
+ repo_mgr = WFM::Args(1) == `repoMgr;
+ }
+
+ result = detailedSelection( mode , repo_mgr );
}
else
{
- result = detailedSelection( `searchMode );
+ result = detailedSelection( `searchMode, false );
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/clients/inst_rpmcopy.ycp new/yast2-packager-2.16.43/src/clients/inst_rpmcopy.ycp
--- old/yast2-packager-2.16.42/src/clients/inst_rpmcopy.ycp 2008-04-10 13:08:33.000000000 +0200
+++ new/yast2-packager-2.16.43/src/clients/inst_rpmcopy.ycp 2008-04-30 15:23:02.000000000 +0200
@@ -13,7 +13,7 @@
* Packages module :
* "installed"
*
- * $Id: inst_rpmcopy.ycp 46332 2008-04-10 11:07:08Z locilka $
+ * $Id: inst_rpmcopy.ycp 47221 2008-04-30 12:00:20Z locilka $
*/
{
@@ -897,6 +897,9 @@
{
SourceManager::SyncYaSTInstSourceWithZMD (); // #156030
CleanupDiskCache ();
+
+ // some new SCR asgents might have been installed
+ SCR::RegisterNewAgents();
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/clients/Makefile.in new/yast2-packager-2.16.43/src/clients/Makefile.in
--- old/yast2-packager-2.16.42/src/clients/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/src/clients/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/clients/sw_single.ycp new/yast2-packager-2.16.43/src/clients/sw_single.ycp
--- old/yast2-packager-2.16.42/src/clients/sw_single.ycp 2008-04-28 17:26:30.000000000 +0200
+++ new/yast2-packager-2.16.43/src/clients/sw_single.ycp 2008-04-30 15:28:15.000000000 +0200
@@ -7,7 +7,7 @@
* Purpose: contains dialog loop for workflows:
* "Install/Remove software"
*
- * $Id: sw_single.ycp 47125 2008-04-28 15:26:12Z lslezak $
+ * $Id: sw_single.ycp 47232 2008-04-30 13:28:14Z lslezak $
*/
{
@@ -383,7 +383,7 @@
// names of taboo packages
list<string> taboo_packages = Pkg::GetPackages(`taboo, true);
- result = (symbol)WFM::CallFunction( "inst_packages", []); // No: ask user via package selection widget
+ result = (symbol)WFM::CallFunction( "inst_packages", [`searchMode, `repoMgr]); // No: ask user via package selection widget
y2milestone ("inst_packages returns %1", result);
if (result == `accept)
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/config/Makefile.in new/yast2-packager-2.16.43/src/config/Makefile.in
--- old/yast2-packager-2.16.42/src/config/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/src/config/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/include/checkmedia/Makefile.in new/yast2-packager-2.16.43/src/include/checkmedia/Makefile.in
--- old/yast2-packager-2.16.42/src/include/checkmedia/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/src/include/checkmedia/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/include/Makefile.in new/yast2-packager-2.16.43/src/include/Makefile.in
--- old/yast2-packager-2.16.42/src/include/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/src/include/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -317,8 +317,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -343,8 +343,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -354,12 +354,13 @@
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
+ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/Makefile.in new/yast2-packager-2.16.43/src/Makefile.in
--- old/yast2-packager-2.16.42/src/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/src/Makefile.in 2008-04-30 15:28:29.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -283,8 +283,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -309,8 +309,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -320,12 +320,13 @@
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
+ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/src/modules/Makefile.in new/yast2-packager-2.16.43/src/modules/Makefile.in
--- old/yast2-packager-2.16.42/src/modules/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/src/modules/Makefile.in 2008-04-30 15:28:30.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/testsuite/Makefile.in new/yast2-packager-2.16.43/testsuite/Makefile.in
--- old/yast2-packager-2.16.42/testsuite/Makefile.in 2008-04-25 18:20:34.000000000 +0200
+++ new/yast2-packager-2.16.43/testsuite/Makefile.in 2008-04-30 15:28:30.000000000 +0200
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.42/VERSION new/yast2-packager-2.16.43/VERSION
--- old/yast2-packager-2.16.42/VERSION 2008-04-30 12:05:18.000000000 +0200
+++ new/yast2-packager-2.16.43/VERSION 2008-04-30 15:23:11.000000000 +0200
@@ -1 +1 @@
-2.16.42
+2.16.43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-ycp-ui-bindings
checked in at Thu May 1 14:57:46 CEST 2008.
--------
--- yast2-ycp-ui-bindings/yast2-ycp-ui-bindings.changes 2008-04-16 16:39:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-ycp-ui-bindings/yast2-ycp-ui-bindings.changes 2008-04-30 15:20:21.558700000 +0200
@@ -1,0 +2,8 @@
+Wed Apr 30 15:08:14 CEST 2008 - lslezak(a)suse.cz
+
+- added support for `repoMgr option in
+ YCPDialogParser::parsePackageSelector() to make the repository
+ management optional (bnc#381956)
+- V 2.16.46
+
+-------------------------------------------------------------------
Old:
----
yast2-ycp-ui-bindings-2.16.45.tar.bz2
New:
----
yast2-ycp-ui-bindings-2.16.46.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ycp-ui-bindings.spec ++++++
--- /var/tmp/diff_new_pack.X15047/_old 2008-05-01 14:56:48.000000000 +0200
+++ /var/tmp/diff_new_pack.X15047/_new 2008-05-01 14:56:48.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-ycp-ui-bindings (Version 2.16.45)
+# spec file for package yast2-ycp-ui-bindings (Version 2.16.46)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: yast2-ycp-ui-bindings
-Version: 2.16.45
+Version: 2.16.46
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-ycp-ui-bindings-2.16.45.tar.bz2
+Source0: yast2-ycp-ui-bindings-2.16.46.tar.bz2
Prefix: /usr
BuildRequires: gcc-c++
BuildRequires: yast2-devtools
@@ -30,8 +30,9 @@
Conflicts: yast2-core < 2.16.38
# libycp includes crypto built-ins
BuildRequires: libxcrypt-devel
-Requires: yast2-libyui >= 2.16.45
-BuildRequires: yast2-libyui-devel >= 2.16.45
+# YUIOpt_repoMgr value
+Requires: yast2-libyui >= 2.16.47
+BuildRequires: yast2-libyui-devel >= 2.16.47
# libyui ImplPtr
BuildRequires: boost-devel
Summary: YaST2 - YCP Bindings for the YaST2 User Interface Engine
@@ -77,7 +78,7 @@
Matthias Kettner
%prep
-%setup -n yast2-ycp-ui-bindings-2.16.45
+%setup -n yast2-ycp-ui-bindings-2.16.46
%build
%{prefix}/bin/y2tool y2autoconf
@@ -115,8 +116,12 @@
%{prefix}/include/YaST2
%{_libdir}/pkgconfig/yast2-ycp-ui-bindings.pc
%doc %{prefix}/share/doc/packages/yast2-ycp-ui-bindings
-
%changelog
+* Wed Apr 30 2008 lslezak(a)suse.cz
+- added support for `repoMgr option in
+ YCPDialogParser::parsePackageSelector() to make the repository
+ management optional (bnc#381956)
+- V 2.16.46
* Wed Apr 16 2008 sh(a)suse.de
- Let YDialog take care of deleting events
- V 2.16.45
++++++ yast2-ycp-ui-bindings-2.16.45.tar.bz2 -> yast2-ycp-ui-bindings-2.16.46.tar.bz2 ++++++
++++ 10688 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/configure.in new/yast2-ycp-ui-bindings-2.16.46/configure.in
--- old/yast2-ycp-ui-bindings-2.16.45/configure.in 2008-04-16 15:21:04.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/configure.in 2008-04-30 15:18:44.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.16.8 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-ycp-ui-bindings, 2.16.44, http://bugs.opensuse.org/, yast2-ycp-ui-bindings)
+AC_INIT(yast2-ycp-ui-bindings, 2.16.46, http://bugs.opensuse.org/, yast2-ycp-ui-bindings)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.16.44"
+VERSION="2.16.46"
RPMNAME="yast2-ycp-ui-bindings"
MAINTAINER="Stefan Hundhammer <sh(a)suse.de>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/examples/ManyMainDialogs.ycp new/yast2-ycp-ui-bindings-2.16.46/examples/ManyMainDialogs.ycp
--- old/yast2-ycp-ui-bindings-2.16.45/examples/ManyMainDialogs.ycp 2008-04-16 13:39:12.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/examples/ManyMainDialogs.ycp 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-// ManyMainDialogs.ycp
-//
-// Example for multiple dialogs
-
-
-{
- UI::OpenDialog(`opt(`defaultsize),
- `VBox(
- `Label( "Top level dialog" ),
- `PushButton(`opt(`default), "OK\nLevel 1" )
- )
- );
- UI::UserInput();
- UI::CloseDialog();
- sleep(2*1000);
-
- UI::OpenDialog(`opt(`defaultsize),
- `VBox(
- `Label( "Another dialog on top of the previous" ),
- `PushButton(`opt(`default), "OK\nLevel 2" )
- )
- );
- UI::UserInput();
- UI::CloseDialog();
-}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/examples/MultiProgressMeter1.ycp new/yast2-ycp-ui-bindings-2.16.46/examples/MultiProgressMeter1.ycp
--- old/yast2-ycp-ui-bindings-2.16.45/examples/MultiProgressMeter1.ycp 2008-04-09 14:09:40.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/examples/MultiProgressMeter1.ycp 2008-04-21 16:06:51.000000000 +0200
@@ -17,25 +17,44 @@
UI::OpenDialog(
`VBox(
- `HMultiProgressMeter(`id(`prog), [ 1000, 200, 500, 20, 100 ] ),
+ `VMultiProgressMeter(`id(`prog), [ 1000, 200, 500, 20, 100 ] ),
`PushButton(`opt(`default), "&Ok" )
)
);
- UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 800, 200, 500, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 500, 200, 500, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 200, 200, 500, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 200, 500, 20, 100 ] ); UI::UserInput();
+ UI::UserInput();
+
+ UI::ChangeWidget(`prog, `Values, [ 100, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 200, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 300, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 400, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 500, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 600, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 700, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 800, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 900, 0, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 0, 0, 0, 0 ] ); UI::UserInput();
+
+ UI::ChangeWidget(`prog, `Values, [ 1000, 50, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 100, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 150, 0, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 0, 0, 0 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 100, 500, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 20, 500, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 0, 500, 20, 100 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 100, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 200, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 300, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 400, 0, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 0, 0 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 0, 400, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 0, 300, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 0, 200, 20, 100 ] ); UI::UserInput();
- UI::ChangeWidget(`prog, `Values, [ 0, 0, 100, 20, 100 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 10, 0 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 20, 0 ] ); UI::UserInput();
+
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 20, 20 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 20, 40 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 20, 80 ] ); UI::UserInput();
+ UI::ChangeWidget(`prog, `Values, [ 1000, 200, 500, 20, 100 ] ); UI::UserInput();
+
+ UI::UserInput();
UI::CloseDialog();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/examples/MultiProgressMeter2.ycp new/yast2-ycp-ui-bindings-2.16.46/examples/MultiProgressMeter2.ycp
--- old/yast2-ycp-ui-bindings-2.16.45/examples/MultiProgressMeter2.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-ycp-ui-bindings-2.16.46/examples/MultiProgressMeter2.ycp 2008-04-21 16:06:51.000000000 +0200
@@ -0,0 +1,205 @@
+//
+// Advanced MultiProgressMeter example:
+// Change values interactively with sliders
+// and allow tests with huge numbers
+//
+{
+ //
+ // Global variables
+ //
+
+ list<integer> maxValueList = [ 950, 200, 500, 20, 100 ];
+ list<integer> valueList = [ 100, 30, 400, 0, 0 ];
+ integer unit = 0; // exponent: powers of 2
+
+
+ /**
+ * Return a VBox term with Slider widgets for each list value.
+ **/
+ term slidersVBox( list<integer> maxValuesList, list<integer> currentValuesList )
+ {
+ term vbox = `VBox();
+ integer i=0;
+
+ foreach ( integer maxVal, maxValuesList,
+ {
+ vbox = add( vbox, `Slider(`id(`slider(i) ),
+ `opt(`notify),
+ "", // label
+ 0, // minVal
+ maxVal,
+ currentValuesList[i]:0 // currentVal
+ )
+ );
+ i = i+1;
+ });
+
+ return vbox;
+ }
+
+
+ /**
+ * Apply unit to a list of values. Return the scaled list.
+ **/
+ list<integer> scaleList( integer unit, list<integer> values )
+ {
+ list<integer> scaledValues = [];
+
+ foreach ( integer val, values,
+ {
+ scaledValues = add( scaledValues, val << unit );
+ });
+
+ // y2debug( "Values: %1 unit: %2 scaled: %3", values, unit, scaledValues );
+ return scaledValues;
+ }
+
+
+ /**
+ * Get the current values from all sliders and return them as a list.
+ **/
+ list<integer> getValues()
+ {
+ list<integer> values = [];
+ integer i = 0;
+
+ while ( true )
+ {
+ term sliderID = `slider(i);
+ // y2debug( "Looking for %1", sliderID );
+
+ if ( ! UI::WidgetExists(`id( sliderID) ) )
+ break;
+
+ values = add( values, (integer) UI::QueryWidget(`id(sliderID), `Value ) );
+ i = i+1;
+ }
+
+ // y2debug( "Values: %1", values );
+ return values;
+ }
+
+
+ /**
+ * Update progress meters with values from sliders.
+ **/
+ void updateProgress()
+ {
+ list<integer> values = scaleList( unit, getValues() );
+ UI::ChangeWidget(`vProgress, `Values, values );
+ UI::ChangeWidget(`hProgress, `Values, values );
+ }
+
+
+
+ //
+ // Check if required special widgets are available
+ //
+
+ if ( ! UI::HasSpecialWidget(`HMultiProgressMeter ) ||
+ ! UI::HasSpecialWidget(`Slider ) )
+ {
+ UI::OpenDialog(
+ `VBox(
+ `Label("Error: This UI doesn't support the required widgets!"),
+ `PushButton(`opt(`default), "&OK")
+ )
+ );
+ UI::UserInput();
+ UI::CloseDialog();
+
+ return;
+ }
+
+
+ //
+ // Create dialog
+ //
+
+ term radioBox =
+ `Frame( "Unit",
+ `RadioButtonGroup(`id(`unit), `opt(`notify),
+ `HBox(
+ `HSpacing(0.5),
+ `RadioButton(`id(`unit( 0)), `opt(`notify), "&Bytes"), `HSpacing(1.5),
+ `RadioButton(`id(`unit(10)), `opt(`notify), "&kB"), `HSpacing(1.5),
+ `RadioButton(`id(`unit(20)), `opt(`notify), "&MB"), `HSpacing(1.5),
+ `RadioButton(`id(`unit(30)), `opt(`notify), "&GB"),
+ `HSpacing(0.5)
+ )
+ )
+ );
+
+ UI::OpenDialog(
+ `VBox(
+ `HBox(
+ `VBox(
+ `Heading( "MultiProgressMeter Example" ),
+ `VSpacing( 1 ),
+ slidersVBox( maxValueList, valueList ),
+ radioBox,
+ `VStretch()
+ ),
+ `HSpacing( 1 ),
+ `ReplacePoint(`id(`rep_vProgress),
+ `VMultiProgressMeter(`id(`vProgress), scaleList( unit, maxValueList ) )
+ )
+ ),
+ `HBox(
+ `ReplacePoint(`id(`rep_hProgress),
+ `HMultiProgressMeter(`id(`hProgress), scaleList( unit, maxValueList ) )
+ ),
+ `HSpacing( 0.5 ),
+ `PushButton(`id(`cancel), "&Close" )
+ )
+ )
+ );
+
+ UI::ChangeWidget(`id(`unit), `Value, `unit( unit ) );
+ updateProgress();
+
+
+ //
+ // Event loop
+ //
+
+ while ( true )
+ {
+ map<string, any> event = UI::WaitForEvent();
+ // y2debug( "Event: %1", event );
+ any id = event["ID"]:nil;
+ symbol widgetClass = (symbol) event["WidgetClass"]:nil;
+
+ if ( widgetClass == `RadioButton )
+ {
+ any currentUnitID = UI::QueryWidget(`unit, `CurrentButton );
+
+ if ( is( currentUnitID, term ) )
+ {
+ unit = ( (term) currentUnitID )[0]:0;
+
+ y2milestone( "New unit: 2^%1", unit );
+ UI::ReplaceWidget(`rep_vProgress, `VMultiProgressMeter(`id(`vProgress), scaleList( unit, maxValueList ) ) );
+ UI::ReplaceWidget(`rep_hProgress, `HMultiProgressMeter(`id(`hProgress), scaleList( unit, maxValueList ) ) );
+ updateProgress();
+ }
+ }
+ if ( widgetClass == `Slider )
+ {
+ updateProgress();
+ list<integer> values = scaleList( unit, getValues() );
+ UI::ChangeWidget(`vProgress, `Values, values );
+ UI::ChangeWidget(`hProgress, `Values, values );
+ }
+
+ if ( id == `cancel )
+ break;
+ }
+
+
+ //
+ // Clean up
+ //
+
+ UI::CloseDialog();
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/examples/SlideShowDemo2.ycp new/yast2-ycp-ui-bindings-2.16.46/examples/SlideShowDemo2.ycp
--- old/yast2-ycp-ui-bindings-2.16.45/examples/SlideShowDemo2.ycp 2008-04-09 14:09:40.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/examples/SlideShowDemo2.ycp 2008-04-21 16:06:51.000000000 +0200
@@ -181,7 +181,7 @@
<table cellspacing=\"10\" cellpadding=\"5\"> \
<tr> \
<td width =\"*\"> \
-<img src=\"/opt/kde3/share/icons/crystalsvg/128x128/apps/kscd.png\" width=\"100\" \
+<img src=\"/usr/share/YaST2/theme/current/icons/48x48/apps/yast-sound.png\" \
align=\"left\"> \
</td> \
\
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/missing new/yast2-ycp-ui-bindings-2.16.46/missing
--- old/yast2-ycp-ui-bindings-2.16.45/missing 2008-04-16 15:21:21.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/missing 2008-04-30 15:18:57.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
@@ -33,6 +33,8 @@
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/src/YCPDialogParser.cc new/yast2-ycp-ui-bindings-2.16.46/src/YCPDialogParser.cc
--- old/yast2-ycp-ui-bindings-2.16.45/src/YCPDialogParser.cc 2008-04-03 15:43:04.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/src/YCPDialogParser.cc 2008-04-30 13:41:32.000000000 +0200
@@ -2370,6 +2370,7 @@
* @option searchMode start with the "search" filter view
* @option summaryMode start with the "installation summary" filter view
* @option repoMode start with the "repositories" filter view
+ * @option repoMgr enable "Repository Manager" menu item
* @usage `PackageSelector()
*
* @examples PackageSelector.ycp
@@ -2421,6 +2422,7 @@
else if ( sym == YUIOpt_summaryMode ) modeFlags |= YPkg_SummaryMode;
else if ( sym == YUIOpt_repoMode ) modeFlags |= YPkg_RepoMode;
else if ( sym == YUIOpt_testMode ) modeFlags |= YPkg_TestMode;
+ else if ( sym == YUIOpt_repoMgr ) modeFlags |= YPkg_RepoMgr;
else logUnknownOption( term, optList->value(o) );
}
else logUnknownOption( term, optList->value(o) );
@@ -2727,7 +2729,7 @@
* @usage if ( HasSpecialWidget( `MultiProgressMeter ) {...
* `MultiProgressMeter( "Percentage", 1, 100, 50 )
*
- * @examples MultiProgressMeter1.ycp
+ * @examples MultiProgressMeter1.ycp MultiProgressMeter2.ycp
*
* @description
*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/src/YCPPropertyHandler.cc new/yast2-ycp-ui-bindings-2.16.46/src/YCPPropertyHandler.cc
--- old/yast2-ycp-ui-bindings-2.16.45/src/YCPPropertyHandler.cc 2008-03-07 13:28:54.000000000 +0100
+++ new/yast2-ycp-ui-bindings-2.16.46/src/YCPPropertyHandler.cc 2008-04-21 16:06:51.000000000 +0200
@@ -589,7 +589,7 @@
if ( newCurrentButton )
{
- y2debug( "Setting new current radio button: %s", newCurrentButton->debugLabel().c_str() );
+ // y2debug( "Setting new current radio button: %s", newCurrentButton->debugLabel().c_str() );
newCurrentButton->setValue( true );
}
else
@@ -902,7 +902,7 @@
if ( ! currentButton )
return YCPVoid();
- y2debug( "Current radio button: %s", currentButton->debugLabel().c_str() );
+ // y2debug( "Current radio button: %s", currentButton->debugLabel().c_str() );
if ( currentButton->hasId() )
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ycp-ui-bindings-2.16.45/VERSION new/yast2-ycp-ui-bindings-2.16.46/VERSION
--- old/yast2-ycp-ui-bindings-2.16.45/VERSION 2008-04-16 16:38:25.000000000 +0200
+++ new/yast2-ycp-ui-bindings-2.16.46/VERSION 2008-04-30 15:11:00.000000000 +0200
@@ -1 +1 @@
-2.16.45
+2.16.46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package squid
checked in at Thu May 1 14:57:36 CEST 2008.
--------
--- squid/squid.changes 2008-04-17 12:19:14.000000000 +0200
+++ /mounts/work_src_done/STABLE/squid/squid.changes 2008-04-29 17:44:08.549716000 +0200
@@ -1,0 +2,16 @@
+Tue Apr 29 17:42:20 CEST 2008 - kssingvo(a)suse.de
+
+- update to 2.6.STABLE19:
+ * Custom log formats fail to log file sizes >2GB properly on
+ 32-bit platforms
+ * outgoing_address acl doesn't work with indirect source address
+ (follow-x-forwarded-for)
+ * Stuck in 100% CPU when fetching an corrupt peer digest
+ * Add support for the resolv.conf domain directive, and also
+ automatically derived default domain
+ * minimum_icp_query_timeout directive
+ Full list of changes see:
+ http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE20.ht…
+- removed official patches, which are now included in latest version
+
+-------------------------------------------------------------------
Old:
----
12008.patch
12009.patch
12018.patch
12026.patch
12027.patch
12029.patch
squid-2.6.STABLE19-RELEASENOTES.html
squid-2.6.STABLE19.tar.bz2
New:
----
squid-2.6.STABLE20-RELEASENOTES.html
squid-2.6.STABLE20.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ squid.spec ++++++
--- /var/tmp/diff_new_pack.r14538/_old 2008-05-01 14:56:36.000000000 +0200
+++ /var/tmp/diff_new_pack.r14538/_new 2008-05-01 14:56:36.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package squid (Version 2.6.STABLE19)
+# spec file for package squid (Version 2.6.STABLE20)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -18,8 +18,8 @@
BuildRequires: valgrind valgrind-devel
%endif
Summary: Squid WWW proxy server
-Version: 2.6.STABLE19
-Release: 8
+Version: 2.6.STABLE20
+Release: 1
License: GPL v2 or later
Url: http://www.squid-cache.org
Group: Productivity/Networking/Web/Proxy
@@ -46,12 +46,12 @@
Source12: http://www.squid-cache.org/WCCP-support/Linux/ip_wccp.c
Source13: squid.sysconfig
Patch0: squid-2.6.STABLE16-config.patch
-Patch1: http://www.squid-cache.org/Versions/v2/2.6/changesets/12008.patch
-Patch2: http://www.squid-cache.org/Versions/v2/2.6/changesets/12009.patch
-Patch3: http://www.squid-cache.org/Versions/v2/2.6/changesets/12018.patch
-Patch4: http://www.squid-cache.org/Versions/v2/2.6/changesets/12026.patch
-Patch5: http://www.squid-cache.org/Versions/v2/2.6/changesets/12027.patch
-Patch6: http://www.squid-cache.org/Versions/v2/2.6/changesets/12029.patch
+# Patch1: http://www.squid-cache.org/Versions/v2/2.6/changesets/12008.patch
+# Patch2: http://www.squid-cache.org/Versions/v2/2.6/changesets/12009.patch
+# Patch3: http://www.squid-cache.org/Versions/v2/2.6/changesets/12018.patch
+# Patch4: http://www.squid-cache.org/Versions/v2/2.6/changesets/12026.patch
+# Patch5: http://www.squid-cache.org/Versions/v2/2.6/changesets/12027.patch
+# Patch6: http://www.squid-cache.org/Versions/v2/2.6/changesets/12029.patch
# Patch7: http://www.squid-cache.org/Versions/v2/2.6/changesets/
# Patch8: http://www.squid-cache.org/Versions/v2/2.6/changesets/
# Patch9: http://www.squid-cache.org/Versions/v2/2.6/changesets/
@@ -131,12 +131,12 @@
#mv msntauth-v2.0.3-squid.1 MSNT
#)
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
+# %patch1 -p1
+# %patch2 -p1
+# %patch3 -p1
+# %patch4 -p1
+# %patch5 -p1
+# %patch6 -p1
# %patch7 -p1
# %patch8 -p1
# %patch9 -p1
@@ -389,6 +389,19 @@
%doc README.ip_user
%changelog
+* Tue Apr 29 2008 kssingvo(a)suse.de
+- update to 2.6.STABLE19:
+ * Custom log formats fail to log file sizes >2GB properly on
+ 32-bit platforms
+ * outgoing_address acl doesn't work with indirect source address
+ (follow-x-forwarded-for)
+ * Stuck in 100%% CPU when fetching an corrupt peer digest
+ * Add support for the resolv.conf domain directive, and also
+ automatically derived default domain
+ * minimum_icp_query_timeout directive
+ Full list of changes see:
+ http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE20.ht…
+- removed official patches, which are now included in latest version
* Thu Apr 17 2008 kssingvo(a)suse.de
- added official patches:
* Custom log formats fail to log file sizes >2GB properly on
++++++ squid-2.6.STABLE19.tar.bz2 -> squid-2.6.STABLE20.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/ChangeLog new/squid-2.6.STABLE20/ChangeLog
--- old/squid-2.6.STABLE19/ChangeLog 2008-03-18 01:57:20.000000000 +0100
+++ new/squid-2.6.STABLE20/ChangeLog 2008-04-25 21:49:06.000000000 +0200
@@ -1,3 +1,21 @@
+Changes to squid-2.6.STABLE20 (25 Apr 2008)
+
+ - Bug #2263: Custom log formats fail to log file sizes >2GB properly
+ on 32-bit platforms
+ - Fix stripping NT domain in squid_ldap_group
+ - Bug #2278: Cache-Control: max-stale=0 forwarded wrongly as max-stale
+ (without delta)
+ - Bug #2283: Fails to parse chunked encoding using chunk extensions
+ - Bug #420: Deal properly with empty list HTTP header members
+ - Windows Server 2008 support
+ - Bug #1886: tcp_outgoing_address acl doesn't work with indirect
+ source address (follow-x-forwarded-for)
+ - Bug #2296: Stuck in 100% CPU when fetching an corrupt peer digest
+ - Add support for the resolv.conf domain directive, and also
+ automatically derived default domain
+ - minimum_icp_query_timeout directive
+ - Bug #2329: Range header ignored on HIT
+
Changes to squid-2.6.STABLE19 (19 Mar 2008)
- Fix tcp_outgoing_address example config to match its description
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/configure new/squid-2.6.STABLE20/configure
--- old/squid-2.6.STABLE19/configure 2008-03-18 02:05:57.000000000 +0100
+++ new/squid-2.6.STABLE20/configure 2008-04-25 21:49:52.000000000 +0200
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.in Revision: 1.416.2.25 .
+# From configure.in Revision: 1.416.2.26 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Squid Web Proxy 2.6.STABLE19.
+# Generated by GNU Autoconf 2.61 for Squid Web Proxy 2.6.STABLE20.
#
# Report bugs to <http://www.squid-cache.org/bugs/>.
#
@@ -575,8 +575,8 @@
# Identity of this package.
PACKAGE_NAME='Squid Web Proxy'
PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='2.6.STABLE19'
-PACKAGE_STRING='Squid Web Proxy 2.6.STABLE19'
+PACKAGE_VERSION='2.6.STABLE20'
+PACKAGE_STRING='Squid Web Proxy 2.6.STABLE20'
PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/'
ac_default_prefix=/usr/local/squid
@@ -1314,7 +1314,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Squid Web Proxy 2.6.STABLE19 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 2.6.STABLE20 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1384,7 +1384,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE19:";;
+ short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE20:";;
esac
cat <<\_ACEOF
@@ -1662,7 +1662,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Squid Web Proxy configure 2.6.STABLE19
+Squid Web Proxy configure 2.6.STABLE20
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1676,7 +1676,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Squid Web Proxy $as_me 2.6.STABLE19, which was
+It was created by Squid Web Proxy $as_me 2.6.STABLE20, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2349,7 +2349,7 @@
# Define the identity of the package.
PACKAGE='squid'
- VERSION='2.6.STABLE19'
+ VERSION='2.6.STABLE20'
cat >>confdefs.h <<_ACEOF
@@ -27276,7 +27276,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Squid Web Proxy $as_me 2.6.STABLE19, which was
+This file was extended by Squid Web Proxy $as_me 2.6.STABLE20, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -27329,7 +27329,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-Squid Web Proxy config.status 2.6.STABLE19
+Squid Web Proxy config.status 2.6.STABLE20
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/configure.in new/squid-2.6.STABLE20/configure.in
--- old/squid-2.6.STABLE19/configure.in 2008-03-18 02:05:57.000000000 +0100
+++ new/squid-2.6.STABLE20/configure.in 2008-04-25 21:49:52.000000000 +0200
@@ -1,16 +1,16 @@
dnl
dnl Configuration input file for Squid
dnl
-dnl $Id: configure.in,v 1.416.2.25 2008/03/18 00:57:20 hno Exp $
+dnl $Id: configure.in,v 1.416.2.26 2008/04/22 15:17:28 hno Exp $
dnl
dnl
dnl
-AC_INIT(Squid Web Proxy, 2.6.STABLE19, http://www.squid-cache.org/bugs/, squid)
+AC_INIT(Squid Web Proxy, 2.6.STABLE20, http://www.squid-cache.org/bugs/, squid)
AC_PREREQ(2.52)
AM_CONFIG_HEADER(include/autoconf.h)
AC_CONFIG_AUX_DIR(cfgaux)
AM_INIT_AUTOMAKE
-AC_REVISION($Revision: 1.416.2.25 $)dnl
+AC_REVISION($Revision: 1.416.2.26 $)dnl
AC_PREFIX_DEFAULT(/usr/local/squid)
AM_MAINTAINER_MODE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/helpers/external_acl/ldap_group/squid_ldap_group.c new/squid-2.6.STABLE20/helpers/external_acl/ldap_group/squid_ldap_group.c
--- old/squid-2.6.STABLE19/helpers/external_acl/ldap_group/squid_ldap_group.c 2006-05-22 22:42:04.000000000 +0200
+++ new/squid-2.6.STABLE20/helpers/external_acl/ldap_group/squid_ldap_group.c 2008-03-18 03:59:15.000000000 +0100
@@ -465,9 +465,9 @@
}
rfc1738_unescape(user);
if (strip_nt_domain) {
- char *u = strchr(user, '\\');
+ char *u = strrchr(user, '\\');
if (!u)
- u = strchr(user, '/');
+ u = strrchr(user, '/');
if (u && u[1])
user = u + 1;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/include/version.h new/squid-2.6.STABLE20/include/version.h
--- old/squid-2.6.STABLE19/include/version.h 2008-03-18 02:05:57.000000000 +0100
+++ new/squid-2.6.STABLE20/include/version.h 2008-04-25 21:49:52.000000000 +0200
@@ -9,5 +9,5 @@
*/
#ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1205802352
+#define SQUID_RELEASE_TIME 1209152987
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/lib/win32lib.c new/squid-2.6.STABLE20/lib/win32lib.c
--- old/squid-2.6.STABLE19/lib/win32lib.c 2007-06-03 02:40:31.000000000 +0200
+++ new/squid-2.6.STABLE20/lib/win32lib.c 2008-04-25 21:44:20.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: win32lib.c,v 1.3.2.1 2007/06/03 00:40:31 hno Exp $
+ * $Id: win32lib.c,v 1.3.2.2 2008/04/25 19:44:20 hno Exp $
*
* Windows support
* AUTHOR: Guido Serassio <serassio(a)squid-cache.org>
@@ -97,7 +97,13 @@
size_t
getpagesize()
{
- return 4096;
+ static DWORD system_pagesize = 0;
+ if (!system_pagesize) {
+ SYSTEM_INFO system_info;
+ GetSystemInfo(&system_info);
+ system_pagesize = system_info.dwPageSize;
+ }
+ return system_pagesize;
}
int64_t
@@ -247,7 +253,7 @@
* an in_addr structure. Returns 0 on failure,
* and 1 on success.
*/
-int
+int
inet_aton(const char *cp, struct in_addr *addr)
{
if (cp == NULL || addr == NULL) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/RELEASENOTES.html new/squid-2.6.STABLE20/RELEASENOTES.html
--- old/squid-2.6.STABLE19/RELEASENOTES.html 2008-03-18 02:06:31.000000000 +0100
+++ new/squid-2.6.STABLE20/RELEASENOTES.html 2008-04-25 21:50:29.000000000 +0200
@@ -7,7 +7,7 @@
<BODY>
<H1>Squid 2.6.STABLE19 release notes</H1>
-<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.18 2008/03/18 00:57:21 hno Exp $
+<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.20 2008/04/25 19:49:06 hno Exp $
<HR>
<EM>This document contains the release notes for version 2.6 of Squid.
Squid is a WWW Cache application developed by the Web Caching community.</EM>
@@ -84,6 +84,9 @@
<P>
<H2><A NAME="toc24">24.</A> <A HREF="#s24">Key changes squid-2.6.STABLE18 to 2.6.STABLE19</A></H2>
+<P>
+<H2><A NAME="toc25">25.</A> <A HREF="#s25">Key changes squid-2.6.STABLE19 to 2.6.STABLE20</A></H2>
+
<HR>
<H2><A NAME="s1">1.</A> <A HREF="#toc1">Key changes from squid 2.5</A></H2>
@@ -799,5 +802,25 @@
</UL>
</P>
+<H2><A NAME="s25">25.</A> <A HREF="#toc25">Key changes squid-2.6.STABLE19 to 2.6.STABLE20</A></H2>
+
+<P>
+<UL>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2263">#2263</a>: Custom log formats fail to log file sizes >2GB properly
+on 32-bit platforms</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1886">#1886</a>: tcp_outgoing_address acl doesn't work with indirect
+source address (follow-x-forwarded-for)</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2296">#2296</a>: Stuck in 100% CPU when fetching an corrupt peer digest</LI>
+<LI>Add support for the resolv.conf domain directive, and also
+automatically derived default domain</LI>
+<LI>minimum_icp_query_timeout directive</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=2329">#2329</a>: Range header ignored on HIT</LI>
+<LI>And some other trivial/cosmetic changes</LI>
+<LI>See also the list of
+<A HREF="http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE20.ht…">squid-2.6.STABLE20 changes</A> and the
+<A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
+</UL>
+</P>
+
</BODY>
</HTML>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/access_log.c new/squid-2.6.STABLE20/src/access_log.c
--- old/squid-2.6.STABLE19/src/access_log.c 2007-06-03 02:40:32.000000000 +0200
+++ new/squid-2.6.STABLE20/src/access_log.c 2008-03-18 03:58:47.000000000 +0100
@@ -1,6 +1,6 @@
/*
- * $Id: access_log.c,v 1.95.2.2 2007/06/03 00:40:32 hno Exp $
+ * $Id: access_log.c,v 1.95.2.3 2008/03/18 02:58:47 hno Exp $
*
* DEBUG: section 46 Access Log
* AUTHOR: Duane Wessels
@@ -442,7 +442,7 @@
for (fmt = lf->format; fmt != NULL; fmt = fmt->next) { /* for each token */
const char *out = NULL;
int quote = 0;
- long int outint = 0;
+ squid_off_t outint = 0;
int doint = 0;
int dofree = 0;
switch (fmt->type) {
@@ -674,7 +674,7 @@
}
if (doint) {
- snprintf(tmp, sizeof(tmp), "%0*ld", fmt->zero ? (int) fmt->width : 0, outint);
+ snprintf(tmp, sizeof(tmp), "%0*" PRINTF_OFF_T, fmt->zero ? (int) fmt->width : 0, outint);
out = tmp;
}
if (out && *out) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/cf.data.pre new/squid-2.6.STABLE20/src/cf.data.pre
--- old/squid-2.6.STABLE19/src/cf.data.pre 2008-03-18 00:34:14.000000000 +0100
+++ new/squid-2.6.STABLE20/src/cf.data.pre 2008-04-21 04:56:24.000000000 +0200
@@ -1,6 +1,6 @@
#
-# $Id: cf.data.pre,v 1.382.2.29 2008/03/17 23:34:14 hno Exp $
+# $Id: cf.data.pre,v 1.382.2.30 2008/04/21 02:56:24 hno Exp $
#
# SQUID Web Proxy Cache http://www.squid-cache.org/
# ----------------------------------------------------------
@@ -4293,6 +4293,22 @@
'icp_query_timeout' directive.
DOC_END
+NAME: minimum_icp_query_timeout
+COMMENT: (msec)
+DEFAULT: 5
+TYPE: int
+LOC: Config.Timeout.icp_query_min
+DOC_START
+ Normally the ICP query timeout is determined dynamically. But
+ sometimes it can lead to very small timeouts, even lower than
+ the normal latency variance on your link due to traffic.
+ Use this option to put an lower limit on the dynamic timeout
+ value. Do NOT use this option to always use a fixed (instead
+ of a dynamic) timeout value. To set a fixed timeout see the
+ 'icp_query_timeout' directive.
+DOC_END
+
+
COMMENT_START
MULTICAST ICP OPTIONS
-----------------------------------------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/dns_internal.c new/squid-2.6.STABLE20/src/dns_internal.c
--- old/squid-2.6.STABLE19/src/dns_internal.c 2007-06-23 23:34:09.000000000 +0200
+++ new/squid-2.6.STABLE20/src/dns_internal.c 2008-04-25 21:44:50.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: dns_internal.c,v 1.61.2.1 2007/06/23 21:34:09 hno Exp $
+ * $Id: dns_internal.c,v 1.61.2.3 2008/04/25 19:44:50 hno Exp $
*
* DEBUG: section 78 DNS lookups; interacts with lib/rfc1035.c
* AUTHOR: Duane Wessels
@@ -248,7 +248,7 @@
{
FILE *fp;
char buf[RESOLV_BUFSZ];
- char *t;
+ const char *t;
fp = fopen(_PATH_RESCONF, "r");
if (fp == NULL) {
debug(78, 1) ("%s: %s\n", _PATH_RESCONF, xstrerror());
@@ -267,7 +267,15 @@
continue;
debug(78, 1) ("Adding nameserver %s from %s\n", t, _PATH_RESCONF);
idnsAddNameserver(t);
+ } else if (strcasecmp(t, "domain") == 0) {
+ idnsFreeSearchpath();
+ t = strtok(NULL, w_space);
+ if (NULL == t)
+ continue;
+ debug(78, 1) ("Adding domain %s from %s\n", t, _PATH_RESCONF);
+ idnsAddPathComponent(t);
} else if (strcasecmp(t, "search") == 0) {
+ idnsFreeSearchpath();
while (NULL != t) {
t = strtok(NULL, w_space);
if (NULL == t)
@@ -292,6 +300,12 @@
}
}
fclose(fp);
+
+ if (npc == 0 && (t = getMyHostname())) {
+ t = strchr(t, '.');
+ if (t)
+ idnsAddPathComponent(t + 1);
+ }
}
#endif
@@ -299,7 +313,7 @@
static void
idnsParseWIN32SearchList(const char *Separator)
{
- BYTE *t;
+ char *t;
char *token;
HKEY hndKey;
@@ -310,23 +324,42 @@
DWORD Size = 0;
LONG Result;
Result =
+ RegQueryValueEx(hndKey, "Domain", NULL, &Type, NULL,
+ &Size);
+
+ if (Result == ERROR_SUCCESS && Size) {
+ t = (char *) xmalloc(Size);
+ RegQueryValueEx(hndKey, "Domain", NULL, &Type, (LPBYTE) t,
+ &Size);
+ debug(78, 1) ("Adding domain %s from Registry\n", t);
+ idnsAddPathComponent(t);
+ xfree(t);
+ }
+ Result =
RegQueryValueEx(hndKey, "SearchList", NULL, &Type, NULL,
&Size);
if (Result == ERROR_SUCCESS && Size) {
t = (unsigned char *) xmalloc(Size);
- RegQueryValueEx(hndKey, "SearchList", NULL, &Type, t,
+ RegQueryValueEx(hndKey, "SearchList", NULL, &Type, (LPBYTE) t,
&Size);
token = strtok((char *) t, Separator);
+ idnsFreeSearchpath();
while (token) {
idnsAddPathComponent(token);
debug(78, 1) ("Adding domain %s from Registry\n", token);
token = strtok(NULL, Separator);
}
+ xfree(t);
}
RegCloseKey(hndKey);
}
+ if (npc == 0 && ((const char *) t = getMyHostname())) {
+ t = strchr(t, '.');
+ if (t)
+ idnsAddPathComponent(t + 1);
+ }
}
static void
@@ -336,7 +369,6 @@
char *token;
HKEY hndKey, hndKey2;
- idnsFreeNameservers();
switch (WIN32_OS_version) {
case _WIN_OS_WINNT:
/* get nameservers from the Windows NT registry */
@@ -360,6 +392,7 @@
token);
token = strtok(NULL, ", ");
}
+ xfree(t);
}
Result =
RegQueryValueEx(hndKey, "NameServer", NULL, &Type, NULL, &Size);
@@ -373,6 +406,7 @@
idnsAddNameserver(token);
token = strtok(NULL, ", ");
}
+ xfree(t);
}
RegCloseKey(hndKey);
}
@@ -417,6 +451,7 @@
idnsAddNameserver(token);
token = strtok(NULL, ", ");
}
+ xfree(t);
}
Result =
RegQueryValueEx(hndKey2, "NameServer", NULL, &Type,
@@ -432,6 +467,7 @@
idnsAddNameserver(token);
token = strtok(NULL, ", ");
}
+ xfree(t);
}
RegCloseKey(hndKey2);
}
@@ -463,6 +499,7 @@
idnsAddNameserver(token);
token = strtok(NULL, ", ");
}
+ xfree(t);
}
RegCloseKey(hndKey);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/forward.c new/squid-2.6.STABLE20/src/forward.c
--- old/squid-2.6.STABLE19/src/forward.c 2007-09-05 23:28:34.000000000 +0200
+++ new/squid-2.6.STABLE20/src/forward.c 2008-04-02 03:16:29.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: forward.c,v 1.120.2.4 2007/09/05 21:28:34 hno Exp $
+ * $Id: forward.c,v 1.120.2.5 2008/04/02 01:16:29 hno Exp $
*
* DEBUG: section 17 Request Forwarding
* AUTHOR: Duane Wessels
@@ -424,7 +424,12 @@
aclCheck_t ch;
memset(&ch, '\0', sizeof(aclCheck_t));
if (request) {
- ch.src_addr = request->client_addr;
+#if FOLLOW_X_FORWARDED_FOR
+ if (Config.onoff.acl_uses_indirect_client) {
+ ch.src_addr = request->indirect_client_addr;
+ } else
+#endif /* FOLLOW_X_FORWARDED_FOR */
+ ch.src_addr = request->client_addr;
ch.my_addr = request->my_addr;
ch.my_port = request->my_port;
ch.request = request;
@@ -438,7 +443,12 @@
aclCheck_t ch;
memset(&ch, '\0', sizeof(aclCheck_t));
if (request) {
- ch.src_addr = request->client_addr;
+#if FOLLOW_X_FORWARDED_FOR
+ if (Config.onoff.acl_uses_indirect_client) {
+ ch.src_addr = request->indirect_client_addr;
+ } else
+#endif /* FOLLOW_X_FORWARDED_FOR */
+ ch.src_addr = request->client_addr;
ch.my_addr = request->my_addr;
ch.my_port = request->my_port;
ch.request = request;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/http.c new/squid-2.6.STABLE20/src/http.c
--- old/squid-2.6.STABLE19/src/http.c 2007-11-26 12:04:30.000000000 +0100
+++ new/squid-2.6.STABLE20/src/http.c 2008-04-02 03:03:47.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: http.c,v 1.419.2.11 2007/11/26 11:04:30 adrian Exp $
+ * $Id: http.c,v 1.419.2.12 2008/04/02 01:03:47 hno Exp $
*
* DEBUG: section 11 Hypertext Transfer Protocol (HTTP)
* AUTHOR: Harvest Derived
@@ -671,7 +671,7 @@
badchunk = 1;
while (end && (*end == '\r' || *end == ' ' || *end == '\t'))
end++;
- if (httpState->chunk_size < 0 || !end || (*end != '\n' && *end == ';')) {
+ if (httpState->chunk_size < 0 || !end || (*end != '\n' && *end != ';')) {
debug(11, 0) ("Invalid chunk header '%s'\n", strBuf(httpState->chunkhdr));
comm_close(fd);
return;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/HttpHdrCc.c new/squid-2.6.STABLE20/src/HttpHdrCc.c
--- old/squid-2.6.STABLE19/src/HttpHdrCc.c 2006-12-31 15:52:51.000000000 +0100
+++ new/squid-2.6.STABLE20/src/HttpHdrCc.c 2008-03-22 00:00:57.000000000 +0100
@@ -1,6 +1,6 @@
/*
- * $Id: HttpHdrCc.c,v 1.24 2006/12/31 14:52:51 hno Exp $
+ * $Id: HttpHdrCc.c,v 1.24.2.1 2008/03/21 23:00:57 hno Exp $
*
* DEBUG: section 65 HTTP Cache Control Header
* AUTHOR: Alex Rousskov
@@ -208,7 +208,7 @@
if (flag == CC_S_MAXAGE)
packerPrintf(p, "=%d", (int) cc->s_maxage);
- if (flag == CC_MAX_STALE && cc->max_stale > 0)
+ if (flag == CC_MAX_STALE && cc->max_stale >= 0)
packerPrintf(p, "=%d", (int) cc->max_stale);
pcount++;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/HttpHdrRange.c new/squid-2.6.STABLE20/src/HttpHdrRange.c
--- old/squid-2.6.STABLE19/src/HttpHdrRange.c 2008-03-18 00:34:41.000000000 +0100
+++ new/squid-2.6.STABLE20/src/HttpHdrRange.c 2008-04-25 21:45:19.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: HttpHdrRange.c,v 1.28.2.1 2008/03/17 23:34:41 hno Exp $
+ * $Id: HttpHdrRange.c,v 1.28.2.2 2008/04/25 19:45:19 hno Exp $
*
* DEBUG: section 64 HTTP Range Header
* AUTHOR: Alex Rousskov
@@ -242,7 +242,7 @@
if (strNCaseCmp(*str, "bytes=", 6))
return 0;
/* skip "bytes="; hack! */
- pos = strBuf(*str) + 5;
+ pos = strBuf(*str) + 6;
/* iterate through comma separated list */
while (strListGetItem(str, ',', &item, &ilen, &pos)) {
HttpHdrRangeSpec *spec = httpHdrRangeSpecParseCreate(item, ilen);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/HttpHeaderTools.c new/squid-2.6.STABLE20/src/HttpHeaderTools.c
--- old/squid-2.6.STABLE19/src/HttpHeaderTools.c 2007-07-21 23:15:31.000000000 +0200
+++ new/squid-2.6.STABLE20/src/HttpHeaderTools.c 2008-04-02 03:04:20.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: HttpHeaderTools.c,v 1.37.2.2 2007/07/21 21:15:31 hno Exp $
+ * $Id: HttpHeaderTools.c,v 1.37.2.3 2008/04/02 01:04:20 hno Exp $
*
* DEBUG: section 66 HTTP Header Tools
* AUTHOR: Alex Rousskov
@@ -239,26 +239,24 @@
strListGetItem(const String * str, char del, const char **item, int *ilen, const char **pos)
{
size_t len;
- static char delim[2][3] =
+ static char delim[3][8] =
{
- {'"', 0, 0},
- {'"', '\\', 0}};
+ "\"?,",
+ "\"\\",
+ " ?,\t\r\n"
+ };
int quoted = 0;
delim[0][1] = del;
+ delim[2][1] = del;
assert(str && item && pos);
- if (*pos) {
- if (!**pos) /* end of string */
- return 0;
- else
- (*pos)++;
- } else {
+ if (!*pos) {
*pos = strBuf(*str);
if (!*pos)
return 0;
}
+ /* skip leading whitespace and delimiters */
+ *pos += strspn(*pos, delim[2]);
- /* skip leading ws (ltrim) */
- *pos += xcountws(*pos);
*item = *pos; /* remember item's start */
/* find next delimiter */
do {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/neighbors.c new/squid-2.6.STABLE20/src/neighbors.c
--- old/squid-2.6.STABLE19/src/neighbors.c 2007-08-31 15:49:54.000000000 +0200
+++ new/squid-2.6.STABLE20/src/neighbors.c 2008-04-21 04:56:24.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: neighbors.c,v 1.313.2.2 2007/08/31 13:49:54 hno Exp $
+ * $Id: neighbors.c,v 1.313.2.3 2008/04/21 02:56:24 hno Exp $
*
* DEBUG: section 15 Neighbor Routines
* AUTHOR: Harvest Derived
@@ -577,6 +577,9 @@
if (Config.Timeout.icp_query_max)
if (*timeout > Config.Timeout.icp_query_max)
*timeout = Config.Timeout.icp_query_max;
+
+ if (*timeout < Config.Timeout.icp_query_min)
+ *timeout = Config.Timeout.icp_query_min;
}
return peers_pinged;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/peer_digest.c new/squid-2.6.STABLE20/src/peer_digest.c
--- old/squid-2.6.STABLE19/src/peer_digest.c 2006-06-06 00:47:01.000000000 +0200
+++ new/squid-2.6.STABLE20/src/peer_digest.c 2008-04-21 04:28:41.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: peer_digest.c,v 1.94 2006/06/05 22:47:01 hno Exp $
+ * $Id: peer_digest.c,v 1.94.2.1 2008/04/21 02:28:41 hno Exp $
*
* DEBUG: section 72 Peer Digest Routines
* AUTHOR: Alex Rousskov
@@ -50,10 +50,10 @@
static STCB peerDigestSwapInHeaders;
static STCB peerDigestSwapInCBlock;
static STCB peerDigestSwapInMask;
-static int peerDigestFetchedEnough(DigestFetchState * fetch, char *buf, ssize_t size, const char *step_name);
-static void peerDigestFetchStop(DigestFetchState * fetch, char *buf, const char *reason);
-static void peerDigestFetchAbort(DigestFetchState * fetch, char *buf, const char *reason);
-static void peerDigestReqFinish(DigestFetchState * fetch, char *buf, int, int, int, const char *reason, int err);
+static int peerDigestFetchedEnough(DigestFetchState * fetch, ssize_t size, const char *step_name);
+static void peerDigestFetchStop(DigestFetchState * fetch, const char *reason);
+static void peerDigestFetchAbort(DigestFetchState * fetch, const char *reason);
+static void peerDigestReqFinish(DigestFetchState * fetch, int, int, int, const char *reason, int err);
static void peerDigestPDFinish(DigestFetchState * fetch, int pcb_valid, int err);
static void peerDigestFetchFinish(DigestFetchState * fetch, int err);
static void peerDigestFetchSetStats(DigestFetchState * fetch);
@@ -328,9 +328,9 @@
/* push towards peer cache */
debug(72, 3) ("peerDigestRequest: forwarding to fwdStart...\n");
fwdStart(-1, e, req);
- cbdataLock(fetch);
cbdataLock(fetch->pd);
- storeClientCopy(fetch->sc, e, 0, 0, 4096, memAllocate(MEM_4K_BUF),
+ fetch->buf = memAllocate(MEM_4K_BUF);
+ storeClientCopy(fetch->sc, e, 0, 0, 4096, fetch->buf,
peerDigestFetchReply, fetch);
}
@@ -342,16 +342,18 @@
PeerDigest *pd = fetch->pd;
size_t hdr_size;
assert(pd && buf);
- assert(!fetch->offset);
- if (peerDigestFetchedEnough(fetch, buf, size, "peerDigestFetchReply"))
+ if (peerDigestFetchedEnough(fetch, size, "peerDigestFetchReply"))
return;
- if ((hdr_size = headersEnd(buf, size))) {
+ fetch->buf_used += size;
+ fetch->offset += size;
+
+ if ((hdr_size = headersEnd(fetch->buf, fetch->buf_used))) {
http_status status;
HttpReply *reply = fetch->entry->mem_obj->reply;
assert(reply);
- httpReplyParse(reply, buf, hdr_size);
+ httpReplyParse(reply, fetch->buf, hdr_size);
status = reply->sline.status;
debug(72, 3) ("peerDigestFetchReply: %s status: %d, expires: %ld (%+d)\n",
strBuf(pd->host), status,
@@ -371,8 +373,11 @@
/* get rid of 304 reply */
storeClientUnregister(fetch->sc, fetch->entry, fetch);
storeUnlockObject(fetch->entry);
+ /* And prepare to swap in old entry if needed */
fetch->entry = fetch->old_entry;
fetch->old_entry = NULL;
+ fetch->sc = fetch->old_sc;
+ fetch->old_sc = NULL;
/* preserve request -- we need its size to update counters */
/* requestUnlink(r); */
/* fetch->entry->mem_obj->request = NULL; */
@@ -387,22 +392,25 @@
}
} else {
/* some kind of a bug */
- peerDigestFetchAbort(fetch, buf, httpStatusLineReason(&reply->sline));
+ peerDigestFetchAbort(fetch, httpStatusLineReason(&reply->sline));
return;
}
/* must have a ready-to-use store entry if we got here */
/* can we stay with the old in-memory digest? */
if (status == HTTP_NOT_MODIFIED && fetch->pd->cd)
- peerDigestFetchStop(fetch, buf, "Not modified");
- else
+ peerDigestFetchStop(fetch, "Not modified");
+ else {
+ fetch->offset = 0;
+ fetch->buf_used = 0;
storeClientCopy(fetch->sc, fetch->entry, /* have to swap in */
- 0, 0, SM_PAGE_SIZE, buf, peerDigestSwapInHeaders, fetch);
+ 0, 0, SM_PAGE_SIZE, fetch->buf, peerDigestSwapInHeaders, fetch);
+ }
} else {
/* need more data, do we have space? */
- if (size >= SM_PAGE_SIZE)
- peerDigestFetchAbort(fetch, buf, "reply header too big");
+ if (fetch->buf_used >= SM_PAGE_SIZE)
+ peerDigestFetchAbort(fetch, "reply header too big");
else
- storeClientCopy(fetch->sc, fetch->entry, size, 0, SM_PAGE_SIZE, buf,
+ storeClientCopy(fetch->sc, fetch->entry, fetch->offset, fetch->offset, SM_PAGE_SIZE - fetch->buf_used, fetch->buf + fetch->buf_used,
peerDigestFetchReply, fetch);
}
}
@@ -414,30 +422,33 @@
DigestFetchState *fetch = data;
size_t hdr_size;
- if (peerDigestFetchedEnough(fetch, buf, size, "peerDigestSwapInHeaders"))
+ if (peerDigestFetchedEnough(fetch, size, "peerDigestSwapInHeaders"))
return;
- assert(!fetch->offset);
- if ((hdr_size = headersEnd(buf, size))) {
+ fetch->buf_used += size;
+ fetch->offset += size;
+
+ if ((hdr_size = headersEnd(fetch->buf, fetch->buf_used))) {
assert(fetch->entry->mem_obj->reply);
if (!fetch->entry->mem_obj->reply->sline.status)
- httpReplyParse(fetch->entry->mem_obj->reply, buf, hdr_size);
+ httpReplyParse(fetch->entry->mem_obj->reply, fetch->buf, hdr_size);
if (fetch->entry->mem_obj->reply->sline.status != HTTP_OK) {
debug(72, 1) ("peerDigestSwapInHeaders: %s status %d got cached!\n",
strBuf(fetch->pd->host), fetch->entry->mem_obj->reply->sline.status);
- peerDigestFetchAbort(fetch, buf, "internal status error");
+ peerDigestFetchAbort(fetch, "internal status error");
return;
}
- fetch->offset += hdr_size;
- storeClientCopy(fetch->sc, fetch->entry, size, fetch->offset,
- SM_PAGE_SIZE, buf,
+ fetch->offset = hdr_size;
+ fetch->buf_used = 0;
+ storeClientCopy(fetch->sc, fetch->entry, fetch->offset, fetch->offset,
+ SM_PAGE_SIZE, fetch->buf,
peerDigestSwapInCBlock, fetch);
} else {
/* need more data, do we have space? */
- if (size >= SM_PAGE_SIZE)
- peerDigestFetchAbort(fetch, buf, "stored header too big");
+ if (fetch->buf_used >= SM_PAGE_SIZE)
+ peerDigestFetchAbort(fetch, "stored header too big");
else
- storeClientCopy(fetch->sc, fetch->entry, size, 0, SM_PAGE_SIZE, buf,
+ storeClientCopy(fetch->sc, fetch->entry, fetch->offset, fetch->offset, SM_PAGE_SIZE - fetch->buf_used, fetch->buf + fetch->buf_used,
peerDigestSwapInHeaders, fetch);
}
}
@@ -447,37 +458,40 @@
{
DigestFetchState *fetch = data;
- if (peerDigestFetchedEnough(fetch, buf, size, "peerDigestSwapInCBlock"))
+ if (peerDigestFetchedEnough(fetch, size, "peerDigestSwapInCBlock"))
return;
- if (size >= StoreDigestCBlockSize) {
+ fetch->buf_used += size;
+ fetch->offset += size;
+
+ if (fetch->buf_used >= StoreDigestCBlockSize) {
PeerDigest *pd = fetch->pd;
HttpReply *rep = fetch->entry->mem_obj->reply;
- const squid_off_t seen = fetch->offset + size;
assert(pd && rep);
- if (peerDigestSetCBlock(pd, buf)) {
+ if (peerDigestSetCBlock(pd, fetch->buf)) {
/* XXX: soon we will have variable header size */
- fetch->offset += StoreDigestCBlockSize;
+ fetch->offset -= fetch->buf_used - StoreDigestCBlockSize;
/* switch to CD buffer and fetch digest guts */
- memFree(buf, MEM_4K_BUF);
- buf = NULL;
+ memFree(fetch->buf, MEM_4K_BUF);
+ fetch->buf = buf = NULL;
+ fetch->buf_used = 0;
assert(pd->cd->mask);
storeClientCopy(fetch->sc, fetch->entry,
- seen,
+ fetch->offset,
fetch->offset,
pd->cd->mask_size,
pd->cd->mask,
peerDigestSwapInMask, fetch);
} else {
- peerDigestFetchAbort(fetch, buf, "invalid digest cblock");
+ peerDigestFetchAbort(fetch, "invalid digest cblock");
}
} else {
/* need more data, do we have space? */
- if (size >= SM_PAGE_SIZE)
- peerDigestFetchAbort(fetch, buf, "digest cblock too big");
+ if (fetch->buf_used >= SM_PAGE_SIZE)
+ peerDigestFetchAbort(fetch, "digest cblock too big");
else
- storeClientCopy(fetch->sc, fetch->entry, size, 0, SM_PAGE_SIZE, buf,
+ storeClientCopy(fetch->sc, fetch->entry, fetch->offset, fetch->offset, SM_PAGE_SIZE - fetch->buf_used, fetch->buf + fetch->buf_used,
peerDigestSwapInCBlock, fetch);
}
}
@@ -489,7 +503,7 @@
PeerDigest *pd;
/* NOTE! buf points to the middle of pd->cd->mask! */
- if (peerDigestFetchedEnough(fetch, NULL, size, "peerDigestSwapInMask"))
+ if (peerDigestFetchedEnough(fetch, size, "peerDigestSwapInMask"))
return;
pd = fetch->pd;
@@ -501,7 +515,7 @@
debug(72, 2) ("peerDigestSwapInMask: Done! Got %" PRINTF_OFF_T ", expected %d\n",
fetch->mask_offset, pd->cd->mask_size);
assert(fetch->mask_offset == pd->cd->mask_size);
- assert(peerDigestFetchedEnough(fetch, NULL, 0, "peerDigestSwapInMask"));
+ assert(peerDigestFetchedEnough(fetch, 0, "peerDigestSwapInMask"));
} else {
const size_t buf_sz = pd->cd->mask_size - fetch->mask_offset;
assert(buf_sz > 0);
@@ -515,7 +529,7 @@
}
static int
-peerDigestFetchedEnough(DigestFetchState * fetch, char *buf, ssize_t size, const char *step_name)
+peerDigestFetchedEnough(DigestFetchState * fetch, ssize_t size, const char *step_name)
{
PeerDigest *pd = NULL;
const char *host = "<unknown>"; /* peer host */
@@ -558,8 +572,10 @@
if (!reason && !size) {
if (!pd->cd)
reason = "null digest?!";
+ else if (fetch->buf_used)
+ reason = "premature end of digest header?!";
else if (fetch->mask_offset != pd->cd->mask_size)
- reason = "premature end of digest?!";
+ reason = "premature end of digest mask?!";
else if (!peerDigestUseful(pd))
reason = "useless digest";
else
@@ -570,8 +586,7 @@
const int level = strstr(reason, "?!") ? 1 : 3;
debug(72, level) ("%s: peer %s, exiting after '%s'\n",
step_name, host, reason);
- peerDigestReqFinish(fetch, buf,
- fcb_valid, pdcb_valid, pcb_valid, reason, !no_bug);
+ peerDigestReqFinish(fetch, fcb_valid, pdcb_valid, pcb_valid, reason, !no_bug);
} else {
/* paranoid check */
assert(fcb_valid && pdcb_valid && pcb_valid);
@@ -582,27 +597,27 @@
/* call this when all callback data is valid and fetch must be stopped but
* no error has occurred (e.g. we received 304 reply and reuse old digest) */
static void
-peerDigestFetchStop(DigestFetchState * fetch, char *buf, const char *reason)
+peerDigestFetchStop(DigestFetchState * fetch, const char *reason)
{
assert(reason);
debug(72, 2) ("peerDigestFetchStop: peer %s, reason: %s\n",
strBuf(fetch->pd->host), reason);
- peerDigestReqFinish(fetch, buf, 1, 1, 1, reason, 0);
+ peerDigestReqFinish(fetch, 1, 1, 1, reason, 0);
}
/* call this when all callback data is valid but something bad happened */
static void
-peerDigestFetchAbort(DigestFetchState * fetch, char *buf, const char *reason)
+peerDigestFetchAbort(DigestFetchState * fetch, const char *reason)
{
assert(reason);
debug(72, 2) ("peerDigestFetchAbort: peer %s, reason: %s\n",
strBuf(fetch->pd->host), reason);
- peerDigestReqFinish(fetch, buf, 1, 1, 1, reason, 1);
+ peerDigestReqFinish(fetch, 1, 1, 1, reason, 1);
}
/* complete the digest transfer, update stats, unlock/release everything */
static void
-peerDigestReqFinish(DigestFetchState * fetch, char *buf,
+peerDigestReqFinish(DigestFetchState * fetch,
int fcb_valid, int pdcb_valid, int pcb_valid,
const char *reason, int err)
{
@@ -631,8 +646,6 @@
peerDigestPDFinish(fetch, pcb_valid, err);
if (fcb_valid)
peerDigestFetchFinish(fetch, err);
- if (buf)
- memFree(buf, MEM_4K_BUF);
}
@@ -706,7 +719,10 @@
fetch->entry = NULL;
fetch->request = NULL;
assert(fetch->pd == NULL);
- cbdataUnlock(fetch);
+ if (fetch->buf) {
+ memFree(fetch->buf, MEM_4K_BUF);
+ fetch->buf = NULL;
+ }
cbdataFree(fetch);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/structs.h new/squid-2.6.STABLE20/src/structs.h
--- old/squid-2.6.STABLE19/src/structs.h 2007-09-05 23:28:34.000000000 +0200
+++ new/squid-2.6.STABLE20/src/structs.h 2008-04-21 04:56:24.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: structs.h,v 1.507.2.8 2007/09/05 21:28:34 hno Exp $
+ * $Id: structs.h,v 1.507.2.10 2008/04/21 02:56:24 hno Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
@@ -460,6 +460,7 @@
time_t deadPeer;
int icp_query; /* msec */
int icp_query_max; /* msec */
+ int icp_query_min; /* msec */
int mcast_icp_query; /* msec */
#if USE_IDENT
time_t ident;
@@ -1336,6 +1337,8 @@
int msg;
int bytes;
} sent, recv;
+ char *buf;
+ size_t buf_used;
};
/* statistics for cache digests and other hit "predictors" */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/squid-2.6.STABLE19/src/win32.c new/squid-2.6.STABLE20/src/win32.c
--- old/squid-2.6.STABLE19/src/win32.c 2007-08-31 16:06:15.000000000 +0200
+++ new/squid-2.6.STABLE20/src/win32.c 2008-04-02 03:04:58.000000000 +0200
@@ -1,6 +1,6 @@
/*
- * $Id: win32.c,v 1.17.2.1 2007/08/31 14:06:15 hno Exp $
+ * $Id: win32.c,v 1.17.2.2 2008/04/02 01:04:58 hno Exp $
*
* Windows support
* AUTHOR: Guido Serassio <serassio(a)squid-cache.org>
@@ -273,7 +273,7 @@
if (osvi.wProductType == VER_NT_WORKSTATION)
WIN32_OS_string = xstrdup("Windows Vista");
else
- WIN32_OS_string = xstrdup("Windows Server \"Longhorn\"");
+ WIN32_OS_string = xstrdup("Windows Server 2008");
return _WIN_OS_WINLON;
}
break;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-sound
checked in at Thu May 1 14:56:26 CEST 2008.
--------
--- yast2-sound/yast2-sound.changes 2008-04-25 13:18:34.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-sound/yast2-sound.changes 2008-04-30 10:56:27.998938000 +0200
@@ -1,0 +2,9 @@
+Wed Apr 30 10:48:36 CEST 2008 - lslezak(a)suse.cz
+
+- save non-PCI and non-USB sound cards to MODULES_LOADED_ON_BOOT
+ sysconfig variable (bnc#331659)
+- remove empty 'options snd' config line when there is no sound
+ card configured
+- 2.16.10
+
+-------------------------------------------------------------------
Old:
----
yast2-sound-2.16.9.tar.bz2
New:
----
yast2-sound-2.16.10.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-sound.spec ++++++
--- /var/tmp/diff_new_pack.Oh8433/_old 2008-05-01 14:52:11.000000000 +0200
+++ /var/tmp/diff_new_pack.Oh8433/_new 2008-05-01 14:52:11.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-sound (Version 2.16.9)
+# spec file for package yast2-sound (Version 2.16.10)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: yast2-sound
-Version: 2.16.9
+Version: 2.16.10
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-sound-2.16.9.tar.bz2
+Source0: yast2-sound-2.16.10.tar.bz2
Prefix: /usr
BuildRequires: alsa-devel doxygen gcc-c++ perl-XML-Writer update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-testsuite
# GetInstArgs::automatic_configuration
@@ -41,7 +41,7 @@
Dan Meszaros
%prep
-%setup -n yast2-sound-2.16.9
+%setup -n yast2-sound-2.16.10
%build
%{prefix}/bin/y2tool y2autoconf
@@ -85,7 +85,14 @@
%{_libdir}/YaST2/plugin/libpy2ag_audio.so*
/usr/share/YaST2/scrconf/*.scr
%doc %{prefix}/share/doc/packages/yast2-sound
+
%changelog
+* Wed Apr 30 2008 lslezak(a)suse.cz
+- save non-PCI and non-USB sound cards to MODULES_LOADED_ON_BOOT
+ sysconfig variable (bnc#331659)
+- remove empty 'options snd' config line when there is no sound
+ card configured
+- 2.16.10
* Fri Apr 25 2008 lslezak(a)suse.cz
- do not write 'index' option, write 'slots' option of 'snd' driver
to define the order of the configured soundcards (bnc#381695)
++++++ yast2-sound-2.16.9.tar.bz2 -> yast2-sound-2.16.10.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sound-2.16.9/configure new/yast2-sound-2.16.10/configure
--- old/yast2-sound-2.16.9/configure 2008-04-25 13:16:42.000000000 +0200
+++ new/yast2-sound-2.16.10/configure 2008-04-30 10:55:46.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-sound 2.16.9.
+# Generated by GNU Autoconf 2.61 for yast2-sound 2.16.10.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-sound'
PACKAGE_TARNAME='yast2-sound'
-PACKAGE_VERSION='2.16.9'
-PACKAGE_STRING='yast2-sound 2.16.9'
+PACKAGE_VERSION='2.16.10'
+PACKAGE_STRING='yast2-sound 2.16.10'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1438,7 +1438,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-sound 2.16.9 to adapt to many kinds of systems.
+\`configure' configures yast2-sound 2.16.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1509,7 +1509,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-sound 2.16.9:";;
+ short | recursive ) echo "Configuration of yast2-sound 2.16.10:";;
esac
cat <<\_ACEOF
@@ -1618,7 +1618,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-sound configure 2.16.9
+yast2-sound configure 2.16.10
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1632,7 +1632,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-sound $as_me 2.16.9, which was
+It was created by yast2-sound $as_me 2.16.10, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2453,7 +2453,7 @@
# Define the identity of the package.
PACKAGE='yast2-sound'
- VERSION='2.16.9'
+ VERSION='2.16.10'
cat >>confdefs.h <<_ACEOF
@@ -2681,7 +2681,7 @@
-VERSION="2.16.9"
+VERSION="2.16.10"
RPMNAME="yast2-sound"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
@@ -21273,7 +21273,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-sound $as_me 2.16.9, which was
+This file was extended by yast2-sound $as_me 2.16.10, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21326,7 +21326,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-sound config.status 2.16.9
+yast2-sound config.status 2.16.10
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sound-2.16.9/configure.in new/yast2-sound-2.16.10/configure.in
--- old/yast2-sound-2.16.9/configure.in 2008-04-25 13:16:31.000000000 +0200
+++ new/yast2-sound-2.16.10/configure.in 2008-04-30 10:55:36.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.16.8 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-sound, 2.16.9, http://bugs.opensuse.org/, yast2-sound)
+AC_INIT(yast2-sound, 2.16.10, http://bugs.opensuse.org/, yast2-sound)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.16.9"
+VERSION="2.16.10"
RPMNAME="yast2-sound"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sound-2.16.9/sound/src/wizards.ycp new/yast2-sound-2.16.10/sound/src/wizards.ycp
--- old/yast2-sound-2.16.9/sound/src/wizards.ycp 2008-02-25 14:35:47.000000000 +0100
+++ new/yast2-sound-2.16.10/sound/src/wizards.ycp 2008-04-30 10:55:16.000000000 +0200
@@ -6,7 +6,7 @@
* Dan Meszaros <dmeszar(a)suse.cz>,
* Jiri Suchomel <jsuchome(a)suse.cz>
*
- * $Id: wizards.ycp 41580 2007-10-26 08:36:17Z lslezak $
+ * $Id: wizards.ycp 47193 2008-04-30 08:55:15Z lslezak $
*/
{
@@ -104,6 +104,7 @@
removed_info["bus_hwcfg"] = removed_card["bus_hwcfg"]:"";
removed_info["sysfs_bus_id"] = removed_card["sysfs_bus_id"]:"";
removed_info["unique_key"] = removed_card["unique_key"]:"";
+ removed_info["module"] = removed_card["module"]:"";
if (!contains(Sound::removed_info, removed_info))
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sound-2.16.9/sound/src/write_routines.ycp new/yast2-sound-2.16.10/sound/src/write_routines.ycp
--- old/yast2-sound-2.16.9/sound/src/write_routines.ycp 2008-04-25 13:13:15.000000000 +0200
+++ new/yast2-sound-2.16.10/sound/src/write_routines.ycp 2008-04-30 10:55:16.000000000 +0200
@@ -1,6 +1,6 @@
/**
*
- * $Id: write_routines.ycp 47064 2008-04-25 11:13:14Z lslezak $
+ * $Id: write_routines.ycp 47193 2008-04-30 08:55:15Z lslezak $
*
* File:
* write_routines.ycp
@@ -76,8 +76,9 @@
boolean ret = true;
if (haskey (entry, "alias"))
{
+ string module_name = entry["module"]:"" ;
// this is a hack for snd-aoa driver, additional modules are needed (#217300)
- if (entry["module"]:"" == "snd-aoa")
+ if (module_name == "snd-aoa")
{
// write the extra module (snd-aoa-i2sbus) to /etc/init.d/sound, add "00" suffix to the alias
path extra_alias = add(.modprobe_sound.alias, (entry["alias"]:"off") + "00");
@@ -94,8 +95,36 @@
string modcomment = createAliasComment(entry["model"]: "", entry["unique_key"]:"");
- ret = ret && SCR::Write(mod_alias, entry["module"]:"off");
+ ret = ret && SCR::Write(mod_alias, module_name);
ret = ret && SCR::Write(mod_alias_comment, modcomment);
+
+ // load the module automatically on boot
+ if (entry["bus"]:"" != "pci" && entry["bus"]:"" != "usb" && module_name != "")
+ {
+ y2milestone("The soundcard is not attached to PCI or USB");
+
+ string on_boot_sysconfig = (string)SCR::Read(.sysconfig.kernel.MODULES_LOADED_ON_BOOT);
+ y2milestone("/etc/sysconfig/kernel:MODULES_LOADED_ON_BOOT: %1", on_boot_sysconfig);
+
+ list<string> on_boot_modules = splitstring(on_boot_sysconfig, " ");
+ on_boot_modules = filter(string mod, on_boot_modules, {return mod != nil && mod != "";});
+ y2milestone("Load modules: %1", on_boot_modules);
+
+ // add the module to sysconfig if it is missing
+ if (!contains(on_boot_modules, module_name))
+ {
+ y2milestone("Adding %1 to MODULES_LOADED_ON_BOOT", module_name);
+ if (on_boot_sysconfig != "")
+ {
+ on_boot_sysconfig = on_boot_sysconfig + " ";
+ }
+
+ on_boot_sysconfig = on_boot_sysconfig + module_name;
+ y2milestone("New MODULES_LOADED_ON_BOOT value: %1", on_boot_sysconfig);
+
+ ret = ret && SCR::Write(.sysconfig.kernel.MODULES_LOADED_ON_BOOT, on_boot_sysconfig);
+ }
+ }
}
return ret;
}
@@ -130,10 +159,60 @@
);
string slot_option = mergestring(drivers, ",");
- y2milestone("Writing slots option: %1", slot_option);
- // write 'snd' options
- SCR::Write( add(.modprobe_sound.options, "snd"), $[ "slots" : slot_option ]);
+ // write 'snd' options or remove the option line if there is no sound card
+ if (slot_option != "")
+ {
+ y2milestone("Writing slots option: %1", slot_option);
+ SCR::Write(add(.modprobe_sound.options, "snd"), $[ "slots" : slot_option ]);
+ }
+ else
+ {
+ y2milestone("Removing slots option");
+ SCR::Write(add(.modprobe_sound.options, "snd"), nil);
+ }
+ }
+
+ void RemovedUnusuedModulesFromSysconfig()
+ {
+ // remove unused modules from MODULES_LOADED_ON_BOOT
+ string on_boot_sysconfig = (string)SCR::Read(.sysconfig.kernel.MODULES_LOADED_ON_BOOT);
+ y2milestone("/etc/sysconfig/kernel:MODULES_LOADED_ON_BOOT: %1", on_boot_sysconfig);
+
+ list<string> on_boot_modules = splitstring(on_boot_sysconfig, " ");
+ on_boot_modules = filter(string mod, on_boot_modules, {return mod != nil && mod != "";});
+ y2debug("Module list: %1", on_boot_modules);
+
+ list<string> removed_modules = toset(maplist(map card, Sound::removed_info,
+ {return card["module"]:"";}));
+ removed_modules = filter(string mod, removed_modules, {return mod != nil && mod != "";});
+
+ boolean modified = false;
+ foreach(string removed_module, removed_modules,
+ {
+ // remove the module from sysconfig if it is there
+ if (contains(on_boot_modules, removed_module))
+ {
+ y2milestone("Removing %1 from MODULES_LOADED_ON_BOOT", removed_module);
+
+ // remove the module
+ on_boot_modules = filter(string mod, on_boot_modules, {return mod != removed_module;});
+ modified = true;
+ }
+ }
+ );
+
+ // write the change
+ if (modified)
+ {
+ on_boot_sysconfig = mergestring(on_boot_modules, " ");
+ y2milestone("New MODULES_LOADED_ON_BOOT value: %1", on_boot_sysconfig);
+ SCR::Write(.sysconfig.kernel.MODULES_LOADED_ON_BOOT, on_boot_sysconfig);
+ }
+ else
+ {
+ y2milestone("Nothing removed from MODULES_LOADED_ON_BOOT");
+ }
}
/**
@@ -142,8 +221,8 @@
* @param save_info save info
* @return void
*/
-
define void SaveModulesOptions(list save_info) ``{
+ y2milestone("SaveModulesOptions: %1", save_info);
path mod_options = .modprobe_sound.options;
@@ -164,6 +243,10 @@
SCR::Execute(.target.bash, "/usr/bin/touch /etc/modprobe.d/sound");
}
+ // must be called before SaveOneModulesEntry()
+ // to write the module back if it is used by another configured card!!
+ RemovedUnusuedModulesFromSysconfig();
+
foreach(string op, configured_options,
{
if (!contains(mods, op))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sound-2.16.9/VERSION new/yast2-sound-2.16.10/VERSION
--- old/yast2-sound-2.16.9/VERSION 2008-04-25 13:09:47.000000000 +0200
+++ new/yast2-sound-2.16.10/VERSION 2008-04-30 10:55:04.000000000 +0200
@@ -1 +1 @@
-2.16.9
+2.16.10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package scons
checked in at Thu May 1 14:52:34 CEST 2008.
--------
--- scons/scons.changes 2008-04-22 13:56:09.000000000 +0200
+++ /mounts/work_src_done/STABLE/scons/scons.changes 2008-04-30 15:55:41.000000000 +0200
@@ -1,0 +2,14 @@
+Wed Apr 30 15:54:55 CEST 2008 - prusnak(a)suse.cz
+
+- updated to 0.98.3
+ * fix use of $CXXFLAGS when building C++ shared object files
+ * fix a regression when a Builder's source_scanner doesn't select
+ a more specific scanner for the suffix of a specified source file
+ * fix the Options object backwards compatibility so people can still
+ "import SCons.Options.{Bool,Enum,List,Package,Path}Option" submodules
+ * fix searching for implicit dependencies when an Entry Node shows up
+ in the search path list
+ * fix expansion of $FORTRANMODDIR in the default Fortran command line(s)
+ when it's set to something like ${TARGET.dir}
+
+-------------------------------------------------------------------
Old:
----
scons-0.98.2-fix-install.patch
scons-0.98.2-noenv.patch
scons-0.98.2.tar.bz2
New:
----
scons-0.98.3-fix-install.patch
scons-0.98.3-noenv.patch
scons-0.98.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scons.spec ++++++
--- /var/tmp/diff_new_pack.ed6702/_old 2008-05-01 14:51:55.000000000 +0200
+++ /var/tmp/diff_new_pack.ed6702/_new 2008-05-01 14:51:55.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package scons (Version 0.98.2)
+# spec file for package scons (Version 0.98.3)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -14,7 +14,7 @@
Name: scons
BuildRequires: python-devel
Summary: Replacement for Make
-Version: 0.98.2
+Version: 0.98.3
Release: 1
Source0: %{name}-%{version}.tar.bz2
Source1: scons-user.html
@@ -82,6 +82,17 @@
%doc CHANGES.txt LICENSE.txt README.txt RELEASE.txt scons-user.html
%changelog
+* Wed Apr 30 2008 prusnak(a)suse.cz
+- updated to 0.98.3
+ * fix use of $CXXFLAGS when building C++ shared object files
+ * fix a regression when a Builder's source_scanner doesn't select
+ a more specific scanner for the suffix of a specified source file
+ * fix the Options object backwards compatibility so people can still
+ "import SCons.Options.{Bool,Enum,List,Package,Path}Option" submodules
+ * fix searching for implicit dependencies when an Entry Node shows up
+ in the search path list
+ * fix expansion of $FORTRANMODDIR in the default Fortran command line(s)
+ when it's set to something like ${TARGET.dir}
* Tue Apr 22 2008 prusnak(a)suse.cz
- updated to 0.98.2
* changes too numerous to list - see CHANGES.txt
++++++ scons-0.98.2-fix-install.patch -> scons-0.98.3-fix-install.patch ++++++
++++++ scons-0.98.2-noenv.patch -> scons-0.98.3-noenv.patch ++++++
++++++ scons-0.98.2.tar.bz2 -> scons-0.98.3.tar.bz2 ++++++
++++ 2983 lines of diff (skipped)
++++++ scons-user.html ++++++
--- scons/scons-user.html 2008-04-22 13:40:30.000000000 +0200
+++ /mounts/work_src_done/STABLE/scons/scons-user.html 2008-04-30 14:07:38.000000000 +0200
@@ -2,7 +2,7 @@
<HTML
><HEAD
><TITLE
->SCons User Guide 0.98.2</TITLE
+>SCons User Guide 0.98.3</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
@@ -24,7 +24,7 @@
CLASS="title"
><A
NAME="AEN2"
->SCons User Guide 0.98.2</A
+>SCons User Guide 0.98.3</A
></H1
><H3
CLASS="author"
@@ -2235,11 +2235,11 @@
The first step is to download either the
<TT
CLASS="filename"
->scons-0.98.2.tar.gz</TT
+>scons-0.98.3.tar.gz</TT
>
or <TT
CLASS="filename"
->scons-0.98.2.zip</TT
+>scons-0.98.3.zip</TT
>,
which are available from the SCons download page at
<A
@@ -2264,7 +2264,7 @@
This will create a directory called
<TT
CLASS="filename"
->scons-0.98.2</TT
+>scons-0.98.3</TT
>,
usually in your local directory.
Then change your working directory to that directory
@@ -2278,7 +2278,7 @@
CLASS="screen"
> # <KBD
CLASS="userinput"
->cd scons-0.98.2</KBD
+>cd scons-0.98.3</KBD
>
# <KBD
CLASS="userinput"
@@ -2392,12 +2392,12 @@
in the
<TT
CLASS="filename"
->/usr/lib/scons-0.98.2</TT
+>/usr/lib/scons-0.98.3</TT
>
or
<TT
CLASS="filename"
->C:\Python2.2\scons-0.98.2</TT
+>C:\Python2.2\scons-0.98.3</TT
>
directory, for example.
@@ -2505,7 +2505,7 @@
above example would install the build engine in
<TT
CLASS="filename"
->/opt/scons/lib/scons-0.98.2</TT
+>/opt/scons/lib/scons-0.98.3</TT
>.
</P
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-qt-pkg
checked in at Thu May 1 14:51:59 CEST 2008.
--------
--- yast2-qt-pkg/yast2-qt-pkg.changes 2008-04-25 17:30:00.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-qt-pkg/yast2-qt-pkg.changes 2008-04-30 17:52:15.777878000 +0200
@@ -1,0 +2,7 @@
+Wed Apr 30 15:21:09 CEST 2008 - lslezak(a)suse.cz
+
+- display "Repository" menu only when requested by `opt(`repoMgr)
+ option (bnc#381956)
+- V 2.16.40
+
+-------------------------------------------------------------------
Old:
----
yast2-qt-pkg-2.16.39.tar.bz2
New:
----
yast2-qt-pkg-2.16.40.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-qt-pkg.spec ++++++
--- /var/tmp/diff_new_pack.cQ6245/_old 2008-05-01 14:51:47.000000000 +0200
+++ /var/tmp/diff_new_pack.cQ6245/_new 2008-05-01 14:51:47.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-qt-pkg (Version 2.16.39)
+# spec file for package yast2-qt-pkg (Version 2.16.40)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
Name: yast2-qt-pkg
-Version: 2.16.39
+Version: 2.16.40
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-qt-pkg-2.16.39.tar.bz2
+Source0: yast2-qt-pkg-2.16.40.tar.bz2
BuildRequires: docbook-xsl-stylesheets doxygen libdrm-devel libjpeg-devel libxcrypt-devel
BuildRequires: libqt4-devel libxslt perl-XML-Writer sgml-skel update-desktop-files
Summary: YaST2 - Graphical User Interface
@@ -24,9 +24,9 @@
Requires: yast2-qt >= 2.16.25
BuildRequires: yast2-qt-devel >= 2.16.25
BuildRequires: libzypp-devel >= 4.2.4
-BuildRequires: yast2-libyui-devel >= 2.16.37
+BuildRequires: yast2-libyui-devel >= 2.16.47
Requires: libzypp >= 4.2.4
-Requires: yast2-libyui >= 2.16.37
+Requires: yast2-libyui >= 2.16.47
Requires: yast2_theme >= 2.16.1
Provides: yast2-qt:/usr/lib/YaST2/plugin/libpy2qt_pkg.so.2
Provides: yast2_ui_pkg
@@ -72,6 +72,10 @@
%_libdir/YaST2/plugin/libpy2qt_pkg.so
%changelog
+* Wed Apr 30 2008 lslezak(a)suse.cz
+- display "Repository" menu only when requested by `opt(`repoMgr)
+ option (bnc#381956)
+- V 2.16.40
* Fri Apr 25 2008 dmacvicar(a)suse.de
- make rpm groups view use packagekit groups
with nice icons. Get rid of useless tree
++++++ yast2-qt-pkg-2.16.39.tar.bz2 -> yast2-qt-pkg-2.16.40.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-pkg-2.16.39/package/yast2-qt-pkg.changes new/yast2-qt-pkg-2.16.40/package/yast2-qt-pkg.changes
--- old/yast2-qt-pkg-2.16.39/package/yast2-qt-pkg.changes 2008-04-25 17:30:04.000000000 +0200
+++ new/yast2-qt-pkg-2.16.40/package/yast2-qt-pkg.changes 2008-04-30 17:51:46.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Apr 30 15:21:09 CEST 2008 - lslezak(a)suse.cz
+
+- display "Repository" menu only when requested by `opt(`repoMgr)
+ option (bnc#381956)
+- V 2.16.40
+
+-------------------------------------------------------------------
Fri Apr 25 12:14:45 CEST 2008 - dmacvicar(a)suse.de
- make rpm groups view use packagekit groups
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-pkg-2.16.39/src/abandon_all_changes.diff new/yast2-qt-pkg-2.16.40/src/abandon_all_changes.diff
--- old/yast2-qt-pkg-2.16.39/src/abandon_all_changes.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-qt-pkg-2.16.40/src/abandon_all_changes.diff 2008-04-30 17:51:46.000000000 +0200
@@ -0,0 +1,49 @@
+Index: YQPackageSelectorBase.cc
+===================================================================
+--- YQPackageSelectorBase.cc (Revision 47069)
++++ YQPackageSelectorBase.cc (Arbeitskopie)
+@@ -214,15 +214,25 @@
+ yuiMilestone() << "diffState() reports changed patches" << endl;
+ }
+
+- if ( ! changes ||
+- ( QMessageBox::warning( this, "",
+- _( "Abandon all changes?" ),
+- _( "&Abandon" ), _( "&Cancel" ), "",
+- 1, // defaultButtonNumber (from 0)
+- 1 ) // escapeButtonNumber
+- == 0 ) // Proceed upon button #0 ( OK )
+- )
++#warning DEBUG - remove this before check-in!
++ changes = true;
++
++ bool doCancel = true;
++
++ if ( changes )
+ {
++ int button = QMessageBox::warning( this, "",
++ _( "Abandon all changes?" ),
++ _( "&Abandon" ), _( "&Cancel" ), "",
++ 1, // defaultButtonNumber (from 0)
++ 1 ); // escapeButtonNumber
++
++ yuiMilestone() << "\"Abandon all changes\" dialog closed with " << button << endl;
++ doCancel == ( button == 0 ); // OK
++ }
++
++ if ( doCancel )
++ {
+ zyppPool().restoreState<zypp::Package >();
+ zyppPool().restoreState<zypp::Pattern >();
+ zyppPool().restoreState<zypp::Patch >();
+@@ -230,6 +240,10 @@
+ yuiMilestone() << "Closing PackageSelector with \"Cancel\"" << endl;
+ YQUI::ui()->sendEvent( new YCancelEvent() );
+ }
++ else
++ {
++ yuiMilestone() << "NOT closing PackageSelector" << endl;
++ }
+ }
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-pkg-2.16.39/src/x.diff new/yast2-qt-pkg-2.16.40/src/x.diff
--- old/yast2-qt-pkg-2.16.39/src/x.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-qt-pkg-2.16.40/src/x.diff 2008-04-30 17:51:46.000000000 +0200
@@ -0,0 +1,55 @@
+Index: YQPackageSelectorBase.cc
+===================================================================
+--- YQPackageSelectorBase.cc (Revision 47241)
++++ YQPackageSelectorBase.cc (Arbeitskopie)
+@@ -214,15 +214,31 @@
+ yuiMilestone() << "diffState() reports changed patches" << endl;
+ }
+
+- if ( ! changes ||
+- ( QMessageBox::warning( this, "",
+- _( "Abandon all changes?" ),
+- _( "&Abandon" ), _( "&Cancel" ), "",
+- 1, // defaultButtonNumber (from 0)
+- 1 ) // escapeButtonNumber
+- == 0 ) // Proceed upon button #0 ( OK )
+- )
++#warning DEBUG - remove this before check-in!
++ changes = true;
++
++ bool doCancel = true;
++
++ if ( changes )
+ {
++ yuiMilestone() << "Packages changed - asking for confirmation" << endl;
++
++ int button = QMessageBox::warning( this, "",
++ _( "Abandon all changes?" ),
++ _( "&Abandon" ), _( "&Cancel" ), "",
++ 1, // defaultButtonNumber (from 0)
++ 1 ); // escapeButtonNumber
++
++ yuiMilestone() << "\"Abandon all changes\" dialog closed with " << button << endl;
++ doCancel = ( button == 0 ); // OK
++ }
++ else
++ {
++ yuiMilestone() << "No changes" << endl;
++ }
++
++ if ( doCancel )
++ {
+ zyppPool().restoreState<zypp::Package >();
+ zyppPool().restoreState<zypp::Pattern >();
+ zyppPool().restoreState<zypp::Patch >();
+@@ -230,6 +246,10 @@
+ yuiMilestone() << "Closing PackageSelector with \"Cancel\"" << endl;
+ YQUI::ui()->sendEvent( new YCancelEvent() );
+ }
++ else
++ {
++ yuiMilestone() << "NOT closing PackageSelector" << endl;
++ }
+ }
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-pkg-2.16.39/src/YQPackageSelector.cc new/yast2-qt-pkg-2.16.40/src/YQPackageSelector.cc
--- old/yast2-qt-pkg-2.16.39/src/YQPackageSelector.cc 2008-04-25 17:30:04.000000000 +0200
+++ new/yast2-qt-pkg-2.16.40/src/YQPackageSelector.cc 2008-04-30 17:51:45.000000000 +0200
@@ -727,12 +727,18 @@
_patchList->addAllInListSubMenu( _patchMenu );
}
- // Repository menu
- _repositoryMenu = new QMenu( _menuBar );
- Q_CHECK_PTR( _repositoryMenu );
- action = _menuBar->addMenu( _repositoryMenu );
- action->setText(_( "&Repositories" ));
- _repositoryMenu->addAction( _( "Repository &Manager..." ), this, SLOT( repoManager() ), Qt::CTRL + Qt::Key_M );
+ // add repository menu if requested
+ if (repoMgrEnabled())
+ {
+ yuiDebug() << "Adding the repo manager menu" << std::endl;
+
+ // Repository menu
+ _repositoryMenu = new QMenu( _menuBar );
+ Q_CHECK_PTR( _repositoryMenu );
+ action = _menuBar->addMenu( _repositoryMenu );
+ action->setText(_( "&Repositories" ));
+ _repositoryMenu->addAction( _( "Repository &Manager..." ), this, SLOT( repoManager() ), Qt::CTRL + Qt::Key_M );
+ }
//
// Extras menu
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-pkg-2.16.39/VERSION.cmake new/yast2-qt-pkg-2.16.40/VERSION.cmake
--- old/yast2-qt-pkg-2.16.39/VERSION.cmake 2008-04-25 17:30:04.000000000 +0200
+++ new/yast2-qt-pkg-2.16.40/VERSION.cmake 2008-04-30 17:51:46.000000000 +0200
@@ -1,3 +1,3 @@
SET(VERSION_MAJOR "2")
SET(VERSION_MINOR "16")
-SET(VERSION_PATCH "39")
+SET(VERSION_PATCH "40")
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-pkg-2.16.39/yast2-qt-pkg.spec.in new/yast2-qt-pkg-2.16.40/yast2-qt-pkg.spec.in
--- old/yast2-qt-pkg-2.16.39/yast2-qt-pkg.spec.in 2008-04-25 17:30:04.000000000 +0200
+++ new/yast2-qt-pkg-2.16.40/yast2-qt-pkg.spec.in 2008-04-30 17:51:46.000000000 +0200
@@ -10,9 +10,9 @@
Requires: yast2-qt >= 2.16.25
BuildRequires: yast2-qt-devel >= 2.16.25
BuildRequires: libzypp-devel >= 4.2.4
-BuildRequires: yast2-libyui-devel >= 2.16.37
+BuildRequires: yast2-libyui-devel >= 2.16.47
Requires: libzypp >= 4.2.4
-Requires: yast2-libyui >= 2.16.37
+Requires: yast2-libyui >= 2.16.47
Requires: yast2_theme >= 2.16.1
Provides: yast2-qt:/usr/lib/YaST2/plugin/libpy2qt_pkg.so.2
Provides: yast2_ui_pkg
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rpmlint-Factory
checked in at Thu May 1 14:51:48 CEST 2008.
--------
--- rpmlint-Factory/rpmlint-Factory.changes 2008-04-17 10:15:34.000000000 +0200
+++ /mounts/work_src_done/STABLE/rpmlint-Factory/rpmlint-Factory.changes 2008-05-01 13:29:26.000000000 +0200
@@ -1,0 +2,5 @@
+Thu May 1 13:28:39 CEST 2008 - dmueller(a)suse.de
+
+- add fatal badness for incorrect kmp deps (#384084bnc)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint-Factory.spec ++++++
--- /var/tmp/diff_new_pack.rP5458/_old 2008-05-01 14:51:29.000000000 +0200
+++ /var/tmp/diff_new_pack.rP5458/_new 2008-05-01 14:51:29.000000000 +0200
@@ -15,7 +15,7 @@
Requires: rpmlint-mini
Summary: Rpm correctness checker - Factory configuration
Version: 1.0
-Release: 3
+Release: 6
Url: http://rpmlint.zarb.org/
License: GPL v2 or later
Group: System/Packages
@@ -52,6 +52,8 @@
/etc/rpmlint/config
%changelog
+* Thu May 01 2008 dmueller(a)suse.de
+- add fatal badness for incorrect kmp deps (#384084bnc)
* Thu Apr 17 2008 adrian(a)suse.de
- add GPL v2 COPYING file and notice
* Tue Apr 08 2008 dmueller(a)suse.de
++++++ config ++++++
--- rpmlint-Factory/config 2008-04-17 10:15:14.000000000 +0200
+++ /mounts/work_src_done/STABLE/rpmlint-Factory/config 2008-05-01 13:27:50.000000000 +0200
@@ -61,3 +61,4 @@
setBadness('libtool-wrapper-in-package', 10000)
setBadness('libtool-wrapper-in-package', 10000)
setBadness('invalid-filepath-dependency', 10000)
+setBadness('suse-policy-kmp-missing-supplements', 10000)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0