backend/satellite_tools backend/server java/code schema/spacewalk

Jan Pazdziora adelton at fedoraproject.org
Fri Jun 22 12:41:34 UTC 2012


 backend/satellite_tools/disk_dumper/dumper.py                                                                          |    1 
 backend/satellite_tools/exporter/exportLib.py                                                                          |    2 
 backend/server/importlib/backendOracle.py                                                                              |    1 
 backend/server/importlib/headerSource.py                                                                               |    1 
 backend/server/importlib/importLib.py                                                                                  |    1 
 backend/server/repomd/domain.py                                                                                        |    1 
 backend/server/repomd/mapper.py                                                                                        |   20 ++++----
 backend/server/repomd/view.py                                                                                          |    5 +-
 java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml                                                 |    2 
 java/code/src/com/redhat/rhn/domain/rhnpackage/Package.java                                                            |   23 ++++++++++
 java/code/src/com/redhat/rhn/domain/rhnpackage/Package_satellite.hbm.xml                                               |    1 
 java/code/src/com/redhat/rhn/frontend/dto/PackageDto.java                                                              |   17 +++++++
 java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java                                              |    6 ++
 schema/spacewalk/oracle/tables/rhnPackage.sql                                                                          |    1 
 schema/spacewalk/postgres/tables/rhnPackage.sql                                                                        |    3 -
 schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.oracle     |    1 
 schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.postgresql |    2 
 17 files changed, 73 insertions(+), 15 deletions(-)

New commits:
commit fd1e71ef69b1c5a7d8b99a836e1b291ab5654f15
Author: Joshua Roys <Joshua.Roys at gtri.gatech.edu>
Date:   Tue May 15 15:01:29 2012 -0400

    712313 - Add installed size to repodata

diff --git a/backend/satellite_tools/disk_dumper/dumper.py b/backend/satellite_tools/disk_dumper/dumper.py
index bfc509f..2afaaae 100644
--- a/backend/satellite_tools/disk_dumper/dumper.py
+++ b/backend/satellite_tools/disk_dumper/dumper.py
@@ -762,6 +762,7 @@ class PackagesDumper(CachedDumper, exportLib.PackagesDumper):
                 p.summary,
                 p.package_size,
                 p.payload_size,
+                p.installed_size,
                 p.build_host, 
                 TO_CHAR(p.build_time, 'YYYYMMDDHH24MISS') as build_time,
                 sr.name as source_rpm,
