Author: jsrain
Date: Fri Feb 15 15:22:27 2008
New Revision: 44522
URL: http://svn.opensuse.org/viewcvs/yast?rev=44522&view=rev
Log:
committed initial version of system update from within running system
Added:
trunk/system-update/
trunk/system-update/MAINTAINER
trunk/system-update/Makefile.cvs
trunk/system-update/RPMNAME
trunk/system-update/VERSION
trunk/system-update/aclocal.m4
trunk/system-update/agents/
trunk/system-update/agents/Makefile.am
trunk/system-update/configure.in.in
trunk/system-update/doc/
trunk/system-update/doc/Makefile.am
trunk/system-update/doc/autodocs/
trunk/system-update/doc/autodocs/Makefile.am
trunk/system-update/package/
trunk/system-update/package/yast2-system-update.changes
trunk/system-update/src/
trunk/system-update/src/Makefile.am
trunk/system-update/src/SystemUpdate.ycp
trunk/system-update/src/config/
trunk/system-update/src/config/Makefile.am
trunk/system-update/src/config/system-update.desktop
trunk/system-update/src/config/system-update.xml
trunk/system-update/src/helps.ycp
trunk/system-update/src/inst_system_update_prepare_system.ycp
trunk/system-update/src/inst_system_update_repo_select.ycp
trunk/system-update/src/system-update.sh
trunk/system-update/src/system-update.ycp
trunk/system-update/testsuite/
trunk/system-update/testsuite/Makefile.am
trunk/system-update/testsuite/tests/
trunk/system-update/testsuite/tests/SystemUpdate.err
trunk/system-update/testsuite/tests/SystemUpdate.out
trunk/system-update/testsuite/tests/SystemUpdate.ycp
trunk/system-update/yast2-system-update.spec.in
Added: trunk/system-update/MAINTAINER
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/MAINTAINER?rev=44522&view=auto
==============================================================================
--- trunk/system-update/MAINTAINER (added)
+++ trunk/system-update/MAINTAINER Fri Feb 15 15:22:27 2008
@@ -0,0 +1 @@
+Jiri Srain
Added: trunk/system-update/Makefile.cvs
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/Makefile.cvs?rev=44522&view=auto
==============================================================================
--- trunk/system-update/Makefile.cvs (added)
+++ trunk/system-update/Makefile.cvs Fri Feb 15 15:22:27 2008
@@ -0,0 +1,22 @@
+#
+# Makefile.cvs
+#
+PREFIX = /usr
+
+LIB = $(shell y2tool get-lib)
+
+configure: all
+ ./configure --prefix=$(PREFIX) --libdir=$(PREFIX)/$(LIB)
+
+all:
+ y2tool y2autoconf
+ y2tool y2automake
+ autoreconf --force --install
+
+install: configure
+ make
+ make install
+
+reconf: all
+ ./config.status --recheck
+ ./config.status
Added: trunk/system-update/RPMNAME
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/RPMNAME?rev=44522&view=auto
==============================================================================
--- trunk/system-update/RPMNAME (added)
+++ trunk/system-update/RPMNAME Fri Feb 15 15:22:27 2008
@@ -0,0 +1 @@
+yast2-system-update
Added: trunk/system-update/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/VERSION?rev=44522&view=auto
==============================================================================
--- trunk/system-update/VERSION (added)
+++ trunk/system-update/VERSION Fri Feb 15 15:22:27 2008
@@ -0,0 +1 @@
+2.15.0
Added: trunk/system-update/aclocal.m4
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/aclocal.m4?rev=44522&view=auto
==============================================================================
--- trunk/system-update/aclocal.m4 (added)
+++ trunk/system-update/aclocal.m4 Fri Feb 15 15:22:27 2008
@@ -0,0 +1,600 @@
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+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 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[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], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# 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])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 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 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 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 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.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 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 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# 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 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 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.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 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 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 2001, 2003, 2005 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.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# 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 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 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.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 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 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
Added: trunk/system-update/agents/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/agents/Makefile.am?rev=44522&view=auto
==============================================================================
--- trunk/system-update/agents/Makefile.am (added)
+++ trunk/system-update/agents/Makefile.am Fri Feb 15 15:22:27 2008
@@ -0,0 +1,7 @@
+# Makefile.am for system-update/agents
+
+agent_SCRIPTS =
+
+scrconf_DATA =
+
+EXTRA_DIST = $(agent_SCRIPTS) $(scrconf_DATA)
Added: trunk/system-update/configure.in.in
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/configure.in.in?rev=44522&view=auto
==============================================================================
--- trunk/system-update/configure.in.in (added)
+++ trunk/system-update/configure.in.in Fri Feb 15 15:22:27 2008
@@ -0,0 +1,12 @@
+## YCP module configure.in.in
+
+## Initialize
+@YAST2-INIT-COMMON@
+@YAST2-INIT-YCP@
+
+## some common checks
+@YAST2-CHECKS-COMMON@
+@YAST2-CHECKS-YCP@
+
+## and generate the output...
+@YAST2-OUTPUT@
Added: trunk/system-update/doc/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/doc/Makefile.am?rev=44522&view=auto
==============================================================================
--- trunk/system-update/doc/Makefile.am (added)
+++ trunk/system-update/doc/Makefile.am Fri Feb 15 15:22:27 2008
@@ -0,0 +1,10 @@
+# Makefile.am for system-update/doc
+
+SUBDIRS = autodocs
+
+htmldir = $(docdir)
+
+doc_DATA =
+html_DATA =
+
+EXTRA_DIST = $(doc_DATA) $(html_DATA)
Added: trunk/system-update/doc/autodocs/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/doc/autodocs/Makefile.am?rev=44522&view=auto
==============================================================================
--- trunk/system-update/doc/autodocs/Makefile.am (added)
+++ trunk/system-update/doc/autodocs/Makefile.am Fri Feb 15 15:22:27 2008
@@ -0,0 +1,3 @@
+# Makefile.am for system-update/doc/autodocs
+
+include $(top_srcdir)/autodocs-ycp.ami
Added: trunk/system-update/package/yast2-system-update.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/package/yast2-system-update.changes?rev=44522&view=auto
==============================================================================
--- trunk/system-update/package/yast2-system-update.changes (added)
+++ trunk/system-update/package/yast2-system-update.changes Fri Feb 15 15:22:27 2008
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Fri Feb 15 15:21:51 CET 2008 - jsrain@suse.cz
+
+- initial version
Added: trunk/system-update/src/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/Makefile.am?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/Makefile.am (added)
+++ trunk/system-update/src/Makefile.am Fri Feb 15 15:22:27 2008
@@ -0,0 +1,28 @@
+# Makefile.am for system-update/src
+
+SUBDIRS=config
+
+yncludedir = @yncludedir@/system-update
+
+client_DATA = \
+ system-update.ycp \
+ inst_system_update_prepare_system.ycp \
+ inst_system_update_repo_select.ycp
+
+ynclude_DATA = \
+ helps.ycp
+
+module_DATA = \
+ SystemUpdate.ycp
+
+ybin_SCRIPTS = \
+ system-update.sh
+
+# create a symlink for local build, #145327
+system-update:
+ ln -sf . $@
+ycpchook = system-update
+
+EXTRA_DIST = $(client_DATA) $(ynclude_DATA) $(module_DATA) $(ybin_SCRIPTS)
+
+include $(top_srcdir)/Makefile.am.common
Added: trunk/system-update/src/SystemUpdate.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/SystemUpdate.ycp?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/SystemUpdate.ycp (added)
+++ trunk/system-update/src/SystemUpdate.ycp Fri Feb 15 15:22:27 2008
@@ -0,0 +1,113 @@
+/* ------------------------------------------------------------------------------
+ * Copyright (c) 2006 Novell, Inc. All Rights Reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of version 2 of the GNU General Public License as published by the
+ * Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, contact Novell, Inc.
+ *
+ * To contact Novell about this file by physical or electronic mail, you may find
+ * current contact information at www.novell.com.
+ * ------------------------------------------------------------------------------
+ */
+
+/**
+ * File: modules/SystemUpdate.ycp
+ * Package: Configuration of system-update
+ * Summary: SystemUpdate settings, input and output functions
+ * Authors: Jiri Srain
+ *
+ * $Id: SystemUpdate.ycp 41350 2007-10-10 16:59:00Z dfiser $
+ *
+ * Representation of the configuration of system-update.
+ * Input and output routines.
+ */
+
+{
+
+module "SystemUpdate";
+textdomain "system-update";
+
+import "Progress";
+import "Report";
+import "Summary";
+import "Message";
+import "Arch";
+
+list<string> images = [ "common", "root" ];
+
+global integer repo = -1;
+
+global string inst_sys_dir = "";
+
+boolean RunCommand (string cmd) {
+ y2milestone ("Executing command %1", cmd);
+ map out = (map)SCR::Execute (.target.bash_output, cmd);
+ integer exit = out["exit"]:-1;
+ if (exit != 0)
+ {
+ Report::Error ("Error");
+ y2error ("Execution failed: %1", out);
+ return false;
+ }
+ return true;
+}
+
+global integer ImagesCount () {
+ return size (images) + 1; // add initrd
+}
+
+global boolean PrepareInstSystem () {
+
+ // TODO add language image to images list
+
+ // first, unpack the initrd
+ // progress title
+ Progress::Title (_("Downloading initial ramdisk..."));
+ string initrd = Pkg::SourceProvideFile (repo, 1, sformat ("/boot/%1/loader/initrd", Arch::architecture ()));
+ Progress::NextStep ();
+ // progress title
+ Progress::Title (_("Uncompressing initial ramdisk..."));
+ string cmd = sformat ("cd %1; gunzip -fc %2 | cpio -i", inst_sys_dir, initrd);
+ if (! RunCommand (cmd))
+ return false;
+
+ boolean ret = true;
+
+ // now unpack other (cramfs/squashfs/..) images
+ foreach (string img, images, {
+ Progress::NextStep ();
+ // progress title
+ Progress::Title (sformat (_("Downloading image %1..."), img));
+ string image = Pkg::SourceProvideFile (repo, 1, sformat ("/boot/%1/%2", Arch::architecture (), img));
+ Progress::NextStep ();
+ // progress title
+ Progress::Title (sformat (_("Uncompressing image %1..."), img));
+ string tmpdir = (string)SCR::Read (.target.tmpdir) + "/inst-sys";
+ cmd = sformat ("test -d %2 || mkdir -p %2 && mount -o loop %1 %2", image, tmpdir);
+ if (! RunCommand (cmd))
+ ret = false;
+
+ // copy inst-sys image out to the system - in order to allow to switch CDs
+ cmd = sformat ("cp -a %2/* %1", inst_sys_dir, tmpdir);
+ if (! RunCommand (cmd))
+ ret = false;
+
+ // umount inst-sys to free the CD drive
+ cmd = sformat ("umount %1", tmpdir);
+ if (! RunCommand (cmd))
+ ret = false;
+ });
+
+ return ret;
+}
+
+/* EOF */
+}
Added: trunk/system-update/src/config/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/config/Makefile.am?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/config/Makefile.am (added)
+++ trunk/system-update/src/config/Makefile.am Fri Feb 15 15:22:27 2008
@@ -0,0 +1,14 @@
+#
+# Makefile.am for update/src
+#
+
+controldir = $(yast2dir)/control
+
+controldir = /etc/YaST2
+
+control_DATA = \
+ system-update.xml
+
+desktop_DATA = system-update.desktop
+
+EXTRA_DIST = $(desktop_DATA) $(control_DATA)
Added: trunk/system-update/src/config/system-update.desktop
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/config/system-update.desktop?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/config/system-update.desktop (added)
+++ trunk/system-update/src/config/system-update.desktop Fri Feb 15 15:22:27 2008
@@ -0,0 +1,24 @@
+[Desktop Entry]
+Type=Application
+Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Misc;
+
+X-KDE-ModuleType=Library
+X-KDE-RootOnly=true
+X-KDE-HasReadOnlyMode=true
+X-KDE-Library=yast2
+X-SuSE-YaST-Call=system-update
+
+X-SuSE-YaST-Group=Misc
+X-SuSE-YaST-Argument=
+X-SuSE-YaST-RootOnly=true
+X-SuSE-YaST-AutoInst=
+X-SuSE-YaST-Geometry=
+X-SuSE-YaST-SortKey=
+X-SuSE-YaST-AutoInstResource=system-update
+
+Icon=yast-system-update
+Exec=/usr/lib/YaST2/bin/system-update.sh
+
+Name=SystemUpdate
+GenericName=system-update
+X-KDE-SubstituteUID=true
Added: trunk/system-update/src/config/system-update.xml
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/config/system-update.xml?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/config/system-update.xml (added)
+++ trunk/system-update/src/config/system-update.xml Fri Feb 15 15:22:27 2008
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!DOCTYPE productDefines SYSTEM "/usr/share/YaST2/control/control.dtd">
+http://www.suse.com/1.0/yast2ns"
+ xmlns:config="http://www.suse.com/1.0/configns">
+
+<!--
+Work around for the text domain
+textdomain="update"
+-->
+
+ <textdomain>update</textdomain>
+ <software>
+ nfs://tullamore.suse.cz/local/inst/os11
+ </software>
+
+ <proposals config:type="list">
+ <proposal>
+ <label>Update Settings</label>
+ <mode>update</mode>
+ <name>update</name>
+ <stage>normal</stage>
+
+ update
+ packages
+ backup
+ language
+
+ </proposal>
+ </proposals>
+
+ <workflows config:type="list">
+ <workflow>
+ <label>Update</label>
+ <defaults>
+ <archs>all</archs>
+ </defaults>
+ <stage>normal</stage>
+ <mode>update</mode>
+ <modules config:type="list">
+ <module>
+ <label>Repository Selection</label>
+ <name>inst_system_update_repo_select</name>
+ </module>
+ <module>
+ <name>inst_system_update_prepare_system</name>
+ <label>Perform Update</label>
+ </module>
+ </modules>
+ </workflow>
+ </workflows>
+</productDefines>
Added: trunk/system-update/src/helps.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/helps.ycp?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/helps.ycp (added)
+++ trunk/system-update/src/helps.ycp Fri Feb 15 15:22:27 2008
@@ -0,0 +1,119 @@
+/* ------------------------------------------------------------------------------
+ * Copyright (c) 2006 Novell, Inc. All Rights Reserved.
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of version 2 of the GNU General Public License as published by the
+ * Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, contact Novell, Inc.
+ *
+ * To contact Novell about this file by physical or electronic mail, you may find
+ * current contact information at www.novell.com.
+ * ------------------------------------------------------------------------------
+ */
+
+/**
+ * File: include/system-update/helps.ycp
+ * Package: Configuration of system-update
+ * Summary: Help texts of all the dialogs
+ * Authors: Jiri Srain
+ *
+ * $Id: helps.ycp 27914 2006-02-13 14:32:08Z locilka $
+ */
+
+{
+
+textdomain "system-update";
+
+/**
+ * All helps are here
+ */
+map HELPS = $[
+
+ /* Read dialog help 1/2 */
+ "read" : _("<p><b><big>Initializing system-update Configuration</big></b><br>
+Please wait...<br></p>
+") +
+
+ /* Read dialog help 2/2 */
+ _("<p><b><big>Aborting Initialization:</big></b><br>
+Safely abort the configuration utility by pressing <b>Abort</b> now.</p>
+"),
+
+ /* Write dialog help 1/2 */
+ "write" : _("<p><b><big>Saving system-update Configuration</big></b><br>
+Please wait...<br></p>
+") +
+
+ /* Write dialog help 2/2 */
+_("<p><b><big>Aborting Saving:</big></b><br>
+Abort the save procedure by pressing <b>Abort</b>.
+An additional dialog informs whether it is safe to do so.
+</p>
+"),
+
+ /* Summary dialog help 1/3 */
+ "summary" : _("<p><b><big>SystemUpdate Configuration</big></b><br>
+Configure system-update here.<br></p>
+") +
+
+ /* Summary dialog help 2/3 */
+ _("<p><b><big>Adding a system-update:</big></b><br>
+Choose an system-update from the list of detected system-updates.
+If your system-update was not detected, use <b>Other (not detected)</b>.
+Then press <b>Configure</b>.</p>
+") +
+
+ /* Summary dialog help 3/3 */
+ _("<p><b><big>Editing or Deleting:</big></b><br>
+If you press <b>Edit</b>, an additional dialog in which to change
+the configuration opens.</p>
+"),
+
+ /* Ovreview dialog help 1/3 */
+ "overview" : _("<p><b><big>SystemUpdate Configuration Overview</big></b><br>
+Obtain an overview of installed system-updates. Additionally
+edit their configurations.<br></p>
+") +
+
+ /* Ovreview dialog help 2/3 */
+_("<p><b><big>Adding a system-update:</big></b><br>
+Press <b>Add</b> to configure a system-update.</p>") +
+
+ /* Ovreview dialog help 3/3 */
+_("<p><b><big>Editing or Deleting:</big></b><br>
+Choose a system-update to change or remove.
+Then press <b>Edit</b> or <b>Delete</b> as desired.</p>
+"),
+
+ /* Configure1 dialog help 1/2 */
+ "c1" : _("<p><b><big>Configuration Part One</big></b><br>
+Press <b>Next</b> to continue.
+<br></p>") +
+
+ /* Configure1 dialog help 2/2 */
+_("<p><b><big>Selecting Something</big></b><br>
+It is not possible. You must code it first. :-)
+</p>"),
+
+ /* Configure2 dialog help 1/2 */
+ "c2" : _("<p><b><big>Configuration Part Two</big></b><br>
+Press <b>Next</b> to continue.
+<br></p>
+") +
+
+ /* Configure2 dialog help 2/2 */
+_("<p><b><big>Selecting Something</big></b><br>
+It is not possible. You must code it first. :-)
+</p>"),
+
+];
+
+/* EOF */
+}
Added: trunk/system-update/src/inst_system_update_prepare_system.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/inst_system_update_prepare_system.ycp?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/inst_system_update_prepare_system.ycp (added)
+++ trunk/system-update/src/inst_system_update_prepare_system.ycp Fri Feb 15 15:22:27 2008
@@ -0,0 +1,99 @@
+{
+ import "GetInstArgs";
+ import "SystemUpdate";
+ import "Progress";
+ import "ProductFeatures";
+ import "Report";
+ import "Installation";
+
+ textdomain "installation";
+
+ symbol ret = `next;
+ if (GetInstArgs::going_back())
+ return `auto;
+
+ list<string> stages = [
+ // progress stage, text in dialog (short, infinitiv)
+ _("Initialize upgrade repositoy"),
+ // progress stage, text in dialog (short, infinitiv)
+ _("Download installation images"),
+ // progress stage, text in dialog (short, infinitiv)
+ _("Update installation images"),
+ ];
+
+ integer steps = 1 // prepare repo
+ + 2 * SystemUpdate::ImagesCount () // stage 1
+ + 1; // stage 2
+
+ Progress::New (_("Preparing Upgrade Environment"),
+ " ", steps, stages, [], "");
+
+// initialize upgrade repository
+ Progress::NextStage ();
+ Progress::Title (_("Initializing upgrade repository..."));
+ string repo_url = ProductFeatures::GetStringFeature ("software", "upgrade_repo");
+/* Have some weird problem create repo with YaST
+ In the future, problems because of metadata may occurre
+
+ integer repo_id = Pkg::SourceCreate (repo_url, "");
+Report::Message (sformat ("%1", repo_id));
+ if (repo_id < 0)
+ {
+ Report::Error (_("Failed to initialize upgrade repository"));
+ return `abort;
+ }
+*/
+// prepare inst-sys image in the temporary dir
+ Progress::NextStage ();
+ if (!( SystemUpdate::PrepareInstSystem ()))
+ {
+ Report::Error (_("Failed to prepare upgrade environment"));
+ return `abort;
+ }
+
+// initiate upgrade
+
+ Progress::NextStage ();
+ Progress::Title (_("Updating installation images..."));
+ SCR::Write (.target.string, SystemUpdate::inst_sys_dir + Installation::run_update_file, "");
+// SCR::Write (.target.string, SystemUpdate::inst_sys_dir + "/var/lib/YaST2/run_system_update", "");
+
+// copy files from current system
+
+ list<string> files = [ "/etc/resolv.conf" ];
+ foreach (string f, files, {
+ string cmd = sformat ("/bin/cp %1 %2%1", f, SystemUpdate::inst_sys_dir);
+ map out = (map)SCR::Execute (.target.bash_output, cmd);
+ if (out["exit"]:-1 != 0)
+ {
+ y2error ("Executing %1 failed: %2", cmd, out);
+ Report::Error (sformat (_("Failed to copy %1 to installation system"), f));
+ return `abort;
+ }
+ });
+
+// copy files from media
+
+ files = [ "/content", "/control.xml", "license.tar.gz" ];
+ foreach (string f, files, {
+ string local_file = Pkg::SourceProvideFile (SystemUpdate::repo, 1, f);
+ string cmd = sformat ("/bin/cp %1 %2%3", local_file, SystemUpdate::inst_sys_dir, f);
+ map out = (map)SCR::Execute (.target.bash_output, cmd);
+ if (out["exit"]:-1 != 0)
+ {
+ y2error ("Executing %1 failed: %2", cmd, out);
+ Report::Error (sformat (_("Failed to copy %1 to installation system"), f));
+ return `abort;
+ }
+ });
+
+// write install.inf
+
+ SCR::Execute (.target.bash, sformat ("echo \"YaSTRepoURL: %1\" >> %2/etc/install.inf", repo_url, SystemUpdate::inst_sys_dir));
+
+ Progress::Finish ();
+
+ Report::Message (_("YaST will start the update process now."));
+
+ return `next;
+}
Added: trunk/system-update/src/inst_system_update_repo_select.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/inst_system_update_repo_select.ycp?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/inst_system_update_repo_select.ycp (added)
+++ trunk/system-update/src/inst_system_update_repo_select.ycp Fri Feb 15 15:22:27 2008
@@ -0,0 +1,64 @@
+{
+ import "GetInstArgs";
+ import "SystemUpdate";
+ import "PackageCallbacksInit";
+ import "Popup";
+ import "Label";
+ import "Wizard";
+
+ textdomain "installation";
+
+ map out = (map)SCR::Execute (.target.bash_output, "echo $UPDATE_TMP_DIR");
+ SystemUpdate::inst_sys_dir = out["stdout"]:"";
+ list<string> components = splitstring (SystemUpdate::inst_sys_dir, "\n");
+ SystemUpdate::inst_sys_dir = components[0]:"";
+ y2milestone ("Using temporary dir %1", SystemUpdate::inst_sys_dir);
+
+ PackageCallbacksInit::InitPackageCallbacks ();
+
+ boolean restore = Pkg::SourceRestore();
+ if( ! restore )
+ {
+ boolean cont = Popup::AnyQuestionRichText(
+ Label::ErrorMsg(),
+ // Error popup
+ _("<p>There were errors while restoring the repository configuration.</p>\n") + "<p>" + Pkg::LastError() + "</p>",
+ 50, 15,
+ Label::ContinueButton(), Label::CancelButton(), `focus_no
+ );
+
+ // really continue?
+ if (!cont) {
+ return `abort;
+ }
+ }
+
+ any sourceStatesIn = Pkg::SourceEditGet();
+
+ list items = maplist (map s, Pkg::SourceEditGet(), {
+ return `item (`id (s["SrcId"]:-1), s["name"]:"Unnamed Source");
+ });
+ term contents = `SelectionBox (`id (`repos), _("Available Repositories"), items);
+ Wizard::SetContents ("Repositories", contents, "", true, true);
+
+ any ret = nil;
+ while (ret == nil)
+ {
+ ret = UI::UserInput ();
+ if (ret == `next)
+ {
+ integer item = (integer)UI::QueryWidget (`id (`repos), `Value);
+ if (item == nil)
+ {
+ ret = nil;
+ Popup::Message ("Select a repository to upgrade from");
+ }
+ else
+ {
+ SystemUpdate::repo = item;
+ }
+ }
+ }
+
+ return (symbol)ret;
+}
Added: trunk/system-update/src/system-update.sh
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/system-update.sh?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/system-update.sh (added)
+++ trunk/system-update/src/system-update.sh Fri Feb 15 15:22:27 2008
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# define temporary directory - cannot use YaST, since it needs to persist
+# multiple runs of YaST
+
+export UPDATE_TMP_DIR=`mktemp -d`;
+
+test -d $UPDATE_TMP_DIR || ( echo "Failed to create temporary directory" && exit 1 );
+
+echo "Created tmp dir $UPDATE_TMP_DIR";
+
+# start YaST to define installation repo
+# prepare inst-sys image in the temporary dir
+# write install.inf
+
+/sbin/yast2 system-update || ( echo "Failed to run YaST" && exit 2 );
+
+# bind-mount root /sys /proc
+mkdir "$UPDATE_TMP_DIR/sys" 2>/dev/null ; mount --rbind /sys "$UPDATE_TMP_DIR/sys"
+mkdir "$UPDATE_TMP_DIR/proc" 2>/dev/null ; mount --rbind /proc "$UPDATE_TMP_DIR/proc"
+mkdir "$UPDATE_TMP_DIR/mnt" 2>/dev/null ; mount --rbind / "$UPDATE_TMP_DIR/mnt"
+
+# run YaST in chroot
+
+# FIXME ensure somehow about using different workflow - will be tricky :-(
+chroot $UPDATE_TMP_DIR /usr/lib/YaST2/startup/YaST2.First-Stage
+
+# FIXME remove following line
+exit 0;
+
+# ummount (incl. /proc, /sys)
+umount $UPDATE_TMP_DIR/mnt || ( echo "Umount failed" && exit 99 );
+umount $UPDATE_TMP_DIR/proc || ( echo "Umount failed" && exit 99 );
+umount $UPDATE_TMP_DIR/sys || ( echo "Umount failed" && exit 99 );
+
+# clean-up
+rm -rf $UPDATE_TMP_DIR;
+
+exit 0;
Added: trunk/system-update/src/system-update.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/src/system-update.ycp?rev=44522&view=auto
==============================================================================
--- trunk/system-update/src/system-update.ycp (added)
+++ trunk/system-update/src/system-update.ycp Fri Feb 15 15:22:27 2008
@@ -0,0 +1,64 @@
+/**
+ * File: clients/update.ycp
+ * Module: System update
+ * Summary: Main update client
+ * Authors: Klaus Kaempf
+ * Arvin Schnell
+ * Lukas Ocilka
+ *
+ * $Id: update.ycp 37767 2007-05-02 08:16:04Z locilka $
+ */
+
+{
+ textdomain "update";
+
+ import "Mode";
+ import "Update";
+ import "Wizard";
+ import "ProductControl";
+ import "Label";
+ import "Mode";
+ import "GetInstArgs";
+ import "CommandLine";
+
+ // Bugzilla #269910, CommanLine "support"
+ // argmap is only a map, CommandLine uses string parameters
+ if (size (GetInstArgs::argmap()) == 0 && size (WFM::Args()) > 0) {
+ Mode::SetUI ("commandline");
+ y2milestone ("Mode CommandLine not supported, exiting...");
+ // TRANSLATORS: error message - the module does not provide command line interface
+ CommandLine::Print(_("There is no user interface available for this module."));
+ return `auto;
+ }
+
+ // somewhere, DirInstall is imported that wants Pkg in the constructor
+ import "PackageLock";
+ // check whether having the packager for ourselves
+ if (! PackageLock::Check ())
+ return `abort;
+
+ // set normal mode and update
+ Mode::SetMode ("update");
+
+ Update::disallow_upgrade = true;
+ Update::onlyUpdateInstalled = true;
+ Update::deleteOldPackages = false;
+
+ ProductControl::custom_control_file = "/etc/YaST2/system-update.xml";
+
+ Wizard::OpenNextBackStepsDialog();
+ Wizard::SetNextButton(`next, Label::AcceptButton());
+
+ if (!ProductControl::Init())
+ {
+ y2error("control file %1 not found", ProductControl::custom_control_file );
+ }
+ list<map> stage_mode = [$["stage": "normal", "mode": Mode::mode() ]];
+ ProductControl::AddWizardSteps(stage_mode);
+
+ symbol ret = ProductControl::Run();
+
+ Wizard::CloseDialog ();
+
+ return `next;
+}
Added: trunk/system-update/testsuite/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/testsuite/Makefile.am?rev=44522&view=auto
==============================================================================
--- trunk/system-update/testsuite/Makefile.am (added)
+++ trunk/system-update/testsuite/Makefile.am Fri Feb 15 15:22:27 2008
@@ -0,0 +1,21 @@
+#
+# Makefile.am for .../testsuite
+#
+# Do not edit this file (Makefile.am) as it will be overwritten!
+#
+
+AUTOMAKE_OPTIONS = dejagnu
+EXTRA_DIST = $(wildcard tests/*.out) $(wildcard tests/*.err) $(wildcard tests/*.ycp) $(wildcard tests/*.yh)
+
+testsuite_prepare = @ydatadir@/testsuite/Makefile.testsuite
+
+all-local: $(testsuite_prepare)
+ make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir)
+
+clean-local: $(testsuite_prepare)
+ make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) clean
+
+check-local: $(testsuite_prepare)
+ make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) check
+
+# EOF
Added: trunk/system-update/testsuite/tests/SystemUpdate.err
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/testsuite/tests/SystemUpdate.err?rev=44522&view=auto
==============================================================================
(empty)
Added: trunk/system-update/testsuite/tests/SystemUpdate.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/testsuite/tests/SystemUpdate.out?rev=44522&view=auto
==============================================================================
--- trunk/system-update/testsuite/tests/SystemUpdate.out (added)
+++ trunk/system-update/testsuite/tests/SystemUpdate.out Fri Feb 15 15:22:27 2008
@@ -0,0 +1,2 @@
+Dump SystemUpdate::Modified
+Return false
Added: trunk/system-update/testsuite/tests/SystemUpdate.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/testsuite/tests/SystemUpdate.ycp?rev=44522&view=auto
==============================================================================
--- trunk/system-update/testsuite/tests/SystemUpdate.ycp (added)
+++ trunk/system-update/testsuite/tests/SystemUpdate.ycp Fri Feb 15 15:22:27 2008
@@ -0,0 +1,13 @@
+{
+
+// testedfiles: SystemUpdate.ycp
+
+include "testsuite.ycp";
+TESTSUITE_INIT([], nil);
+
+import "SystemUpdate";
+
+DUMP("SystemUpdate::Modified");
+TEST(``(SystemUpdate::Modified()), [], nil);
+
+}
Added: trunk/system-update/yast2-system-update.spec.in
URL: http://svn.opensuse.org/viewcvs/yast/trunk/system-update/yast2-system-update.spec.in?rev=44522&view=auto
==============================================================================
--- trunk/system-update/yast2-system-update.spec.in (added)
+++ trunk/system-update/yast2-system-update.spec.in Fri Feb 15 15:22:27 2008
@@ -0,0 +1,31 @@
+@HEADER-COMMENT@
+
+@HEADER@
+Requires: yast2
+BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite
+
+BuildArchitectures: noarch
+
+Summary: Configuration of system-update
+
+%description
+-
+
+@PREP@
+
+@BUILD@
+
+@INSTALL@
+
+@CLEAN@
+
+%files
+%defattr(-,root,root)
+%dir @yncludedir@/system-update
+@yncludedir@/system-update/*
+@clientdir@/system-update.ycp
+@clientdir@/system-update_*.ycp
+@moduledir@/SystemUpdate.*
+@moduledir@/SystemUpdate2.*
+@desktopdir@/system-update.desktop
+%doc @docdir@
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org