rel-eng/comps
by Jan Pazdziora
rel-eng/comps/comps-spacewalk-server-fedora16.xml | 2 +-
rel-eng/comps/comps-spacewalk-server-rhel5.xml | 2 +-
rel-eng/comps/comps-spacewalk-server-rhel6.xml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 8e78126d212046a9afc8a38208e48cee58b9b3e1
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Dec 7 10:36:49 2012 +0100
Fixing typo.
diff --git a/rel-eng/comps/comps-spacewalk-server-fedora16.xml b/rel-eng/comps/comps-spacewalk-server-fedora16.xml
index d4302a2..8eb0a8b 100644
--- a/rel-eng/comps/comps-spacewalk-server-fedora16.xml
+++ b/rel-eng/comps/comps-spacewalk-server-fedora16.xml
@@ -162,7 +162,7 @@
<group>
<id>spacewalk-server-no-install</id>
<name>Spacewalk Server Junk</name>
- <description>Spacewalk Server Non-installatble Packages</description>
+ <description>Spacewalk Server Non-installable Packages</description>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="optional">cobbler-web</packagereq>
diff --git a/rel-eng/comps/comps-spacewalk-server-rhel5.xml b/rel-eng/comps/comps-spacewalk-server-rhel5.xml
index 61049ba..4420431 100644
--- a/rel-eng/comps/comps-spacewalk-server-rhel5.xml
+++ b/rel-eng/comps/comps-spacewalk-server-rhel5.xml
@@ -235,7 +235,7 @@
<group>
<id>spacewalk-server-no-install</id>
<name>Spacewalk Server Junk</name>
- <description>Spacewalk Server Non-installatble Packages</description>
+ <description>Spacewalk Server Non-installable Packages</description>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="optional">cobbler-web</packagereq>
diff --git a/rel-eng/comps/comps-spacewalk-server-rhel6.xml b/rel-eng/comps/comps-spacewalk-server-rhel6.xml
index b00740f..e728b08 100644
--- a/rel-eng/comps/comps-spacewalk-server-rhel6.xml
+++ b/rel-eng/comps/comps-spacewalk-server-rhel6.xml
@@ -165,7 +165,7 @@
<group>
<id>spacewalk-server-no-install</id>
<name>Spacewalk Server Junk</name>
- <description>Spacewalk Server Non-installatble Packages</description>
+ <description>Spacewalk Server Non-installable Packages</description>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="optional">cobbler-web</packagereq>
11 years, 4 months
rel-eng/comps
by Jan Pazdziora
rel-eng/comps/comps-spacewalk-server-fedora16.xml | 2 ++
rel-eng/comps/comps-spacewalk-server-fedora17.xml | 2 ++
rel-eng/comps/comps-spacewalk-server-rhel5.xml | 2 ++
rel-eng/comps/comps-spacewalk-server-rhel6.xml | 2 ++
4 files changed, 8 insertions(+)
New commits:
commit 6e1a53a81584cd427010d16e7451691c866eff6d
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Dec 7 10:11:33 2012 +0100
Subpackages cobbler-web and koan are built from cobbler20 but we do not want to ship them.
diff --git a/rel-eng/comps/comps-spacewalk-server-fedora16.xml b/rel-eng/comps/comps-spacewalk-server-fedora16.xml
index cfdd681..d4302a2 100644
--- a/rel-eng/comps/comps-spacewalk-server-fedora16.xml
+++ b/rel-eng/comps/comps-spacewalk-server-fedora16.xml
@@ -165,6 +165,8 @@
<description>Spacewalk Server Non-installatble Packages</description>
<uservisible>false</uservisible>
<packagelist>
+ <packagereq type="optional">cobbler-web</packagereq>
+ <packagereq type="optional">koan</packagereq>
<packagereq type="optional">spacewalk-java-tests</packagereq>
</packagelist>
</group>
diff --git a/rel-eng/comps/comps-spacewalk-server-fedora17.xml b/rel-eng/comps/comps-spacewalk-server-fedora17.xml
index f45c630..8eb0a8b 100644
--- a/rel-eng/comps/comps-spacewalk-server-fedora17.xml
+++ b/rel-eng/comps/comps-spacewalk-server-fedora17.xml
@@ -165,6 +165,8 @@
<description>Spacewalk Server Non-installable Packages</description>
<uservisible>false</uservisible>
<packagelist>
+ <packagereq type="optional">cobbler-web</packagereq>
+ <packagereq type="optional">koan</packagereq>
<packagereq type="optional">spacewalk-java-tests</packagereq>
</packagelist>
</group>
diff --git a/rel-eng/comps/comps-spacewalk-server-rhel5.xml b/rel-eng/comps/comps-spacewalk-server-rhel5.xml
index 2ddfbb4..61049ba 100644
--- a/rel-eng/comps/comps-spacewalk-server-rhel5.xml
+++ b/rel-eng/comps/comps-spacewalk-server-rhel5.xml
@@ -238,6 +238,8 @@
<description>Spacewalk Server Non-installatble Packages</description>
<uservisible>false</uservisible>
<packagelist>
+ <packagereq type="optional">cobbler-web</packagereq>
+ <packagereq type="optional">koan</packagereq>
<packagereq type="optional">spacewalk-java-tests</packagereq>
</packagelist>
</group>
diff --git a/rel-eng/comps/comps-spacewalk-server-rhel6.xml b/rel-eng/comps/comps-spacewalk-server-rhel6.xml
index 71d3a52..b00740f 100644
--- a/rel-eng/comps/comps-spacewalk-server-rhel6.xml
+++ b/rel-eng/comps/comps-spacewalk-server-rhel6.xml
@@ -168,6 +168,8 @@
<description>Spacewalk Server Non-installatble Packages</description>
<uservisible>false</uservisible>
<packagelist>
+ <packagereq type="optional">cobbler-web</packagereq>
+ <packagereq type="optional">koan</packagereq>
<packagereq type="optional">spacewalk-java-tests</packagereq>
</packagelist>
</group>
11 years, 4 months
Changes to 'refs/tags/spacewalk-web-1.9.5-1'
by Jan Pazdziora
Tag 'spacewalk-web-1.9.5-1' created by Jan Pazdziora <jpazdziora(a)redhat.com> at 2012-12-07 08:02 +0000
Tagging package [spacewalk-web] version [1.9.5-1] in directory [web/].
Changes since spacewalk-admin-1.9.2-1:
Jan Pazdziora (1):
Automatic commit of package [spacewalk-web] release [1.9.5-1].
---
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
---
11 years, 4 months
Changes to 'refs/tags/spacewalk-java-1.9.28-1'
by Jan Pazdziora
Tag 'spacewalk-java-1.9.28-1' created by Jan Pazdziora <jpazdziora(a)redhat.com> at 2012-12-07 08:02 +0000
Tagging package [spacewalk-java] version [1.9.28-1] in directory [java/].
Changes since spacewalk-admin-1.9.2-1:
Jan Pazdziora (2):
Automatic commit of package [spacewalk-web] release [1.9.5-1].
Automatic commit of package [spacewalk-java] release [1.9.28-1].
---
java/spacewalk-java.spec | 7 ++++++-
rel-eng/packages/spacewalk-java | 2 +-
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 5 ++++-
4 files changed, 12 insertions(+), 4 deletions(-)
---
11 years, 4 months
2 commits - java/spacewalk-java.spec rel-eng/packages web/spacewalk-web.spec
by Jan Pazdziora
java/spacewalk-java.spec | 7 ++++++-
rel-eng/packages/spacewalk-java | 2 +-
rel-eng/packages/spacewalk-web | 2 +-
web/spacewalk-web.spec | 5 ++++-
4 files changed, 12 insertions(+), 4 deletions(-)
New commits:
commit e4bb6a2752f5439cf7cea9e23a5ac68fe7d5b55c
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Dec 7 09:02:18 2012 +0100
Automatic commit of package [spacewalk-java] release [1.9.28-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 084a9a0..9c4a987 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -28,7 +28,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 1.9.27
+Version: 1.9.28
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -659,6 +659,11 @@ fi
%{jardir}/postgresql-jdbc.jar
%changelog
+* Fri Dec 07 2012 Jan Pazdziora 1.9.28-1
+- 883546 - reworking how repodata xml gets built to avoid "snapshot too old"
+ errors
+- Revert "883546 - repodata inconsistency due to concurrent modification"
+
* Wed Dec 05 2012 Tomas Lestach <tlestach(a)redhat.com> 1.9.27-1
- update catalina.out path for tomcat7
- KickstartFileSyncTaskTest should no longer fail
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 3cabaf1..c56f779 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-1.9.27-1 java/
+1.9.28-1 java/
commit fb2f7dfc0319dd85f621f9aa1128c07ce435870f
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Dec 7 09:02:13 2012 +0100
Automatic commit of package [spacewalk-web] release [1.9.5-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index d57a8a5..5637152 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-1.9.4-1 web/
+1.9.5-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index e0efe8d..254053b 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site - Perl modules
Group: Applications/Internet
License: GPLv2
-Version: 1.9.4
+Version: 1.9.5
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk/
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -253,6 +253,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Fri Dec 07 2012 Jan Pazdziora 1.9.5-1
+- Remove sysdate keyword
+
* Wed Nov 28 2012 Tomas Lestach <tlestach(a)redhat.com> 1.9.4-1
- 470463 - fixing xmllint issue
11 years, 4 months
Changes to 'refs/tags/spacewalk-admin-1.9.2-1'
by Jan Pazdziora
Tag 'spacewalk-admin-1.9.2-1' created by Jan Pazdziora <jpazdziora(a)redhat.com> at 2012-12-07 08:01 +0000
Tagging package [spacewalk-admin] version [1.9.2-1] in directory [spacewalk/admin/].
Changes since spacewalk-java-1.9.27-1:
Jan Pazdziora (2):
Fixing typo.
Automatic commit of package [spacewalk-admin] release [1.9.2-1].
Stephen Herr (2):
Revert "883546 - repodata inconsistency due to concurrent modification"
883546 - reworking how repodata xml gets built to avoid "snapshot too old" errors
---
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml | 150 +++----
java/code/src/com/redhat/rhn/frontend/dto/PackageCapabilityDto.java | 87 ++++
java/code/src/com/redhat/rhn/frontend/dto/PackageChangelogDto.java | 89 ++++
java/code/src/com/redhat/rhn/manager/task/TaskManager.java | 32 +
java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java | 56 +-
java/code/src/com/redhat/rhn/taskomatic/task/repomd/FilelistsXmlWriter.java | 18
java/code/src/com/redhat/rhn/taskomatic/task/repomd/OtherXmlWriter.java | 21 -
java/code/src/com/redhat/rhn/taskomatic/task/repomd/PackageCapabilityIterator.java | 202 ----------
java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java | 91 +---
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepomdWriter.java | 6
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RpmRepositoryWriter.java | 12
java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java | 21 -
rel-eng/packages/spacewalk-admin | 2
spacewalk/admin/spacewalk-admin.spec | 5
spacewalk/admin/spacewalk-service | 2
15 files changed, 382 insertions(+), 412 deletions(-)
---
11 years, 4 months
rel-eng/packages spacewalk/admin
by Jan Pazdziora
rel-eng/packages/spacewalk-admin | 2 +-
spacewalk/admin/spacewalk-admin.spec | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
New commits:
commit 13279f7b5a587f128dcf0b5c65a877d5524333eb
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Dec 7 09:01:36 2012 +0100
Automatic commit of package [spacewalk-admin] release [1.9.2-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin
index 08d3f70..eb78fd6 100644
--- a/rel-eng/packages/spacewalk-admin
+++ b/rel-eng/packages/spacewalk-admin
@@ -1 +1 @@
-1.9.1-1 spacewalk/admin/
+1.9.2-1 spacewalk/admin/
diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec
index 173539d..4882b2b 100644
--- a/spacewalk/admin/spacewalk-admin.spec
+++ b/spacewalk/admin/spacewalk-admin.spec
@@ -2,7 +2,7 @@
Summary: Various utility scripts and data files for RHN Satellite installations
Name: spacewalk-admin
URL: https://fedorahosted.org/spacewalk
-Version: 1.9.1
+Version: 1.9.2
Release: 1%{?dist}
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
License: GPLv2
@@ -75,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT
%config(noreplace) %{_sysconfdir}/rhn/service-list
%changelog
+* Fri Dec 07 2012 Jan Pazdziora 1.9.2-1
+- Fixing typo.
+
* Tue Dec 04 2012 Jan Pazdziora 1.9.1-1
- On Fedoras, start to use tomcat >= 7.
11 years, 4 months
spacewalk/admin
by Jan Pazdziora
spacewalk/admin/spacewalk-service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 5c5f991e67f68bfbc67f090daefdfd162c088c01
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Dec 7 09:01:03 2012 +0100
Fixing typo.
diff --git a/spacewalk/admin/spacewalk-service b/spacewalk/admin/spacewalk-service
index 2a76fb7..1f4a491 100755
--- a/spacewalk/admin/spacewalk-service
+++ b/spacewalk/admin/spacewalk-service
@@ -32,7 +32,7 @@ if [ -x /etc/init.d/tomcat6 -o -x /lib/systemd/system/tomcat6.service ]; then
TOMCAT="tomcat6"
fi
-if [ /lib/systemd/system/tomcat.service ]; then
+if [ -x /lib/systemd/system/tomcat.service ]; then
TOMCAT="tomcat"
fi
11 years, 4 months
java/code
by StephenHerr
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml | 158 +++----
java/code/src/com/redhat/rhn/frontend/dto/PackageCapabilityDto.java | 87 ++++
java/code/src/com/redhat/rhn/frontend/dto/PackageChangelogDto.java | 89 ++++
java/code/src/com/redhat/rhn/manager/task/TaskManager.java | 32 +
java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java | 56 +-
java/code/src/com/redhat/rhn/taskomatic/task/repomd/FilelistsXmlWriter.java | 18
java/code/src/com/redhat/rhn/taskomatic/task/repomd/OtherXmlWriter.java | 21 -
java/code/src/com/redhat/rhn/taskomatic/task/repomd/PackageCapabilityIterator.java | 202 ----------
java/code/src/com/redhat/rhn/taskomatic/task/repomd/PrimaryXmlWriter.java | 91 +---
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepomdWriter.java | 6
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RpmRepositoryWriter.java | 12
java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java | 21 -
12 files changed, 376 insertions(+), 417 deletions(-)
New commits:
commit a5e6dad5668f09a998b497d5d61ce44df5690509
Author: Stephen Herr <sherr(a)redhat.com>
Date: Thu Dec 6 16:07:35 2012 -0500
883546 - reworking how repodata xml gets built to avoid "snapshot too old" errors
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 fa1de80..c73ad00 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
@@ -602,126 +602,92 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
</query>
</mode>
-<mode name="repomdgenerator_capability_files">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version
- FROM rhnPackageFile pkgf, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgf.package_id
- AND pkgf.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgf.package_id
+<mode name="repomdgenerator_capability_files"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version
+ FROM rhnPackageFile pkgf, rhnPackageCapability pkgcap
+ WHERE pkgf.capability_id = pkgcap.id
+ AND pkgf.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_provides">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageProvides pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_provides"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageProvides pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_requires">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageRequires pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_requires"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageRequires pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_conflicts">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageConflicts pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_conflicts"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageConflicts pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_obsoletes">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageObsoletes pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_obsoletes"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageObsoletes pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_recommends">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageRecommends pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_recommends"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageRecommends pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_suggests">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageSuggests pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_suggests"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageSuggests pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_capability_supplements">
- <query params="channel_id">
- SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
- FROM rhnPackageSupplements pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
- WHERE
- chpkg.package_id = pkgp.package_id
- AND pkgp.capability_id = pkgcap.id
- AND chpkg.channel_id = :channel_id
- AND prd.primary_xml is null
- ORDER BY pkgp.package_id
+<mode name="repomdgenerator_capability_supplements"
+ class="com.redhat.rhn.frontend.dto.PackageCapabilityDto">
+ <query params="package_id">
+ SELECT pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
+ FROM rhnPackageSupplements pkgp, rhnPackageCapability pkgcap
+ WHERE pkgp.capability_id = pkgcap.id
+ AND pkgp.package_id = :package_id
</query>
</mode>
-<mode name="repomdgenerator_package_changelog">
- <query params="channel_id">
- SELECT chpkg.package_id, pkglog.time, pkglog.name as author, pkglog.text
- FROM rhnPackageChangeLog pkglog, rhnChannelPackage chpkg
- WHERE
- chpkg.package_id = pkglog.package_id
- AND chpkg.channel_id = :channel_id
- ORDER BY pkglog.package_id
+<mode name="repomdgenerator_package_changelog"
+ class="com.redhat.rhn.frontend.dto.PackageChangelogDto">
+ <query params="package_id">
+ SELECT pkglog.time, pkglog.name as author, pkglog.text
+ FROM rhnPackageChangeLog pkglog
+ WHERE pkglog.package_id = :package_id
</query>
</mode>
diff --git a/java/code/src/com/redhat/rhn/frontend/dto/PackageCapabilityDto.java b/java/code/src/com/redhat/rhn/frontend/dto/PackageCapabilityDto.java
new file mode 100644
index 0000000..2d3c4dc
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/dto/PackageCapabilityDto.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2009--2011 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.dto;
+
+/**
+ * PackageCapabilityDto
+ * @version $Rev$
+ *
+ * DTO for a specific set of package capability data returned from some data source
+ * package queries.
+ */
+public class PackageCapabilityDto extends BaseDto {
+
+ private Long id;
+ private String name;
+ private String version;
+ private Long sense;
+
+
+ /**
+ * @return the id
+ */
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * @param idIn the id to set
+ */
+ public void setId(Long idIn) {
+ this.id = idIn;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param nameIn the name to set
+ */
+ public void setName(String nameIn) {
+ this.name = nameIn;
+ }
+
+ /**
+ * @return the version
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * @param versionIn the version to set
+ */
+ public void setVersion(String versionIn) {
+ this.version = versionIn;
+ }
+
+ /**
+ * @return the sense
+ */
+ public Long getSense() {
+ return sense;
+ }
+
+ /**
+ * @param senseIn the release to set
+ */
+ public void setSense(Long senseIn) {
+ this.sense = senseIn;
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/dto/PackageChangelogDto.java b/java/code/src/com/redhat/rhn/frontend/dto/PackageChangelogDto.java
new file mode 100644
index 0000000..d6a478b
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/dto/PackageChangelogDto.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2009--2011 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.dto;
+
+import java.sql.Timestamp;
+
+/**
+ * PackageChangelogDto
+ * @version $Rev$
+ *
+ * DTO for a specific set of package capability data returned from some data source
+ * package queries.
+ */
+public class PackageChangelogDto extends BaseDto {
+
+ private Long id;
+ private String author;
+ private String text;
+ private Timestamp time;
+
+
+ /**
+ * @return the id
+ */
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * @param idIn the id to set
+ */
+ public void setId(Long idIn) {
+ this.id = idIn;
+ }
+
+ /**
+ * @return the author
+ */
+ public String getAuthor() {
+ return author;
+ }
+
+ /**
+ * @param authorIn the author to set
+ */
+ public void setAuthor(String authorIn) {
+ this.author = authorIn;
+ }
+
+ /**
+ * @return the text
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * @param textIn the text to set
+ */
+ public void setText(String textIn) {
+ this.text = textIn;
+ }
+
+ /**
+ * @return the time
+ */
+ public Timestamp getTime() {
+ return time;
+ }
+
+ /**
+ * @param timeIn the time to set
+ */
+ public void setTime(Timestamp timeIn) {
+ this.time = timeIn;
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/manager/task/TaskManager.java b/java/code/src/com/redhat/rhn/manager/task/TaskManager.java
index 75f7d98..f1d94b5 100644
--- a/java/code/src/com/redhat/rhn/manager/task/TaskManager.java
+++ b/java/code/src/com/redhat/rhn/manager/task/TaskManager.java
@@ -18,6 +18,8 @@ import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.common.db.datasource.ModeFactory;
import com.redhat.rhn.common.db.datasource.SelectMode;
import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.frontend.dto.PackageCapabilityDto;
+import com.redhat.rhn.frontend.dto.PackageChangelogDto;
import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.taskomatic.task.TaskConstants;
@@ -45,12 +47,40 @@ public class TaskManager {
public static Collection<PackageDto> getChannelPackageDtos(Channel channel) {
SelectMode m = ModeFactory.getMode(TaskConstants.MODE_NAME,
TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CHANNEL_PACKAGES);
- Map params = new HashMap();
+ Map<String, Object> params = new HashMap<String, Object>();
params.put("channel_id", channel.getId());
return m.execute(params);
}
/**
+ * Get capabilities of a certain type for a package
+ * @param packageId the package's id
+ * @param query the query to execute
+ * @return a collection of capabilities
+ */
+ public static Collection<PackageCapabilityDto> getPackageCapabilityDtos(
+ Long packageId, String query) {
+ SelectMode m = ModeFactory.getMode(TaskConstants.MODE_NAME, query);
+ Map<String, Object> params = new HashMap<String, Object>();
+ params.put("package_id", packageId);
+ return m.execute(params);
+ }
+
+ /**
+ * Get changelog entries for a particular package
+ * @param packageId the package's id
+ * @return a collection of changelogs
+ */
+ public static Collection<PackageChangelogDto> getPackageChangelogDtos(
+ Long packageId) {
+ SelectMode m = ModeFactory.getMode(TaskConstants.MODE_NAME,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_PACKAGE_CHANGELOG);
+ Map<String, Object> params = new HashMap<String, Object>();
+ params.put("package_id", packageId);
+ return m.execute(params);
+ }
+
+ /**
* Return task status info
* @return task status info
*/
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
index e177eec..08fafb4 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/DebPackageWriter.java
@@ -15,7 +15,9 @@
package com.redhat.rhn.taskomatic.task.repomd;
import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.frontend.dto.PackageCapabilityDto;
import com.redhat.rhn.frontend.dto.PackageDto;
+import com.redhat.rhn.manager.task.TaskManager;
import com.redhat.rhn.taskomatic.task.TaskConstants;
import org.apache.log4j.Logger;
@@ -26,6 +28,7 @@ import java.io.IOException;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
+import java.util.Collection;
import java.util.zip.GZIPOutputStream;
/**
@@ -38,10 +41,6 @@ public class DebPackageWriter {
private static Logger log = Logger.getLogger(DebPackageWriter.class);
private String filenamePackages = "";
private String channelLabel = "";
- private PackageCapabilityIterator providesIterator;
- private PackageCapabilityIterator requiresIterator;
- private PackageCapabilityIterator conflictsIterator;
- private PackageCapabilityIterator obsoletesIterator;
/**
*
@@ -58,19 +57,6 @@ public class DebPackageWriter {
f.delete();
}
f.createNewFile();
-
- providesIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES);
- requiresIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES);
- conflictsIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS);
- obsoletesIterator = new PackageCapabilityIterator(
- channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES);
}
catch (Exception e) {
log.debug("Create file Packages failed " + e.toString());
@@ -112,14 +98,22 @@ public class DebPackageWriter {
out.newLine();
// dependencies
- addPackageDepData(out, providesIterator,
- pkgDto.getId().longValue(), "Provides");
- addPackageDepData(out, requiresIterator,
- pkgDto.getId().longValue(), "Depends");
- addPackageDepData(out, conflictsIterator, pkgDto.getId()
- .longValue(), "Conflicts");
- addPackageDepData(out, obsoletesIterator, pkgDto.getId()
- .longValue(), "Replaces");
+ addPackageDepData(
+ out,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES,
+ pkgDto.getId(), "Provides");
+ addPackageDepData(
+ out,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES,
+ pkgDto.getId(), "Depends");
+ addPackageDepData(
+ out,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS,
+ pkgDto.getId(), "Conflicts");
+ addPackageDepData(
+ out,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES,
+ pkgDto.getId(), "Replaces");
out.write("Filename: XMLRPC/GET-REQ/" + channelLabel + "/getPackage/" +
pkgDto.getName() + "-" + pkgDto.getVersion() + "-" +
@@ -187,11 +181,13 @@ public class DebPackageWriter {
* @param dep
* dependency info
*/
- private void addPackageDepData(BufferedWriter out,
- PackageCapabilityIterator pkgCapIter, long pkgId, String dep) {
+ private void addPackageDepData(BufferedWriter out, String query,
+ Long pkgId, String dep) {
int count = 0;
+ Collection<PackageCapabilityDto> capabilities = TaskManager
+ .getPackageCapabilityDtos(pkgId, query);
try {
- while (pkgCapIter.hasNextForPackage(pkgId)) {
+ for (PackageCapabilityDto capability : capabilities) {
if (count == 0) {
out.write(dep + ": ");
}
@@ -199,8 +195,8 @@ public class DebPackageWriter {
out.write(", ");
}
count++;
- String name = pkgCapIter.getString("name");
- String version = pkgCapIter.getString("version");
+ String name = capability.getName();
+ String version = capability.getVersion();
out.write(name);
if (version != null && !version.isEmpty()) {
out.write(" (" + version + ")");
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/FilelistsXmlWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/FilelistsXmlWriter.java
index 0f07702..6ac62c9 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/FilelistsXmlWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/FilelistsXmlWriter.java
@@ -17,6 +17,7 @@ package com.redhat.rhn.taskomatic.task.repomd;
import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.frontend.dto.PackageCapabilityDto;
import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.manager.task.TaskManager;
@@ -28,6 +29,7 @@ import org.xml.sax.SAXException;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.io.Writer;
+import java.util.Collection;
/**
*
@@ -36,8 +38,6 @@ import java.io.Writer;
*/
public class FilelistsXmlWriter extends RepomdWriter {
- private PackageCapabilityIterator filelistIterator;
-
/**
*
* @param writer The writer object for filelist xml
@@ -84,8 +84,6 @@ public class FilelistsXmlWriter extends RepomdWriter {
* @param channel channel info
*/
public void begin(Channel channel) {
- filelistIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_FILES);
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("xmlns", "http://linux.duke.edu/metadata/filelists");
attr.addAttribute("packages", Integer.toString(channel.getPackageCount()));
@@ -140,10 +138,14 @@ public class FilelistsXmlWriter extends RepomdWriter {
*/
private void addPackageFiles(PackageDto pkgDto,
SimpleContentHandler localHandler) throws SAXException {
- long pkgId = pkgDto.getId().longValue();
- while (filelistIterator.hasNextForPackage(pkgId)) {
- localHandler.addElementWithCharacters("file", sanitize(pkgId,
- filelistIterator.getString("name")));
+ Long pkgId = pkgDto.getId();
+ Collection<PackageCapabilityDto> files = TaskManager
+ .getPackageCapabilityDtos(
+ pkgId,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_FILES);
+ for (PackageCapabilityDto file : files) {
+ localHandler.addElementWithCharacters("file",
+ sanitize(pkgId, file.getName()));
}
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/OtherXmlWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/OtherXmlWriter.java
index c39a11a..49ad7ee 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/OtherXmlWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/OtherXmlWriter.java
@@ -17,11 +17,10 @@ package com.redhat.rhn.taskomatic.task.repomd;
import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.common.translation.SqlExceptionTranslator;
import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.frontend.dto.PackageChangelogDto;
import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.manager.task.TaskManager;
-import com.redhat.rhn.taskomatic.task.TaskConstants;
-
import org.apache.commons.lang.StringUtils;
import org.xml.sax.SAXException;
@@ -29,6 +28,7 @@ import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.io.Writer;
import java.sql.SQLException;
+import java.util.Collection;
/**
*
@@ -37,7 +37,6 @@ import java.sql.SQLException;
*/
public class OtherXmlWriter extends RepomdWriter {
- private PackageCapabilityIterator changeLogIterator;
/**
*
* @param writer The writer object for other.xml
@@ -70,8 +69,6 @@ public class OtherXmlWriter extends RepomdWriter {
* @param channel channel info
*/
public void begin(Channel channel) {
- changeLogIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_PACKAGE_CHANGELOG);
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("xmlns", "http://linux.duke.edu/metadata/other");
attr.addAttribute("packages", Integer.toString(channel.getPackageCount()));
@@ -143,14 +140,16 @@ public class OtherXmlWriter extends RepomdWriter {
private void addPackageChangelog(PackageDto pkgDto,
SimpleContentHandler tmpHandler) throws SAXException, SQLException {
- long pkgId = pkgDto.getId().longValue();
- while (changeLogIterator.hasNextForPackage(pkgId)) {
- String author = changeLogIterator.getString("author");
- String text = changeLogIterator.getString("text");
+ Long pkgId = pkgDto.getId();
+ Collection<PackageChangelogDto> changelogEntries = TaskManager
+ .getPackageChangelogDtos(pkgId);
+ for (PackageChangelogDto changelogEntry : changelogEntries) {
+ String author = changelogEntry.getAuthor();
+ String text = changelogEntry.getText();
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("author", sanitize(pkgId, author));
- attr.addAttribute("date", Long.toString(changeLogIterator.getDate(
- "time").getTime() / 1000));
+ attr.addAttribute("date",
+ Long.toString(changelogEntry.getTime().getTime() / 1000));
tmpHandler.startElement("changelog", attr);
tmpHandler.addCharacters(sanitize(pkgId, text));
tmpHandler.endElement("changelog");
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PackageCapabilityIterator.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PackageCapabilityIterator.java
deleted file mode 100644
index cd717c4..0000000
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/PackageCapabilityIterator.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/**
- * Copyright (c) 2009--2012 Red Hat, Inc.
- *
- * This software is licensed to you under the GNU General Public License,
- * version 2 (GPLv2). There is NO WARRANTY for this software, express or
- * implied, including the implied warranties of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
- * along with this software; if not, see
- * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
- *
- * Red Hat trademarks are not licensed under GPLv2. No permission is
- * granted to use or replicate Red Hat trademarks that are incorporated
- * in this software or its documentation.
- */
-package com.redhat.rhn.taskomatic.task.repomd;
-
-import com.redhat.rhn.common.db.NamedPreparedStatement;
-import com.redhat.rhn.common.db.datasource.ModeFactory;
-import com.redhat.rhn.common.db.datasource.SelectMode;
-import com.redhat.rhn.common.hibernate.HibernateFactory;
-import com.redhat.rhn.domain.channel.Channel;
-import com.redhat.rhn.taskomatic.task.TaskConstants;
-
-import org.apache.log4j.Logger;
-
-import java.math.BigDecimal;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- *
- * @version $Rev $
- *
- */
-public class PackageCapabilityIterator {
-
- private static Logger log = Logger
- .getLogger(PackageCapabilityIterator.class);
- private static final String PACKAGE_ID = "package_id";
-
- private String queryName;
- private ResultSet rs;
- private ResultSetMetaData rsmd;
- private Map row;
- private boolean goBack;
- private boolean hasMoreRows;
-
- /**
- *
- * @param ch channel
- * @param queryNameIn query name
- */
- public PackageCapabilityIterator(Channel ch, String queryNameIn) {
- queryName = queryNameIn;
- // The following usage of SelectMode is only to fetch the named query
- // from the .xml
- // file and to replace the bind parameters. We will execute the query
- // through raw
- // JDBC since we don't want to keep few million rows of data in memory.
- SelectMode modeIn = ModeFactory.getMode(TaskConstants.MODE_NAME,
- queryName);
- String query = NamedPreparedStatement.replaceBindParams(modeIn.getQuery()
- .getOrigQuery(), new HashMap());
-
- row = new HashMap();
- goBack = false;
- hasMoreRows = true;
- try {
- PreparedStatement ps = HibernateFactory.getSession().connection()
- .prepareStatement(query);
- ps.setLong(1, ch.getId());
- ps.setFetchSize(200);
- rs = ps.executeQuery();
- rsmd = rs.getMetaData();
- }
- catch (SQLException sqle) {
- log.error("SQLexception", sqle);
- }
- }
-
- /**
- *
- * @param pkgId package Id
- * @return Returns the next pkg in the sequence
- */
- public boolean hasNextForPackage(long pkgId) {
- if (!next()) {
- return false;
- }
- long current = getPkgId();
- if (current == pkgId) {
- // We're still on the requested package
- return true;
- }
- if (current > pkgId) {
- // We've past the package boundary, and have already fetched one row
- // from the next package. Please put it back.
- goBack = true;
- return false;
- }
- // At this point we know that we still haven't reached our package.
- // Perform a seek() to the point where our package starts.
- while (current < pkgId) {
- if (!next()) {
- return false;
- }
- current = getPkgId();
- }
- // If no rows can be found for the requested package, return false.
- return current == pkgId;
- }
-
- /**
- *
- * @param key as string
- * @return key as string
- */
- public String getString(String key) {
- return (String) row.get(key.toLowerCase());
- }
-
- /**
- *
- * @param key key as string
- * @return key as bigDecimal number
- */
- public BigDecimal getNumber(String key) {
- return (BigDecimal) row.get(key.toLowerCase());
- }
-
- /**
- *
- * @param key key as string
- * @return key as date
- * @throws SQLException sql exception
- */
- public Date getDate(String key) throws SQLException {
- return rs.getTimestamp(key.toLowerCase());
- }
-
- /**
- *
- * @return package Id
- */
- private long getPkgId() {
- return Long.valueOf(row.get(PACKAGE_ID).toString());
- }
-
- /**
- *
- * @return next element in the row
- */
- private boolean next() {
- if (!hasMoreRows) {
- return false;
- }
- if (goBack) {
- goBack = false;
- return true;
- }
- hasMoreRows = false;
- try {
- hasMoreRows = rs.next();
- }
- catch (SQLException sqle) {
- log.error("SQLexception", sqle);
- }
- if (hasMoreRows) {
- storeRow();
- }
- else {
- // in case iterator has no rows at all, row.get(PACKAGE_ID) would
- // return null,
- // so we can't use getPkgId()
- log.debug("End of resultset for " + queryName + ", " +
- "last package seen: " + row.get(PACKAGE_ID));
- }
- return hasMoreRows;
- }
-
- /**
- * stores the elements to the row object
- */
- private void storeRow() {
- try {
- for (int i = 1; i <= rsmd.getColumnCount(); i++) {
- Object obj = rs.getObject(i);
- String column = rsmd.getColumnName(i);
- row.put(column.toLowerCase(), obj);
- }
- }
- catch (SQLException sqle) {
- log.error("SQLexception", sqle);
- }
- }
-
-}
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 ac20ec8..512520b 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
@@ -17,6 +17,7 @@ package com.redhat.rhn.taskomatic.task.repomd;
import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.domain.channel.Channel;
+import com.redhat.rhn.frontend.dto.PackageCapabilityDto;
import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.manager.task.TaskManager;
@@ -27,6 +28,7 @@ import org.xml.sax.SAXException;
import java.io.ByteArrayOutputStream;
import java.io.Writer;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -37,14 +39,6 @@ import java.util.Map;
*/
public class PrimaryXmlWriter extends RepomdWriter {
- private PackageCapabilityIterator filesIterator;
- private PackageCapabilityIterator providesIterator;
- private PackageCapabilityIterator requiresIterator;
- private PackageCapabilityIterator conflictsIterator;
- private PackageCapabilityIterator obsoletesIterator;
- private PackageCapabilityIterator recommendsIterator;
- private PackageCapabilityIterator suggestsIterator;
- private PackageCapabilityIterator supplementsIterator;
/**
*
* @param writer The writer object for primary xml
@@ -89,22 +83,6 @@ public class PrimaryXmlWriter extends RepomdWriter {
* @param channel channel data
*/
public void begin(Channel channel) {
- filesIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_FILES);
- providesIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES);
- requiresIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES);
- conflictsIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS);
- obsoletesIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES);
- recommendsIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_RECOMMENDS);
- suggestsIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_SUGGESTS);
- supplementsIterator = new PackageCapabilityIterator(channel,
- TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_SUPPLEMENTS);
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("xmlns", "http://linux.duke.edu/metadata/common");
attr.addAttribute("xmlns:rpm", "http://linux.duke.edu/metadata/rpm");
@@ -264,21 +242,28 @@ public class PrimaryXmlWriter extends RepomdWriter {
*/
private void addPackagePrcoData(PackageDto pkgDto,
SimpleContentHandler localHandler) throws SAXException {
- addPackageDepData(providesIterator, pkgDto.getId().longValue(),
- "provides", localHandler);
- addPackageDepData(requiresIterator, pkgDto.getId().longValue(),
- "requires", localHandler);
- addPackageDepData(conflictsIterator, pkgDto.getId().longValue(),
- "conflicts", localHandler);
- addPackageDepData(obsoletesIterator, pkgDto.getId().longValue(),
- "obsoletes", localHandler);
- addPackageDepData(recommendsIterator, pkgDto.getId().longValue(),
- "recommends", localHandler);
- addPackageDepData(suggestsIterator, pkgDto.getId().longValue(),
- "suggests", localHandler);
- addPackageDepData(supplementsIterator, pkgDto.getId().longValue(),
- "supplements", localHandler);
- }
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_PROVIDES,
+ pkgDto.getId(), "provides", localHandler);
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_REQUIRES,
+ pkgDto.getId(), "requires", localHandler);
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_CONFLICTS,
+ pkgDto.getId(), "conflicts", localHandler);
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_OBSOLETES,
+ pkgDto.getId(), "obsoletes", localHandler);
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_RECOMMENDS,
+ pkgDto.getId(), "recommends", localHandler);
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_SUGGESTS,
+ pkgDto.getId(), "suggests", localHandler);
+ addPackageDepData(
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_SUPPLEMENTS,
+ pkgDto.getId(), "supplements", localHandler);
+ }
/**
*
@@ -287,21 +272,21 @@ public class PrimaryXmlWriter extends RepomdWriter {
* @param dep dependency info
* @throws SAXException sax exception
*/
- private void addPackageDepData(PackageCapabilityIterator pkgCapIter, long pkgId,
- String dep, SimpleContentHandler localHandler) throws SAXException {
+ private void addPackageDepData(String query, Long pkgId,
+ String dep, SimpleContentHandler localHandler) throws SAXException {
+ Collection<PackageCapabilityDto> capabilities = TaskManager
+ .getPackageCapabilityDtos(pkgId, query);
localHandler.startElement("rpm:" + dep);
- while (pkgCapIter.hasNextForPackage(pkgId)) {
+ for (PackageCapabilityDto capability : capabilities) {
SimpleAttributesImpl attr = new SimpleAttributesImpl();
- attr.addAttribute("name", sanitize(pkgId, pkgCapIter
- .getString("name")));
+ attr.addAttribute("name", sanitize(pkgId, capability.getName()));
Map<String, String> evrMap = parseEvr(sanitize(pkgId,
- pkgCapIter
- .getString("version")));
+ capability.getVersion()));
if (evrMap.get("epoch") != null || evrMap.get("version") != null ||
evrMap.get("release") != null) {
- attr.addAttribute("flags", getSenseAsString(pkgCapIter
- .getNumber("sense").longValue()));
+ attr.addAttribute("flags",
+ getSenseAsString(capability.getSense()));
}
if (evrMap.get("epoch") != null) {
@@ -330,7 +315,7 @@ public class PrimaryXmlWriter extends RepomdWriter {
* @return package evr object
*/
private static Map<String, String> parseEvr(String evr) {
- Map map = new HashMap<String, String>();
+ Map<String, String> map = new HashMap<String, String>();
map.put("epoch", null);
map.put("version", null);
map.put("release", null);
@@ -368,8 +353,12 @@ public class PrimaryXmlWriter extends RepomdWriter {
private void addEssentialPackageFiles(long pkgId,
SimpleContentHandler hndlr) throws SAXException {
String regex = ".*bin/.*|^/etc/.*|^/usr/lib.sendmail$";
- while (filesIterator.hasNextForPackage(pkgId)) {
- String path = sanitize(pkgId, filesIterator.getString("name"));
+ Collection<PackageCapabilityDto> files = TaskManager
+ .getPackageCapabilityDtos(
+ pkgId,
+ TaskConstants.TASK_QUERY_REPOMD_GENERATOR_CAPABILITY_FILES);
+ for (PackageCapabilityDto file : files) {
+ String path = sanitize(pkgId, file.getName());
if (path.matches(regex)) {
hndlr.addElementWithCharacters("file", path);
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepomdWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepomdWriter.java
index cc8f7c3..f05894f 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepomdWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepomdWriter.java
@@ -42,8 +42,8 @@ public abstract class RepomdWriter {
static {
CONTROL_CHARS = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008" +
- "\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015" +
- "\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F";
+ "\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015" +
+ "\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F";
CONTROL_CHARS_REPLACEMENT = StringUtils.repeat(" ", CONTROL_CHARS.length());
}
@@ -146,7 +146,7 @@ public abstract class RepomdWriter {
* @param pkgId package id
* @param input char input
*/
- protected static String sanitize(long pkgId, String input) {
+ protected static String sanitize(Long pkgId, String input) {
if (StringUtils.containsNone(input, CONTROL_CHARS)) {
return input;
}
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RpmRepositoryWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RpmRepositoryWriter.java
index 99236cf..5cd9c9d 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RpmRepositoryWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RpmRepositoryWriter.java
@@ -40,10 +40,10 @@ import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.manager.task.TaskManager;
/**
-*
-* @version $Rev $
-*
-*/
+ *
+ * @version $Rev $
+ *
+ */
public class RpmRepositoryWriter extends RepositoryWriter {
private static final String PRIMARY_FILE = "primary.xml.gz.new";
@@ -91,7 +91,7 @@ public class RpmRepositoryWriter extends RepositoryWriter {
PackageManager.createRepoEntrys(channel.getId());
String prefix = mountPoint + File.separator + pathPrefix +
- File.separator + channel.getLabel() + File.separator;
+ File.separator + channel.getLabel() + File.separator;
// we closed the session, so we need to reload the object
channel = (Channel) HibernateFactory.getSession().get(channel.getClass(),
@@ -116,7 +116,7 @@ public class RpmRepositoryWriter extends RepositoryWriter {
String checksumAlgo = this.checksumtype;
if (checksumAlgo.toUpperCase().startsWith("SHA")) {
checksumAlgo = this.checksumtype.substring(0, 3) + "-" +
- this.checksumtype.substring(3);
+ this.checksumtype.substring(3);
}
// translate sha1 to sha for xml repo files
String checksumLabel = this.checksumtype;
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
index 37ed314..53edf80 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/UpdateInfoWriter.java
@@ -104,7 +104,7 @@ public class UpdateInfoWriter extends RepomdWriter {
* @throws SAXException
*/
private void addErratum(Errata erratum, Channel channel)
- throws SAXException {
+ throws SAXException {
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("from", erratum.getErrataFrom());
attr.addAttribute("status", "final");
@@ -112,9 +112,11 @@ public class UpdateInfoWriter extends RepomdWriter {
attr.addAttribute("version", Long.toString(erratum.getAdvisoryRel()));
handler.startElement("update", attr);
- handler.addElementWithCharacters("id", sanitize(0, erratum
+ handler.addElementWithCharacters("id",
+ sanitize(0L, erratum
.getAdvisoryName()));
- handler.addElementWithCharacters("title", sanitize(0, erratum
+ handler.addElementWithCharacters("title",
+ sanitize(0L, erratum
.getSynopsis()));
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -129,7 +131,8 @@ public class UpdateInfoWriter extends RepomdWriter {
handler.startElement("updated", attr);
handler.endElement("updated");
- handler.addElementWithCharacters("description", sanitize(0, erratum
+ handler.addElementWithCharacters("description",
+ sanitize(0L, erratum
.getDescription()));
addErratumReferences(erratum);
@@ -145,7 +148,7 @@ public class UpdateInfoWriter extends RepomdWriter {
* @throws SAXException
*/
private void addErratumPkgList(Errata erratum, Channel channel)
- throws SAXException {
+ throws SAXException {
handler.startElement("pkglist");
SimpleAttributesImpl attr = new SimpleAttributesImpl();
@@ -190,7 +193,7 @@ public class UpdateInfoWriter extends RepomdWriter {
attr.clear();
attr.addAttribute("type",
- sanitize(pkgId, pkg.getChecksum().getChecksumType().getLabel()));
+ sanitize(pkgId, pkg.getChecksum().getChecksumType().getLabel()));
handler.startElement("sum", attr);
handler.addCharacters(sanitize(pkgId, pkg.getChecksum().getChecksum()));
handler.endElement("sum");
@@ -223,8 +226,8 @@ public class UpdateInfoWriter extends RepomdWriter {
}
else {
attr.addAttribute("href",
- "http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=" +
- bug.getId());
+ "http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=" +
+ bug.getId());
}
attr.addAttribute("id", Long.toString(bug.getId()));
attr.addAttribute("type", "bugzilla");
@@ -242,7 +245,7 @@ public class UpdateInfoWriter extends RepomdWriter {
SimpleAttributesImpl attr = new SimpleAttributesImpl();
attr.addAttribute("href",
"http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=" + cve);
- attr.addAttribute("id", sanitize(0, cve.getName()));
+ attr.addAttribute("id", sanitize(0L, cve.getName()));
attr.addAttribute("type", "cve");
handler.startElement("reference", attr);
handler.endElement("reference");
11 years, 4 months
java/code
by StephenHerr
java/code/src/com/redhat/rhn/common/db/datasource/xml/Task_queries.xml | 24 ++++++----
1 file changed, 16 insertions(+), 8 deletions(-)
New commits:
commit ee9e14401e60bf794e74631eba3398cd5d4cb8da
Author: Stephen Herr <sherr(a)redhat.com>
Date: Wed Dec 5 15:23:00 2012 -0500
Revert "883546 - repodata inconsistency due to concurrent modification"
This reverts commit 165189729784f9134f5bd9d5090df2f9588eff54.
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 f75d967..fa1de80 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
@@ -606,11 +606,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version
FROM rhnPackageFile pkgf, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgf.package_id
AND pkgf.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgf.package_id
</query>
</mode>
@@ -619,11 +620,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageProvides pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
@@ -632,11 +634,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageRequires pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
@@ -645,11 +648,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageConflicts pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
@@ -658,11 +662,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageObsoletes pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
@@ -671,11 +676,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageRecommends pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
@@ -684,11 +690,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageSuggests pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
@@ -697,11 +704,12 @@ where rhnChannelErrata.errata_id = rhnErrataPackage.errata_id
<query params="channel_id">
SELECT chpkg.package_id, pkgcap.id, pkgcap.name, pkgcap.version, pkgp.sense
FROM rhnPackageSupplements pkgp, rhnPackageCapability pkgcap,
- rhnChannelPackage chpkg
+ rhnChannelPackage chpkg left join rhnPackageRepodata prd ON prd.package_id = chpkg.package_id
WHERE
chpkg.package_id = pkgp.package_id
AND pkgp.capability_id = pkgcap.id
AND chpkg.channel_id = :channel_id
+ AND prd.primary_xml is null
ORDER BY pkgp.package_id
</query>
</mode>
11 years, 4 months