Author: jkupec
Date: Fri Nov 16 18:27:36 2007
New Revision: 7848
URL: http://svn.opensuse.org/viewcvs/zypp?rev=7848&view=rev
Log:
- part of zypper.* split into zypper-main.*
- further refactoring planned
Added:
trunk/zypper/src/zypper-main.cc
trunk/zypper/src/zypper-main.h
Modified:
trunk/zypper/src/CMakeLists.txt
trunk/zypper/src/zypper-callbacks.cc
trunk/zypper/src/zypper-getopt.cc
trunk/zypper/src/zypper-info.cc
trunk/zypper/src/zypper-misc.cc
trunk/zypper/src/zypper-repos.cc
trunk/zypper/src/zypper-search.cc
trunk/zypper/src/zypper-search.h
trunk/zypper/src/zypper-utils.cc
trunk/zypper/src/zypper-utils.h
trunk/zypper/src/zypper.cc
trunk/zypper/src/zypper.h
Modified: trunk/zypper/src/CMakeLists.txt
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/CMakeLists.txt?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/CMakeLists.txt (original)
+++ trunk/zypper/src/CMakeLists.txt Fri Nov 16 18:27:36 2007
@@ -5,6 +5,7 @@
SET (zypper_HEADERS
zypper.h
+ zypper-main.h
zypper-command.h
zypper-getopt.h
zypper-repos.h
@@ -22,6 +23,7 @@
SET( zypper_SRCS
zypper.cc
+ zypper-main.cc
zypper-command.cc
zypper-getopt.cc
zypper-repos.cc
Modified: trunk/zypper/src/zypper-callbacks.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-callbacks.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-callbacks.cc (original)
+++ trunk/zypper/src/zypper-callbacks.cc Fri Nov 16 18:27:36 2007
@@ -3,8 +3,11 @@
#include
+#include "zypp/base/Logger.h"
+
#include "AliveCursor.h"
#include "zypper.h"
+#include "zypper-main.h"
using namespace std;
using namespace boost;
Modified: trunk/zypper/src/zypper-getopt.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-getopt.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-getopt.cc (original)
+++ trunk/zypper/src/zypper-getopt.cc Fri Nov 16 18:27:36 2007
@@ -1,5 +1,5 @@
#include "zypper-getopt.h"
-#include "zypper.h"
+#include "zypper-main.h"
#include <iostream>
#include
Modified: trunk/zypper/src/zypper-info.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-info.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-info.cc (original)
+++ trunk/zypper/src/zypper-info.cc Fri Nov 16 18:27:36 2007
@@ -9,6 +9,7 @@
#include
#include "zypper.h"
+#include "zypper-main.h"
#include "zypper-utils.h"
#include "zypper-misc.h"
Added: trunk/zypper/src/zypper-main.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-main.cc?rev=7848&view=auto
==============================================================================
--- trunk/zypper/src/zypper-main.cc (added)
+++ trunk/zypper/src/zypper-main.cc Fri Nov 16 18:27:36 2007
@@ -0,0 +1,61 @@
+#include <iostream>
+
+#include "zypp/base/Logger.h"
+#include "zypp/base/LogControl.h"
+
+#include "zypper-main.h"
+#include "zypper.h"
+
+#define ZYPPER_LOG "/var/log/zypper.log"
+#undef ZYPP_BASE_LOGGER_LOGGROUP
+#define ZYPP_BASE_LOGGER_LOGGROUP "zypper"
+
+using namespace std;
+
+int main(int argc, char **argv)
+{
+ struct Bye {
+ ~Bye() {
+ cerr_vv << "Exiting main()" << endl;
+ }
+ } say_goodbye __attribute__ ((__unused__));
+
+ // set locale
+ setlocale (LC_ALL, "");
+ bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+
+ // logging
+ const char *logfile = getenv("ZYPP_LOGFILE");
+ if (logfile == NULL)
+ logfile = ZYPPER_LOG;
+ zypp::base::LogControl::instance().logfile( logfile );
+
+ MIL << "Hi, me zypper " VERSION " built " << __DATE__ << " " << __TIME__ << endl;
+
+ // parse global options and the command
+ int ret = process_globals (argc, argv);
+ if (ret != ZYPPER_EXIT_OK)
+ return ret;
+
+ switch(command.toEnum())
+ {
+ case ZypperCommand::SHELL_e:
+ command_shell();
+ return ZYPPER_EXIT_OK;
+
+ case ZypperCommand::NONE_e:
+ {
+ if (ghelp)
+ return ZYPPER_EXIT_OK;
+ else
+ return ZYPPER_EXIT_ERR_SYNTAX;
+ }
+
+ default:
+ return safe_one_command(argc, argv);
+ }
+
+ cerr_v << "This line should never be reached." << endl;
+ return ZYPPER_EXIT_ERR_BUG;
+}
Added: trunk/zypper/src/zypper-main.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-main.h?rev=7848&view=auto
==============================================================================
--- trunk/zypper/src/zypper-main.h (added)
+++ trunk/zypper/src/zypper-main.h Fri Nov 16 18:27:36 2007
@@ -0,0 +1,68 @@
+#ifndef ZYPPERMAIN_H_
+#define ZYPPERMAIN_H_
+
+#include
+
+// ===== exit codes ======
+
+#define ZYPPER_EXIT_OK 0
+// errors
+#define ZYPPER_EXIT_ERR_BUG 1 // undetermined error
+#define ZYPPER_EXIT_ERR_SYNTAX 2 // syntax error, e.g. zypper instal, zypper in --unknown option
+#define ZYPPER_EXIT_ERR_INVALID_ARGS 3 // invalid arguments given, e.g. zypper source-add httttps://asdf.net
+#define ZYPPER_EXIT_ERR_ZYPP 4 // error indicated from within libzypp, e.g. God = zypp::getZYpp() threw an exception
+#define ZYPPER_EXIT_ERR_PRIVILEGES 5 // unsufficient privileges for the operation
+#define ZYPPER_EXIT_NO_REPOS 6 // no repositories defined
+
+// info
+#define ZYPPER_EXIT_INF_UPDATE_NEEDED 100 // update needed
+#define ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED 101 // security update needed
+#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 VERBOSITY_NORMAL 0
+#define VERBOSITY_MEDIUM 1
+#define VERBOSITY_HIGH 2
+
+/**
+ * Macro to filter output above the current verbosity level.
+ *
+ * \see Output Macros
+ * \see Settings::verbosity
+ */
+#define COND_STREAM(STREAM,LEVEL) ((gSettings.verbosity >= LEVEL) ? STREAM : no_stream)
+
+/** \name Output Macros
+ * Alway use these macros to produce output so that the verbosity options
+ * like -v or --quiet are respected. Use standard cout and cerr only in
+ * cases where it is desirable to ignore them (e.g. help texts (when -h is
+ * used) or brief error messages must always be displayed, even if --quiet
+ * has been specified).
+ */
+//!@{
+//! normal output
+#define cout_n COND_STREAM(cout, VERBOSITY_NORMAL)
+//! verbose output
+#define cout_v COND_STREAM(cout, VERBOSITY_MEDIUM)
+//! verbose error output
+#define cerr_v COND_STREAM(cerr, VERBOSITY_MEDIUM)
+//! debug info output
+#define cout_vv COND_STREAM(cout, VERBOSITY_HIGH)
+//! debug error output (details)
+#define cerr_vv COND_STREAM(cerr, VERBOSITY_HIGH)
+//!@}
+
+// undefine _ and _PL macros from libzypp
+#ifdef _
+#undef _
+#endif
+#ifdef _PL
+#undef _PL
+#endif
+
+// define new macros
+#define _(MSG) ::gettext(MSG)
+#define _PL(MSG1,MSG2,N) ::ngettext(MSG1,MSG2,N)
+
+#endif /*ZYPPERMAIN_H_*/
Modified: trunk/zypper/src/zypper-misc.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-misc.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-misc.cc (original)
+++ trunk/zypper/src/zypper-misc.cc Fri Nov 16 18:27:36 2007
@@ -5,6 +5,7 @@
#include
#include
+#include "zypp/base/Logger.h"
#include
#include
@@ -22,6 +23,7 @@
#include
#include "zypper.h"
+#include "zypper-main.h"
#include "zypper-utils.h"
#include "zypper-getopt.h"
#include "zypper-misc.h"
Modified: trunk/zypper/src/zypper-repos.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-repos.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-repos.cc (original)
+++ trunk/zypper/src/zypper-repos.cc Fri Nov 16 18:27:36 2007
@@ -5,6 +5,7 @@
#include
#include
+#include "zypp/base/Logger.h"
#include
#include
@@ -15,6 +16,7 @@
#include
#include "zypper.h"
+#include "zypper-main.h"
#include "zypper-getopt.h"
#include "zypper-tabulator.h"
#include "zypper-callbacks.h"
Modified: trunk/zypper/src/zypper-search.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-search.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-search.cc (original)
+++ trunk/zypper/src/zypper-search.cc Fri Nov 16 18:27:36 2007
@@ -1,6 +1,7 @@
#include "zypper-search.h"
#include "zypper.h"
+#include "zypper-main.h"
#include "zypper-repos.h"
#include "zypper-misc.h"
Modified: trunk/zypper/src/zypper-search.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-search.h?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-search.h (original)
+++ trunk/zypper/src/zypper-search.h Fri Nov 16 18:27:36 2007
@@ -21,6 +21,7 @@
#include
#include "zypper.h"
+#include "zypper-main.h"
#include "zypper-utils.h"
#include "zypper-getopt.h"
#include "zypper-tabulator.h"
Modified: trunk/zypper/src/zypper-utils.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-utils.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-utils.cc (original)
+++ trunk/zypper/src/zypper-utils.cc Fri Nov 16 18:27:36 2007
@@ -1,10 +1,11 @@
-#include
+#include "zypp/base/Logger.h"
+#include "zypp/media/MediaManager.h"
-#include "zypper.h"
+#include "zypper-main.h"
+#include "zypper-utils.h"
using namespace std;
using namespace zypp;
-using namespace zypp::detail;
/// tell the user to report a bug, and how
// (multiline, with endls)
Modified: trunk/zypper/src/zypper-utils.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper-utils.h?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper-utils.h (original)
+++ trunk/zypper/src/zypper-utils.h Fri Nov 16 18:27:36 2007
@@ -4,8 +4,8 @@
#include <ostream>
#include <string>
-#include
-#include
+#include "zypp/Url.h"
+#include "zypp/Resolvable.h"
/**
* Write a suggestion to report a bug to the specified stream.
Modified: trunk/zypper/src/zypper.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper.cc?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper.cc (original)
+++ trunk/zypper/src/zypper.cc Fri Nov 16 18:27:36 2007
@@ -21,12 +21,12 @@
#include
#include
-#include
#include "zypp/base/UserRequestException.h"
#include
#include
+#include "zypper-main.h"
#include "zypper.h"
#include "zypper-repos.h"
#include "zypper-misc.h"
@@ -42,10 +42,6 @@
#include "zypper-command.h"
#include "zypper-utils.h"
-#define ZYPPER_LOG "/var/log/zypper.log"
-#undef ZYPP_BASE_LOGGER_LOGGROUP
-#define ZYPP_BASE_LOGGER_LOGGROUP "zypper"
-
using namespace std;
using namespace zypp;
using namespace zypp::detail;
@@ -57,6 +53,7 @@
parsed_opts gopts; // global options
parsed_opts copts; // command options
ZypperCommand command(ZypperCommand::NONE);
+bool ghelp = false;
ostream no_stream(NULL);
@@ -67,8 +64,6 @@
DigestCallbacks digest_callbacks;
-bool ghelp = false;
-
/*
* parses global options, returns the command
*
@@ -1691,6 +1686,8 @@
void command_shell ()
{
+ gSettings.in_shell = true;
+
string histfile;
try {
Pathname p (getenv ("HOME"));
@@ -1748,56 +1745,6 @@
write_history (histfile.c_str ());
}
-// ----------------------------------------------------------------------------
-
-int main(int argc, char **argv)
-{
- struct Bye {
- ~Bye() {
- cerr_vv << "Exiting main()" << endl;
- }
- } say_goodbye __attribute__ ((__unused__));
-
- // set locale
- setlocale (LC_ALL, "");
- bindtextdomain (PACKAGE, LOCALEDIR);
- textdomain (PACKAGE);
-
- // logging
- const char *logfile = getenv("ZYPP_LOGFILE");
- if (logfile == NULL)
- logfile = ZYPPER_LOG;
- zypp::base::LogControl::instance().logfile( logfile );
-
- MIL << "Hi, me zypper " VERSION " built " << __DATE__ << " " << __TIME__ << endl;
-
- // parse global options and the command
- int ret = process_globals (argc, argv);
- if (ret != ZYPPER_EXIT_OK)
- return ret;
-
- switch(command.toEnum())
- {
- case ZypperCommand::SHELL_e:
- command_shell();
- return ZYPPER_EXIT_OK;
-
- case ZypperCommand::NONE_e:
- {
- if (ghelp)
- return ZYPPER_EXIT_OK;
- else
- return ZYPPER_EXIT_ERR_SYNTAX;
- }
-
- default:
- return safe_one_command(argc, argv);
- }
-
- cerr_v << "This line should never be reached." << endl;
- return ZYPPER_EXIT_ERR_BUG;
-}
-
// Local Variables:
// c-basic-offset: 2
// End:
Modified: trunk/zypper/src/zypper.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/zypper.h?rev=7848&r1=7847&r2=7848&view=diff
==============================================================================
--- trunk/zypper/src/zypper.h (original)
+++ trunk/zypper/src/zypper.h Fri Nov 16 18:27:36 2007
@@ -1,32 +1,12 @@
#ifndef ZYPPER_H
#define ZYPPER_H
-#include
-
-#include "zypp/base/Logger.h"
#include "zypp/ResStore.h"
#include "zypp/RepoInfo.h"
#include "zypp/RepoManager.h"
#include "zypper-command.h"
-// ===== exit codes ======
-
-#define ZYPPER_EXIT_OK 0
-// errors
-#define ZYPPER_EXIT_ERR_BUG 1 // undetermined error
-#define ZYPPER_EXIT_ERR_SYNTAX 2 // syntax error, e.g. zypper instal, zypper in --unknown option
-#define ZYPPER_EXIT_ERR_INVALID_ARGS 3 // invalid arguments given, e.g. zypper source-add httttps://asdf.net
-#define ZYPPER_EXIT_ERR_ZYPP 4 // error indicated from within libzypp, e.g. God = zypp::getZYpp() threw an exception
-#define ZYPPER_EXIT_ERR_PRIVILEGES 5 // unsufficient privileges for the operation
-#define ZYPPER_EXIT_NO_REPOS 6 // no repositories defined
-
-// info
-#define ZYPPER_EXIT_INF_UPDATE_NEEDED 100 // update needed
-#define ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED 101 // security update needed
-#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
-
/**
* Structure for holding various start-up setting.
*/
@@ -42,7 +22,8 @@
no_gpg_checks(false),
license_auto_agree(false),
machine_readable(false),
- root_dir("/")
+ root_dir("/"),
+ in_shell(false)
{}
std::listzypp::Url additional_sources;
@@ -68,6 +49,7 @@
bool machine_readable;
std::string root_dir;
zypp::RepoManagerOptions rm_options;
+ bool in_shell;
};
struct RuntimeData
@@ -94,50 +76,11 @@
extern Settings gSettings;
extern std::ostream no_stream;
extern ZypperCommand command;
+extern bool ghelp;
-#define VERBOSITY_NORMAL 0
-#define VERBOSITY_MEDIUM 1
-#define VERBOSITY_HIGH 2
-
-/**
- * Macro to filter output above the current verbosity level.
- *
- * \see Output Macros
- * \see Settings::verbosity
- */
-#define COND_STREAM(STREAM,LEVEL) ((gSettings.verbosity >= LEVEL) ? STREAM : no_stream)
-
-/** \name Output Macros
- * Alway use these macros to produce output so that the verbosity options
- * like -v or --quiet are respected. Use standard cout and cerr only in
- * cases where it is desirable to ignore them (e.g. help texts (when -h is
- * used) or brief error messages must always be displayed, even if --quiet
- * has been specified).
- */
-//!@{
-//! normal output
-#define cout_n COND_STREAM(cout, VERBOSITY_NORMAL)
-//! verbose output
-#define cout_v COND_STREAM(cout, VERBOSITY_MEDIUM)
-//! verbose error output
-#define cerr_v COND_STREAM(cerr, VERBOSITY_MEDIUM)
-//! debug info output
-#define cout_vv COND_STREAM(cout, VERBOSITY_HIGH)
-//! debug error output (details)
-#define cerr_vv COND_STREAM(cerr, VERBOSITY_HIGH)
-//!@}
-
-// undefine _ and _PL macros from libzypp
-#ifdef _
-#undef _
-#endif
-#ifdef _PL
-#undef _PL
-#endif
-
-// define new macros
-#define _(MSG) ::gettext(MSG)
-#define _PL(MSG1,MSG2,N) ::ngettext(MSG1,MSG2,N)
+void command_shell ();
+int safe_one_command(int argc, char **argv);
+int process_globals(int argc, char **argv);
#endif /*ZYPPER_H*/
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org