diff --git a/backend/satellite_tools/exporter/exportLib.py b/backend/satellite_tools/exporter/exportLib.py
index 5c985f1..cb579c9 100644
--- a/backend/satellite_tools/exporter/exportLib.py
+++ b/backend/satellite_tools/exporter/exportLib.py
@@ -706,7 +706,7 @@ class _PackageDumper(BaseRowDumper):
     def set_attributes(self):
         attrs = ["name", "version", "release", "package_arch",
             "package_group", "rpm_version", "package_size", "payload_size", 
-            "build_host", "source_rpm", "payload_format",
+            "installed_size", "build_host", "source_rpm", "payload_format",
             "compat"]
         dict = {
             'id'            : "rhn-package-%s" % self._row['id'],
diff --git a/backend/server/importlib/backendOracle.py b/backend/server/importlib/backendOracle.py
index 193010e..548271e 100644
--- a/backend/server/importlib/backendOracle.py
+++ b/backend/server/importlib/backendOracle.py
@@ -156,6 +156,7 @@ class OracleBackend(Backend):
                 'summary'       : DBstring(4000),
                 'package_size'  : DBint(), 
                 'payload_size'  : DBint(),
+                'installed_size': DBint(),
                 'build_host'    : DBstring(256), 
                 'build_time'    : DBdateTime(),
                 'source_rpm_id' : DBint(),
diff --git a/backend/server/importlib/headerSource.py b/backend/server/importlib/headerSource.py
index f88d870..6b016ec 100644
--- a/backend/server/importlib/headerSource.py
+++ b/backend/server/importlib/headerSource.py
@@ -100,6 +100,7 @@ class rpmBinaryPackage(Package, rpmPackage):
         'package_group' : 'group',
         'rpm_version'   : 'rpmversion',
         'payload_size'  : 'archivesize',
+        'installed_size': 'size',
         'payload_format': 'payloadformat',
         'build_host'    : 'buildhost',
         'build_time'    : 'buildtime',
diff --git a/backend/server/importlib/importLib.py b/backend/server/importlib/importLib.py
index f857e41..15172fe 100644
--- a/backend/server/importlib/importLib.py
+++ b/backend/server/importlib/importLib.py
@@ -330,6 +330,7 @@ class Package(IncompletePackage):
         'package_group'     : StringType,
         'rpm_version'       : StringType,
         'payload_size'      : IntType,
+        'installed_size'    : IntType,
         'payload_format'    : StringType,
         'build_host'        : StringType,
         'build_time'        : DateType,
diff --git a/backend/server/repomd/domain.py b/backend/server/repomd/domain.py
index e283d1b..653216a 100644
--- a/backend/server/repomd/domain.py
+++ b/backend/server/repomd/domain.py
@@ -55,6 +55,7 @@ class Package:
         self.build_time = None
         self.package_size = None
         self.payload_size = None
+        self.installed_size = None
         self.header_start = None
         self.header_end = None
         self.package_group = None
diff --git a/backend/server/repomd/mapper.py b/backend/server/repomd/mapper.py
index 77963ed..22e85c8 100644
--- a/backend/server/repomd/mapper.py
+++ b/backend/server/repomd/mapper.py
@@ -208,6 +208,7 @@ class SqlPackageMapper:
             p.build_time,
             p.package_size,
             p.payload_size,
+            p.installed_size,
             p.header_start,
             p.header_end,
             pg.name package_group,
@@ -365,8 +366,8 @@ class SqlPackageMapper:
         return package
 
     def _get_package_filename(self, pkg): 
-        if pkg[17]: 
-            path = pkg[17] 
+        if pkg[18]: 
+            path = pkg[18] 
             return os.path.basename(path) 
         else: 
             name = pkg[0] 
@@ -388,7 +389,7 @@ class SqlPackageMapper:
             package.epoch = pkg[3]
         package.arch = pkg[4]
 
-        package.checksum_type = pkg[20]
+        package.checksum_type = pkg[21]
         package.checksum = pkg[5]
         package.summary = string_to_unicode(pkg[6])
         package.description = string_to_unicode(pkg[7])
@@ -398,13 +399,14 @@ class SqlPackageMapper:
         
         package.package_size = pkg[10]
         package.payload_size = pkg[11]
-        package.header_start = pkg[12]
-        package.header_end = pkg[13]
-        package.package_group = pkg[14]
-        package.build_host = pkg[15]
-        package.copyright = string_to_unicode(pkg[16])
+        package.installed_size = pkg[12]
+        package.header_start = pkg[13]
+        package.header_end = pkg[14]
+        package.package_group = pkg[15]
+        package.build_host = pkg[16]
+        package.copyright = string_to_unicode(pkg[17])
         package.filename = self._get_package_filename(pkg)
-        package.source_rpm = pkg[18]
+        package.source_rpm = pkg[19]
 
     def _fill_package_prco(self, package):
         """ Load the package's provides, requires, conflicts, obsoletes. """
diff --git a/backend/server/repomd/view.py b/backend/server/repomd/view.py
index 1d18d67..b0d2165 100644
--- a/backend/server/repomd/view.py
+++ b/backend/server/repomd/view.py
@@ -119,9 +119,10 @@ class PrimaryView(object):
         output.append("    <url></url>")
         output.append("    <time file=\"%d\" build=\"%d\" />"
             % (package.build_time, package.build_time))
-        output.append("    <size package=\"%d\" installed=\"\" "
+        output.append("    <size package=\"%d\" installed=\"%d\" "
             "archive=\"%d\" />"
-            % (package.package_size, package.payload_size))
+            % (package.package_size, package.installed_size,
+               package.payload_size))
         output.append("    <location href=\"getPackage/%s\" />"
             % (package.filename))
         output.append("    <format>")
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
index 5348278..5ffdbeb 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml
@@ -576,7 +576,7 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
   SELECT /*+ ORDERED */ p.id, pn.name as name, pevr.epoch as epoch,
          pevr.version as version, pevr.release as release,
          p.summary, p.description, pa.label as arch_label,
-         p.build_time, p.path, p.package_size, p.payload_size,
+         p.build_time, p.path, p.package_size, p.payload_size, p.installed_size,
          p.copyright, p.vendor, p.build_host, p.header_start, p.header_end,
          srpm.name as source_rpm, pg.name as package_group_name,
          cs.checksum, cs.checksum_type as checksum_type,
diff --git a/java/code/src/com/redhat/rhn/domain/rhnpackage/Package.java b/java/code/src/com/redhat/rhn/domain/rhnpackage/Package.java
index 02303bb..831b39f 100644
--- a/java/code/src/com/redhat/rhn/domain/rhnpackage/Package.java
+++ b/java/code/src/com/redhat/rhn/domain/rhnpackage/Package.java
@@ -44,6 +44,7 @@ public class Package extends BaseDomainHelper {
     private String summary;
     private Long packageSize;
     private Long payloadSize;
+    private Long installedSize;
     private String buildHost;
     private Date buildTime;
     private Checksum checksum;
@@ -382,6 +383,28 @@ public class Package extends BaseDomainHelper {
     }
 
     /**
+     * @return Returns the installedSize.
+     */
+    public Long getInstalledSize() {
+        return installedSize;
+    }
+
+    /**
+     * Get a display friendly version of the installed size
+     * @return the size
+     */
+    public String getInstalledSizeString() {
+        return StringUtil.displayFileSize(this.getInstalledSize());
+    }
+
+    /**
+     * @param p The installedSize to set.
+     */
+    public void setInstalledSize(Long p) {
+        this.installedSize = p;
+    }
+
+    /**
      * @return Returns the rpmVersion.
      */
     public String getRpmVersion() {
diff --git a/java/code/src/com/redhat/rhn/domain/rhnpackage/Package_satellite.hbm.xml b/java/code/src/com/redhat/rhn/domain/rhnpackage/Package_satellite.hbm.xml
index 424ef90..0651c30 100644
--- a/java/code/src/com/redhat/rhn/domain/rhnpackage/Package_satellite.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/rhnpackage/Package_satellite.hbm.xml
@@ -18,6 +18,7 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
         <property name="summary"         type="string" column="summary"/>
         <property name="packageSize"     type="long"   column="package_size"/>
         <property name="payloadSize"     type="long"   column="payload_size"/>
+        <property name="installedSize"   type="long"   column="installed_size"/>
         <property name="buildHost"       type="string" column="build_host"/>
         <property name="buildTime"       type="date"   column="build_time"/>
         <property name="vendor"          type="string" column="vendor"/>
diff --git a/java/code/src/com/redhat/rhn/frontend/dto/PackageDto.java b/java/code/src/com/redhat/rhn/frontend/dto/PackageDto.java
index 7e39d26..3622f3f 100644
--- a/java/code/src/com/redhat/rhn/frontend/dto/PackageDto.java
+++ b/java/code/src/com/redhat/rhn/frontend/dto/PackageDto.java
@@ -44,6 +44,7 @@ public class PackageDto extends BaseDto {
     private Date buildTime;
     private Long packageSize;
     private Long payloadSize;
+    private Long installedSize;
     private String path;
     private String copyright;
     private String vendor;
@@ -302,6 +303,22 @@ public class PackageDto extends BaseDto {
 
     /**
      *
+     * @return Returns the installed size
+     */
+    public Long getInstalledSize() {
+        return installedSize;
+    }
+
+    /**
+     *
+     * @param installedSizeIn The installed size to set.
+     */
+    public void setInstalledSize(Long installedSizeIn) {
+        this.installedSize = installedSizeIn;
+    }
+
+    /**
+     *
      * @return Returns the path
      */
     public String getPath() {
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
index 7fe23e5..bb1c4db 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java
@@ -239,7 +239,11 @@ public class PrimaryXmlWriter extends RepomdWriter {
         attr.clear();
         attr.addAttribute("package", pkgDto.getPackageSize().toString());
         attr.addAttribute("archive", pkgDto.getPayloadSize().toString());
-        attr.addAttribute("installed", "");
+        if (pkgDto.getInstalledSize() != null)
+            attr.addAttribute("installed", pkgDto.getInstalledSize().toString());
+        else
+            /* set something for "installed" so anaconda doesn't die */
+            attr.addAttribute("installed", pkgDto.getPayloadSize().toString());
         localHandler.startElement("size", attr);
         localHandler.endElement("size");
 
diff --git a/schema/spacewalk/oracle/tables/rhnPackage.sql b/schema/spacewalk/oracle/tables/rhnPackage.sql
index b0cefdd..5f605ec 100644
--- a/schema/spacewalk/oracle/tables/rhnPackage.sql
+++ b/schema/spacewalk/oracle/tables/rhnPackage.sql
@@ -40,6 +40,7 @@ CREATE TABLE rhnPackage
     summary          VARCHAR2(4000),
     package_size     NUMBER NOT NULL,
     payload_size     NUMBER,
+    installed_size   NUMBER,
     build_host       VARCHAR2(256),
     build_time       DATE,
     source_rpm_id    NUMBER
diff --git a/schema/spacewalk/postgres/tables/rhnPackage.sql b/schema/spacewalk/postgres/tables/rhnPackage.sql
index 6b01e06..0bcc914 100644
--- a/schema/spacewalk/postgres/tables/rhnPackage.sql
+++ b/schema/spacewalk/postgres/tables/rhnPackage.sql
@@ -1,4 +1,4 @@
--- oracle equivalent source sha1 197aca2e6b8be7fa9aef2f9dfe3052e622cc4d22
+-- oracle equivalent source sha1 198e4f2c8e26ecf4e6dc1b1118915d5b3163ab3f
 --
 -- Copyright (c) 2008--2010 Red Hat, Inc.
 --
@@ -39,6 +39,7 @@ CREATE TABLE rhnPackage
     summary          VARCHAR(4000),
     package_size     NUMERIC NOT NULL,
     payload_size     NUMERIC,
+    installed_size   NUMERIC,
     build_host       VARCHAR(256),
     build_time       TIMESTAMP WITHOUT TIME ZONE,
     source_rpm_id    NUMERIC 
diff --git a/schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.oracle b/schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.oracle
new file mode 100644
index 0000000..3f8d91b
--- /dev/null
+++ b/schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.oracle
@@ -0,0 +1 @@
+alter table rhnPackage add installed_size number;
diff --git a/schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.postgresql b/schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.postgresql
new file mode 100644
index 0000000..eca92ef
--- /dev/null
+++ b/schema/spacewalk/upgrade/spacewalk-schema-1.7-to-spacewalk-schema-1.8/048-add_rhnPackage_installed_size.sql.postgresql
@@ -0,0 +1,2 @@
+-- oracle equivalent source sha1 2f2ccc5724ecc9a3d722b629924bba318841141d
+alter table rhnPackage add column installed_size numeric;




More information about the spacewalk-commits mailing list