Mailinglist Archive: opensuse-commit (2092 mails)

< Previous Next >
commit yast2-packager
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Fri, 03 Aug 2007 16:08:38 +0200
  • Message-id: <20070803140838.B9E52678331@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package yast2-packager
checked in at Fri Aug 3 16:08:38 CEST 2007.

--------
--- yast2-packager/yast2-packager.changes       2007-07-30 16:22:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-packager/yast2-packager.changes  2007-08-02 14:50:55.782148000 +0200
@@ -1,0 +2,20 @@
+Thu Aug  2 11:08:37 CEST 2007 - lslezak@xxxxxxx
+
+- inst_source - download metadata for CD/DVD repositories
+  immedately, the medium can be changed later and accidentaly
+  a different repository can registered
+- improved download progress callback handlers (#292629)
+- fixed "tick" callback progress
+- beep when another medium is needed (#45527, FATE #120296)
+- release all sources in the first stage, manual CD unmount is not
+  needed anymore (FATE #413)
+- 2.15.53
+
+-------------------------------------------------------------------
+Tue Jul 31 14:24:52 CEST 2007 - locilka@xxxxxxx
+
+- New location of licenses on the media - in /media.1/license/
+  directory in uncompressed state (FATE #302018). Staying backward
+  compatible by supporting /media.1/license.zip as well.
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-2.15.52.tar.bz2

New:
----
  yast2-packager-2.15.53.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.h24769/_old  2007-08-03 16:07:19.000000000 +0200
+++ /var/tmp/diff_new_pack.h24769/_new  2007-08-03 16:07:19.000000000 +0200
@@ -1,5 +1,5 @@
 #
-# spec file for package yast2-packager (Version 2.15.52)
+# spec file for package yast2-packager (Version 2.15.53)
 #
 # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
 # This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
 # norootforbuild
 
 Name:           yast2-packager
-Version:        2.15.52
+Version:        2.15.53
 Release:        1
 License:        GPL v2 or later
 Group:          System/YaST
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-Source0:        yast2-packager-2.15.52.tar.bz2
+Source0:        yast2-packager-2.15.53.tar.bz2
 prefix:                /usr
 BuildRequires:  docbook-xsl-stylesheets doxygen gcc-c++ libxcrypt-devel libxslt perl-XML-Writer sgml-skel update-desktop-files yast2-country yast2-devtools yast2-slp yast2-testsuite yast2-xml
 BuildRequires:  yast2 >= 2.15.38
@@ -55,7 +55,7 @@
     Arvin Schnell <arvin@xxxxxxx>
 
 %prep
-%setup -n yast2-packager-2.15.52
+%setup -n yast2-packager-2.15.53
 
 %build
 %{prefix}/bin/y2tool y2autoconf
@@ -96,6 +96,20 @@
 %doc %{prefix}/share/doc/packages/yast2-packager
 
 %changelog
+* Thu Aug 02 2007 - lslezak@xxxxxxx
+- inst_source - download metadata for CD/DVD repositories
+  immedately, the medium can be changed later and accidentaly
+  a different repository can registered
+- improved download progress callback handlers (#292629)
+- fixed "tick" callback progress
+- beep when another medium is needed (#45527, FATE #120296)
+- release all sources in the first stage, manual CD unmount is not
+  needed anymore (FATE #413)
+- 2.15.53
+* Tue Jul 31 2007 - locilka@xxxxxxx
+- New location of licenses on the media - in /media.1/license/
+  directory in uncompressed state (FATE #302018). Staying backward
+  compatible by supporting /media.1/license.zip as well.
 * Mon Jul 30 2007 - locilka@xxxxxxx
 - Adding new informative text where to find just displayed license
   (FATE #302018).

++++++ yast2-packager-2.15.52.tar.bz2 -> yast2-packager-2.15.53.tar.bz2 ++++++
++++ 3685 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-packager-2.15.52/configure.in new/yast2-packager-2.15.53/configure.in
--- old/yast2-packager-2.15.52/configure.in     2007-07-19 18:31:02.000000000 +0200
+++ new/yast2-packager-2.15.53/configure.in     2007-08-02 14:46:36.000000000 +0200
@@ -1,9 +1,9 @@
 dnl configure.in for yast2-packager
 dnl
-dnl -- This file is generated by y2autoconf 2.15.0 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
 dnl    (edit configure.in.in instead)
 
-AC_INIT(yast2-packager, 2.15.46, http://bugs.opensuse.org/, yast2-packager)
+AC_INIT(yast2-packager, 2.15.53, http://bugs.opensuse.org/, yast2-packager)
 dnl Check for presence of file 'RPMNAME'
 AC_CONFIG_SRCDIR([RPMNAME])
 
@@ -17,7 +17,7 @@
 AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
 
 dnl Important YaST2 variables
-VERSION="2.15.46"
+VERSION="2.15.53"
 RPMNAME="yast2-packager"
 MAINTAINER="Ladislav Slezak <lslezak@xxxxxxx>"
 
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-packager-2.15.52/src/clients/inst_source.ycp new/yast2-packager-2.15.53/src/clients/inst_source.ycp
--- old/yast2-packager-2.15.52/src/clients/inst_source.ycp      2007-07-30 14:41:45.000000000 +0200
+++ new/yast2-packager-2.15.53/src/clients/inst_source.ycp      2007-08-02 14:12:57.000000000 +0200
@@ -6,7 +6,7 @@
  * Purpose:
  * Adding, removing and prioritizing of repositories for packagemanager.
  *
- * $Id: inst_source.ycp 39779 2007-07-30 12:27:31Z lslezak $
+ * $Id: inst_source.ycp 39896 2007-08-02 12:12:57Z lslezak $
  *
  */
 
@@ -63,14 +63,12 @@
     define term createItem( integer index, map source ) ``{
         integer id = source[ "SrcId" ]:0;
         map generalData = Pkg::SourceGeneralData( id );
-        map productData = Pkg::SourceProductData( id );
-       y2milestone("generalData: %1", generalData);
-       y2milestone("productData: %1", productData);
+       y2milestone("generalData(%1): %2", id, generalData);
 
        string alias = haskey(sourceStatesOut[index]:$[], "name") ?
            sourceStatesOut[index,"name"]:"" :
            // unkown name (alias) of the source
-           generalData[ "alias" ]:productData["label"]:generalData[ "type" ]: _("Unknown Name");
+           generalData[ "alias" ]:generalData[ "type" ]: _("Unknown Name");
 
         term item = `item(
                          `id( index ),
@@ -87,14 +85,12 @@
     map<string,any> getSourceInfo (integer index, map source) {
         integer id = source[ "SrcId" ]:0;
         map generalData = Pkg::SourceGeneralData( id );
-        map productData = Pkg::SourceProductData( id );
-       y2milestone("generalData: %1", generalData);
-       y2milestone("productData: %1", productData);
+       y2milestone("generalData(%1): %2", id, generalData);
 
        string alias = haskey(sourceStatesOut[index]:$[], "name") ?
            sourceStatesOut[index,"name"]:"" :
            // unkown name (alias) of the source
-           generalData[ "alias" ]:productData["label"]:generalData[ "type" ]: _("Unknown Name");
+           generalData[ "alias" ]:generalData[ "type" ]: _("Unknown Name");
 
        map<string,any> out = $[
            "enabled" : source["enabled"]:true,
@@ -301,9 +297,18 @@
                    repo_prop["type"] = repo_type;
 
                    integer new_repo_id = Pkg::RepositoryAdd(repo_prop);
-                   y2internal("New repository: %1: %2", new_repo_id, repo_prop);
+                   y2milestone("Added repository: %1: %2", new_repo_id, repo_prop);
 
                    newSources = add(newSources, new_repo_id);
+
+                   if (contains(["cd", "dvd"], tolower(URL::Parse(url)["scheme"]:"")))
+                   {
+                       // for CD/DVD repo download the metadata immediately,
+                       // the medium is in the drive right now, it can be changed later
+                       // and accidentaly added a different repository
+                       y2milestone("Adding a CD or DVD repository, refreshing now...");
+                       Pkg::SourceRefreshNow(new_repo_id);
+                   }
                }
            );
 
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-packager-2.15.52/src/include/checkmedia/ui.ycp new/yast2-packager-2.15.53/src/include/checkmedia/ui.ycp
--- old/yast2-packager-2.15.52/src/include/checkmedia/ui.ycp    2007-05-18 10:43:17.000000000 +0200
+++ new/yast2-packager-2.15.53/src/include/checkmedia/ui.ycp    2007-08-02 14:50:24.000000000 +0200
@@ -8,7 +8,7 @@
  * Authors:
  *   Ladislav Slezak <lslezak@xxxxxxx>
  *
- * $Id: ui.ycp 35746 2007-01-31 15:43:57Z lslezak $
+ * $Id: ui.ycp 39900 2007-08-02 12:50:23Z lslezak $
  *
  * All user interface functions.
  *
@@ -132,80 +132,6 @@
     return ret;
 }
 
-/**
- * Unmount CD drives in the first installation stage
- * @return map map with unmounted drives (key: device name, value: mount point)
- */
-define map<string,string> UnmountCD() {
-    // key: device, value: mountpoint
-    map<string,string> unmounted = $[];
-
-    if (Stage::initial())
-    {
-       list<map> cddevices = CheckMedia::DetectedCDDevices();
-       y2milestone("Detected CD devices: %1", cddevices);
-
-       if (cddevices != nil)
-       {
-           // reload /proc/mounts file
-           SCR::UnmountAgent(.proc.mounts);
-
-           list<map> mounts = (list<map>)SCR::Read(.proc.mounts);
-           list<string> cddevs = maplist(map cdd, cddevices, {return cdd["dev_name"]:"";});
-
-           // check which CD drive is mounted
-           foreach(map mnt, mounts, {
-                   string mpoint = mnt["file"]:"";
-                   string device = mnt["spec"]:"";
-
-                   if (mpoint != nil && device != nil && contains(cddevs, device))
-                   {
-                       boolean succ = (boolean) SCR::Execute(.target.umount, mpoint);
-                       if (succ == true)
-                       {
-                           unmounted = add(unmounted, device, mpoint);
-                           y2milestone("Unmounted device: %1 (%2)", device, mpoint);
-                       }
-                       else
-                       {
-                           y2warning("Could not unmount device %1 (%2)", device, mpoint);
-                       }
-                   }
-               }
-           );
-       }
-    }
-
-    y2milestone("unmounted: %1", unmounted);
-
-    return unmounted;
-}
-
-define boolean MountCD(map<string,string> mountedCDs) {
-    y2milestone("mountedCDs: %1", mountedCDs);
-    boolean ret = true;
-
-    if (Stage::initial() && size(mountedCDs) > 0)
-    {
-       // remount all unmounted devices back
-       foreach(string device, string mpoint, mountedCDs, {
-               boolean succ = (boolean)SCR::Execute(.target.mount, [device, mpoint], "-o ro");
-               if (succ)
-               {
-                   y2milestone("Remounted device %1 (%2)", device, mpoint);
-               }
-               else
-               {
-                   y2error("Mount failed: %1 (%2)", device, mpoint);
-                   ret = false;
-               }
-           }
-       );
-    }
-
-    return ret;
-}
-
 // mount CD drive and check whether there is directory 'media.1' (the first medium) and 'boot' (bootable product CD)
 define boolean InsertedCD1() {
     boolean ret = true;
@@ -301,8 +227,12 @@
        Wizard::HideAbortButton();
     }
 
-    // umount CD drives (only in the first stage)
-    map<string,string> unmountedCD = UnmountCD();
+    // umount CD drives (release all sources)
+    if (Stage::initial())
+    {
+       // release all media
+       Pkg::SourceReleaseAll();
+    }
 
     // dialog header
     string caption = _("Media Check");
@@ -472,9 +402,6 @@
                            {
                                CheckMedia::Stop();
 
-                               // remount umounted CD drives back
-                               MountCD(unmountedCD);
-
                                return `abort;
                            }
                        }
@@ -510,9 +437,6 @@
        RequireFirstMedium();
     }
 
-    // remount umounted CD drives back
-    MountCD(unmountedCD);
-
     return ret;
 }
 
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-packager-2.15.52/src/modules/PackageCallbacks.ycp new/yast2-packager-2.15.53/src/modules/PackageCallbacks.ycp
--- old/yast2-packager-2.15.52/src/modules/PackageCallbacks.ycp 2007-07-27 14:15:28.000000000 +0200
+++ new/yast2-packager-2.15.53/src/modules/PackageCallbacks.ycp 2007-08-02 12:52:18.000000000 +0200
@@ -7,7 +7,7 @@
  *
  * Purpose:            provides the default Callbacks for Pkg::
  *
- * $Id: PackageCallbacks.ycp 39738 2007-07-27 09:54:28Z lslezak $
+ * $Id: PackageCallbacks.ycp 39890 2007-08-02 10:52:18Z lslezak $
  *
  */
 
@@ -699,6 +699,9 @@
            UI::ReplaceWidget(`id(`info), `Empty() );
        }
 
+       // notification
+       UI::Beep();
+
        any r = nil;
 
        repeat {
@@ -804,6 +807,7 @@
                w = URL::FormatURL(parsed, max_len);
            }
            // is it a file name?
+           else
            {
                if (substring(w, 0, 1) == "/")
                {
@@ -1503,42 +1507,85 @@
     }
 
 
+    global boolean IsDownloadProgressPopup()
+    {
+       return (!Mode::commandline()) &&
+           UI::WidgetExists(`id(`download_progress_popup_window)) &&
+           UI::WidgetExists(`id(`progress));
+    }
+
+    global void CloseDownloadProgressPopup()
+    {
+       if (IsDownloadProgressPopup())
+       {
+           UI::CloseDialog();
+       }
+    }
+
+    global void InitDownload(string task)
+    {
+       if (!Mode::commandline())
+       {
+           if (!IsDownloadProgressPopup())
+           {
+               // heading of popup
+               string heading = _("Downloading");
+
+               UI::OpenDialog (`opt(`decorated),
+                               `VBox (`Heading (`id(`download_progress_popup_window), heading) ,
+                                      `VBox (
+                                             `HSpacing(60),
+                                             `HBox(
+                                                   `HSpacing(1),
+                                                   `ProgressBar (`id(`progress),
+                                                                 task, 100),
+                                                   `HSpacing(1)
+                                                   ),
+                                             `VSpacing(0.5),
+                                             `HBox (
+                                               `HStretch (),
+                                               `PushButton (`id (`abort), Label::AbortButton ()),
+                                               `HStretch ()
+                                             ),
+                                             `VSpacing(0.5)
+                                             )
+                                      )
+                               );
+           }
+
+           UI::ChangeWidget (`id(`progress), `Value, 0);
+       }
+    }
+
+    global void DestDownload()
+    {
+       CloseDownloadProgressPopup();
+    }
+
     global void StartDownload (string url, string localfile)
     {
+       y2milestone("Downloading %1 to %2", url, localfile);
+
        // heading of popup
-       string heading = _("Download");
+       string heading = _("Downloading");
+
+       // reformat the URL
+       string url_report = URL::FormatURL(URL::Parse(url), max_size);
 
        // message in a progress popup
-       string message = sformat (_("Downloading: %1"), url);
+       string message = sformat (_("Downloading: %1"), url_report);
 
        if (Mode::commandline()) {
            CommandLine::PrintVerbose(message);
        }
        else
        {
-           UI::OpenDialog (`opt(`decorated),
-                           `VBox (`Heading (heading) ,
-                                  `VBox (
-                                         `Label(message),
-                                         `HSpacing(60),
-                                         `HBox(
-                                               `HSpacing(2),
-                                               `ProgressBar (`id(`progress),
-                                                             _("Status"), 100),
-                                               `HSpacing(2)
-                                               ),
-                                         `VSpacing(1),
-                                         `HBox (
-                                           `HStretch (),
-                                           `PushButton (`id (`abort), Label::AbortButton ()),
-                                           `HStretch ()
-                                         ),
-                                         `VSpacing(1)
-                                         )
-                                  )
-                           );
-
-           UI::ChangeWidget (`id(`progress), `Value, 0);
+           if (IsDownloadProgressPopup())
+           {
+               // change the label
+               UI::ChangeWidget(`id(`progress), `Label, message);
+               UI::ChangeWidget (`id(`progress), `Value, 0);
+           }
        }
     }
 
@@ -1579,16 +1626,16 @@
 %1"), error_text));
            }
        }
-
-       UI::CloseDialog ();
     }
 
 
     global void SetDownloadCallbacks ()
     {
+       Pkg::CallbackInitDownload ("PackageCallbacks::InitDownload");
        Pkg::CallbackStartDownload ("PackageCallbacks::StartDownload");
        Pkg::CallbackProgressDownload ("PackageCallbacks::ProgressDownload");
        Pkg::CallbackDoneDownload ("PackageCallbacks::DoneDownload");
+       Pkg::CallbackDestDownload ("PackageCallbacks::DestDownload");
     }
 
     global void ClearDownloadCallbacks ()
@@ -2037,12 +2084,21 @@
        }
 
        UI::OpenDialog(
-           `VBox(
-               `HSpacing(`id(`callback_progress_popup), max_size),
-               (in_percent) ? `ProgressBar (`id (`progress_widget), task, 100, val_percent)
-                   : `Label(`id(`progress_widget), sformat("%1: %2", task, (tick_progress) ? tick_labels[current_tick]:"/" : val_raw)),
-               `VSpacing(0.5),
-               `PushButton (`id (`abort), Label::AbortButton ())
+           `HBox(
+               `HSpacing(1),
+               `VBox(
+                   `VSpacing(0.5),
+                   `HSpacing(`id(`callback_progress_popup), max_size),
+                   (in_percent) ? `ProgressBar (`id (`progress_widget), task, 100, val_percent)
+                       : `VBox(
+                           `Label(task),
+                           `Label(`id(`progress_widget), (tick_progress) ? tick_labels[current_tick]:"/" : val_raw)
+                       ),
+                   `VSpacing(0.5),
+                   `PushButton (`id (`abort), Label::AbortButton ()),
+                   `VSpacing(0.5)
+               ),
+               `HSpacing(1)
            )
        );
 
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-packager-2.15.52/src/modules/ProductLicense.ycp new/yast2-packager-2.15.53/src/modules/ProductLicense.ycp
--- old/yast2-packager-2.15.52/src/modules/ProductLicense.ycp   2007-07-30 16:46:21.000000000 +0200
+++ new/yast2-packager-2.15.53/src/modules/ProductLicense.ycp   2007-08-02 11:22:55.000000000 +0200
@@ -23,6 +23,7 @@
 import "Mode";
 import "FileUtils";
 import "ProductFeatures";
+import "String";
 
 // IMPORTANT: maintainer of yast2-installation is responsible for this module
 
@@ -190,7 +191,9 @@
  */
 void CleanUpLicense (string tmpdir) {
     if (tmpdir != nil)
-       SCR::Execute (.target.bash_output, sformat("rm -rf '%1'", tmpdir));
+       SCR::Execute (.target.bash_output,
+           sformat ("rm -rf '%1'", String::Quote(tmpdir))
+       );
 }
 
 /**
@@ -202,6 +205,9 @@
  */
 map<string,string> LicenseFiles (string dir, list<string> patterns) {
     map<string,string> ret = $[];
+
+    if (dir == nil) return ret;
+
     list<string> files = (list<string>)SCR::Read (.target.dir, dir);
     y2milestone ("All files in license directory: %1", files);
 
@@ -234,7 +240,78 @@
     return ret;
 }
 
+string tmpdir = nil;
+string license_dir = nil;
+string info_file = nil;
+
+void GetSourceLicenseDirectory (integer src_id, string fallback_dir) {
+    y2milestone ("Searching for licenses...");
+
+    // Base-product license not in installation
+    if (! Stage::initial() && src_id == nil) {
+       y2milestone ("Using default license directory %1", fallback_dir);
+       license_dir = fallback_dir;
+       if (FileUtils::Exists ("/info.txt"))
+           info_file = "/info.txt";
+
+    // First-Stage & Add-on-product license
+    } else {
+       y2milestone ("Getting license info from repository %1", src_id);
+
+       info_file = Pkg::SourceProvideOptionalFile (src_id, 1, "/media.1/info.txt");
+
+       // FATE #302018
+       // Licenses are unzipped under 1stMedia:/media.1/license/
+       // Don't unzip, just use the directory
+       license_dir = Pkg::SourceProvideOptionalFile (src_id, 1, "/media.1/license/license.txt");
+       if (license_dir != nil) {
+           license_dir = Pkg::SourceProvideDir (src_id, 1, "/media.1/license/");
+           // return from the function
+           return;
+       }
+       y2milestone ("Licenses in /media.1/license/... not supported");
+
+       // New format didn't work, try the old one 1stMedia:/media.1/license.zip
+       // using a separate license directory for all products
+       tmpdir = sformat ("%1/product-license/%2/", (string) SCR::Read(.target.tmpdir), src_id);
+       license_dir = tmpdir;
+       string license_file = Pkg::SourceProvideOptionalFile (src_id, 1, "/media.1/license.zip");
+
+       // no license present
+       if (license_file == nil) {
+           y2milestone ("No license present");
+           license_dir = nil;
+           tmpdir = nil;
+           // return from the function
+           return;
+       }
+
+       y2milestone("Product has a license");
+       map out = (map)SCR::Execute (.target.bash_output,
+           sformat (
+               "
+rm -rf '%1' && \
+mkdir -p '%1' && \
+cd '%1' && \
+unzip -qqo '%2'
+",
+               String::Quote (tmpdir),
+               String::Quote (license_file)
+           )
+       );
 
+       // Extracting license failed, cannot accept the license
+       if (out["exit"]:0 != 0) {
+           y2error("Cannot unzip license -> %1", out);
+           // popup error
+           Report::Error (_("An error occurred while preparing the installation system."));
+           CleanUpLicense (tmpdir);
+           license_dir = nil;
+       } else {
+           license_dir = tmpdir;
+       }
+    }
+}
 
 /**
  * Ask user to confirm license agreement
@@ -251,59 +328,12 @@
     list<string> patterns, string action, boolean enable_back,
     boolean base_product)
 {
-    string tmpdir = nil;
-    string info_file = nil;
     string lic_lang = "";
-    map<string,string> licenses = $[];
-    list<string> available_langs = [];
-    string license_dir = nil;
-
-    // Base-product license
-    if (src_id == nil)
-    {
-       if (Stage::initial ())
-       {
-           license_dir = Directory::vardir + "/license";
-       }
-       else
-       {
-           license_dir = dir;
-       }
-       if (FileUtils::Exists ("/info.txt"))
-           info_file = "/info.txt";
-    }
-    // Add-on-product license
-    else
-    {
-       y2milestone ("Getting license info from repository %1", src_id);
-       // using a separate license directory for all products
-       tmpdir = sformat("%1/product-license/%2/", (string) SCR::Read(.target.tmpdir), src_id);
-       license_dir = tmpdir;
-       string license_file = Pkg::SourceProvideOptionalFile (src_id, 1,
-           "/media.1/license.zip");
+    map <string, string> licenses = $[];
+    list <string> available_langs = [];
 
-       // license is part of the add-on product
-       if (license_file != nil) {
-           y2milestone("Product has a license");
-           map out = (map)SCR::Execute (.target.bash_output, sformat ("
-rm -rf '%1' && \
-mkdir -p '%1' && \
-cd '%1' && \
-unzip -qqo '%2'
-", tmpdir, license_file));
+    GetSourceLicenseDirectory (src_id, dir);
 
-           // Extracting license failed, cannot accept the license
-           if (out["exit"]:0 != 0)
-           {
-               y2error("Cannot unzip license -> %1", out);
-               // popup error
-               Report::Error (_("An error occurred while preparing the installation system."));
-               CleanUpLicense(tmpdir);
-               return nil; // FIXME
-           }
-       }
-       info_file = Pkg::SourceProvideOptionalFile (src_id, 1, "/media.1/info.txt");
-    }
     licenses = LicenseFiles (license_dir,
        ["license.txt", "license\\.%1\\.txt"]);
     if (info_file == nil && size (licenses) == 0)
@@ -345,11 +375,11 @@
     DisplayLicenseDialog (available_langs, enable_back, lic_lang, licenses);
     // Display info as a popup if exists
     if (info_file != nil)
-       InstShowInfo::show_info_txt(info_file);
+       InstShowInfo::show_info_txt (info_file);
 
     if (lic_lang == nil)
     {
-       CleanUpLicense(tmpdir);
+       if (tmpdir != nil) CleanUpLicense (tmpdir);
        return `auto;
     }
 
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-packager-2.15.52/src/modules/SourceDialogs.ycp new/yast2-packager-2.15.53/src/modules/SourceDialogs.ycp
--- old/yast2-packager-2.15.52/src/modules/SourceDialogs.ycp    2007-07-27 14:15:28.000000000 +0200
+++ new/yast2-packager-2.15.53/src/modules/SourceDialogs.ycp    2007-08-02 11:01:06.000000000 +0200
@@ -244,10 +244,12 @@
        "init" : RepoNameInit,
        "store" : RepoNameStore,
        "validate_type" : `function,
+       // TODO FIXME: RepoName can be empty if the URL has been changed,
+       // yast will use the product name or the URL in this case (the repository is recreated)
        "validate_function" : RepoNameValidate,
        // help text
        "help" : _("<p><big><b>Repository Name</b></big><br>
-Use <b>Repository Name</b> to specify the name of the repository.</p>")
+Use <b>Repository Name</b> to specify the name of the repository. If it is empty Yast will use the product name (if available) or the URL as the name.</p>")
     ];
 
 }
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-packager-2.15.52/VERSION new/yast2-packager-2.15.53/VERSION
--- old/yast2-packager-2.15.52/VERSION  2007-07-30 16:23:01.000000000 +0200
+++ new/yast2-packager-2.15.53/VERSION  2007-08-02 14:45:24.000000000 +0200
@@ -1 +1 @@
-2.15.52
+2.15.53


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >