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