backend/PYTHON-LICENSES.txt
| 195 +
backend/common/rhn_rpm.py
| 61
backend/rhn-conf/rhn_server_iss.conf
| 2
backend/rhn-conf/rhn_server_satellite.conf
| 2
backend/satellite_tools/Makefile
| 2
backend/satellite_tools/connection.py
| 2
backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
| 6
backend/satellite_tools/rhn-db-stats
| 35
backend/satellite_tools/satComputePkgHeaders.py
| 4
backend/satellite_tools/satellite-sync.sgml
| 2
backend/satellite_tools/satsync.py
| 11
backend/satellite_tools/spacewalk-debug
| 24
backend/satellite_tools/sync_handlers.py
| 17
backend/satellite_tools/xmlWireSource.py
| 3
backend/server/action/packages.py
| 67
backend/server/rhnPackageUpload.py
| 55
backend/server/rhnSQL/driver_cx_Oracle.py
| 2
backend/server/rhnServer/server_hardware.py
| 3
backend/spacewalk-backend.spec
| 17
branding/css/rhn-listview.css
| 5
branding/spacewalk-branding.spec
| 6
client/rhel/rhn-client-tools/etc-conf/Makefile
| 5
client/rhel/rhn-client-tools/rhn-client-tools.spec
| 14
client/rhel/rhn-client-tools/rhn_register.desktop
| 10
client/solaris/rhnclient/Makefile
| 3
client/solaris/rhnclient/PYTHON-LICENSES.txt
| 195 +
client/solaris/rhnclient/compile.py
| 16
client/solaris/rhnclient/rhnclient.spec
| 8
client/solaris/rhnclient/version
| 1
client/solaris/smartpm/smartpm.spec
| 8
client/solaris/smartpm/version
| 1
client/tools/osad/PYTHON-LICENSES.txt
| 195 +
client/tools/osad/compile.py
| 6
client/tools/osad/osad.spec
| 8
client/tools/osad/src/_ConfigParser.py
| 1
client/tools/rhncfg/PYTHON-LICENSES.txt
| 195 +
client/tools/rhncfg/actions/configfiles.py
| 5
client/tools/rhncfg/compile.py
| 6
client/tools/rhncfg/rhncfg.spec
| 5
client/tools/rhncustominfo/PYTHON-LICENSES.txt
| 195 +
client/tools/rhncustominfo/compile.py
| 6
client/tools/spacewalk-koan/PYTHON-LICENSES.txt
| 195 +
client/tools/spacewalk-koan/compile.py
| 6
java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java
| 8
java/code/src/com/redhat/rhn/common/conf/Config.java
| 2
java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
| 15
java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
| 86
java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
| 27
java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
| 29
java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml
| 9
java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java
| 45
java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
| 32
java/code/src/com/redhat/rhn/common/validator/test/TestObject.java
| 17
java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd
| 9
java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java
| 2
java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java
| 2
java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
| 6
java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
| 29
java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java
| 15
java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java
| 10
java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
| 36
java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java
| 18
java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
| 11
java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
| 7
java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java
| 12
java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java
| 8
java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java
| 174 -
java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java
| 83
java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java
| 120
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java
| 44
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java
| 25
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
| 88
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
| 30
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java
| 36
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java
| 36
java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
| 110
java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java
| 76
java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java
| 115
java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java
| 76
java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java
| 23
java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
| 6
java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java
| 218 -
java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java
| 47
java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java
| 39
java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java
| 42
java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java
| 43
java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java
| 41
java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java
| 54
java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java
| 5
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java
| 22
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java
| 148 -
java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java
| 2
java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java
| 4
java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java
| 45
java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java
| 47
java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java
| 135
java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java
| 58
java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java
| 37
java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java
| 58
java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java
| 38
java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java
| 59
java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
| 97
java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java
| 58
java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java
| 34
java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java
| 189 -
java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java
| 84
java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java
| 27
java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java
| 39
java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java
| 49
java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java
| 57
java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java
| 48
java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java
| 59
java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java
| 48
java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java
| 27
java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java
| 57
java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java
| 120
java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java
| 40
java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java
| 154 -
java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java
| 3
java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java
| 55
java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
| 8
java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java
| 4
java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java
| 1
java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java
| 11
java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java
| 3
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
| 17
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
| 68
java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
| 6
java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java
| 2
java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
| 203 -
java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java
| 202 -
java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
| 22
java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java
| 6
java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
| 2
java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java
| 3
java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java
| 3
java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java
| 66
java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
| 31
java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java
| 49
java/code/src/com/redhat/rhn/manager/action/ActionManager.java
| 1
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
| 36
java/code/src/com/redhat/rhn/manager/download/DownloadManager.java
| 45
java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
| 73
java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
| 29
java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
| 15
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
| 18
java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java
| 13
java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
| 24
java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java
| 2
java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java
| 51
java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
| 17
java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java
| 39
java/code/src/com/redhat/rhn/manager/system/SystemManager.java
| 84
java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
| 28
java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java
| 12
java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
| 96
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
| 70
java/code/src/org/cobbler/CobblerConnection.java
| 18
java/code/src/org/cobbler/CobblerObject.java
| 57
java/code/src/org/cobbler/Distro.java
| 31
java/code/src/org/cobbler/Profile.java
| 34
java/code/src/org/cobbler/SystemRecord.java
| 34
java/code/src/org/cobbler/test/MockConnection.java
| 13
java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp
| 53
java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp
| 2
java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp
| 16
java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
| 81
java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf
| 77
java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf
| 28
java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
| 84
java/code/webapp/WEB-INF/pages/errata/all.jsp
| 43
java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp
| 148 -
java/code/webapp/WEB-INF/pages/errata/overview.jsp
| 5
java/code/webapp/WEB-INF/pages/errata/published.jsp
| 10
java/code/webapp/WEB-INF/pages/errata/relevant.jsp
| 5
java/code/webapp/WEB-INF/pages/errata/unpublished.jsp
| 11
java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp
| 127
java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp
| 28
java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp
| 31
java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp
| 55
java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp
| 123
java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp
| 4
java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp
| 3
java/code/webapp/WEB-INF/pages/systems/errata.jsp
| 30
java/code/webapp/WEB-INF/pages/systems/probes/index.jsp
| 79
java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp
| 4
java/code/webapp/WEB-INF/struts-config.xml
| 148 -
java/ivy.xml
| 4
java/spacewalk-java.spec
| 50
monitoring/nocpulse-common/nocpulse-common.spec
| 12
monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
| 9
monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
| 9
playpen/README
| 2
projects/oracle-server-scripts/oracle-server-scripts.spec
| 6
proxy/installer/configure-proxy.sh
| 169 -
proxy/installer/spacewalk-proxy-installer.spec
| 14
proxy/proxy/PYTHON-LICENSES.txt
| 195 +
proxy/proxy/compile.py
| 3
proxy/proxy/spacewalk-proxy.spec
| 9
rel-eng/bin/sign_unsigned.py
| 742 +++++
rel-eng/bin/tito
| 2
rel-eng/global.build.py.props
| 19
rel-eng/koji-missing-builds.py
| 6
rel-eng/lib/spacewalk/releng/builder.py
| 23
rel-eng/lib/spacewalk/releng/cli.py
| 11
rel-eng/lib/spacewalk/releng/tagger.py
| 77
rel-eng/packages/nocpulse-common
| 2
rel-eng/packages/oracle-instantclient-selinux
| 2
rel-eng/packages/oracle-server-scripts
| 2
rel-eng/packages/osad
| 2
rel-eng/packages/rhn-client-tools
| 2
rel-eng/packages/rhncfg
| 2
rel-eng/packages/rhnclient
| 1
rel-eng/packages/smartpm
| 1
rel-eng/packages/spacewalk-admin
| 2
rel-eng/packages/spacewalk-backend
| 2
rel-eng/packages/spacewalk-branding
| 2
rel-eng/packages/spacewalk-certs-tools
| 2
rel-eng/packages/spacewalk-config
| 2
rel-eng/packages/spacewalk-java
| 2
rel-eng/packages/spacewalk-monitoring
| 2
rel-eng/packages/spacewalk-proxy
| 2
rel-eng/packages/spacewalk-proxy-installer
| 2
rel-eng/packages/spacewalk-proxy-monitoring
| 2
rel-eng/packages/spacewalk-schema
| 2
rel-eng/packages/spacewalk-selinux
| 2
rel-eng/packages/spacewalk-setup
| 2
rel-eng/packages/spacewalk-web
| 2
rel-eng/tito.props
| 12
satellite/install/install.pl
| 19
schema/spacewalk/rhnsat/tables/rhnPackage.sql
| 5
schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql
| 5
schema/spacewalk/spacewalk-schema.spec
| 5
selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
| 29
selinux/spacewalk-selinux/spacewalk-selinux.spec
| 12
selinux/spacewalk-selinux/spacewalk.fc
| 3
spacewalk/admin/Makefile.admin
| 1
spacewalk/admin/rhn-generate-pem.pl
| 10
spacewalk/admin/rhn-satellite
| 4
spacewalk/admin/rhn-sudo-load-ssl-cert
| 4
spacewalk/admin/spacewalk-admin.spec
| 12
spacewalk/certs-tools/Makefile.certs
| 2
spacewalk/certs-tools/PYTHON-LICENSES.txt
| 195 +
spacewalk/certs-tools/compile.py
| 1
spacewalk/certs-tools/rhn-sudo-ssl-tool
| 4
spacewalk/certs-tools/rhn_ssl_tool.py
| 19
spacewalk/certs-tools/spacewalk-certs-tools.spec
| 9
spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf
| 3
spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
| 375 ++
spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
| 180 +
spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
| 395 ++
spacewalk/config/spacewalk-config.spec
| 27
spacewalk/setup/bin/spacewalk-setup
| 21
spacewalk/setup/lib/Spacewalk/Setup.pm
| 32
spacewalk/setup/share/ssl.conf.1
| 2
spacewalk/setup/share/ssl.conf.2
| 2
spacewalk/setup/share/ssl.conf.3
| 2
spacewalk/setup/share/ssl.conf.4
| 2
spacewalk/setup/share/ssl.conf.5
| 2
spacewalk/setup/spacewalk-setup.spec
| 20
web/conf/rhn_web.conf
| 8
web/html/applications/rhn-proxy/3.6/cluster.ini
| 8
web/html/applications/rhn-proxy/3.6/httpd/httpd.conf
| 1461 ----------
web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf
| 46
web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml
| 557 ---
web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml
| 347 --
web/html/applications/rhn-proxy/3.6/jabberd/sm.xml
| 379 --
web/html/applications/rhn-proxy/3.6/rhn.conf
| 29
web/html/applications/rhn-proxy/3.6/squid.conf
| 30
web/html/applications/rhn-proxy/3.7/cluster.ini
| 8
web/html/applications/rhn-proxy/3.7/httpd/httpd.conf
| 1461 ----------
web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf
| 46
web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml
| 821 -----
web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml
| 347 --
web/html/applications/rhn-proxy/3.7/jabberd/sm.xml
| 379 --
web/html/applications/rhn-proxy/3.7/rhn.conf
| 29
web/html/applications/rhn-proxy/3.7/squid.conf
| 30
web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
| 14
web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
| 16
web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
| 81
web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
| 81
web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
| 81
web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
| 89
web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
| 104
web/modules/rhn/RHN/ProxyInstall.pm
| 2
web/modules/rhn/RHN/SatInstall.pm
| 4
web/spacewalk-web.spec
| 20
287 files changed, 7582 insertions(+), 9925 deletions(-)
New commits:
commit 0ce4a44b1b05e6681ec5e6d67a763224d8dedcab
Merge: 5729894... 2024719...
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Tue Mar 31 11:45:07 2009 -0300
Merge branch 'master' into pgmerge
Conflicts:
backend/server/action/packages.py
java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
spacewalk/setup/bin/spacewalk-setup
diff --cc backend/server/action/packages.py
index 98edcb9,1d872cc..743f110
--- a/backend/server/action/packages.py
+++ b/backend/server/action/packages.py
@@@ -190,8 -194,7 +196,8 @@@ def runTransaction(server_id, action_id
return { 'packages' : result }
# SQL statements -- used by update()
+# PGPORT_2:AS KEYWORD
- _packageStatement = """
+ _packageStatement_update = """
select distinct
pn.name name,
pe.epoch epoch,
diff --cc java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index d2aea4a,f0d00b9..3deb3c5
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@@ -1069,9 -999,23 +1069,24 @@@ SELECT CP.package_id, CP.name_id, CP.ev
</query>
</mode>
+ <mode name="latest_package_equal_in_tree">
+ <query params="cid, name">
+ SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
+ FROM rhnPackageName PN inner join
+ rhnChannelNewestPackage CP on CP.name_id = PN.id inner join
+ rhnChannel C on C.id = Cp.channel_id inner join
+ rhnPackage P on P.id = CP.package_id inner join
+ rhnPackageEvr EVR on P.evr_id = EVR.id
+ WHERE ( C.id = :cid or C.parent_channel = :cid)
+ AND PN.name = :name
+ order by EVR.evr DESC
+ </query>
+ </mode>
+
+
<mode name="latest_package_like">
<query params="cid, name">
+<!-- PGPORT_1:NO Change -->
SELECT CP.package_id, CP.name_id, CP.evr_id
FROM rhnPackageName PN, rhnChannelNewestPackage CP
WHERE CP.channel_id = :cid
diff --cc java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index fc0eee4,76faf7f..f8092a2
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@@ -116,9 -85,50 +98,53 @@@ ORDER BY E.update_date DESC, E.i
<elaborator name="errata_overview" />
</mode>
+ <mode name="relevant_to_system_by_types"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
+ <query params="user_id, sid">
++<!-- PGPORT_0: UNTAGGED -->
+ SELECT DISTINCT E.id, E.update_date,
+ E.synopsis AS ADVISORY_SYNOPSIS,
+ E.advisory_name AS ADVISORY_NAME,
+ E.advisory_type AS ADVISORY_TYPE,
+ :sid as ASSOCIATED_SYSTEM
+ FROM rhnErrata E,
+ rhnServerNeededErrataCache SNEC
+ WHERE EXISTS (SELECT server_id FROM rhnUserServerPerms USP
+ WHERE USP.user_id = :user_id
+ AND USP.server_id = :sid)
+ AND SNEC.server_id = :sid
+ AND SNEC.errata_id = E.id
+ AND E.advisory_type in (%s)
+ ORDER BY E.update_date DESC, E.id
+ </query>
+ <elaborator name="relevant_elab" />
+ <elaborator name="errata_overview" />
+ </mode>
+
+
+ <query name="relevant_elab" params="sid" >
++<!-- PGPORT_0: UNTAGGED -->
+ SELECT DISTINCT AEU.errata_id AS id,
+ AST.name AS status,
+ SA.action_id
+ FROM rhnActionErrataUpdate AEU,
+ rhnServerAction SA,
+ rhnActionStatus AST
+ WHERE SA.server_id = :sid
+ AND SA.action_id = AEU.action_id
+ AND AEU.errata_id IN (%s)
+ AND AST.id = SA.status
+ AND NOT ( EXISTS ( SELECT 1 FROM rhnServerNeededErrataCache
+ WHERE server_id = SA.server_id
+ AND errata_id = AEU.errata_id
+ )
+ AND AST.name = 'Completed' -- filter out rolled back status
+ )
+ </query>
+
+
<mode name="relevant_to_system_by_type"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
<query params="user_id, sid, type">
+<!-- PGPORT_1:NO CHANGE -->
SELECT DISTINCT E.id, E.update_date,
E.synopsis AS ADVISORY_SYNOPSIS,
E.advisory_name AS ADVISORY_NAME,
@@@ -154,10 -163,9 +180,10 @@@ ORDER BY E.advisory_type DESC, E.updat
<mode name="count_critical_errata_for_system">
<query params="user_id, sid">
+<!-- PGPORT_1:NO CHANGE -->
SELECT COUNT(DISTINCT E.ID) AS COUNT
FROM rhnErrata E,
- rhnServerNeededPackageCache SNEC,
+ rhnServerNeededCache SNEC,
rhnUserServerPerms USP
WHERE USP.server_id = :sid
AND USP.user_id = :user_id
@@@ -170,10 -178,9 +196,10 @@@
<mode name="count_noncritical_errata_for_system">
<query params="user_id, sid">
+<!-- PGPORT_1:NO CHANGE -->
SELECT COUNT(DISTINCT E.ID) AS COUNT
FROM rhnErrata E,
- rhnServerNeededPackageCache SNEC,
+ rhnServerNeededCache SNEC,
rhnUserServerPerms USP
WHERE USP.server_id = :sid
AND USP.user_id = :user_id
@@@ -331,10 -333,11 +357,10 @@@ ORDER BY update_date DES
</query>
</mode>
-
-
<mode name="relevant_to_channel_by_type">
<query params="cid, type">
+<!-- PGPORT_1:NO CHANGE -->
- SSELECT DISTINCT
+ SELECT DISTINCT
E.advisory_name AS advisory,
TO_CHAR(E.issue_date, 'YYYY-MM-DD HH24:MI:SS') AS issue_date,
TO_CHAR(E.update_date, 'YYYY-MM-DD HH24:MI:SS') AS update_date,
@@@ -717,12 -702,9 +743,12 @@@ ORDER BY E.update_date DESC, E.i
</query>
</mode>
+
+
<mode name="clonable_errata_list_all"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="org_id">
+<!-- PGPORT_3:ORAFCE(NVL) -->
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@@ -749,8 -731,7 +775,8 @@@ ORDER BY update_date DESC, E.i
<mode name="clonable_errata_list_uncloned"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="org_id">
+<!-- PGPORT_3:ORAFCE(NVL) -->
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@@ -787,8 -768,7 +813,8 @@@ ORDER BY update_date DESC, E.i
<mode name="clonable_errata_for_channel_all"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="channel_id, org_id">
+<!-- PGPORT_3:ORAFCE(NVL) -->
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@@ -816,8 -796,7 +842,8 @@@ ORDER BY update_date DESC, E.i
<mode name="clonable_errata_for_channel_uncloned"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="channel_id, org_id">
+<!-- PGPORT_3:ORAFCE(NVL) -->
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
commit 202471997b220255bcc185552f96ab2ee7a0ad8e
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Mar 30 20:42:23 2009 -0500
use except not else
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py
index da15b5e..bee7600 100755
--- a/rel-eng/bin/sign_unsigned.py
+++ b/rel-eng/bin/sign_unsigned.py
@@ -8,7 +8,7 @@
import base64
try:
import koji
-else:
+except:
import brew as koji
import md5
import os
commit 1c859ec04f9cc8ff8fecb4c67461851d05f9b363
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Mar 30 20:13:26 2009 -0500
use certs from standard spacewalk location
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py
index 9ed52af..da15b5e 100755
--- a/rel-eng/bin/sign_unsigned.py
+++ b/rel-eng/bin/sign_unsigned.py
@@ -710,9 +710,9 @@ class SignUnsigned(CliTool, KojiTool):
def cmd_default(self):
self.tweak_options()
- clientcert = '/etc/pki/pkgsigner/pkgsigner.pem'
- clientca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert'
- serverca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert'
+ clientcert = os.path.join(os.path.expanduser('~'),
".spacewalk.cert")
+ clientca = os.path.join(os.path.expanduser('~'),
".spacewalk-ca.cert")
+ serverca = os.path.join(os.path.expanduser('~'),
".spacewalk-ca.cert")
self.koji_session.ssl_login(clientcert, clientca, serverca) # NEEDSWORK
self.print_msg("Getting rpm list from koji")
if self.options.builds:
commit 4c88b6bd9810e0a6527e01694de0966d8695e539
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Mar 30 20:07:22 2009 -0500
handle using either koji or brew
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py
index 5da2af1..9ed52af 100755
--- a/rel-eng/bin/sign_unsigned.py
+++ b/rel-eng/bin/sign_unsigned.py
@@ -6,7 +6,10 @@
# Copyright (c) 2009 Red Hat
import base64
-import koji
+try:
+ import koji
+else:
+ import brew as koji
import md5
import os
import os.path
commit 3cd8b7a509d0eaf3d2132cb68283b9f8a2c55315
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 30 16:17:29 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.44-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 37a3bf9..87c3543 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.43
+Version: 0.5.44
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,7 +235,7 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
-* Mon Mar 30 2009 Mike McCune <mmccune(a)gmail.com> 0.5.43-1
+* Mon Mar 30 2009 Mike McCune <mmccune(a)gmail.com> 0.5.44-1
- 472595 - ported query forgot to check child channels
- 144325 - converting system probe list to the new list tag, featuring all the bells and
whistles the new list tag has to offer
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index f6db4d9..219ea59 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.43-1 java/
+0.5.44-1 java/
commit 78209408ea906801957646d59f0abe1a01eae1a0
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 30 19:12:32 2009 -0400
443132 - forgot to add a couple of new files to the commit
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java
new file mode 100644
index 0000000..413e5d7
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2009 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.action.schedule;
+
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.action.ActionManager;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * Base action for scheduled action lists
+ * @version $Rev$
+ */
+public abstract class BaseScheduledListAction extends RhnAction implements Listable {
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+
+ RequestContext context = new RequestContext(request);
+ ListRhnSetHelper helper = new ListRhnSetHelper(this, request, getSetDecl());
+ helper.execute();
+ if (helper.isDispatched()) {
+ return handleSubmit(mapping, formIn, request, response);
+ }
+
+ return mapping.findForward("default");
+ }
+
+
+ /**
+ * Gets the set decl
+ * @return the set decl
+ */
+ protected abstract RhnSetDecl getSetDecl();
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public abstract List getResult(RequestContext context);
+
+ /**
+ * Handle the submit
+ * @return an action forward
+ */
+ protected abstract ActionForward handleSubmit(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response);
+
+
+ /**
+ * Archives the actions.
+ * @param mapping ActionMapping
+ * @param formIn ActionForm
+ * @param request ServletRequest
+ * @param response ServletResponse
+ * @return The ActionForward to go to next.
+ */
+ public ActionForward archiveAction(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+
+ RequestContext requestContext = new RequestContext(request);
+ StrutsDelegate strutsDelegate = getStrutsDelegate();
+
+ User user = requestContext.getLoggedInUser();
+ //Update the set first and get the size so we know
+ //how many actions we have archived.
+ RhnSet set = getSetDecl().get(user);
+
+ //Archive the actions
+ ActionManager.archiveActions(user, getSetDecl().getLabel());
+
+
+ ActionMessages msgs = new ActionMessages();
+ /**
+ * If there was only one action archived, display the "action"
archived
+ * message, else display the "actions" archived message.
+ */
+ if (set.size() == 1) {
+ msgs.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("message.actionArchived",
+ LocalizationService.getInstance()
+ .formatNumber(new
Integer(set.size()))));
+ }
+ else {
+ msgs.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("message.actionsArchived",
+ LocalizationService.getInstance()
+ .formatNumber(new
Integer(set.size()))));
+ }
+ strutsDelegate.saveMessages(request, msgs);
+
+ return mapping.findForward("archive");
+ }
+
+}
diff --git
a/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
b/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
new file mode 100644
index 0000000..d0369e2
--- /dev/null
+++
b/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf
@@ -0,0 +1,84 @@
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="SelectableDecorator"/>
+ <rl:decorator name="ElaborationDecorator"/>
+
+
+
+
+ <rl:selectablecolumn value="${current.selectionKey}"
+ selected="${current.selected}"
+ disabled="${not current.selectable}"
+ headerclass="first-column"
+ styleclass="first-column"/>
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="actions.jsp.action"
+ sortattr="actionName"
+ defaultsort="asc"
+ filterattr="actionName"
+ styleclass="list-fat-column-50">
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.actionName}</a>
+ </rl:column>
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="actions.jsp.earliest"
+ sortattr="earliest"
+ >
+ <c:out value="${current.earliest}" />
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.succeeded"
+ styleclass="thin-column"
+ >
+ <c:if test="${current.completed != 0}">
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a>
+ </c:if>
+ <c:if test="${current.completed == 0}">
+ ${current.completed}
+ </c:if>
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.failed"
+ styleclass="thin-column"
+ >
+ <c:if test="${current.failed != 0}">
+ <a
href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a>
+ </c:if>
+ <c:if test="${current.failed == 0}">
+ ${current.failed}
+ </c:if>
+ </rl:column>
+
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.inprogress"
+ styleclass="thin-column"
+ >
+ <c:if test="${current.inProgress != 0}">
+ <a
href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a>
+ </c:if>
+ <c:if test="${current.inProgress == 0}">
+ ${current.inProgress}
+ </c:if>
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.total"
+ styleclass="last-column thin-column">
+ ${current.tally}
+ </rl:column>
+
commit c6d78947e1afd544178ac095f2df159426c5248a
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 30 19:08:26 2009 -0400
443132 - converted all 4 action lists to new list tag, including converting them from
using Setup & Action to just using a single action, and converting the cancel confirm
to use the new list tag
diff --git a/branding/css/rhn-listview.css b/branding/css/rhn-listview.css
index eef7509..4649bac 100644
--- a/branding/css/rhn-listview.css
+++ b/branding/css/rhn-listview.css
@@ -566,3 +566,8 @@ tr.alphaResult td.sortedCol {
.csv-download a {
font-weight: bold;
}
+
+
+.list-fat-column-50 {
+ width: 50%;
+}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java
deleted file mode 100644
index f61ec23..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.frontend.struts.RhnListAction;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * ArchivedActionsAction
- * @version $Rev$
- */
-public class ArchivedActionsAction extends RhnListAction {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- Map params = makeParamMap(request);
-
- return
getStrutsDelegate().forwardParams(mapping.findForward("default"), params);
- }
-
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java
index 503bbb0..1eed5e4 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java
@@ -14,17 +14,18 @@
*/
package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListAction;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.action.ActionManager;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
+import java.util.List;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -32,27 +33,31 @@ import javax.servlet.http.HttpServletResponse;
* ArchivedActionsSetupAction
* @version $Rev$
*/
-public class ArchivedActionsSetupAction extends RhnListAction {
+public class ArchivedActionsSetupAction extends RhnAction implements Listable {
- /** {@inheritDoc} */
+ /**
+ *
+ * {@inheritDoc}
+ */
public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RequestContext requestContext = new RequestContext(request);
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
- User user = requestContext.getLoggedInUser();
- PageControl pc = new PageControl();
- pc.setFilterColumn("earliest");
-
- clampListBounds(pc, request, user);
+ RequestContext context = new RequestContext(request);
+ ListHelper helper = new ListHelper(this, request);
+ helper.execute();
- DataResult dr = ActionManager.archivedActions(user, pc);
-
- request.setAttribute("pageList", dr);
- request.setAttribute("user", user);
-
return mapping.findForward("default");
}
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public List getResult(RequestContext context) {
+ return ActionManager.archivedActions(context.getCurrentUser(), null);
+ }
+
+
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java
deleted file mode 100644
index 7e656be..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.manager.action.ActionManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * CompletedActionsAction
- * @version $Rev$
- */
-public class CompletedActionsAction extends ScheduledActionAction {
-
- /**
- * {@inheritDoc}
- */
- public DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
- return ActionManager.completedActions(user, null);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- // no-op
- }
-
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_COMPLETED;
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java
index 981ba01..6f32ed6 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java
@@ -14,29 +14,50 @@
*/
package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
+import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.manager.action.ActionManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* CompletedActionsSetupAction
* @version $Rev$
*/
-public class CompletedActionsSetupAction extends ScheduledActionSetupAction {
+public class CompletedActionsSetupAction extends BaseScheduledListAction {
+
+
/**
* {@inheritDoc}
*/
- protected DataResult getDataResult(User user, PageControl pc) {
- return ActionManager.completedActions(user, pc);
+ protected RhnSetDecl getSetDecl() {
+ return RhnSetDecl.ACTIONS_COMPLETED;
}
/**
+ *
* {@inheritDoc}
*/
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_COMPLETED;
+ public List getResult(RequestContext context) {
+ return ActionManager.completedActions(context.getLoggedInUser(), null);
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ protected ActionForward handleSubmit(ActionMapping mapping,
+ ActionForm formIn, HttpServletRequest request,
+ HttpServletResponse response) {
+
+ return archiveAction(mapping, formIn, request, response);
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java
deleted file mode 100644
index 0317615..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.manager.action.ActionManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * FailedActionsAction
- * @version $Rev$
- */
-public class FailedActionsAction extends ScheduledActionAction {
-
- /**
- * {@inheritDoc}
- */
- protected DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
- return ActionManager.failedActions(user, null);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- //no-op
- }
-
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_FAILED;
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java
index e4c51db..dfef09e 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java
@@ -14,29 +14,51 @@
*/
package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
+import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.manager.action.ActionManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* FailedActionsSetupAction
* @version $Rev$
*/
-public class FailedActionsSetupAction extends ScheduledActionSetupAction {
+public class FailedActionsSetupAction extends BaseScheduledListAction {
+
/**
* {@inheritDoc}
*/
- protected DataResult getDataResult(User user, PageControl pc) {
- return ActionManager.failedActions(user, pc);
+ protected RhnSetDecl getSetDecl() {
+ return RhnSetDecl.ACTIONS_FAILED;
}
/**
+ *
* {@inheritDoc}
*/
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_FAILED;
+ public List getResult(RequestContext context) {
+ return ActionManager.failedActions(context.getCurrentUser(), null);
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ protected ActionForward handleSubmit(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+
+ return archiveAction(mapping, formIn, request, response);
+
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java
deleted file mode 100644
index 8c86add..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.manager.action.ActionManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * PendingActionsAction
- * @version $Rev$
- */
-public class PendingActionsAction extends ScheduledActionAction {
-
- /**
- * {@inheritDoc}
- */
- protected DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
-
- return ActionManager.pendingActions(user, null);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- // no-op
- }
-
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_PENDING;
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
index 19cfca1..9c1adf5 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java
@@ -14,30 +14,115 @@
*/
package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.rhnset.RhnSetElement;
import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.action.ActionManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
/**
* PendingActionsConfirmAction
* @version $Rev: 101893 $
*/
-public class PendingActionsDeleteConfirmAction extends ScheduledActionSetupAction {
+public class PendingActionsDeleteConfirmAction extends RhnAction implements Listable {
/**
+ *
* {@inheritDoc}
*/
- protected DataResult getDataResult(User user, PageControl pc) {
- return ActionManager.pendingActionsInSet(user, null,
- getSetDecl().getLabel());
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+
+ ListRhnSetHelper helper = new ListRhnSetHelper(this, request, getSetDecl());
+ helper.setWillClearSet(false);
+ helper.execute();
+ if (helper.isDispatched()) {
+ return cancelActions(mapping, request);
+ }
+
+ return mapping.findForward("default");
}
+
+
+
/**
* {@inheritDoc}
*/
protected RhnSetDecl getSetDecl() {
return RhnSetDecl.ACTIONS_PENDING;
}
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public List getResult(RequestContext context) {
+ return ActionManager.pendingActionsInSet(context.getCurrentUser(), null,
+ getSetDecl().getLabel());
+ }
+
+
+ private ActionForward cancelActions(ActionMapping mapping, HttpServletRequest
request) {
+ RequestContext requestContext = new RequestContext(request);
+ StrutsDelegate strutsDelegate = getStrutsDelegate();
+
+ User user = requestContext.getLoggedInUser();
+ RhnSet set = getSetDecl().get(user);
+
+
+ List actionsToCancel = new LinkedList();
+
+ for (RhnSetElement element : set.getElements()) {
+ actionsToCancel.add(element.getElement());
+ }
+
+ ActionManager.removeActions(actionsToCancel);
+
+
+ ActionMessages msgs = new ActionMessages();
+ // If there was only one action cancelled, display the "action"
cancelled
+ // message, else display the "actions" archived message.
+ if (set.size() == 1) {
+ msgs.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("message.actionCancelled",
+ LocalizationService.getInstance()
+ .formatNumber(new
Integer(set.size()))));
+ }
+ else {
+ msgs.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("message.actionsCancelled",
+ LocalizationService.getInstance()
+ .formatNumber(new
Integer(set.size()))));
+ }
+ strutsDelegate.saveMessages(request, msgs);
+
+ set.clear();
+ RhnSetManager.store(set);
+
+
+ return mapping.findForward("success");
+
+ }
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java
deleted file mode 100644
index 67b0fa0..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.manager.action.ActionManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-
-/**
- * PendingActionsDeleteConfirmSubmitAction
- * @version $Rev$
- */
-public class PendingActionsDeleteConfirmSubmitAction extends ScheduledActionAction {
- /**
- * {@inheritDoc}
- */
- protected DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
- return ActionManager.pendingActions(user, null);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- // no-op
- }
-
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_PENDING;
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java
index a8a7f25..dc2f61e 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java
@@ -14,30 +14,48 @@
*/
package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
+import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.manager.action.ActionManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* PendingActionsSetupAction class.
* @version $Rev$
*/
-public class PendingActionsSetupAction extends ScheduledActionSetupAction {
+public class PendingActionsSetupAction extends BaseScheduledListAction {
/**
* {@inheritDoc}
*/
- protected DataResult getDataResult(User user, PageControl pc) {
- return ActionManager.pendingActions(user, pc);
+ protected RhnSetDecl getSetDecl() {
+ return RhnSetDecl.ACTIONS_PENDING;
}
/**
+ *
* {@inheritDoc}
*/
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ACTIONS_PENDING;
+ public List getResult(RequestContext context) {
+ return ActionManager.pendingActions(context.getCurrentUser(), null);
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ protected ActionForward handleSubmit(ActionMapping mapping,
+ ActionForm formIn, HttpServletRequest request,
+ HttpServletResponse response) {
+ return mapping.findForward("confirm");
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java
deleted file mode 100644
index 2c1a773..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.common.localization.LocalizationService;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.rhnset.RhnSetElement;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.common.RhnSetAction;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.StrutsDelegate;
-import com.redhat.rhn.manager.action.ActionManager;
-import com.redhat.rhn.manager.rhnset.RhnSetManager;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
-import org.apache.struts.action.ActionMessages;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * ActionsAction
- * @version $Rev$
- */
-public abstract class ScheduledActionAction extends RhnSetAction {
-
- /**
- * Archives the actions.
- * @param mapping ActionMapping
- * @param formIn ActionForm
- * @param request ServletRequest
- * @param response ServletResponse
- * @return The ActionForward to go to next.
- */
- public ActionForward archiveAction(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RequestContext requestContext = new RequestContext(request);
- StrutsDelegate strutsDelegate = getStrutsDelegate();
-
- User user = requestContext.getLoggedInUser();
- //Update the set first and get the size so we know
- //how many actions we have archived.
- int numActions = updateSet(request).size();
-
- //Archive the actions
- ActionManager.archiveActions(user, getSetDecl().getLabel());
-
- //Remove the actions from the users set
- getSetDecl().clear(user);
- Map params = makeParamMap(formIn, request);
-
- ActionMessages msgs = new ActionMessages();
- /**
- * If there was only one action archived, display the "action"
archived
- * message, else display the "actions" archived message.
- */
- if (numActions == 1) {
- msgs.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("message.actionArchived",
- LocalizationService.getInstance()
- .formatNumber(new
Integer(numActions))));
- }
- else {
- msgs.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("message.actionsArchived",
- LocalizationService.getInstance()
- .formatNumber(new
Integer(numActions))));
- }
- strutsDelegate.saveMessages(request, msgs);
-
- return strutsDelegate.forwardParams(mapping.findForward("default"),
params);
- }
-
- /**
- * Cancels the actions.
- * @param mapping ActionMapping
- * @param formIn ActionForm
- * @param request ServletRequest
- * @param response ServletResponse
- * @return The ActionForward to go to next.
- */
- public ActionForward cancelActions(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RequestContext requestContext = new RequestContext(request);
- StrutsDelegate strutsDelegate = getStrutsDelegate();
-
- User user = requestContext.getLoggedInUser();
- // Update the set first and get the size so we know
- // how many actions we have archived:
- int numActions = updateSet(request).size();
-
- // Cancel the actions:
- Iterator it = RhnSetManager.findByLabel(user.getId(),
- getSetDecl().getLabel(), null).getElements().iterator();
- List actionsToCancel = new LinkedList();
- while (it.hasNext()) {
- RhnSetElement actionIdElement = (RhnSetElement)it.next();
- actionsToCancel.add(actionIdElement.getElement());
- }
-
- ActionManager.removeActions(actionsToCancel);
- // Remove the actions from the users set:
- getSetDecl().clear(user);
- Map params = makeParamMap(formIn, request);
-
- ActionMessages msgs = new ActionMessages();
- // If there was only one action cancelled, display the "action"
cancelled
- // message, else display the "actions" archived message.
- if (numActions == 1) {
- msgs.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("message.actionCancelled",
- LocalizationService.getInstance()
- .formatNumber(new
Integer(numActions))));
- }
- else {
- msgs.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("message.actionsCancelled",
- LocalizationService.getInstance()
- .formatNumber(new
Integer(numActions))));
- }
- strutsDelegate.saveMessages(request, msgs);
-
- return strutsDelegate.forwardParams(mapping.findForward("default"),
params);
- }
-
- /**
- * Cancels the actions.
- * @param mapping ActionMapping
- * @param formIn ActionForm
- * @param request ServletRequest
- * @param response ServletResponse
- * @return The ActionForward to go to next.
- */
- public ActionForward cancelActionsConfirm(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RhnSet set = updateSet(request);
- Map params = makeParamMap(formIn, request);
-
- StrutsDelegate strutsDelegate = getStrutsDelegate();
-
- // If no actions were selected, return to the page with a message.
- if (set.isEmpty()) {
- ActionMessages msg = new ActionMessages();
- msg.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("actions.none"));
- strutsDelegate.saveMessages(request, msg);
- }
-
- return strutsDelegate.forwardParams(mapping.findForward("delete"),
params);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void processMethodKeys(Map map) {
- map.put("actions.jsp.archiveactions", "archiveAction");
- map.put("actions.jsp.cancelactions",
"cancelActionsConfirm");
- map.put("actions.jsp.confirmcancelactions",
"cancelActions");
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java
deleted file mode 100644
index 5722fa5..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListAction;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * ActionsSetupAction
- * @version $Rev$
- */
-public abstract class ScheduledActionSetupAction extends RhnListAction {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
- RequestContext requestContext = new RequestContext(request);
- User user = requestContext.getLoggedInUser();
- PageControl pc = new PageControl();
- pc.setFilterColumn("earliest");
-
- clampListBounds(pc, request, user);
-
- DataResult dr = getDataResult(user, pc);
-
- RhnSet set = getSetDecl().get(user);
-
- request.setAttribute("pageList", dr);
- request.setAttribute("user", user);
- request.setAttribute("set", set);
-
- return mapping.findForward("default");
- }
-
- /**
- * Method that returns the name/label for the particular
- * scheduled action we are working on.
- * @return Returns the name.
- */
- public final String getListName() { return "foo"; }
-
- /**
- * Method that returns the correct data result for a
- * particular scheduled action.
- * @param user The user in question
- * @param pc The page control for the page
- * @return Returns the DataResult for the page.
- */
- protected abstract DataResult getDataResult(User user, PageControl pc);
-
- /**
- * The declaration of the set we are working with, must be one of the
- * constants from {@link RhnSetDecl}
- * @return the declaration of the set we are working with
- */
- protected abstract RhnSetDecl getSetDecl();
-
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java
index 46103eb..c9c7dee 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java
@@ -14,24 +14,27 @@
*/
package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.ArchivedActionsSetupAction;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
+import com.redhat.rhn.testing.RhnMockStrutsTestCase;
/**
* ArchivedActionsSetupTest
* @version $Rev$
*/
-public class ArchivedActionsSetupTest extends RhnBaseTestCase {
+public class ArchivedActionsSetupTest extends RhnMockStrutsTestCase {
+
+ public void setUp() throws Exception {
+ super.setUp();
+ setRequestPathInfo("/schedule/ArchivedActions");
+ }
+
+
+ public void testPerformExecute() throws Exception {
- public void testArchive() throws Exception {
- ArchivedActionsSetupAction action = new ArchivedActionsSetupAction();
- ActionHelper sah = new ActionHelper();
- sah.setUpAction(action);
- sah.setupClampListBounds();
- sah.executeAction();
- assertNotNull(sah.getRequest().getAttribute("pageList"));
- assertNotNull(sah.getRequest().getAttribute("user"));
+ actionPerform();
+ verifyForwardPath("/WEB-INF/pages/schedule/archivedactions.jsp");
+ Object test = request.getAttribute("dataset");
+ assertNotNull(test);
+
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java
deleted file mode 100644
index e6ea162..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule.test;
-
-import com.redhat.rhn.frontend.action.schedule.ArchivedActionsAction;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
-
-import org.apache.struts.action.ActionForward;
-
-/**
- * ArchivedActionsSetupTest
- * @version $Rev$
- */
-public class ArchivedActionsTest extends RhnBaseTestCase {
-
- public void testArchive() throws Exception {
- ArchivedActionsAction action = new ArchivedActionsAction();
- ActionHelper sah = new ActionHelper();
- sah.setUpAction(action);
- sah.setupClampListBounds();
- sah.setupProcessPagination();
- ActionForward af = sah.executeAction();
- String expectedPath = "path?lower=10";
- assertEquals(expectedPath, af.getPath());
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java
deleted file mode 100644
index 3ba0d16..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule.test;
-
-import com.redhat.rhn.domain.action.Action;
-import com.redhat.rhn.domain.action.ActionFactory;
-import com.redhat.rhn.domain.action.server.ServerAction;
-import com.redhat.rhn.domain.action.server.test.ServerActionTest;
-import com.redhat.rhn.domain.server.Server;
-import com.redhat.rhn.domain.server.test.ServerFactoryTest;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.schedule.CompletedActionsAction;
-import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction;
-
-/**
- * CompletedActionsActionTest
- * @version $Rev$
- */
-public class CompletedActionsActionTest extends ScheduledActionActionTestCase {
-
- protected ScheduledActionAction getAction() {
- return new CompletedActionsAction();
- }
-
- protected void createServerAction(User user, Action action) throws Exception {
- Server server = ServerFactoryTest.createTestServer(user, true);
- ServerAction saction = ServerActionTest.createServerAction(server, action);
- saction.setStatus(ActionFactory.STATUS_COMPLETED);
- ActionFactory.save(action);
-
- }
-
- protected String getListName() {
- return "completed_action_list";
- }
-
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java
index 9a6de9a..7bd1532 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java
@@ -14,17 +14,66 @@
*/
package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.CompletedActionsSetupAction;
+import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.action.ActionFactory;
+import com.redhat.rhn.domain.action.server.ServerAction;
+import com.redhat.rhn.domain.action.test.ActionFactoryTest;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.server.test.ServerFactoryTest;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
+import com.redhat.rhn.testing.RhnMockStrutsTestCase;
+import com.redhat.rhn.testing.TestUtils;
/**
* CompletedActionsSetupActionTest
* @version $Rev$
*/
-public class CompletedActionsSetupActionTest extends
- ScheduledActionSetupActionTestCase {
+public class CompletedActionsSetupActionTest extends RhnMockStrutsTestCase {
+
+ public void setUp() throws Exception {
+ super.setUp();
+ setRequestPathInfo("/schedule/CompletedActions");
+ }
+
+
+
public void testPerformExecute() throws Exception {
- testPerformExecute(new CompletedActionsSetupAction());
+
+
+ actionPerform();
+ verifyForwardPath("/WEB-INF/pages/schedule/completedactions.jsp");
+ Object test = request.getAttribute("dataset");
+ assertNotNull(test);
+
+ }
+
+ public void testPerformSubmit() throws Exception {
+
+
+
+ Server server = ServerFactoryTest.createTestServer(user);
+
+ Action act = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA);
+ ServerAction sAction = ActionFactoryTest.createServerAction(server, act);
+ sAction.setStatus(ActionFactory.STATUS_COMPLETED);
+ TestUtils.saveAndFlush(sAction);
+
+
+ RhnSet set = RhnSetDecl.ACTIONS_COMPLETED.get(user);
+ set.addElement(act.getId());
+ RhnSetManager.store(set);
+
+ request.addParameter(RhnAction.SUBMITTED, "true");
+ request.addParameter("dispatch", "Archive Errata");
+ actionPerform();
+ verifyActionMessage("message.actionArchived");
+ verifyForwardPath("/schedule/CompletedActions.do");
+
+
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java
deleted file mode 100644
index 8e2807a..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule.test;
-
-import com.redhat.rhn.domain.action.Action;
-import com.redhat.rhn.domain.action.ActionFactory;
-import com.redhat.rhn.domain.action.server.ServerAction;
-import com.redhat.rhn.domain.action.server.test.ServerActionTest;
-import com.redhat.rhn.domain.server.Server;
-import com.redhat.rhn.domain.server.test.ServerFactoryTest;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.schedule.FailedActionsAction;
-import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction;
-
-/**
- * FailedActionsActionTest
- * @version $Rev$
- */
-public class FailedActionsActionTest extends ScheduledActionActionTestCase {
-
- protected ScheduledActionAction getAction() {
- return new FailedActionsAction();
- }
-
- protected void createServerAction(User user, Action action) throws Exception {
- Server server = ServerFactoryTest.createTestServer(user, true);
- ServerAction saction = ServerActionTest.createServerAction(server, action);
- saction.setStatus(ActionFactory.STATUS_FAILED);
- ActionFactory.save(action);
-
- }
-
- protected String getListName() {
- return "failed_action_list";
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java
index 3550631..b0356b1 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java
@@ -14,16 +14,67 @@
*/
package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.FailedActionsSetupAction;
+import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.action.ActionFactory;
+import com.redhat.rhn.domain.action.server.ServerAction;
+import com.redhat.rhn.domain.action.test.ActionFactoryTest;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.server.test.ServerFactoryTest;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
+import com.redhat.rhn.testing.RhnMockStrutsTestCase;
+import com.redhat.rhn.testing.TestUtils;
/**
* FailedActionsSetupActionTest
* @version $Rev$
*/
-public class FailedActionsSetupActionTest extends
- ScheduledActionSetupActionTestCase {
+public class FailedActionsSetupActionTest extends RhnMockStrutsTestCase {
+
+
+ public void setUp() throws Exception {
+ super.setUp();
+ setRequestPathInfo("/schedule/FailedActions");
+ }
+
+
+
public void testPerformExecute() throws Exception {
- testPerformExecute(new FailedActionsSetupAction());
+
+
+ actionPerform();
+ verifyForwardPath("/WEB-INF/pages/schedule/failedactions.jsp");
+ Object test = request.getAttribute("dataset");
+ assertNotNull(test);
+
}
+
+ public void testPerformSubmit() throws Exception {
+
+
+ Server server = ServerFactoryTest.createTestServer(user);
+
+ Action act = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA);
+ ServerAction sAction = ActionFactoryTest.createServerAction(server, act);
+ sAction.setStatus(ActionFactory.STATUS_FAILED);
+ TestUtils.saveAndFlush(sAction);
+
+
+ RhnSet set = RhnSetDecl.ACTIONS_FAILED.get(user);
+ set.addElement(act.getId());
+ RhnSetManager.store(set);
+
+ request.addParameter(RhnAction.SUBMITTED, "true");
+ request.addParameter("dispatch", "Archive Errata");
+ actionPerform();
+ verifyActionMessage("message.actionArchived");
+ verifyForwardPath("/schedule/FailedActions.do");
+
+
+ }
+
+
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java
deleted file mode 100644
index b524abb..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule.test;
-
-import com.redhat.rhn.domain.action.Action;
-import com.redhat.rhn.domain.action.ActionFactory;
-import com.redhat.rhn.domain.action.server.ServerAction;
-import com.redhat.rhn.domain.action.server.test.ServerActionTest;
-import com.redhat.rhn.domain.server.Server;
-import com.redhat.rhn.domain.server.test.ServerFactoryTest;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.schedule.PendingActionsAction;
-import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction;
-
-/**
- * PendingActionsActionTest
- * @version $Rev$
- */
-public class PendingActionsActionTest extends ScheduledActionActionTestCase {
-
- protected ScheduledActionAction getAction() {
- return new PendingActionsAction();
- }
-
- protected void createServerAction(User user, Action action) throws Exception {
- Server server = ServerFactoryTest.createTestServer(user, true);
- ServerAction saction = ServerActionTest.createServerAction(server, action);
- saction.setStatus(ActionFactory.STATUS_QUEUED);
- ActionFactory.save(action);
-
- }
-
- protected String getListName() {
- return "pending_action_list";
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java
index bece503..27bb378 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java
@@ -51,33 +51,8 @@ public class PendingActionsDeleteConfirmActionTest extends
RhnMockStrutsTestCase
addDispatchCall("actions.jsp.confirmcancelactions");
setRequestPathInfo("/schedule/PendingActionsDeleteConfirm");
actionPerform();
- verifyNoActionMessages();
- }
-
-
- public void testDeleteActions() throws Exception {
- Action a = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA);
- Server server = ServerFactoryTest.createTestServer(user, true);
- ServerAction saction = ServerActionTest.createServerAction(server, a);
- saction.setStatus(ActionFactory.STATUS_QUEUED);
-
- Action b = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA);
- ServerAction saction2 = ServerActionTest.createServerAction(server, b);
- saction2.setStatus(ActionFactory.STATUS_QUEUED);
-
- ActionFactory.save(a);
- ActionFactory.save(b);
-
- RhnSet set = RhnSetDecl.ACTIONS_PENDING.get(user);
- set.addElement(a.getId());
- set.addElement(b.getId());
- RhnSetManager.store(set);
-
- set = RhnSetDecl.ACTIONS_PENDING.get(user);
- addDispatchCall("actions.jsp.confirmcancelactions");
- setRequestPathInfo("/schedule/PendingActionsDeleteConfirmSubmit");
- actionPerform();
verifyActionMessage("message.actionsCancelled");
}
+
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java
index 07e7bd3..d003de6 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java
@@ -14,15 +14,66 @@
*/
package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.PendingActionsSetupAction;
+import com.redhat.rhn.domain.action.Action;
+import com.redhat.rhn.domain.action.ActionFactory;
+import com.redhat.rhn.domain.action.server.ServerAction;
+import com.redhat.rhn.domain.action.test.ActionFactoryTest;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.server.Server;
+import com.redhat.rhn.domain.server.test.ServerFactoryTest;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
+import com.redhat.rhn.testing.RhnMockStrutsTestCase;
+import com.redhat.rhn.testing.TestUtils;
/**
* PendingActionsSetupActionTest
* @version $Rev$
*/
-public class PendingActionsSetupActionTest extends ScheduledActionSetupActionTestCase {
+public class PendingActionsSetupActionTest extends RhnMockStrutsTestCase {
+
+
+
+ public void setUp() throws Exception {
+ super.setUp();
+ setRequestPathInfo("/schedule/PendingActions");
+ }
+
+
+
public void testPerformExecute() throws Exception {
- testPerformExecute(new PendingActionsSetupAction());
+
+
+ actionPerform();
+ verifyForwardPath("/WEB-INF/pages/schedule/pendingactions.jsp");
+ Object test = request.getAttribute("dataset");
+ assertNotNull(test);
+
}
+
+ public void testPerformSubmit() throws Exception {
+
+
+ Server server = ServerFactoryTest.createTestServer(user);
+
+ Action act = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA);
+ ServerAction sAction = ActionFactoryTest.createServerAction(server, act);
+ sAction.setStatus(ActionFactory.STATUS_QUEUED);
+ TestUtils.saveAndFlush(sAction);
+
+
+ RhnSet set = RhnSetDecl.ACTIONS_PENDING.get(user);
+ set.addElement(act.getId());
+ RhnSetManager.store(set);
+
+ request.addParameter(RhnAction.SUBMITTED, "true");
+ request.addParameter("dispatch", "Cancel Actions");
+ actionPerform();
+ verifyForwardPath("/schedule/PendingActionsDeleteConfirm.do");
+
+
+ }
+
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java
deleted file mode 100644
index 6ad88a9..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule.test;
-
-import com.redhat.rhn.domain.action.Action;
-import com.redhat.rhn.domain.action.ActionFactory;
-import com.redhat.rhn.domain.action.test.ActionFactoryTest;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.rhnset.RhnSetFactory;
-import com.redhat.rhn.domain.rhnset.SetCleanup;
-import com.redhat.rhn.domain.role.RoleFactory;
-import com.redhat.rhn.domain.server.Server;
-import com.redhat.rhn.domain.server.test.ServerFactoryTest;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnMockDynaActionForm;
-import com.redhat.rhn.testing.RhnMockHttpServletRequest;
-import com.redhat.rhn.testing.RhnMockHttpServletResponse;
-import com.redhat.rhn.testing.TestUtils;
-
-import org.apache.struts.Globals;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
-import org.apache.struts.action.ActionMessages;
-import org.jmock.Mock;
-import org.jmock.cglib.MockObjectTestCase;
-
-/**
- * ScheduledActionActionTestCase
- * @version $Rev$
- */
-public abstract class ScheduledActionActionTestCase extends MockObjectTestCase {
-
- public void testArchive() throws Exception {
- ScheduledActionAction action = getAction();
- RhnMockHttpServletRequest request = TestUtils.getRequestWithSessionAndUser();
- RequestContext requestContext = new RequestContext(request);
- Server s = ServerFactoryTest.createTestServer(requestContext.getLoggedInUser());
-
- request.setupAddParameter("items_selected", s.getId().toString());
- request.setupAddParameter("items_on_page", (String)null);
- addPagination(request);
-
- RhnMockHttpServletResponse response = new RhnMockHttpServletResponse();
- RhnMockDynaActionForm form = new RhnMockDynaActionForm();
-
- ActionForward forward = new ActionForward("default", "path",
false);
- Mock mapping = mock(ActionMapping.class, "mapping");
- mapping.expects(once())
- .method("findForward")
- .with(eq("default"))
- .will(returnValue(forward));
-
- ActionForward same = action.archiveAction((ActionMapping)mapping.proxy(), form,
- request, response);
- assertEquals("path?lower=10", same.getPath());
- mapping.verify();
- ActionMessages msgs = (ActionMessages) request.getSession()
-
.getAttribute(Globals.MESSAGE_KEY);
- ActionMessage msg = (ActionMessage)
msgs.get(ActionMessages.GLOBAL_MESSAGE).next();
- assertEquals("message.actionArchived", msg.getKey());
- }
-
- private void addPagination(RhnMockHttpServletRequest r) {
- r.setupAddParameter("First", "someValue");
- r.setupAddParameter("first_lower", "10");
- r.setupAddParameter("Prev", "0");
- r.setupAddParameter("prev_lower", "");
- r.setupAddParameter("Next", "20");
- r.setupAddParameter("next_lower", "");
- r.setupAddParameter("Last", "");
- r.setupAddParameter("last_lower", "20");
- r.setupAddParameter("lower", "10");
- }
-
- public void testSelectAll() throws Exception {
- ScheduledActionAction action = getAction();
- ActionHelper ah = new ActionHelper();
- ah.setUpAction(action);
- ah.setupProcessPagination();
-
- User user = ah.getUser();
- user.addRole(RoleFactory.ORG_ADMIN);
-
- for (int i = 0; i < 4; i++) {
- Action a = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA);
- createServerAction(user, a);
- }
-
- ah.getRequest().setupAddParameter("items_on_page", (String[])null);
- ah.getRequest().setupAddParameter("items_selected", (String[])null);
- ah.executeAction("selectall");
-
- //satellite could already have some actions
- RhnSet set = RhnSetFactory.lookupByLabel(user.getId(), getListName(),
- SetCleanup.NOOP);
- assertTrue(set.size() >= 4);
- }
-
- protected abstract ScheduledActionAction getAction();
-
- protected abstract void createServerAction(User user, Action action) throws
Exception;
-
- protected abstract String getListName();
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java
b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java
deleted file mode 100644
index ca705d0..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.schedule.test;
-
-import com.redhat.rhn.frontend.action.schedule.ScheduledActionSetupAction;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
-
-/**
- * ScheduledActionSetupActionTestCase
- * @version $Rev$
- */
-public abstract class ScheduledActionSetupActionTestCase extends RhnBaseTestCase {
-
- protected void testPerformExecute(ScheduledActionSetupAction action) throws Exception
{
- ActionHelper sah = new ActionHelper();
- sah.setUpAction(action);
- sah.getRequest().setupAddParameter("newset", (String)null);
- sah.setupClampListBounds();
- sah.getRequest().setupAddParameter("returnvisit", (String) null);
- sah.executeAction();
-
- assertNotNull(sah.getRequest().getAttribute("pageList"));
- assertNotNull(sah.getRequest().getAttribute("user"));
- assertNotNull(sah.getRequest().getAttribute("set"));
- }
-
-}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index ea45ad8..a661dfe 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -2782,7 +2782,7 @@ button below, and <b>will be unable to log back
in</b>.</source>
</context-group>
</trans-unit>
<trans-unit id="actions.jsp.earliest">
-<source>Earliest</source>
+<source>Scheduled Time</source>
<context-group name="ctx">
<context
context-type="sourcefile">/rhn/schedule/CompletedActions</context>
<context
context-type="sourcefile">/rhn/schedule/FailedActions</context>
@@ -2807,7 +2807,7 @@ button below, and <b>will be unable to log back
in</b>.</source>
</context-group>
</trans-unit>
<trans-unit id="actions.jsp.inprogress">
-<source>In Progress</source>
+<source>Pending</source>
<context-group name="ctx">
<context
context-type="sourcefile">/rhn/schedule/CompletedActions</context>
<context
context-type="sourcefile">/rhn/schedule/FailedActions</context>
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
index 3c97a1e..206686d 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java
@@ -35,7 +35,7 @@ public class SelectableColumnTag extends TagSupport {
private String selectExpr;
private String disabledExpr;
private String styleClass;
- private String width = "20px";
+ private String width;
private String headerStyle;
private String headerKey;
private String listName;
@@ -284,6 +284,10 @@ public class SelectableColumnTag extends TagSupport {
ListTagUtil.write(pageContext, width);
ListTagUtil.write(pageContext, "\"");
}
+ else {
+ ListTagUtil.write(pageContext, " class=\"thin-column
list-checkbox-header\" ");
+
+ }
ListTagUtil.write(pageContext, ">");
}
}
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
index 9c0aecc..31d122a 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
@@ -24,7 +24,6 @@ import com.redhat.rhn.frontend.struts.RequestContext;
* the data to show on the page.
* <p/>
* See the Spacewalk wiki for more information on how to work with ListTag 3.0.
- *
* @version $Rev$
*/
public interface Listable {
diff --git a/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
b/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
index f6ce792..f8cee6f 100644
--- a/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
+++ b/java/code/src/com/redhat/rhn/manager/action/ActionManager.java
@@ -721,6 +721,7 @@ public class ActionManager extends BaseManager {
}
DataResult dr = m.execute(params);
dr.setTotalSize(dr.size());
+ dr.setElaborationParams(params);
return dr;
}
diff --git a/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp
b/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp
index 25fc74e..067e241 100644
--- a/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp
+++ b/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp
@@ -2,6 +2,8 @@
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
+
<html:xhtml/>
<html>
@@ -19,44 +21,93 @@
</p>
</div>
-<form method="post" name="rhn_list"
action="/rhn/schedule/ArchivedActionsSubmit.do">
-
-<rhn:list pageList="${requestScope.pageList}"
- noDataText="archivedactions.jsp.nogroups">
-
- <rhn:listdisplay>
- <rhn:column header="actions.jsp.action"
- url="ActionDetails.do?aid=${current.id}">
- ${current.actionName}
- </rhn:column>
- <rhn:column header="actions.jsp.earliest">
- ${current.earliest}
- </rhn:column>
- <rhn:column header="actions.jsp.succeeded"
- style="text-align: center;"
- url="CompletedSystems.do?aid=${current.id}"
- renderUrl="${current.completed != 0}">
- ${current.completed}
- </rhn:column>
- <rhn:column header="actions.jsp.failed"
- style="text-align: center;"
- url="FailedSystems.do?aid=${current.id}"
- renderUrl="${current.failed != 0}">
- ${current.failed}
- </rhn:column>
- <rhn:column header="actions.jsp.inprogress"
- style="text-align: center;"
- url="InProgressSystems.do?aid=${current.id}"
- renderUrl="${current.inProgress != 0}">
- ${current.inProgress}
- </rhn:column>
- <rhn:column header="actions.jsp.total" style="text-align:
center;">
- ${current.tally}
- </rhn:column>
- </rhn:listdisplay>
+ <br/>
+
+ <rl:listset name="failedList">
+ <rl:list emptykey="archivedactions.jsp.nogroups"
styleclass="list">
+
+
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="ElaborationDecorator"/>
+
+
+
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="actions.jsp.action"
+ sortattr="actionName"
+ defaultsort="asc"
+ styleclass="first-column list-fat-column-50"
+ filterattr="actionName">
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.actionName}</a>
+ </rl:column>
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="actions.jsp.earliest"
+ sortattr="earliest" >
+ <c:out value="${current.earliest}" />
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.succeeded"
+ >
+ <c:if test="${current.completed != 0}">
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a>
+ </c:if>
+ <c:if test="${current.completed == 0}">
+ ${current.completed}
+ </c:if>
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.failed"
+ >
+ <c:if test="${current.failed != 0}">
+ <a
href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a>
+ </c:if>
+ <c:if test="${current.failed == 0}">
+ ${current.failed}
+ </c:if>
+ </rl:column>
+
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.inprogress"
+ >
+ <c:if test="${current.inProgress != 0}">
+ <a
href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a>
+ </c:if>
+ <c:if test="${current.inProgress == 0}">
+ ${current.inProgress}
+ </c:if>
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.total"
+ styleclass="last-column">
+ ${current.tally}
+ </rl:column>
+
+
+
+
+ </rl:list>
+ <rhn:submitted/>
+ </rl:listset>
+
+
-</rhn:list>
-
-</form>
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp
b/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp
index 59261b1..b32efd7 100644
--- a/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp
+++ b/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp
@@ -2,6 +2,8 @@
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
+
<html:xhtml/>
<html>
@@ -23,15 +25,23 @@
</p>
</div>
-<form method="post" name="rhn_list"
action="/rhn/schedule/CompletedActionsSubmit.do">
+ <br/>
+
+ <rl:listset name="failedList">
+ <rl:list emptykey="completedactions.jsp.nogroups"
styleclass="list">
+
+
+ <%@ include
file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf"
%>
+
-<rhn:list pageList="${requestScope.pageList}"
- noDataText="completedactions.jsp.nogroups">
-
- <%@ include
file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay.jspf" %>
-
-</rhn:list>
+ </rl:list>
+ <rhn:submitted/>
+ <div align="right">
+ <input type="submit"
+ name="dispatch"
+ value='<bean:message
key="actions.jsp.archiveactions"/>'/>
+ </div>
+ </rl:listset>
-</form>
-</body>
+ </body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp
b/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp
index f1946a2..f3ac29d 100644
--- a/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp
+++ b/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp
@@ -2,11 +2,15 @@
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
+
<html:xhtml/>
<html>
<body>
+
+
<html:messages id="message" message="true">
<rhn:messages><c:out escapeXml="false"
value="${message}" /></rhn:messages>
</html:messages>
@@ -23,15 +27,26 @@
</p>
</div>
-<form method="post" name="rhn_list"
action="/rhn/schedule/FailedActionsSubmit.do">
+ <br/>
+
+
+ <rl:listset name="failedList">
+ <rl:list emptykey="failedactions.jsp.nogroups"
styleclass="list">
+
+
+ <%@ include
file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf"
%>
+
+
+ </rl:list>
+ <rhn:submitted/>
+ <div align="right">
+ <input type="submit"
+ name="dispatch"
+ value='<bean:message
key="actions.jsp.archiveactions"/>'/>
+ </div>
+ </rl:listset>
+
-<rhn:list pageList="${requestScope.pageList}"
- noDataText="failedactions.jsp.nogroups">
-
- <%@ include
file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay.jspf" %>
-
-</rhn:list>
-</form>
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp
b/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp
index 7a8c206..b7221b3 100644
--- a/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp
+++ b/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp
@@ -2,6 +2,7 @@
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<html:xhtml/>
<html>
@@ -23,44 +24,26 @@
</p>
</div>
-<form method="post" name="rhn_list"
action="/rhn/schedule/PendingActionsSubmit.do">
+<br/>
-<rhn:list pageList="${requestScope.pageList}"
- noDataText="pendingactions.jsp.nogroups">
+ <rl:listset name="pendingList">
- <rhn:listdisplay set="${requestScope.set}"
button="actions.jsp.cancelactions">
- <rhn:set value="${current.id}" disabled="${not
current.selectable}"/>
- <rhn:column header="actions.jsp.action"
- url="ActionDetails.do?aid=${current.id}">
- ${current.actionName}
- </rhn:column>
- <rhn:column header="actions.jsp.earliest" nowrap="true">
- ${current.earliest}
- </rhn:column>
- <rhn:column header="actions.jsp.succeeded"
- style="text-align: center;"
- url="CompletedSystems.do?aid=${current.id}"
- renderUrl="${current.completed != 0}">
- ${current.completed}
- </rhn:column>
- <rhn:column header="actions.jsp.failed"
- style="text-align: center;"
- url="FailedSystems.do?aid=${current.id}"
- renderUrl="${current.failed != 0}">
- ${current.failed}
- </rhn:column>
- <rhn:column header="actions.jsp.inprogress"
- style="text-align: center;"
- url="InProgressSystems.do?aid=${current.id}"
- renderUrl="${current.inProgress != 0}">
- ${current.inProgress}
- </rhn:column>
- <rhn:column header="actions.jsp.total" style="text-align:
center;">
- ${current.tally}
- </rhn:column>
- </rhn:listdisplay>
-</rhn:list>
+ <rl:list emptykey="pendingactions.jsp.nogroups"
styleclass="list">
+
+
+ <%@ include
file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf"
%>
+
+
+ </rl:list>
+ <rhn:submitted/>
+ <div align="right">
+ <input type="submit"
+ name="dispatch"
+ value='<bean:message
key="actions.jsp.cancelactions"/>'/>
+ </div>
+ </rl:listset>
-</form>
+
+
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp
b/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp
index 69c00c2..4508fa5 100644
--- a/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp
+++ b/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp
@@ -2,6 +2,8 @@
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
+
<html:xhtml/>
<html>
@@ -22,43 +24,92 @@
<bean:message
key="pendingactions.jsp.confirm_cancel_actions_summary"/>
</p>
</div>
+
+ <br>
+
-<form method="post" name="rhn_list"
action="/rhn/schedule/PendingActionsDeleteConfirmSubmit.do">
-
-<rhn:list pageList="${requestScope.pageList}"
- noDataText="pendingactions.jsp.nogroups">
-
- <rhn:listdisplay set="${requestScope.set}"
button="actions.jsp.confirmcancelactions">
- <rhn:column header="actions.jsp.action"
- url="ActionDetails.do?aid=${current.id}">
- ${current.actionName}
- </rhn:column>
- <rhn:column header="actions.jsp.earliest" nowrap="true">
- ${current.earliest}
- </rhn:column>
- <rhn:column header="actions.jsp.succeeded"
- style="text-align: center;"
- url="CompletedSystems.do?aid=${current.id}"
- renderUrl="${current.completed != 0}">
- ${current.completed}
- </rhn:column>
- <rhn:column header="actions.jsp.failed"
- style="text-align: center;"
- url="FailedSystems.do?aid=${current.id}"
- renderUrl="${current.failed != 0}">
- ${current.failed}
- </rhn:column>
- <rhn:column header="actions.jsp.inprogress"
- style="text-align: center;"
- url="InProgressSystems.do?aid=${current.id}"
- renderUrl="${current.inProgress != 0}">
- ${current.inProgress}
- </rhn:column>
- <rhn:column header="actions.jsp.total" style="text-align:
center;">
- ${current.tally}
- </rhn:column>
- </rhn:listdisplay>
-</rhn:list>
+ <rl:listset name="pendingList">
+
+ <rl:list emptykey="pendingactions.jsp.nogroups"
styleclass="list">
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="actions.jsp.action"
+ sortattr="actionName"
+ defaultsort="asc"
+ filterattr="actionName"
+ styleclass="first-column">
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.actionName}</a>
+ </rl:column>
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="actions.jsp.earliest"
+ sortattr="earliest" >
+ <c:out value="${current.earliest}" />
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.succeeded"
+ >
+ <c:if test="${current.completed != 0}">
+ <a
href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a>
+ </c:if>
+ <c:if test="${current.completed == 0}">
+ ${current.completed}
+ </c:if>
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.failed"
+ >
+ <c:if test="${current.failed != 0}">
+ <a
href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a>
+ </c:if>
+ <c:if test="${current.failed == 0}">
+ ${current.failed}
+ </c:if>
+ </rl:column>
+
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.inprogress"
+ >
+ <c:if test="${current.inProgress != 0}">
+ <a
href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a>
+ </c:if>
+ <c:if test="${current.inProgress == 0}">
+ ${current.inProgress}
+ </c:if>
+ </rl:column>
+
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="actions.jsp.total"
+ styleclass="last-column">
+ ${current.tally}
+ </rl:column>
+
+
+ </rl:list>
+ <rhn:submitted/>
+ <div align="right">
+ <input type="submit"
+ name="dispatch"
+ value='<bean:message
key="actions.jsp.confirmcancelactions"/>'/>
+ </div>
+ </rl:listset>
+
+
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index eb5f5ad..243e45d 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1565,36 +1565,20 @@
type="com.redhat.rhn.frontend.action.schedule.PendingActionsSetupAction">
<forward name="default"
path="/WEB-INF/pages/schedule/pendingactions.jsp" />
+ <forward name="confirm"
+ path="/schedule/PendingActionsDeleteConfirm.do"
redirect="true" />
</action>
- <action path="/schedule/PendingActionsSubmit"
- scope="request"
- input="/WEB-INF/pages/schedule/pendingactions.jsp"
- type="com.redhat.rhn.frontend.action.schedule.PendingActionsAction"
- parameter="dispatch"
- className="com.redhat.rhn.frontend.struts.RhnActionMapping">
- <forward name="default"
- path="/schedule/PendingActions.do" redirect="true"/>
- <forward name="delete"
- path="/schedule/PendingActionsDeleteConfirm.do"
redirect="true"/>
- </action>
<action path="/schedule/PendingActionsDeleteConfirm"
scope="request"
- input="/WEB-INF/pages/schedule/pendingactions.jsp"
+ input="/WEB-INF/pages/schedule/pendingactionsconfirm.jsp"
type="com.redhat.rhn.frontend.action.schedule.PendingActionsDeleteConfirmAction">
<forward name="default"
path="/WEB-INF/pages/schedule/pendingactionsconfirm.jsp" />
+ <forward name="success"
path="/schedule/PendingActions.do" redirect="true"/>
</action>
- <action path="/schedule/PendingActionsDeleteConfirmSubmit"
- scope="request"
- input="/WEB-INF/pages/schedule/pendingactionsconfirm.jsp"
- parameter="dispatch"
-
type="com.redhat.rhn.frontend.action.schedule.PendingActionsDeleteConfirmSubmitAction">
- <forward name="default"
- path="/schedule/PendingActions.do" />
- </action>
<action path="/schedule/FailedActions"
scope="request"
@@ -1602,34 +1586,19 @@
type="com.redhat.rhn.frontend.action.schedule.FailedActionsSetupAction">
<forward name="default"
path="/WEB-INF/pages/schedule/failedactions.jsp" />
+ <forward name="archive" path="/schedule/FailedActions.do"
redirect="true"/>
</action>
- <action path="/schedule/FailedActionsSubmit"
- scope="request"
- input="/WEB-INF/pages/schedule/failedactions.jsp"
- type="com.redhat.rhn.frontend.action.schedule.FailedActionsAction"
- parameter="dispatch">
- <forward name="default"
- path="/schedule/FailedActions.do"
redirect="true"/>
- </action>
-
<action path="/schedule/CompletedActions"
scope="request"
input="/WEB-INF/pages/schedule/completedactions.jsp"
type="com.redhat.rhn.frontend.action.schedule.CompletedActionsSetupAction">
<forward name="default"
path="/WEB-INF/pages/schedule/completedactions.jsp" />
+ <forward name="archive" path="/schedule/CompletedActions.do"
redirect="true"/>
</action>
- <action path="/schedule/CompletedActionsSubmit"
- scope="request"
- input="/WEB-INF/pages/schedule/completedactions.jsp"
- type="com.redhat.rhn.frontend.action.schedule.CompletedActionsAction"
- parameter="dispatch">
- <forward name="default"
- path="/schedule/CompletedActions.do"
redirect="true"/>
- </action>
-
+
<action path="/schedule/ArchivedActions"
scope="request"
input="/WEB-INF/pages/schedule/archivedactions.jsp"
@@ -1638,13 +1607,6 @@
path="/WEB-INF/pages/schedule/archivedactions.jsp" />
</action>
- <action path="/schedule/ArchivedActionsSubmit"
- scope="request"
- input="/WEB-INF/pages/schedule/archivedactions.jsp"
-
type="com.redhat.rhn.frontend.action.schedule.ArchivedActionsAction">
- <forward name="default"
- path="/schedule/ArchivedActions.do"
redirect="true"/>
- </action>
<action path="/schedule/PackageList"
scope="request"
commit 20ab0e7a99c6d365adeb7a2b91bdfd04ae280d61
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 30 19:04:00 2009 -0400
144325 - mistakenly forgot to include this jspf, in the previous commit
diff --git
a/java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf
b/java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf
new file mode 100644
index 0000000..c63e68d
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf
@@ -0,0 +1,28 @@
+<%-- this is the same as probe-state-column.jspf, but is used for the new list tag
--%>
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="probedetails.jsp.state"
+ headerclass="thin-column"
+ styleclass="first-column">
+ <c:if test="${current.stateString == 'UNKNOWN'}">
+ <img src="/img/rhn-mon-unknown.gif" title="<bean:message
key='monitoring.status.unknown'/>"
+ alt="<bean:message
key='monitoring.status.unknown'/>"/>
+ </c:if>
+ <c:if test="${current.stateString == 'OK'}">
+ <img src="/img/rhn-mon-ok.gif" title="<bean:message
key='monitoring.status.ok'/>"
+ alt="<bean:message
key='monitoring.status.ok'/>"/>
+ </c:if>
+ <c:if test="${current.stateString == 'WARNING'}">
+ <img src="/img/rhn-mon-warning.gif" title="<bean:message
key='monitoring.status.warn'/>"
+ alt="<bean:message
key='monitoring.status.warn'/>"/>
+ </c:if>
+ <c:if test="${current.stateString == 'PENDING'}">
+ <img src="/img/rhn-mon-pending.gif" title="<bean:message
key='monitoring.status.pending'/>"
+ alt="<bean:message
key='monitoring.status.pending'/>"/>
+ </c:if>
+ <c:if test="${current.stateString == 'CRITICAL'}">
+ <img src="/img/rhn-mon-down.gif" title="<bean:message
key='monitoring.status.critical'/>"
+ alt="<bean:message
key='monitoring.status.critical'/>"/>
+ </c:if>
+ </rl:column>
commit e58121cbd40d047700e8875714588215ed0b8c1e
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 30 15:29:18 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.43-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index a6423ce..37a3bf9 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.42
+Version: 0.5.43
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,7 +235,8 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
-* Mon Mar 30 2009 Mike McCune <mmccune(a)gmail.com> 0.5.42-1
+* Mon Mar 30 2009 Mike McCune <mmccune(a)gmail.com> 0.5.43-1
+- 472595 - ported query forgot to check child channels
- 144325 - converting system probe list to the new list tag, featuring all the bells and
whistles the new list tag has to offer
- 492478 - modifying the system applicable errata page so that you can filter on the
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 29807a7..f6db4d9 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.42-1 java/
+0.5.43-1 java/
commit 862a56d78734d05e93fdc2d9eafaf3b36ead96ed
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 30 15:25:33 2009 -0700
472595 - ported query forgot to check child channels
diff --git a/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
b/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
index 3a53ab8..c6803d5 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
@@ -291,8 +291,10 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
FROM rhnPackage {p}
left join rhnSolarisPatchSet P_2_ on p.id = P_2_.package_id
left join rhnSolarisPatch P_1_ on p.id = P_1_.package_id,
- rhnChannelPackage CP
- WHERE CP.channel_id = :channel_id
+ rhnChannelPackage CP,
+ rhnChannel C
+ WHERE (C.id = :channel_id OR C.parent_channel = :channel_id)
+ AND (CP.channel_id = C.id OR CP.channel_id = C.parent_channel)
AND CP.package_id = P.id
AND P.path LIKE :pathlike
]]>
diff --git a/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java
b/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java
index 70a94d8..dca4ede 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java
@@ -362,5 +362,20 @@ public class ChannelFactoryTest extends RhnBaseTestCase {
fileName);
assertNotNull(lookedUp);
assertEquals(p.getId(), lookedUp.getId());
+
+ // Test in child channel.
+ Channel child = ChannelTestUtils.createChildChannel(user, channel);
+ Package cp =
PackageManagerTest.addPackageToChannel("some-package-child", child);
+ String fileNameChild = "some-package-child-2.13.1-6.fc9.x86_64.rpm";
+ cp.setPath("redhat/1/c7d/some-package-child/2.13.1-6.fc9/" +
+ "x86_64/c7dd5e9b6975bc7f80f2f4657260af53/" +
+ fileNameChild);
+
+ Package lookedUpChild = ChannelFactory.lookupPackageByFilename(channel,
+ fileNameChild);
+ assertNotNull(lookedUpChild);
+ assertEquals(cp.getId(), lookedUpChild.getId());
+
+
}
}
commit 759e33b2164c91f3cbc7e7196e53f4671c23e407
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Mar 30 15:12:48 2009 -0500
add sign_unsigned.py to sign our packages
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py
new file mode 100755
index 0000000..5da2af1
--- /dev/null
+++ b/rel-eng/bin/sign_unsigned.py
@@ -0,0 +1,739 @@
+#!/usr/bin/python2
+
+# copied from fedora releng git
+# modified by Dennis Gilmore for spacewalk needs.
+#
+# Copyright (c) 2009 Red Hat
+
+import base64
+import koji
+import md5
+import os
+import os.path
+import shutil
+import sys
+import tempfile
+import time
+import optparse
+import inspect
+import getpass
+
+# AbstractTool class
+# parent for all classes, just to define the options only once
+#
+# Copyright (c) 2006 Red Hat
+#
+# Authors:
+# Daniel Mach <dmach(a)redhat.com>
+
+class AbstractTool:
+ def __init__(self):
+ # create 'options' instance just once
+ if not hasattr(self, 'options'):
+ self.options = optparse.Values()
+
+ # fill some default values
+ self.options.verbose = False
+ self.options.debug = False
+ self.options.show_time = False
+ self.options.retries = 5
+
+# CliTool
+# Copyright (c) 2006 Red Hat
+#
+# Authors:
+# Daniel Mach <dmach(a)redhat.com>
+
+class CliTool(AbstractTool):
+
+ def __init__(self, opts=None):
+ AbstractTool.__init__(self)
+
+ # option parser
+ usage = "%prog [help] <command> [options and arguments] ...]"
+ self.parser = optparse.OptionParser(usage)
+
+ self.parser.add_option("-v", "--verbose",
action="store_true", default=False,
+ help="Increase verbosity")
+ self.parser.add_option("-d", "--debug",
action="store_true", default=False,
+ help="Show debug output")
+ self.parser.add_option("-Y", "--yes",
action="store_true", default=False,
+ help="Answer 'yes' for all [y/N] questions. Use
carefully!")
+
+
+
+ ################################################################################
+ # methods for printing to the output
+
+ def print_msg(self, msg):
+ if self.options.show_time:
+ print "%s %s" % (time.asctime(), msg)
+ else:
+ print msg
+
+
+ def print_verbose(self, msg):
+ if self.options.verbose or self.options.debug:
+ self.print_msg(msg)
+
+
+ def print_debug(self, msg):
+ if self.options.debug:
+ self.print_msg("DEBUG: %s" % (msg))
+
+
+ def process_cmd_options(self):
+ command = 'default'
+
+ # first argument is the command; it cannot begin begin with '-'
+ if len(sys.argv) > 1 and not sys.argv[1].startswith('-'):
+ command = sys.argv[1]
+ del sys.argv[1]
+
+# # replace '-' by '_'
+# command = command.replace('-', '_')
+
+ # add command-specific options
+ self.run_options(command, self.parser)
+
+ # parse arguments
+ (opts, args) = self.parser.parse_args()
+
+ opts.options = args
+ opts.command = command
+
+ # copy opts to self.options
+ self.options.__dict__.update(opts.__dict__)
+
+ self.print_debug('command is "%s"' % command)
+
+
+
+ ################################################################################
+ # check_admin
+ #
+ # checks if the user is admin
+ # override to make it really work
+
+ def check_admin(self):
+ return False
+
+
+
+ ################################################################################
+ # userconfirm
+ #
+ # gets a yes or no from the user, defaults to No
+ # this function is originally from yum
+
+ def userconfirm(self):
+ # skip the question and answer 'yes' automatically
+ if (self.options.yes):
+ return True
+
+ while True:
+ choice = raw_input('Is this ok? [y/N]: ')
+ choice = choice.lower()
+ if len(choice) == 0 or choice[0] in ['y', 'n']:
+ break
+
+ if len(choice) == 0 or choice[0] != 'y':
+ return False
+
+ return True
+
+
+
+ ################################################################################
+ # getuserpass
+ #
+ # prompt user for his password
+ # if 'defaultPass' is set, no prompt will be done and 'defaultPass'
is returned
+
+ def getuserpass(self, prompt=None, defaultPass=None):
+ if defaultPass != None:
+ return defaultPass
+
+ if prompt == None:
+ prompt = "Enter your password: "
+
+ return getpass.getpass(prompt)
+
+
+
+ ################################################################################
+ # default command
+ #
+ # default action when no (or wrong) command is going to be executed
+ # override if you need some custom default action handling
+ # can be used also to handle scripts with no commands
+
+ def parse_default(self):
+ pass
+
+
+ def help_default(self):
+ return "Error: command '%s' not found.\n" %
self.options.command + \
+ "Use 'help' command to get help."
+
+
+ def cmd_default(self):
+ print self.help_default()
+ sys.exit(1)
+
+
+
+ ################################################################################
+ # help command
+ #
+ # just handle everything about help ;)
+
+ def parse_help(self):
+ self.options.help = self.options.options
+
+
+ def help_help(self):
+ return "Print this help."
+
+
+ def cmd_help(self):
+ self.parser.print_help()
+ commands = {}
+
+ # help for all commands
+ result = "\ncommands:\n"
+ for (key, value) in inspect.getmembers(self):
+ if key != "cmd_commands" and key != "cmd_default":
+ if key.startswith('cmd_'):
+ # admin commands have greater priority, skip the normal ones
+ if not commands.has_key(key[4:]):
+ commands[key[4:]] = ' '
+ elif key.startswith('admincmd_'):
+ if not self.check_admin():
+ continue
+ # mark admin commands with '*'
+ commands[key[9:]] = '*'
+
+ commandlist = commands.keys()
+ commandlist.sort()
+
+ for cmd in commandlist:
+ parser = optparse.OptionParser()
+ self.run_options(cmd, parser)
+
+ # remove 'help' option
+ parser.remove_option('-h')
+
+ parser.formatter.indent()
+ parser.formatter.indent()
+
+ # this ugly command splits the option help and joins it excluding the first
line (containing 'options:')
+ result +=
"\n".join(parser.format_option_help().split('\n')[1:])
+
+ help = self.run_help(cmd)
+ usage = self.run_usage(cmd)
+ result += "%s %-21s %-45s %-30s\n" % (commands[cmd],
cmd.replace('_', '-'), usage, help)
+ print result
+
+
+
+ ################################################################################
+ # run_* commands
+
+ def run_help(self, command):
+ help = getattr(self, 'help_%s' % command, None)
+ if callable(help):
+ return help()
+ return ""
+
+
+ def run_usage(self, command):
+ help = getattr(self, 'usage_%s' % command, None)
+ if callable(help):
+ return help()
+ return ""
+
+
+ def run_options(self, command, optparser):
+ opts = getattr(self, 'options_%s' % command, None)
+ if callable(opts):
+ opts(optparser)
+
+
+ def run_parse(self, command):
+ parse = getattr(self, 'parse_%s' % command, None)
+ if callable(parse):
+ parse()
+
+
+ def run_command(self, command=None):
+ if command == None:
+ command = self.options.command.replace('-', '_')
+
+ # get command-specific options
+# self.run_options(command, self.parser)
+
+ # parse arguments for given command
+ self.run_parse(command)
+
+
+ # try to run the ADMIN command (method: admincmd_*)
+ if self.check_admin():
+ cmd = getattr(self, 'admincmd_%s' % command, None)
+ if callable(cmd):
+ cmd()
+ return
+
+ # try to run the command (method: cmd_*)
+ cmd = getattr(self, 'cmd_%s' % command, None)
+ if callable(cmd):
+ cmd()
+ return
+
+ # try to run the 'default' command
+ cmd = getattr(self, 'cmd_default')
+ if callable(cmd):
+ cmd()
+ return
+
+ # die if everything fails
+ self.print_msg("ERROR: cannot run command '%s'!" %
command.replace('_', '-'))
+ self.print_msg("ERROR: There's definitely something wrong with the
script, even the default command handler is missing!")
+ sys.exit(1)
+
+# KojiTool class
+# interface to Koji
+#
+# Copyright (c) 2007 Red Hat
+#
+# Authors:
+# Daniel Mach <dmach(a)redhat.com>
+# Jesse Keating <jkeating(a)redhat.com>
+
+class KojiTool(AbstractTool):
+ def __init__(self,):
+ AbstractTool.__init__(self)
+ self.options.debug_xmlrpc = False
+ self.options.password = None
+ self.options.user = None
+ self.options.kojihub = 'http://koji.rhndev.redhat.com/kojihub'
+ self.options.regex = False
+ self.options.ignore = []
+
+ def create_koji_session(self):
+ # used options: debug, debug_xmlrpc, user, password
+ self.koji_session = koji.ClientSession(self.options.kojihub,
self.options.__dict__)
+
+ def close_koji_session(self):
+ self.koji_session.logout()
+
+ def get_latest_rpms(self, tag, archlist, pkglist=[None]):
+ result = []
+ for pkg in pkglist:
+ for arch in archlist:
+ self.print_debug("Getting latest for %s (%s-%s)" % (tag, pkg,
arch))
+ rpmlist, buildlist = self.koji_session.getLatestRPMS(tag, package=pkg,
arch=arch)
+ self.print_debug("Got %s rpms (%s builds)" % (len(rpmlist),
len(buildlist)))
+ for rpm in rpmlist:
+ rpm['tag'] = tag
+ rpm['filename'] = '%s-%s-%s.%s.rpm' %
(rpm['name'], rpm['version'], rpm['release'],
rpm['arch'])
+ rpm['name-arch'] = '%s-%s' % (rpm['name'],
rpm['arch'])
+ result.append(rpm)
+ return result
+
+ def pattern_match(self, x, patternlist):
+ '''
+ determine if x matches some pattern from patternlist
+ this function switches between glob and regex matching, depending on options
+ '''
+
+ # patternlist must be a list of patterns -> convert single pattern to a list
+ if not isinstance(patternlist, list):
+ patternlist = [patternlist]
+
+ for pattern in patternlist:
+ if self.options.regex:
+ # use RE matching
+ if re.compile(pattern).match(x):
+ return True
+ else:
+ # use glob matching
+ if fnmatch.fnmatchcase(x, pattern):
+ return True
+
+ # nothing matched
+ return False
+
+class SignUnsigned(CliTool, KojiTool):
+ def __init__(self):
+ CliTool.__init__(self)
+ KojiTool.__init__(self)
+
+ self.parser.add_option("--builds", action="store_true")
+ self.parser.add_option("--exact", action="store_true")
+ self.parser.add_option("--inherit", action="store_true")
+ self.parser.add_option("--just-show", action="store_true") #
deprecated
+ self.parser.add_option("--just-write-rpms",
action="store_true")
+ self.parser.add_option("--level")
+ self.parser.add_option("--server", action="store_true")
+ self.parser.add_option("--test", action="store_true")
+ self.parser.add_option("--show-time", action="store_true")
+ self.parser.add_option("--workdir")
+ self.parser.add_option("--write-rpms", action="store_true")
+ self.gpg_keys = {'430A1C35': { 'name': 'spacewalk',
+ 'description': 'Spacewalk
<spacewalk-devel(a)redhat.com>',
+ 'size': 1024 },
+ }
+ self.body_header_tags = ['siggpg', 'sigpgp']
+ self.head_header_tags = ['dsaheader', 'rsaheader']
+
+
+ def get_key_name(self, keyid):
+ return self.gpg_keys[keyid.upper()]['name']
+
+ def sig_level(self, sigs, level='spacewalk', exact=False):
+ """Check if signature(s) satisfy required level"""
+
+ orderings = [['spacewalk']]
+ if not sigs:
+ return False
+ sigs = [ x for x in sigs if x ]
+ if not sigs:
+ return False
+ for i in range(0, len(sigs)):
+ try:
+ sigs[i] = self.get_key_name(sigs[i])
+ except KeyError:
+ pass
+ if exact:
+ valid = [level]
+ else:
+ valid = None
+ for ordering in orderings:
+ if level in ordering:
+ valid = ordering[ordering.index(level):]
+ break
+ if not valid:
+ #raise RuntimeError, "could not find level %s" % level
+ valid = [level]
+ for lvl in valid:
+ if lvl.lower() in sigs or lvl.upper() in sigs:
+ return True
+ return False
+
+ def find_uncached(self, rpms, level='rawhide'):
+ """Return the rpms that do not have a cached signature of
sufficient level"""
+ ret = []
+ self.print_debug("Reading signature data")
+ sigdata = []
+ self.koji_session.multicall = True
+ for rinfo in rpms:
+ self.koji_session.queryRPMSigs(rpm_id=rinfo['id'])
+ results = self.koji_session.multiCall()
+ for result in results:
+ sigdata.extend(result[0])
+ sig_idx = {}
+ #index by rpm and sigkey
+ self.print_debug("Indexing %d signatures" % len(sigdata))
+ for row in sigdata:
+ sig_idx.setdefault(row['rpm_id'], []).append(row['sigkey'])
+ i = 0
+ for rpminfo in rpms:
+ i += 1
+ self.print_debug("%d/%d: checking %s" % (i, len(rpms),
self.rpm_nvra(rpminfo)))
+ sigs = sig_idx.get(rpminfo['id'], [])
+ self.print_debug("found sigs: %r" % sigs)
+ if not self.sig_level(sigs, level=level):
+ self.print_debug("uncached")
+ ret.append(rpminfo)
+ return ret
+
+ def rpm_path(self, rpminfo):
+ build = rpminfo['build']
+ return os.path.join(koji.pathinfo.build(build), koji.pathinfo.rpm(rpminfo))
+
+ def rpm_nvra(self, rpminfo):
+ return "%(name)s-%(version)s-%(release)s.%(arch)s" % rpminfo
+
+ def rip_sighdr(self, path):
+ sigkey = ""
+ sighdr = koji.rip_rpm_sighdr(path)
+ rawhdr = koji.RawHeader(sighdr)
+ sigpkt = rawhdr.get(koji.RPM_SIGTAG_GPG)
+ if not sigpkt:
+ sigpkt = rawhdr.get(koji.RPM_SIGTAG_PGP)
+ if sigpkt:
+ sigkey = koji.get_sigpacket_key_id(sigpkt)
+ return sighdr, sigkey
+
+ def write_sigs(self, rpmlist, sigkey):
+ self.koji_session.multicall = True
+ signable = False
+ for rpminfo in rpmlist:
+ x = os.path.join(koji.pathinfo.build(rpminfo['build']),
+ koji.pathinfo.signed(rpminfo, sigkey))
+ if not os.path.exists(x):
+ signable = True
+ if self.options.test:
+ self.print_msg("Would have written: %s" % x)
+ continue
+ self.koji_session.writeSignedRPM(rpminfo, sigkey)
+
+ if signable:
+ self.print_debug("Writing rpms...")
+ results = self.koji_session.multiCall()
+
+ for rpm, result in zip(rpmlist, results):
+ if isinstance(result, dict):
+ print "Error writing out %s" % self.rpm_nvra(rpm)
+
+ def write_sig(self, rpminfo, sigkey):
+ x = os.path.join(koji.pathinfo.build(rpminfo['build']),
+ koji.pathinfo.signed(rpminfo, sigkey))
+ if not os.path.exists(x):
+ if self.options.test:
+ self.print_msg("Would have written: %s" % x)
+ return
+ self.print_debug("Writing %s" % x)
+ try:
+ self.koji_session.writeSignedRPM(rpminfo, sigkey)
+ except koji.KojiError, e:
+ self.print_msg(e)
+
+ def import_sig(self, rpminfo, sighdr, sigkey):
+ previous = self.koji_session.queryRPMSigs(rpminfo['id'], sigkey=sigkey)
+ if previous:
+ sighash = md5.new(sighdr).hexdigest()
+ if previous[0]['sighash'] != sighash:
+ self.print_msg("Warning: signature hash mismatch: %s" %
rpminfo)
+ else:
+ self.print_msg("Warning: signature already imported: %r" %
previous)
+ elif self.options.test:
+ self.print_msg("Would have imported signature '%s' from %s"
% (sigkey, self.rpm_nvra(rpminfo)))
+ else:
+ self.koji_session.addRPMSig(rpminfo['id'],
base64.encodestring(sighdr))
+
+ def import_sigs(self, importdict, sigkey):
+ self.koji_session.multicall = True
+ for rpm in importdict.keys():
+ if self.options.test:
+ self.print_msg("Would have imported signature '%s' from
%s" % (sigkey, importdict[rpm][2]))
+ else:
+ self.koji_session.addRPMSig(rpm,
base64.encodestring(importdict[rpm][0]))
+
+ self.koji_session.multiCall()
+
+ def get_key_id(self, keyname):
+ for id, data in self.gpg_keys.items():
+ if keyname.lower() in (data.get('name', ""),
data.get('signing_server_id', "")):
+ return id
+
+ def import_sig_from_files(self, rpminfos, level, workdir):
+ importdict = {}
+ # Verify that sigs are correct
+ for rpm in rpminfos:
+ src = self.rpm_path(rpm)
+ fn = "%s.rpm" % self.rpm_nvra(rpm)
+ path = "%s/%s" % (workdir, fn)
+ sighdr, sigkey = self.rip_sighdr(path)
+ if self.get_key_id(level).lower() != sigkey.lower():
+ self.print_msg("Error: unexpected signature key [%s], skipping
import from %s" % (sigkey, path))
+ continue
+ importdict[rpm['id']] = (sighdr, sigkey.lower(), self.rpm_nvra(rpm))
+ self.import_sigs(importdict, self.get_key_id(level).lower())
+
+ def import_sig_from_file(self, rpminfo, path=None, level=None):
+ if path is None:
+ path = self.rpm_path(rpminfo)
+ sighdr, sigkey = self.rip_sighdr(path)
+ if level is not None:
+ #verify that signature is what we expect
+ if self.get_key_id(level).lower() != sigkey.lower():
+ self.print_msg("Error: unexpected signature key [%s], skipping
import from %s" % (sigkey, path))
+ return
+ self.import_sig(rpminfo, sighdr, sigkey)
+
+ def try_import(self, rpms, level='rawhide'):
+ """See if the main copy of the rpm has the signature we need
+
+ If sufficient signature is found, it is imported
+ Returns the rpms still without needed signature
+ """
+ ret = []
+ for rpminfo in rpms:
+ path = self.rpm_path(rpminfo)
+ sighdr, sigkey = self.rip_sighdr(path)
+ self.print_debug("Current sig '%s' for %s" % (sigkey,
path))
+ if self.sig_level([sigkey], level=level):
+ #key is sufficient, import it
+ self.import_sig(rpminfo, sighdr, sigkey)
+ else:
+ ret.append(rpminfo)
+ return ret
+
+ def get_key_id(self, keyname):
+ for id, data in self.gpg_keys.items():
+ if keyname.lower() in (data.get('name', ""),
data.get('signing_server_id', "")):
+ return id
+
+ def get_key_description(self, keyid):
+ return self.gpg_keys.get(keyid.upper(), {}).get('description')
+
+ def get_signing_command(self, key, paths, server=False):
+ keyid = self.get_key_id(key)
+ if server:
+ ssid = self.gpg_keys[keyid].get('signing_server_id')
+ if not ssid:
+ raise RuntimeError, "%s is not set up for the signing
server" % key
+ cmd = "rpm-sign --key=%s %s" % (ssid, ' '.join(paths))
+ else:
+ if self.gpg_keys[keyid]['size'] == 4096:
+ cmd = """rpm --define '__gpg_sign_cmd %%{__gpg} gpg
--force-v3-sigs --digest-algo sha256 --batch --no-verbose --no-armor --passphrase-fd 3
--no-secmem-warning -u "%%{_gpg_name}" -sbo %%{__signature_filename}
%%{__plaintext_filename}' --define '_gpg_name %s' --define '_signature
gpg' --resign %s""" % (self.get_key_description(keyid), '
'.join(paths))
+ else:
+ cmd = "rpm --define '_gpg_name %s' --define
'_signature gpg' --resign %s" % (self.get_key_description(keyid), '
'.join(paths))
+ return cmd
+
+ def do_signing(self, pathargs, level):
+ """Use rpm to sign packages"""
+ mypaths = list(pathargs)
+ while len(mypaths):
+ if self.options.server:
+ nlen = 25
+ else:
+ nlen = 1000
+ cmd = self.get_signing_command(level, mypaths[:nlen],
server=self.options.server)
+ del mypaths[:nlen]
+ if self.options.test:
+ self.print_msg("would have run: %s" % cmd)
+ else:
+ self.print_debug("Running: %s" % cmd)
+ # loop in case password is mistyped
+ while os.system(cmd):
+ # sleep briefly (give user a chance to ctrl-C)
+ time.sleep(2)
+
+ def sign_to_cache(self, rpms, level):
+ """Sign and cache the signatures
+
+ We sign duplicate copies and import the signature headers. The original rpms
+ remain unchanged.
+ """
+ if not rpms:
+ self.print_debug("No unsigned rpms")
+ if not self.options.write_rpms:
+ return
+ if self.options.test:
+ self.print_msg("Would have signed:")
+ for rpminfo in rpms:
+ self.print_msg(self.rpm_nvra(rpminfo))
+ workdir = tempfile.mkdtemp(prefix='sign_unsigned.',
dir=self.options.workdir)
+ self.print_debug("Using workdir: %s" % workdir)
+ self.print_debug("Copying packages")
+ pkglist = []
+ for rpminfo in rpms:
+ src = self.rpm_path(rpminfo)
+ fn = "%s.rpm" % self.rpm_nvra(rpminfo)
+ dst = "%s/%s" % (workdir, fn)
+ if not self.options.test:
+ shutil.copyfile(src, dst)
+ pkglist.append(dst)
+ self.print_debug("Signing copies")
+ self.do_signing(pkglist, level)
+ if self.options.test:
+ return
+ self.print_msg("Importing signatures")
+ self.import_sig_from_files(rpms, level, workdir)
+ if self.options.write_rpms:
+ self.print_msg("Writing RPMs")
+ self.write_sigs(rpms, self.get_key_id(level).lower())
+ #clean up
+ for fn in os.listdir(workdir):
+ path = "%s/%s" % (workdir,fn)
+ os.unlink(path)
+ os.rmdir(workdir)
+
+ def get_build_rpms(self, builds):
+ ret = []
+ self.koji_session.multicall = True
+ for b in builds:
+ self.koji_session.getBuild(b, strict=True)
+ binfos = self.koji_session.multiCall()
+ self.koji_session.multicall = True
+ for binfo in binfos:
+ self.koji_session.listRPMs(buildID=binfo[0]['id'])
+ results = self.koji_session.multiCall()
+ for binfo, rpms in zip(binfos, results):
+ for r in rpms[0]:
+ r['build'] = binfo[0]
+ ret.extend(rpms[0])
+ return ret
+
+ def get_koji_rpms(self, tag, pkg=None):
+ rpms, builds = self.koji_session.listTaggedRPMS(tag, latest=True,
inherit=self.options.inherit, package=pkg)
+ build_idx = {}
+ for build in builds:
+ build['name'] = build['package_name']
+ build_idx[build['id']] = build
+ for rpminfo in rpms:
+ rpminfo['build'] = build_idx[rpminfo['build_id']]
+ return rpms
+
+ def is_fedora(self, tag):
+ if tag.startswith('dist-fc') or tag.startswith('f'):
+ return True
+ return False
+
+ def tweak_options(self):
+ if self.options.just_show:
+ self.options.test = True
+ if self.options.builds:
+ self.options.builds = self.options.options
+ if not self.options.level:
+ self.parser.error("--level required unless a tag is
specified")
+ else:
+ args = self.options.options
+ if len(args) < 1 or len(args) > 2:
+ self.parser.error("incorrect number of arguments")
+ if len(args) == 2:
+ self.options.pkg = args[1]
+ else:
+ self.options.pkg = None
+ self.options.tag = args[0]
+ if not self.options.level:
+ if self.is_fedora(self.options.tag):
+ self.options.level = 'fedora-gold'
+ else:
+ self.options.level = 'gold'
+
+ def cmd_default(self):
+ self.tweak_options()
+ clientcert = '/etc/pki/pkgsigner/pkgsigner.pem'
+ clientca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert'
+ serverca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert'
+ self.koji_session.ssl_login(clientcert, clientca, serverca) # NEEDSWORK
+ self.print_msg("Getting rpm list from koji")
+ if self.options.builds:
+ rpms = self.get_build_rpms(self.options.builds)
+ else:
+ rpms = self.get_koji_rpms(self.options.tag, self.options.pkg)
+ rpms.sort(lambda a,b: cmp(a['name'], b['name']))
+ self.print_debug("got %d rpms" % len(rpms))
+ if self.options.just_write_rpms:
+ sigkey = self.get_key_id(self.options.level).lower()
+ self.write_sigs(rpms, sigkey)
+ else:
+ self.print_debug("Checking cached signatures")
+ uncached = self.find_uncached(rpms, level=self.options.level)
+ #because we're in transition, some rpms may be signed, but not have that
signature cached
+ #self.print_debug("Checking for uncached signatures (%d rpms)" %
len(uncached))
+ #unsigned = self.try_import(uncached, level=self.options.level)
+ self.print_debug("Signing to cache (%d rpms)" % len(uncached))
+ self.sign_to_cache(uncached, self.options.level)
+
+if __name__ == '__main__':
+ x = SignUnsigned()
+ x.process_cmd_options()
+ x.create_koji_session()
+ x.run_command()
+ x.close_koji_session()
+
commit aa0fa396eca4d732f656bd1afc5cfd9bd146b137
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 30 16:52:03 2009 -0300
Add support for koji tag whitelist in tito.props.
If present implies all packages *not* listed in the whitelist are
blacklisted.
diff --git a/rel-eng/lib/spacewalk/releng/builder.py
b/rel-eng/lib/spacewalk/releng/builder.py
index 954000c..67b794e 100644
--- a/rel-eng/lib/spacewalk/releng/builder.py
+++ b/rel-eng/lib/spacewalk/releng/builder.py
@@ -268,12 +268,21 @@ class Builder(object):
for koji_tag in koji_tags:
# Lookup the disttag configured for this Koji tag:
disttag = self.global_config.get(koji_tag, "disttag")
- if self.global_config.has_option(koji_tag, "blacklist"):
+ if self.global_config.has_option(koji_tag, "whitelist"):
+ # whitelist implies only those packages can be built to the
+ # tag,regardless if blacklist is also defined.
+ if self.project_name not in self.global_config.get(koji_tag,
+ "whitelist").strip().split(" "):
+ print("WARNING: %s not specified in whitelist for %s" % (
+ self.project_name, koji_tag))
+ print(" Package *NOT* submitted to Koji.")
+ continue
+ elif self.global_config.has_option(koji_tag, "blacklist"):
if self.project_name in self.global_config.get(koji_tag,
"blacklist").strip().split(" "):
print("WARNING: %s specified in blacklist for %s" % (
self.project_name, koji_tag))
- print("WARNING: NOT submitting this srpm to koji.")
+ print(" Package *NOT* submitted to Koji.")
continue
# Getting tricky here, normally Builder's are only used to
commit e81d9ffee3b32018c8b1d6308475f87df1f5594d
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 30 15:47:46 2009 -0300
tito: Change ignore_pkgs option to blacklist.
Doing this to jive with whitelist option coming soon.
diff --git a/rel-eng/koji-missing-builds.py b/rel-eng/koji-missing-builds.py
index cfc4514..424ad38 100755
--- a/rel-eng/koji-missing-builds.py
+++ b/rel-eng/koji-missing-builds.py
@@ -42,8 +42,8 @@ distsuffix = ''
tag = args[0]
disttag = distmap[tag.split('-')[1]]
pkgstoignore = []
-if config.has_section(tag) and config.has_option(tag, 'ignore_pkgs'):
- pkgstoignore = config.get(tag, 'ignore_pkgs').split(' ')
+if config.has_section(tag) and config.has_option(tag, 'blacklist'):
+ pkgstoignore = config.get(tag, 'blacklist').split(' ')
if opts.brew:
mysession =
koji.ClientSession("http://brewhub.devel.redhat.com/brewhub")
diff --git a/rel-eng/lib/spacewalk/releng/builder.py
b/rel-eng/lib/spacewalk/releng/builder.py
index 5a42d24..954000c 100644
--- a/rel-eng/lib/spacewalk/releng/builder.py
+++ b/rel-eng/lib/spacewalk/releng/builder.py
@@ -268,10 +268,10 @@ class Builder(object):
for koji_tag in koji_tags:
# Lookup the disttag configured for this Koji tag:
disttag = self.global_config.get(koji_tag, "disttag")
- if self.global_config.has_option(koji_tag, "ignore_pkgs"):
+ if self.global_config.has_option(koji_tag, "blacklist"):
if self.project_name in self.global_config.get(koji_tag,
- "ignore_pkgs").strip().split(" "):
- print("WARNING: %s specified in ignore_pkgs for %s" % (
+ "blacklist").strip().split(" "):
+ print("WARNING: %s specified in blacklist for %s" % (
self.project_name, koji_tag))
print("WARNING: NOT submitting this srpm to koji.")
continue
diff --git a/rel-eng/tito.props b/rel-eng/tito.props
index 7da0f88..ce9e025 100644
--- a/rel-eng/tito.props
+++ b/rel-eng/tito.props
@@ -5,13 +5,6 @@ default_tagger = spacewalk.releng.tagger.VersionTagger
[koji]
autobuild_tags = dist-f10-sw-0.5-candidate dist-5E-sw-0.5-candidate
-# to exclude packages from being listed in a missing
-# builds report simply add the package name to the
-# list in the appropriate tag section
-# [kojiorbrewtag]
-# ignore_missing=space seperated list of packagenames
-# i.e. ignore_missing=yum-rhn-plugin oracle-selinux
-
[dist-f10-sw-0.5-candidate]
disttag = .fc10
commit caea7085c7bfab65aa71155226a077a32b047f04
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 30 15:28:22 2009 -0300
tito: Use tito.props instead of global.build.py.props.
diff --git a/rel-eng/global.build.py.props b/rel-eng/global.build.py.props
deleted file mode 100644
index 7da0f88..0000000
--- a/rel-eng/global.build.py.props
+++ /dev/null
@@ -1,19 +0,0 @@
-[globalconfig]
-default_builder = spacewalk.releng.builder.Builder
-default_tagger = spacewalk.releng.tagger.VersionTagger
-
-[koji]
-autobuild_tags = dist-f10-sw-0.5-candidate dist-5E-sw-0.5-candidate
-
-# to exclude packages from being listed in a missing
-# builds report simply add the package name to the
-# list in the appropriate tag section
-# [kojiorbrewtag]
-# ignore_missing=space seperated list of packagenames
-# i.e. ignore_missing=yum-rhn-plugin oracle-selinux
-
-[dist-f10-sw-0.5-candidate]
-disttag = .fc10
-
-[dist-5E-sw-0.5-candidate]
-disttag = .el5
diff --git a/rel-eng/lib/spacewalk/releng/cli.py b/rel-eng/lib/spacewalk/releng/cli.py
index 9105678..7b40068 100644
--- a/rel-eng/lib/spacewalk/releng/cli.py
+++ b/rel-eng/lib/spacewalk/releng/cli.py
@@ -37,7 +37,7 @@ from spacewalk.releng.common import find_git_root, run_command, \
check_tag_exists, get_latest_tagged_version
BUILD_PROPS_FILENAME = "build.py.props"
-GLOBAL_BUILD_PROPS_FILENAME = "global.build.py.props"
+GLOBAL_BUILD_PROPS_FILENAME = "tito.props"
GLOBALCONFIG_SECTION = "globalconfig"
DEFAULT_BUILDER = "default_builder"
DEFAULT_TAGGER = "default_tagger"
@@ -175,6 +175,12 @@ class BaseCliModule(object):
"""
rel_eng_dir = os.path.join(find_git_root(), "rel-eng")
filename = os.path.join(rel_eng_dir, GLOBAL_BUILD_PROPS_FILENAME)
+ if not os.path.exists(filename):
+ # HACK: Try the old filename location, pre-tito rename:
+ filename = os.path.join(rel_eng_dir, "global.build.py.props")
+ if not os.path.exists(filename):
+ error_out("Unable to locate branch configuration: %s" %
+ filename)
config = ConfigParser.ConfigParser()
config.read(filename)
diff --git a/rel-eng/tito.props b/rel-eng/tito.props
new file mode 100644
index 0000000..7da0f88
--- /dev/null
+++ b/rel-eng/tito.props
@@ -0,0 +1,19 @@
+[globalconfig]
+default_builder = spacewalk.releng.builder.Builder
+default_tagger = spacewalk.releng.tagger.VersionTagger
+
+[koji]
+autobuild_tags = dist-f10-sw-0.5-candidate dist-5E-sw-0.5-candidate
+
+# to exclude packages from being listed in a missing
+# builds report simply add the package name to the
+# list in the appropriate tag section
+# [kojiorbrewtag]
+# ignore_missing=space seperated list of packagenames
+# i.e. ignore_missing=yum-rhn-plugin oracle-selinux
+
+[dist-f10-sw-0.5-candidate]
+disttag = .fc10
+
+[dist-5E-sw-0.5-candidate]
+disttag = .el5
commit f85ba6ad2f5a0da7e49a0bfd2f34636b556d22a0
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Mon Mar 30 15:41:59 2009 -0400
Automatic commit of package [spacewalk-config] release [0.5.9-1].
diff --git a/rel-eng/packages/spacewalk-config b/rel-eng/packages/spacewalk-config
index a2e7042..1547362 100644
--- a/rel-eng/packages/spacewalk-config
+++ b/rel-eng/packages/spacewalk-config
@@ -1 +1 @@
-0.5.8-1 spacewalk/config/
+0.5.9-1 spacewalk/config/
diff --git a/spacewalk/config/spacewalk-config.spec
b/spacewalk/config/spacewalk-config.spec
index 1d640f3..4308bd8 100644
--- a/spacewalk/config/spacewalk-config.spec
+++ b/spacewalk/config/spacewalk-config.spec
@@ -2,7 +2,7 @@
Name: spacewalk-config
Summary: Spacewalk Configuration
-Version: 0.5.8
+Version: 0.5.9
Release: 1%{?dist}
URL:
http://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -115,7 +115,7 @@ fi
%changelog
-* Mon Mar 30 2009 Pradeep Kilambi <pkilambi(a)redhat.com>
+* Mon Mar 30 2009 Pradeep Kilambi <pkilambi(a)redhat.com> 0.5.9-1
- 487618 - fixing jabberd to use mysql db by default instead of sqlite
* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us> 0.5.8-1
commit e21cd9ac99b0135fe5327b5e4d2007c9a914da23
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Mon Mar 30 15:40:55 2009 -0400
new build for 487618
diff --git a/spacewalk/config/spacewalk-config.spec
b/spacewalk/config/spacewalk-config.spec
index 4729849..1d640f3 100644
--- a/spacewalk/config/spacewalk-config.spec
+++ b/spacewalk/config/spacewalk-config.spec
@@ -115,6 +115,9 @@ fi
%changelog
+* Mon Mar 30 2009 Pradeep Kilambi <pkilambi(a)redhat.com>
+- 487618 - fixing jabberd to use mysql db by default instead of sqlite
+
* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us> 0.5.8-1
- Requires(pre) jabberd so we can set the password in %%post
commit 9c5aae8db19a18856f6001195490eb68afef616b
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Mon Mar 30 15:39:19 2009 -0400
487618 - fixing jabberd configs to use mysql instead of sqlite by default since sqlite
usage takes an extra manual step
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
index 09eff11..ba1aa82 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
@@ -321,7 +321,7 @@
<path>/usr/lib/jabberd</path>
<!-- Backend module to use -->
- <module>sqlite</module>
+ <module>db</module>
<!-- Available authentication mechanisms -->
<mechanisms>
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
index 5959539..4b95480 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
@@ -71,8 +71,8 @@
<!-- Dynamic storage modules path -->
<path>/usr/lib/jabberd</path>
- <!-- By default, we use the sqlite driver for all storage -->
- <driver>sqlite</driver>
+ <!-- By default, we use the MySQL driver for all storage -->
+ <driver>db</driver>
<!-- Its also possible to explicitly list alternate drivers for
specific data types. -->
commit 9b424fdb7e710feb73f0e458cdc88e75abbcab2e
Author: James Bowes <jbowes(a)redhat.com>
Date: Wed Mar 25 22:40:18 2009 -0400
Teach tito to let you use an editor on changelogs
An addendum to the previous patch; launch $EDITOR or vi to allow
for modification to the changelog entry before commiting it.
diff --git a/rel-eng/lib/spacewalk/releng/tagger.py
b/rel-eng/lib/spacewalk/releng/tagger.py
index b56e71c..995402f 100644
--- a/rel-eng/lib/spacewalk/releng/tagger.py
+++ b/rel-eng/lib/spacewalk/releng/tagger.py
@@ -20,6 +20,8 @@ import sys
import commands
import StringIO
import shutil
+import subprocess
+import tempfile
import textwrap
from time import strftime
@@ -128,28 +130,37 @@ class VersionTagger(object):
(last_tag, "HEAD", ".")
output = run_command(patch_command)
- print "No changelog entry found; adding the following for
you:"
- print
-
+ fd, name = tempfile.mkstemp()
+ os.write(fd, "# No changelog entry found; please edit the
following\n")
header = "* %s %s <%s>\n" % (self.today, self.git_user,
self.git_email)
- sys.stdout.write(header)
- out_f.write(header)
+ os.write(fd, header)
for cmd_out in output.split("\n"):
- out_f.write("- ")
- out_f.write("\n ".join(textwrap.wrap(cmd_out, 77)))
- out_f.write("\n")
+ os.write(fd, "- ")
+ os.write(fd, "\n ".join(textwrap.wrap(cmd_out, 77)))
+ os.write(fd, "\n")
- sys.stdout.write("- ")
- sys.stdout.write("\n ".join(textwrap.wrap(cmd_out, 77)))
- sys.stdout.write("\n")
+ os.write(fd, "\n")
- out_f.write("\n")
- sys.stdout.write("\n")
+ editor = 'vi'
+ if os.environ.has_key("EDITOR"):
+ editor = os.environ["EDITOR"]
- found_match = True
+ subprocess.call([editor, name])
+
+ os.lseek(fd, 0, 0)
+ file = os.fdopen(fd)
+
+ for line in file.readlines():
+ if not line.startswith("#"):
+ out_f.write(line)
+
+ output = file.read()
+
+ file.close()
+ os.unlink(name)
in_f.close()
out_f.close()
commit a0d27856d488fd6837bf1db60e0dde0ab7899d64
Author: James Bowes <jbowes(a)redhat.com>
Date: Wed Mar 25 21:13:13 2009 -0400
Teach tito to generate specfile changelog entries
If tito doesn't find a changelog entry in the specfile during a tag
operation, he can now create one himself from the git logs. The entry
line items are made from the subject and email of committer for all
untagged commits of the package in question.
If you don't like tito doing your work for you, you can stop him from
doing so by passing --no-auto-changelog on the command line.
diff --git a/rel-eng/lib/spacewalk/releng/cli.py b/rel-eng/lib/spacewalk/releng/cli.py
index d46d0d3..9105678 100644
--- a/rel-eng/lib/spacewalk/releng/cli.py
+++ b/rel-eng/lib/spacewalk/releng/cli.py
@@ -413,6 +413,9 @@ class TagModule(BaseCliModule):
action="store_true",
help="Use spec file version/release exactly as specified in spec
file to tag package.")
+ self.parser.add_option("--no-auto-changelog",
action="store_true",
+ default=False,
+ help="Don't automatically create a changelog entry for this tag
if none is found")
def main(self):
BaseCliModule.main(self)
diff --git a/rel-eng/lib/spacewalk/releng/tagger.py
b/rel-eng/lib/spacewalk/releng/tagger.py
index 186b7d6..b56e71c 100644
--- a/rel-eng/lib/spacewalk/releng/tagger.py
+++ b/rel-eng/lib/spacewalk/releng/tagger.py
@@ -19,6 +19,8 @@ import re
import sys
import commands
import StringIO
+import shutil
+import textwrap
from time import strftime
@@ -54,6 +56,8 @@ class VersionTagger(object):
self.changelog_regex = re.compile('\\*\s%s\s%s(\s<%s>)?' %
(self.today,
self.git_user, self.git_email))
+ self._no_auto_changelog = False
+
def run(self, options):
"""
Perform the actions requested of the tagger.
@@ -63,6 +67,8 @@ class VersionTagger(object):
"""
if options.tag_release:
print("WARNING: --tag-release option no longer necessary, 'tito
tag' will accomplish the same thing.")
+ if options.no_auto_changelog:
+ self._no_auto_changelog=True
self._tag_release()
def _tag_release(self):
@@ -92,14 +98,64 @@ class VersionTagger(object):
f.close()
if not found_changelog:
- # TODO: Instead of dying here, we could try to add one automatically
- # and generate the changelog entries from the first line of the git commit
- # history for all commits since the last package version was tagged.
- error_out("No changelog entry found: '* %s %s <%s>'"
% (
- self.today, self.git_user, self.git_email))
+ if self._no_auto_changelog:
+ error_out("No changelog entry found: '* %s %s
<%s>'" % (
+ self.today, self.git_user, self.git_email))
+ else:
+ self._make_changelog()
else:
debug("Found changelog entry.")
+ def _make_changelog(self):
+ """
+ Create a new changelog entry in the spec, with line items from git
+ """
+ in_f = open(self.spec_file, 'r')
+ out_f = open(self.spec_file + ".new", 'w')
+
+ found_changelog = False
+ for line in in_f.readlines():
+ out_f.write(line)
+
+ if not found_changelog and line.startswith("%changelog"):
+ found_changelog = True
+
+ old_version = get_latest_tagged_version(self.project_name)
+ last_tag = "%s-%s" % (self.project_name, old_version)
+ patch_command = \
+ "git log --pretty=format:%%s\ \(%%ae\)" \
+ " --relative %s..%s -- %s" % \
+ (last_tag, "HEAD", ".")
+ output = run_command(patch_command)
+
+ print "No changelog entry found; adding the following for
you:"
+ print
+
+ header = "* %s %s <%s>\n" % (self.today, self.git_user,
+ self.git_email)
+
+ sys.stdout.write(header)
+ out_f.write(header)
+
+ for cmd_out in output.split("\n"):
+ out_f.write("- ")
+ out_f.write("\n ".join(textwrap.wrap(cmd_out, 77)))
+ out_f.write("\n")
+
+ sys.stdout.write("- ")
+ sys.stdout.write("\n ".join(textwrap.wrap(cmd_out, 77)))
+ sys.stdout.write("\n")
+
+ out_f.write("\n")
+ sys.stdout.write("\n")
+
+ found_match = True
+
+ in_f.close()
+ out_f.close()
+
+ shutil.move(self.spec_file + ".new", self.spec_file)
+
def _update_changelog(self, new_version):
"""
Update the changelog with the new version.
commit d8eb928fc1b286a77d9b300f40c8479ed206e6b1
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 30 10:21:16 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.42-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index e21e2b0..a6423ce 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.41
+Version: 0.5.42
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,6 +235,17 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Mon Mar 30 2009 Mike McCune <mmccune(a)gmail.com> 0.5.42-1
+- 144325 - converting system probe list to the new list tag, featuring all the bells and
+ whistles the new list tag has to offer
+- 492478 - modifying the system applicable errata page so that you can filter on the
+ type of errata you want to see, also linking a couple of critical errata li
+- 467063 - Port of clone errata functionality to new list tag
+- 492418 - adding missing channel title when creating new software channels
+- 492476 - fixing issue where critical plus non-critical errata for a system (on the
system details page) did not total errata
+- 492146 - fixing issue where system icons are not clickable
+
+
* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.41-1
- 437359 - redirect org creation to the orgsystemsubscription page
- 489007 - add system.getConnectionPath for listing proxies a server connected through
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 00a9c44..29807a7 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.41-1 java/
+0.5.42-1 java/
commit 8bf64e94de5c9143c91b1a19067da6e6ebd8cbaf
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 30 10:10:17 2009 -0700
changing tree paths to italics
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 3784e92..ea45ad8 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -16787,7 +16787,7 @@ The Distribution Label field should contain only letters, numbers,
hyphens, peri
The Tree Path, Kickstart RPM, Base Channel, and Installer Generation should always match.
This generally means that the versions for each field should be from the same version of
Red Hat Enterprise Linux.<br/><br/>
-<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server
containing the kernel and initrd required for kickstarting a system. From within the
specified tree path, a kernel should be available at
"./images/pxeboot/vmlinuz" and an initrd image should be available at
"./images/pxeboot/initrd.img". For instance, if you have media located
on the @@PRODUCT_NAME@@ server: at /var/distro-trees/rhel-5-server/ you would specify that
path as your Tree Path value which would check for a kernel and initrd here:
/var/distro-trees/rhel-5-server/images/pxeboot/</p>
+<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server
containing the kernel and initrd required for kickstarting a system. From within the
specified tree path, a kernel should be available at
"./images/pxeboot/vmlinuz" and an initrd image should be available at
"./images/pxeboot/initrd.img". For instance, if you have media located
on the @@PRODUCT_NAME@@ server at:
<i>/var/distro-trees/rhel-5-server/</i> you would specify that
path as your Tree Path value which would check for a kernel and initrd here:
<i>/var/distro-trees/rhel-5-server/images/pxeboot/</i>
</p>
</source>
<context-group name="ctx">
<context
context-type="sourcefile">/rhn/kickstart/TreeCreate.do</context>
commit b054f58aca33295419c1599b5dacccb59da2755e
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 30 09:47:01 2009 -0700
fixing wording to not reference redhat internal resources
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index d34d976..3784e92 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -16787,7 +16787,7 @@ The Distribution Label field should contain only letters, numbers,
hyphens, peri
The Tree Path, Kickstart RPM, Base Channel, and Installer Generation should always match.
This generally means that the versions for each field should be from the same version of
Red Hat Enterprise Linux.<br/><br/>
-<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server
containing the kernel and initrd required for kickstarting a system. From within the
specified tree path, a kernel should be available at
"./images/pxeboot/vmlinuz" and an initrd image should be available at
"./images/pxeboot/initrd.img". For instance, you can create a tree by
mounting engarchive and specifying:
"/mnt/engarchive/released/RHEL-5-Server/U3/i386/os" if you wanted to
create a RHEL 5 tree.</p>
+<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server
containing the kernel and initrd required for kickstarting a system. From within the
specified tree path, a kernel should be available at
"./images/pxeboot/vmlinuz" and an initrd image should be available at
"./images/pxeboot/initrd.img". For instance, if you have media located
on the @@PRODUCT_NAME@@ server: at /var/distro-trees/rhel-5-server/ you would specify that
path as your Tree Path value which would check for a kernel and initrd here:
/var/distro-trees/rhel-5-server/images/pxeboot/</p>
</source>
<context-group name="ctx">
<context
context-type="sourcefile">/rhn/kickstart/TreeCreate.do</context>
commit b5e972b1a7a8cf385ba9747b3d3490e9687cbfba
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 17:04:33 2009 +0200
Automatic commit of package [rhn-client-tools] release [0.4.24-1].
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec
b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index 4858279..e288ad3 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -5,7 +5,7 @@ Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.
Source1: rhn_register.desktop
URL:
https://fedorahosted.org/spacewalk
Name: rhn-client-tools
-Version: 0.4.23
+Version: 0.4.24
Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -205,7 +205,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/applications/rhn_register.desktop
%changelog
-* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.23-1
+* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.24-1
- 490438 - add .desktop file, own allowed-actions dir
* Mon Mar 16 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.22-1
diff --git a/rel-eng/packages/rhn-client-tools b/rel-eng/packages/rhn-client-tools
index 8fd0126..5e79196 100644
--- a/rel-eng/packages/rhn-client-tools
+++ b/rel-eng/packages/rhn-client-tools
@@ -1 +1 @@
-0.4.23-1 client/rhel/rhn-client-tools/
+0.4.24-1 client/rhel/rhn-client-tools/
commit 72f73373f0898a22f7902ab94f83d0a9b3834fac
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 17:03:58 2009 +0200
_desktopdir macro is not known in buildroots, expanding...
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec
b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index 699072c..4858279 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -79,7 +79,7 @@ make -f Makefile.rhn-client-tools install VERSION=%{version}-%{release}
PREFIX=$
mkdir -p $RPM_BUILD_ROOT/var/lib/up2date
-desktop-file-install --dir=${RPM_BUILD_ROOT}%{_desktopdir} --vendor=rhn %{SOURCE1}
+desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications --vendor=rhn
%{SOURCE1}
%find_lang %{name}
@@ -202,7 +202,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/icons/hicolor/24x24/apps/up2date.png
%{_datadir}/icons/hicolor/32x32/apps/up2date.png
%{_datadir}/icons/hicolor/48x48/apps/up2date.png
-%{_desktopdir}/rhn_register.desktop
+%{_datadir}/applications/rhn_register.desktop
%changelog
* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.23-1
commit ed4eba14be469b95b48ebc95dbb17cf55b7ecf78
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 16:47:51 2009 +0200
Automatic commit of package [spacewalk-proxy-installer] release [0.5.25-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec
b/proxy/installer/spacewalk-proxy-installer.spec
index 9bb7cf6..67dea65 100644
--- a/proxy/installer/spacewalk-proxy-installer.spec
+++ b/proxy/installer/spacewalk-proxy-installer.spec
@@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer
Summary: Spacewalk Proxy Server Installer
Group: Applications/Internet
License: GPLv2
-Version: 0.5.24
+Version: 0.5.25
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -82,7 +82,7 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE answers.txt
%changelog
-* Mon Mar 30 2009 Miroslav Suchý <msuchy(a)redhat.com>
+* Mon Mar 30 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.25-1
- 492871 - do not depend on apache user when it not yet available
* Mon Mar 30 2009 Michael Mraka <michael.mraka(a)redhat.com> 0.5.24-1
diff --git a/rel-eng/packages/spacewalk-proxy-installer
b/rel-eng/packages/spacewalk-proxy-installer
index 8d9ed2b..a65662e 100644
--- a/rel-eng/packages/spacewalk-proxy-installer
+++ b/rel-eng/packages/spacewalk-proxy-installer
@@ -1 +1 @@
-0.5.24-1 proxy/installer/
+0.5.25-1 proxy/installer/
commit c120c33d10ca7ebf2887f01a31e4edb1a616dc2f
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 16:47:00 2009 +0200
492871 - do not depend on apache user when it not yet available
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index b3c3c44..6343614 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -127,8 +127,8 @@ USE_SSL=$(yes_no $USE_SSL)
default_or_input "CA Chain" CA_CHAIN $(awk -F'[=;]' '/sslCACert=/
{a=$2} END { print a}' $SYSCONFIG_DIR/up2date)
-if ! /sbin/runuser apache -s /bin/sh --command="[ -r $CA_CHAIN ]" ; then
- echo Error: File $CA_CHAIN is not readable by apache user.
+if ! /sbin/runuser nobody -s /bin/sh --command="[ -r $CA_CHAIN ]" ; then
+ echo Error: File $CA_CHAIN is not readable by nobody user.
exit 1
fi
diff --git a/proxy/installer/spacewalk-proxy-installer.spec
b/proxy/installer/spacewalk-proxy-installer.spec
index 402e716..9bb7cf6 100644
--- a/proxy/installer/spacewalk-proxy-installer.spec
+++ b/proxy/installer/spacewalk-proxy-installer.spec
@@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE answers.txt
%changelog
+* Mon Mar 30 2009 Miroslav Suchý <msuchy(a)redhat.com>
+- 492871 - do not depend on apache user when it not yet available
+
* Mon Mar 30 2009 Michael Mraka <michael.mraka(a)redhat.com> 0.5.24-1
- reformated configure-proxy.sh
commit 5357cc6f890d71fd761e04e9ddf8bc8179120646
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Mon Mar 30 10:39:24 2009 -0500
Updated styles on table
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
index d3c1440..accbd2e 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
@@ -34,7 +34,8 @@
<rl:column headerkey="erratalist.jsp.synopsis">
${current.synopsis}
</rl:column>
- <rl:column headerkey="erratalist.jsp.updated">
+ <rl:column headerkey="erratalist.jsp.updated"
+ styleclass="last-column">
${current.updateDate}
</rl:column>
commit 7523f442828a5a4b991f85561917eff8f772345e
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Mon Mar 30 13:47:59 2009 +0200
Automatic commit of package [spacewalk-backend] release [0.5.28-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 90bd0dc..9ac01a1 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -7,7 +7,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2
-Version: 0.5.27
+Version: 0.5.28
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -562,6 +562,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Mon Mar 30 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.28-1
+- 485698 - rhn-satellite-exporter manual page fixes
+
* Thu Mar 26 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.27-1
- 486526 - additional system files and db statistics included into spacewalk-debug
archive
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index 1c2f570..a63cd47 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-0.5.27-1 backend/
+0.5.28-1 backend/
commit 73e7fd971625d652626a22b73200f92d2168f22e
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 13:39:28 2009 +0200
Automatic commit of package [rhn-client-tools] release [0.4.23-1].
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec
b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index 249a4bc..699072c 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -5,7 +5,7 @@ Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.
Source1: rhn_register.desktop
URL:
https://fedorahosted.org/spacewalk
Name: rhn-client-tools
-Version: 0.4.22
+Version: 0.4.23
Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -205,7 +205,7 @@ rm -rf $RPM_BUILD_ROOT
%{_desktopdir}/rhn_register.desktop
%changelog
-* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com>
+* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.23-1
- 490438 - add .desktop file, own allowed-actions dir
* Mon Mar 16 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.22-1
diff --git a/rel-eng/packages/rhn-client-tools b/rel-eng/packages/rhn-client-tools
index 1b32b45..8fd0126 100644
--- a/rel-eng/packages/rhn-client-tools
+++ b/rel-eng/packages/rhn-client-tools
@@ -1 +1 @@
-0.4.22-1 client/rhel/rhn-client-tools/
+0.4.23-1 client/rhel/rhn-client-tools/
commit 0cd6ea34fccb64cc380962750bbd5fe8632562c6
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 13:38:06 2009 +0200
490438 - own allowed-actions dir
diff --git a/client/rhel/rhn-client-tools/etc-conf/Makefile
b/client/rhel/rhn-client-tools/etc-conf/Makefile
index f90bf9a..544d0f8 100644
--- a/client/rhel/rhn-client-tools/etc-conf/Makefile
+++ b/client/rhel/rhn-client-tools/etc-conf/Makefile
@@ -13,13 +13,16 @@ SECURITY_DIR = $(PREFIX)/etc/security/console.apps
CONFIG_DIR = $(PREFIX)/etc/sysconfig/rhn
MACROS_DIR = $(PREFIX)/etc/rpm/
CAPS_DIR = $(PREFIX)/etc/sysconfig/rhn/clientCaps.d
+ALLOWED_ACTIONS_SCRIPT = $(PREFIX)/etc/sysconfig/rhn/allowed-actions/script
+ALLOWED_ACTIONS_CONFIG = $(PREFIX)/etc/sysconfig/rhn/allowed-actions/configfiles
LOGROTATE_DIR = $(PREFIX)/etc/logrotate.d
YUM_REPO_DIR = $(PREFIX)/etc/yum.repos.d
# all dirs
DIRS = $(PAMD_DIR) $(SECURITY_DIR) $(CONFIG_DIR) \
$(LOGROTATE_DIR) $(YUM_REPO_DIR)\
- $(MACROS_DIR) $(CAPS_DIR)
+ $(MACROS_DIR) $(CAPS_DIR) $(ALLOWED_ACTIONS_SCRIPT) \
+ $(ALLOWED_ACTIONS_CONFIG)
# INSTALL scripts
INSTALL = install -p --verbose
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec
b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index d77e267..249a4bc 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -103,6 +103,9 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_sysconfdir}/sysconfig/rhn
%dir %{_sysconfdir}/sysconfig/rhn/clientCaps.d
+%dir %{_sysconfdir}/sysconfig/rhn/allowed-actions
+%dir %{_sysconfdir}/sysconfig/rhn/allowed-actions/configfiles
+%dir %{_sysconfdir}/sysconfig/rhn/allowed-actions/script
%config(noreplace) %{_sysconfdir}/sysconfig/rhn/up2date
%config(noreplace) %{_sysconfdir}/logrotate.d/up2date
%config(noreplace) %{_sysconfdir}/rpm/macros.up2date
@@ -203,7 +206,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com>
-- 490438 - add .desktop file
+- 490438 - add .desktop file, own allowed-actions dir
* Mon Mar 16 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.22-1
- use macros insted hardcoded paths
commit 1d7459a75ee53596a87140760892aea0027e304d
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 30 12:27:40 2009 +0200
490438 - add .desktop file
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec
b/client/rhel/rhn-client-tools/rhn-client-tools.spec
index 7e885e1..d77e267 100644
--- a/client/rhel/rhn-client-tools/rhn-client-tools.spec
+++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec
@@ -2,6 +2,7 @@ Summary: Support programs and libraries for Red Hat Network or Spacewalk
License: GPLv2
Group: System Environment/Base
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
+Source1: rhn_register.desktop
URL:
https://fedorahosted.org/spacewalk
Name: rhn-client-tools
Version: 0.4.22
@@ -25,6 +26,7 @@ Conflicts: up2date
BuildRequires: python-devel
BuildRequires: gettext
BuildRequires: intltool
+BuildRequires: desktop-file-utils
%description
Red Hat Network Client Tools provides programs and libraries to allow your
@@ -77,9 +79,12 @@ make -f Makefile.rhn-client-tools install VERSION=%{version}-%{release}
PREFIX=$
mkdir -p $RPM_BUILD_ROOT/var/lib/up2date
+desktop-file-install --dir=${RPM_BUILD_ROOT}%{_desktopdir} --vendor=rhn %{SOURCE1}
+
%find_lang %{name}
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -194,8 +199,12 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/icons/hicolor/24x24/apps/up2date.png
%{_datadir}/icons/hicolor/32x32/apps/up2date.png
%{_datadir}/icons/hicolor/48x48/apps/up2date.png
+%{_desktopdir}/rhn_register.desktop
%changelog
+* Mon Mar 30 2009 Miroslav Suchy <msuchy(a)redhat.com>
+- 490438 - add .desktop file
+
* Mon Mar 16 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.4.22-1
- use macros insted hardcoded paths
diff --git a/client/rhel/rhn-client-tools/rhn_register.desktop
b/client/rhel/rhn-client-tools/rhn_register.desktop
new file mode 100644
index 0000000..d8f5240
--- /dev/null
+++ b/client/rhel/rhn-client-tools/rhn_register.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=rhn_register
+GenericName=Registering for software updated
+Comment=Register to Spacewalk/Satellite/Red Hat Network.
+Exec=rhn_register
+Icon=up2date
+Terminal=false
+Type=Application
+Categories=Settings;
commit 2b88c5e2f36168c143205b4bd18dc13d40e45a3d
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Mon Mar 30 11:58:21 2009 +0200
485698 - be consistent in long options syntax description
diff --git a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
index 3023c09..1cdae09 100644
--- a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
+++ b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
@@ -158,7 +158,7 @@ A tool that exports satellite content into a directory in an XML
format. That co
</listitem>
</varlistentry>
<varlistentry>
- <term>-p --print-configuration</term>
+ <term>-p, --print-configuration</term>
<listitem>
<para>Print the configuration and exit.</para>
</listitem>
commit a5ff38524c1c3b35e5eb8b72f107a6b7793c13a9
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Mon Mar 30 11:55:31 2009 +0200
485698 - correct the -d / --dir syntax description in manual page
diff --git a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
index 95fe912..3023c09 100644
--- a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
+++ b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
@@ -103,7 +103,7 @@ A tool that exports satellite content into a directory in an XML
format. That co
<RefSect1><Title>Options</Title>
<variablelist>
<varlistentry>
- <term>-d --dir</term>
+ <term>-dDIR, --dir=DIR</term>
<listitem>
<para>Place the exported information into this directory.</para>
</listitem>
commit 655f6165469c7b799fdb32b8a7b79d18a32d70dc
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Mon Mar 30 11:42:11 2009 +0200
485698 - -h option missing in manual page
diff --git a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
index 4375e14..95fe912 100644
--- a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
+++ b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml
@@ -224,7 +224,7 @@ A tool that exports satellite content into a directory in an XML
format. That co
</listitem>
</varlistentry>
<varlistentry>
- <term>--help</term>
+ <term>-h, --help</term>
<listitem>
<para>Show help message and exit.</para>
</listitem>
commit 70c7a6b91570a9ab836c91685a8a3281c5620ad2
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Mar 30 10:01:36 2009 +0200
Automatic commit of package [spacewalk-proxy-installer] release [0.5.24-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec
b/proxy/installer/spacewalk-proxy-installer.spec
index afae88e..402e716 100644
--- a/proxy/installer/spacewalk-proxy-installer.spec
+++ b/proxy/installer/spacewalk-proxy-installer.spec
@@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer
Summary: Spacewalk Proxy Server Installer
Group: Applications/Internet
License: GPLv2
-Version: 0.5.23
+Version: 0.5.24
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE answers.txt
%changelog
+* Mon Mar 30 2009 Michael Mraka <michael.mraka(a)redhat.com> 0.5.24-1
+- reformated configure-proxy.sh
+
* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.23-1
- 486125 - if some option is present in answer file, use it even if empty
- remove dependency on httpd which conflict with older proxies, let
diff --git a/rel-eng/packages/spacewalk-proxy-installer
b/rel-eng/packages/spacewalk-proxy-installer
index 9854c61..8d9ed2b 100644
--- a/rel-eng/packages/spacewalk-proxy-installer
+++ b/rel-eng/packages/spacewalk-proxy-installer
@@ -1 +1 @@
-0.5.23-1 proxy/installer/
+0.5.24-1 proxy/installer/
commit aba79d8c16b0c187350e96f155037c5cb5828e31
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 01:17:55 2009 +0100
replaced /etc/squid with SQUID_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index d8e82d9..b3c3c44 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -101,7 +101,7 @@ HTTPDCONF_DIR=/etc/httpd/conf
HTTPDCONFD_DIR=/etc/httpd/conf.d
HTMLPUB_DIR=/var/www/html/pub
JABBERD_DIR=/etc/jabberd
-
+SQUID_DIR=/etc/squid
SYSTEM_ID=$(/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2)
@@ -223,7 +223,7 @@ SQUID_SIZE=$(df -P /var/spool/squid | awk '{a=$4} END
{printf("%d", a * 60 / 100
sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/c2s.xml >
$JABBERD_DIR/c2s.xml
sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/sm.xml >
$JABBERD_DIR/sm.xml
sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid
$SQUID_SIZE 16 256|g" \
- < $DIR/squid.conf > /etc/squid/squid.conf
+ < $DIR/squid.conf > $SQUID_DIR/squid.conf
sed -e "s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \
-e "s/\${session.http_proxy}/$HTTP_PROXY/g" \
-e "s/\${session.http_proxy_username}/$HTTP_USERNAME/g" \
@@ -323,7 +323,7 @@ if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then
$HTTPDCONFD_DIR/ssl.conf \
$RHNCONF_DIR/rhn.conf \
$RHNCONF_DIR/cluster.ini \
- /etc/squid/squid.conf \
+ $SQUID_DIR/squid.conf \
$HTTPDCONFD_DIR/cobbler-proxy.conf \
$HTTPDCONF_DIR/httpd.conf \
$HTTPDCONFD_DIR/rhn_proxy.conf \
commit 5d76154a8aa74985af5145f18c3d7e03be3ffe5d
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 01:11:24 2009 +0100
don't mix `...` and $(...)
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 635059d..d8e82d9 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -29,7 +29,7 @@ INTERACTIVE=1
while [ $# -ge 1 ]; do
case $1 in
--help | -h) print_help;;
- --answer-file=*) . `echo $1 | cut -d= -f2`;;
+ --answer-file=*) . $(echo $1 | cut -d= -f2);;
--non-interactive) INTERACTIVE=0;;
esac
shift
@@ -103,10 +103,10 @@ HTMLPUB_DIR=/var/www/html/pub
JABBERD_DIR=/etc/jabberd
-SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2`
+SYSTEM_ID=$(/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2)
DIR=/usr/share/doc/proxy/conf-template
-HOSTNAME=`hostname`
+HOSTNAME=$(hostname)
default_or_input "Proxy version to activate" VERSION $(rpm -q --queryformat
%{version} spacewalk-proxy-installer|cut -d. -f1-2)
@@ -206,7 +206,7 @@ if [ $MONITORING -eq 0 ]; then
#and with cluster.ini
echo "Configuring monitoring."
default_or_input "Monitoring parent" MONITORING_PARENT
"$RHN_PARENT"
- RESOLVED_IP=`/usr/bin/getent hosts $RHN_PARENT | cut -f1 -d' '`
+ RESOLVED_IP=$(/usr/bin/getent hosts $RHN_PARENT | cut -f1 -d' ')
default_or_input "Monitoring parent IP" MONITORING_PARENT_IP
"$RESOLVED_IP"
default_or_input "Enable monitoring scout" ENABLE_SCOUT
"Y/n"
ENABLE_SCOUT=$(yes_no $ENABLE_SCOUT)
@@ -276,12 +276,12 @@ else
echo "Using CA key at $SSL_BUILD_DIR/RHN-ORG-PRIVATE-SSL-KEY."
fi
-RPM_CA=`grep noarch $SSL_BUILD_DIR/latest.txt`
+RPM_CA=$(grep noarch $SSL_BUILD_DIR/latest.txt)
if [ ! -f $SSL_BUILD_DIR/$RPM_CA ]; then
echo "Generating distributable RPM for CA public certificate:"
/usr/bin/rhn-ssl-tool --gen-ca -q --rpm-only --dir="$SSL_BUILD_DIR"
- RPM_CA=`grep noarch $SSL_BUILD_DIR/latest.txt`
+ RPM_CA=$(grep noarch $SSL_BUILD_DIR/latest.txt)
fi
if [ ! -f $HTMLPUB_DIR/$RPM_CA ] || [ ! -f $HTMLPUB_DIR/RHN-ORG-TRUSTED-SSL-CERT ]; then
@@ -303,7 +303,7 @@ echo "Generating SSL key and public certificate:"
config_error $? "SSL key generation failed!"
echo "Installing SSL certificate for Apache and Jabberd:"
-rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR"
2>/dev/null |grep noarch.rpm`
+rpm -Uv $(/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR"
2>/dev/null |grep noarch.rpm)
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak
sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
$HTTPDCONF_DIR/ssl.crt/server.crt|g" \
commit b1c1fa89fb931bdb4ed71eedcbcc5c0e34bf31c7
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 01:03:42 2009 +0100
let's do math inside awk
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 1e80f23..635059d 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -218,7 +218,7 @@ fi
# df -P give free space in kB
# * 60 / 100 is 60% of that space
# / 1024 is to get value in MB
-SQUID_SIZE=$(( `df -P /var/spool/squid | awk '{a=$4} END {print a}'` * 60 / 100 /
1024 ))
+SQUID_SIZE=$(df -P /var/spool/squid | awk '{a=$4} END {printf("%d", a * 60
/ 100 / 1024)}')
sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/c2s.xml >
$JABBERD_DIR/c2s.xml
sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/sm.xml >
$JABBERD_DIR/sm.xml
commit e58f05817f8324ae44efd1bf792b5185e986385f
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:57:10 2009 +0100
command args formated more readable way
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index d9bebfe..1e80f23 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -77,7 +77,13 @@ yes_no() {
config_error () {
if [ $1 -gt 0 ]; then
echo "$2 Installation interrupted."
- /usr/bin/rhn-proxy-activate --server="$RHN_PARENT"
--http-proxy="$HTTP_PROXY" --http-proxy-username="$HTTP_USERNAME"
--http-proxy-password="$HTTP_PASSWORD" --ca-cert="$CA_CHAIN"
--deactivate --non-interactive
+ /usr/bin/rhn-proxy-activate \
+ --server="$RHN_PARENT" \
+ --http-proxy="$HTTP_PROXY" \
+ --http-proxy-username="$HTTP_USERNAME" \
+ --http-proxy-password="$HTTP_PASSWORD" \
+ --ca-cert="$CA_CHAIN" \
+ --deactivate --non-interactive
exit $1
fi
}
@@ -159,7 +165,13 @@ default_or_input "Country code" SSL_COUNTRY ''
default_or_input "Email" SSL_EMAIL "$TRACEBACK_EMAIL"
-/usr/bin/rhn-proxy-activate --server="$RHN_PARENT"
--http-proxy="$HTTP_PROXY" --http-proxy-username="$HTTP_USERNAME"
--http-proxy-password="$HTTP_PASSWORD" --ca-cert="$CA_CHAIN"
--version="$VERSION" --non-interactive
+/usr/bin/rhn-proxy-activate --server="$RHN_PARENT" \
+ --http-proxy="$HTTP_PROXY" \
+ --http-proxy-username="$HTTP_USERNAME" \
+ --http-proxy-password="$HTTP_PASSWORD" \
+ --ca-cert="$CA_CHAIN" \
+ --version="$VERSION" \
+ --non-interactive
config_error $? "Proxy activation failed!"
$YUM_OR_UPDATE spacewalk-proxy-management
@@ -249,9 +261,15 @@ fi
if [ ! -f $SSL_BUILD_DIR/RHN-ORG-PRIVATE-SSL-KEY ]; then
echo "Generating CA key and public certificate:"
- /usr/bin/rhn-ssl-tool --gen-ca -q --dir="$SSL_BUILD_DIR"
--set-common-name="$SSL_COMMON" \
- --set-country="$SSL_COUNTRY" --set-city="$SSL_CITY"
--set-state="$SSL_STATE" \
- --set-org="$SSL_ORG" --set-org-unit="$SSL_ORGUNIT"
--set-email="$SSL_EMAIL" \
+ /usr/bin/rhn-ssl-tool --gen-ca -q \
+ --dir="$SSL_BUILD_DIR" \
+ --set-common-name="$SSL_COMMON" \
+ --set-country="$SSL_COUNTRY" \
+ --set-city="$SSL_CITY" \
+ --set-state="$SSL_STATE" \
+ --set-org="$SSL_ORG" \
+ --set-org-unit="$SSL_ORGUNIT" \
+ --set-email="$SSL_EMAIL" \
$RHNSSLTOOLPWD
config_error $? "CA certificate generation failed!"
else
@@ -272,9 +290,15 @@ if [ ! -f $HTMLPUB_DIR/$RPM_CA ] || [ ! -f
$HTMLPUB_DIR/RHN-ORG-TRUSTED-SSL-CERT
fi
echo "Generating SSL key and public certificate:"
-/usr/bin/rhn-ssl-tool --gen-server -q --no-rpm --set-hostname "$HOSTNAME"
--dir="$SSL_BUILD_DIR" \
- --set-country="$SSL_COUNTRY" --set-city="$SSL_CITY"
--set-state="$SSL_STATE" \
- --set-org="$SSL_ORG" --set-org-unit="$SSL_ORGUNIT"
--set-email="$SSL_EMAIL" \
+/usr/bin/rhn-ssl-tool --gen-server -q --no-rpm \
+ --set-hostname "$HOSTNAME" \
+ --dir="$SSL_BUILD_DIR" \
+ --set-country="$SSL_COUNTRY" \
+ --set-city="$SSL_CITY" \
+ --set-state="$SSL_STATE" \
+ --set-org="$SSL_ORG" \
+ --set-org-unit="$SSL_ORGUNIT" \
+ --set-email="$SSL_EMAIL" \
$RHNSSLTOOLPWD
config_error $? "SSL key generation failed!"
@@ -292,12 +316,21 @@ CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID"
default_or_input "Create and populate configuration channel $CHANNEL_LABEL?"
POPULATE_CONFIG_CHANNEL 'Y/n'
POPULATE_CONFIG_CHANNEL=$(yes_no $POPULATE_CONFIG_CHANNEL)
if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then
- rhncfg-manager create-channel --server-name "$RHN_PARENT"
rhn_proxy_config_$SYSTEM_ID
- rhncfg-manager update --server-name "$RHN_PARENT"
--channel=rhn_proxy_config_$SYSTEM_ID \
- $HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini
/etc/squid/squid.conf \
- $HTTPDCONFD_DIR/cobbler-proxy.conf $HTTPDCONF_DIR/httpd.conf
$HTTPDCONFD_DIR/rhn_proxy.conf \
- $HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \
- $JABBERD_DIR/c2s.xml $JABBERD_DIR/sm.xml
+ rhncfg-manager create-channel --server-name "$RHN_PARENT" \
+ rhn_proxy_config_$SYSTEM_ID
+ rhncfg-manager update --server-name "$RHN_PARENT" \
+ --channel=rhn_proxy_config_$SYSTEM_ID \
+ $HTTPDCONFD_DIR/ssl.conf \
+ $RHNCONF_DIR/rhn.conf \
+ $RHNCONF_DIR/cluster.ini \
+ /etc/squid/squid.conf \
+ $HTTPDCONFD_DIR/cobbler-proxy.conf \
+ $HTTPDCONF_DIR/httpd.conf \
+ $HTTPDCONFD_DIR/rhn_proxy.conf \
+ $HTTPDCONFD_DIR/proxy_broker.conf \
+ $HTTPDCONFD_DIR/proxy_redirect.conf \
+ $JABBERD_DIR/c2s.xml \
+ $JABBERD_DIR/sm.xml
fi
echo "Enabling Spacewalk Proxy."
commit 8607736d2cd38687a4540963d676fa2b5b0a09c4
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:48:03 2009 +0100
replaced /etc/httpd/conf with HTTPDCONF_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 84bbdcf..d9bebfe 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -91,6 +91,7 @@ if [ -f /usr/bin/yum ]; then
fi
SYSCONFIG_DIR=/etc/sysconfig/rhn
RHNCONF_DIR=/etc/rhn
+HTTPDCONF_DIR=/etc/httpd/conf
HTTPDCONFD_DIR=/etc/httpd/conf.d
HTMLPUB_DIR=/var/www/html/pub
JABBERD_DIR=/etc/jabberd
@@ -281,8 +282,8 @@ echo "Installing SSL certificate for Apache and Jabberd:"
rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR"
2>/dev/null |grep noarch.rpm`
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak
-sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt|g" \
- -e "s|^SSLCertificateKeyFile
/etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile
/etc/httpd/conf/ssl.key/server.key|g" \
+sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
$HTTPDCONF_DIR/ssl.crt/server.crt|g" \
+ -e "s|^SSLCertificateKeyFile
/etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile
$HTTPDCONF_DIR/ssl.key/server.key|g" \
-e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|"
< $HTTPDCONFD_DIR/ssl.conf.bak > $HTTPDCONFD_DIR/ssl.conf
@@ -294,7 +295,7 @@ if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then
rhncfg-manager create-channel --server-name "$RHN_PARENT"
rhn_proxy_config_$SYSTEM_ID
rhncfg-manager update --server-name "$RHN_PARENT"
--channel=rhn_proxy_config_$SYSTEM_ID \
$HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini
/etc/squid/squid.conf \
- $HTTPDCONFD_DIR/cobbler-proxy.conf /etc/httpd/conf/httpd.conf
$HTTPDCONFD_DIR/rhn_proxy.conf \
+ $HTTPDCONFD_DIR/cobbler-proxy.conf $HTTPDCONF_DIR/httpd.conf
$HTTPDCONFD_DIR/rhn_proxy.conf \
$HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \
$JABBERD_DIR/c2s.xml $JABBERD_DIR/sm.xml
fi
commit 562466f5be96fd005206b0f15d6b37824b023376
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:44:13 2009 +0100
replaced /etc/jabberd with JABBERD_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 450e002..84bbdcf 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -93,6 +93,8 @@ SYSCONFIG_DIR=/etc/sysconfig/rhn
RHNCONF_DIR=/etc/rhn
HTTPDCONFD_DIR=/etc/httpd/conf.d
HTMLPUB_DIR=/var/www/html/pub
+JABBERD_DIR=/etc/jabberd
+
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2`
@@ -205,8 +207,8 @@ fi
# / 1024 is to get value in MB
SQUID_SIZE=$(( `df -P /var/spool/squid | awk '{a=$4} END {print a}'` * 60 / 100 /
1024 ))
-sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/c2s.xml >
/etc/jabberd/c2s.xml
-sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/sm.xml >
/etc/jabberd/sm.xml
+sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/c2s.xml >
$JABBERD_DIR/c2s.xml
+sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/sm.xml >
$JABBERD_DIR/sm.xml
sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid
$SQUID_SIZE 16 256|g" \
< $DIR/squid.conf > /etc/squid/squid.conf
sed -e "s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \
@@ -294,7 +296,7 @@ if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then
$HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini
/etc/squid/squid.conf \
$HTTPDCONFD_DIR/cobbler-proxy.conf /etc/httpd/conf/httpd.conf
$HTTPDCONFD_DIR/rhn_proxy.conf \
$HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \
- /etc/jabberd/c2s.xml /etc/jabberd/sm.xml
+ $JABBERD_DIR/c2s.xml $JABBERD_DIR/sm.xml
fi
echo "Enabling Spacewalk Proxy."
commit 0b1bce2eef8c3b0681956527e7714326c4a1493d
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:41:50 2009 +0100
cat | sed is rarely needed
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index dfd5b40..450e002 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -205,12 +205,11 @@ fi
# / 1024 is to get value in MB
SQUID_SIZE=$(( `df -P /var/spool/squid | awk '{a=$4} END {print a}'` * 60 / 100 /
1024 ))
-cat $DIR/c2s.xml | sed "s/\${session.hostname\}/$HOSTNAME/g" >
/etc/jabberd/c2s.xml
-cat $DIR/sm.xml | sed "s/\${session.hostname\}/$HOSTNAME/g" >
/etc/jabberd/sm.xml
-cat $DIR/squid.conf | sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir
ufs /var/spool/squid $SQUID_SIZE 16 256|g" \
- > /etc/squid/squid.conf
-cat $DIR/rhn.conf | \
- sed -e "s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \
+sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/c2s.xml >
/etc/jabberd/c2s.xml
+sed "s/\${session.hostname\}/$HOSTNAME/g" < $DIR/sm.xml >
/etc/jabberd/sm.xml
+sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid
$SQUID_SIZE 16 256|g" \
+ < $DIR/squid.conf > /etc/squid/squid.conf
+sed -e "s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \
-e "s/\${session.http_proxy}/$HTTP_PROXY/g" \
-e "s/\${session.http_proxy_username}/$HTTP_USERNAME/g" \
-e "s/\${session.http_proxy_password}/$HTTP_PASSWORD/g" \
@@ -218,13 +217,12 @@ cat $DIR/rhn.conf | \
-e "s/\${session.traceback_mail}/$TRACEBACK_EMAIL/g" \
-e "s/\${session.use_ssl:0}/$USE_SSL/g" \
-e "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
- > $RHNCONF_DIR/rhn.conf
-cat $DIR/cluster.ini | \
- sed -e "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
+ < $DIR/rhn.conf > $RHNCONF_DIR/rhn.conf
+sed -e "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
-e "s/\${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g"
\
-e "s/\${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \
-e "s/\${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \
- > $RHNCONF_DIR/cluster.ini
+ < cat $DIR/cluster.ini > $RHNCONF_DIR/cluster.ini
#Setup the cobbler stuff, needed to use koan through a proxy
@@ -281,10 +279,10 @@ echo "Installing SSL certificate for Apache and Jabberd:"
rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR"
2>/dev/null |grep noarch.rpm`
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak
-cat $HTTPDCONFD_DIR/ssl.conf.bak | \
- sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt|g" \
+sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt|g" \
-e "s|^SSLCertificateKeyFile
/etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile
/etc/httpd/conf/ssl.key/server.key|g" \
- -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" >
$HTTPDCONFD_DIR/ssl.conf
+ -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|"
+ < $HTTPDCONFD_DIR/ssl.conf.bak > $HTTPDCONFD_DIR/ssl.conf
CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID"
commit adbbdbdc947df94740c921090810de1442bf318d
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:34:39 2009 +0100
replace sed |sed | sed | ... with only one sed -e -e -e
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index efce6c5..dfd5b40 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -209,19 +209,21 @@ cat $DIR/c2s.xml | sed
"s/\${session.hostname\}/$HOSTNAME/g" > /etc/jabberd/c2s.
cat $DIR/sm.xml | sed "s/\${session.hostname\}/$HOSTNAME/g" >
/etc/jabberd/sm.xml
cat $DIR/squid.conf | sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir
ufs /var/spool/squid $SQUID_SIZE 16 256|g" \
/etc/squid/squid.conf
-cat $DIR/rhn.conf | sed
"s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \
- | sed "s/\${session.http_proxy}/$HTTP_PROXY/g" \
- | sed "s/\${session.http_proxy_username}/$HTTP_USERNAME/g" \
- | sed "s/\${session.http_proxy_password}/$HTTP_PASSWORD/g" \
- | sed "s/\${session.rhn_parent}/$RHN_PARENT/g" \
- | sed "s/\${session.traceback_mail}/$TRACEBACK_EMAIL/g" \
- | sed "s/\${session.use_ssl:0}/$USE_SSL/g" \
- | sed "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
+cat $DIR/rhn.conf | \
+ sed -e "s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \
+ -e "s/\${session.http_proxy}/$HTTP_PROXY/g" \
+ -e "s/\${session.http_proxy_username}/$HTTP_USERNAME/g" \
+ -e "s/\${session.http_proxy_password}/$HTTP_PASSWORD/g" \
+ -e "s/\${session.rhn_parent}/$RHN_PARENT/g" \
+ -e "s/\${session.traceback_mail}/$TRACEBACK_EMAIL/g" \
+ -e "s/\${session.use_ssl:0}/$USE_SSL/g" \
+ -e "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
$RHNCONF_DIR/rhn.conf
-cat $DIR/cluster.ini | sed
"s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
- | sed "s/\${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g"
\
- | sed "s/\${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \
- | sed "s/\${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \
+cat $DIR/cluster.ini | \
+ sed -e "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
+ -e "s/\${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g"
\
+ -e "s/\${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \
+ -e "s/\${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \
$RHNCONF_DIR/cluster.ini
@@ -279,10 +281,10 @@ echo "Installing SSL certificate for Apache and Jabberd:"
rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR"
2>/dev/null |grep noarch.rpm`
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak
-cat $HTTPDCONFD_DIR/ssl.conf.bak \
- | sed "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt|g" \
- | sed "s|^SSLCertificateKeyFile
/etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile
/etc/httpd/conf/ssl.key/server.key|g" \
- | sed "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" >
$HTTPDCONFD_DIR/ssl.conf
+cat $HTTPDCONFD_DIR/ssl.conf.bak | \
+ sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt|g" \
+ -e "s|^SSLCertificateKeyFile
/etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile
/etc/httpd/conf/ssl.key/server.key|g" \
+ -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" >
$HTTPDCONFD_DIR/ssl.conf
CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID"
commit 4d331d61b1da51824bf951f8a6941d9cbfefa321
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:28:41 2009 +0100
replaced /var/www/html/pub with HTMLPUB_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index efa67c8..efce6c5 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -92,6 +92,7 @@ fi
SYSCONFIG_DIR=/etc/sysconfig/rhn
RHNCONF_DIR=/etc/rhn
HTTPDCONFD_DIR=/etc/httpd/conf.d
+HTMLPUB_DIR=/var/www/html/pub
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2`
@@ -262,9 +263,9 @@ if [ ! -f $SSL_BUILD_DIR/$RPM_CA ]; then
RPM_CA=`grep noarch $SSL_BUILD_DIR/latest.txt`
fi
-if [ ! -f /var/www/html/pub/$RPM_CA ] || [ ! -f
/var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT ]; then
- echo "Copying CA public certificate to /var/www/html/pub for distribution to
clients:"
- cp $SSL_BUILD_DIR/RHN-ORG-TRUSTED-SSL-CERT $SSL_BUILD_DIR/$RPM_CA /var/www/html/pub/
+if [ ! -f $HTMLPUB_DIR/$RPM_CA ] || [ ! -f $HTMLPUB_DIR/RHN-ORG-TRUSTED-SSL-CERT ]; then
+ echo "Copying CA public certificate to $HTMLPUB_DIR for distribution to
clients:"
+ cp $SSL_BUILD_DIR/RHN-ORG-TRUSTED-SSL-CERT $SSL_BUILD_DIR/$RPM_CA $HTMLPUB_DIR/
fi
echo "Generating SSL key and public certificate:"
commit 46a978924da8b8b8c4d41f4d70de6b78ba6f5983
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:24:53 2009 +0100
replace /etc/httpd/conf.d with HTTPDCONFD_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index a2f5caa..efa67c8 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -91,6 +91,7 @@ if [ -f /usr/bin/yum ]; then
fi
SYSCONFIG_DIR=/etc/sysconfig/rhn
RHNCONF_DIR=/etc/rhn
+HTTPDCONFD_DIR=/etc/httpd/conf.d
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2`
@@ -228,8 +229,8 @@ PROTO="http";
if [ $USE_SSL -eq 1 ]; then
PROTO="https"
fi
-echo "ProxyPass /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" >
/etc/httpd/conf.d/cobbler-proxy.conf
-echo "ProxyPassReverse /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" >>
/etc/httpd/conf.d/cobbler-proxy.conf
+echo "ProxyPass /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" >
$HTTPDCONFD_DIR/cobbler-proxy.conf
+echo "ProxyPassReverse /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" >>
$HTTPDCONFD_DIR/cobbler-proxy.conf
# lets do SSL stuff
SSL_BUILD_DIR="/root/ssl-build"
@@ -276,11 +277,11 @@ config_error $? "SSL key generation failed!"
echo "Installing SSL certificate for Apache and Jabberd:"
rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR"
2>/dev/null |grep noarch.rpm`
-mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak
-cat /etc/httpd/conf.d/ssl.conf.bak \
+mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak
+cat $HTTPDCONFD_DIR/ssl.conf.bak \
| sed "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt|g" \
| sed "s|^SSLCertificateKeyFile
/etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile
/etc/httpd/conf/ssl.key/server.key|g" \
- | sed "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" >
/etc/httpd/conf.d/ssl.conf
+ | sed "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" >
$HTTPDCONFD_DIR/ssl.conf
CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID"
@@ -289,9 +290,9 @@ POPULATE_CONFIG_CHANNEL=$(yes_no $POPULATE_CONFIG_CHANNEL)
if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then
rhncfg-manager create-channel --server-name "$RHN_PARENT"
rhn_proxy_config_$SYSTEM_ID
rhncfg-manager update --server-name "$RHN_PARENT"
--channel=rhn_proxy_config_$SYSTEM_ID \
- /etc/httpd/conf.d/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini
/etc/squid/squid.conf \
- /etc/httpd/conf.d/cobbler-proxy.conf /etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/rhn_proxy.conf \
- /etc/httpd/conf.d/proxy_broker.conf /etc/httpd/conf.d/proxy_redirect.conf \
+ $HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini
/etc/squid/squid.conf \
+ $HTTPDCONFD_DIR/cobbler-proxy.conf /etc/httpd/conf/httpd.conf
$HTTPDCONFD_DIR/rhn_proxy.conf \
+ $HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \
/etc/jabberd/c2s.xml /etc/jabberd/sm.xml
fi
commit 33d7ea9ef9366ca14c42c2fd7596258047f92ca6
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:21:48 2009 +0100
replace /etc/rhn with RHNCONF_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 5ae3bc4..a2f5caa 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -90,6 +90,7 @@ if [ -f /usr/bin/yum ]; then
[ "$INTERACTIVE" = "0" ] &&
YUM_OR_UPDATE="$YUM_OR_UPDATE -y"
fi
SYSCONFIG_DIR=/etc/sysconfig/rhn
+RHNCONF_DIR=/etc/rhn
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2`
@@ -192,7 +193,7 @@ if [ $MONITORING -eq 0 ]; then
default_or_input "Monitoring parent IP" MONITORING_PARENT_IP
"$RESOLVED_IP"
default_or_input "Enable monitoring scout" ENABLE_SCOUT
"Y/n"
ENABLE_SCOUT=$(yes_no $ENABLE_SCOUT)
- MSG=$(echo -n "Your scout shared key (can be found on parent\nin
/etc/rhn/cluster.ini as key scoutsharedkey)")
+ MSG=$(echo -n "Your scout shared key (can be found on parent\nin
$RHNCONF_DIR/cluster.ini as key scoutsharedkey)")
default_or_input "$MSG" SCOUT_SHARED_KEY ''
fi
@@ -214,12 +215,12 @@ cat $DIR/rhn.conf | sed
"s|\${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_
| sed "s/\${session.traceback_mail}/$TRACEBACK_EMAIL/g" \
| sed "s/\${session.use_ssl:0}/$USE_SSL/g" \
| sed "s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
- > /etc/rhn/rhn.conf
+ > $RHNCONF_DIR/rhn.conf
cat $DIR/cluster.ini | sed
"s/\${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \
| sed "s/\${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g"
\
| sed "s/\${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \
| sed "s/\${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \
- > /etc/rhn/cluster.ini
+ > $RHNCONF_DIR/cluster.ini
#Setup the cobbler stuff, needed to use koan through a proxy
@@ -288,7 +289,7 @@ POPULATE_CONFIG_CHANNEL=$(yes_no $POPULATE_CONFIG_CHANNEL)
if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then
rhncfg-manager create-channel --server-name "$RHN_PARENT"
rhn_proxy_config_$SYSTEM_ID
rhncfg-manager update --server-name "$RHN_PARENT"
--channel=rhn_proxy_config_$SYSTEM_ID \
- /etc/httpd/conf.d/ssl.conf /etc/rhn/rhn.conf /etc/rhn/cluster.ini /etc/squid/squid.conf
\
+ /etc/httpd/conf.d/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini
/etc/squid/squid.conf \
/etc/httpd/conf.d/cobbler-proxy.conf /etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/rhn_proxy.conf \
/etc/httpd/conf.d/proxy_broker.conf /etc/httpd/conf.d/proxy_redirect.conf \
/etc/jabberd/c2s.xml /etc/jabberd/sm.xml
commit 9b590abafa9891a662cdfa62d530e778d328c78a
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:17:42 2009 +0100
replace /etc/sysconfig/rhn with $SYSCONFIG_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index e1070d1..5ae3bc4 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -89,15 +89,16 @@ if [ -f /usr/bin/yum ]; then
# add -y for non-interactive installation
[ "$INTERACTIVE" = "0" ] &&
YUM_OR_UPDATE="$YUM_OR_UPDATE -y"
fi
+SYSCONFIG_DIR=/etc/sysconfig/rhn
-SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt
/etc/sysconfig/rhn/systemid | cut -d- -f2`
+SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid |
cut -d- -f2`
DIR=/usr/share/doc/proxy/conf-template
HOSTNAME=`hostname`
default_or_input "Proxy version to activate" VERSION $(rpm -q --queryformat
%{version} spacewalk-proxy-installer|cut -d. -f1-2)
-default_or_input "RHN Parent" RHN_PARENT $(awk -F= '/serverURL=/ {split($2,
a, "/")} END { print a[3]}' /etc/sysconfig/rhn/up2date)
+default_or_input "RHN Parent" RHN_PARENT $(awk -F= '/serverURL=/ {split($2,
a, "/")} END { print a[3]}' $SYSCONFIG_DIR/up2date)
if [ "$RHN_PARENT" == "rhn.redhat.com" ]; then
RHN_PARENT="xmlrpc.rhn.redhat.com"
@@ -112,7 +113,7 @@ default_or_input "Traceback email" TRACEBACK_EMAIL
''
default_or_input "Use SSL" USE_SSL 'Y/n'
USE_SSL=$(yes_no $USE_SSL)
-default_or_input "CA Chain" CA_CHAIN $(awk -F'[=;]' '/sslCACert=/
{a=$2} END { print a}' /etc/sysconfig/rhn/up2date)
+default_or_input "CA Chain" CA_CHAIN $(awk -F'[=;]' '/sslCACert=/
{a=$2} END { print a}' $SYSCONFIG_DIR/up2date)
if ! /sbin/runuser apache -s /bin/sh --command="[ -r $CA_CHAIN ]" ; then
echo Error: File $CA_CHAIN is not readable by apache user.
commit 5ee5023293c03958f00d8dc1337ad9f25d92f518
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sat Mar 28 00:08:25 2009 +0100
call set | grep only once
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 036f3e7..e1070d1 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -46,10 +46,12 @@ default_or_input () {
#var_a=${var_b:-word}
#which is like: var_a = $var_b ? word
DEFAULT=${CURRENT_VALUE:-$DEFAULT}
+ local VARIABLE_ISSET=$(set | grep "^$VARIABLE=")
+
echo -n "$MSG [$DEFAULT]: "
- if [ "$INTERACTIVE" = "1" -a -z "`set | grep
\"^$VARIABLE=\"`" ]; then
+ if [ "$INTERACTIVE" = "1" -a -z "$VARIABLE_ISSET" ];
then
read INPUT
- elif [ -z "`set | grep \"^$VARIABLE=\"`" ]; then
+ elif [ -z "$VARIABLE_ISSET" ]; then
echo $DEFAULT
else
eval "DEFAULT=\$$VARIABLE"
commit 0ac211ebe2be23ef7b25ef71be232b06a4368813
Author: Mike McCune <mmccune(a)gmail.com>
Date: Fri Mar 27 16:19:50 2009 -0700
checkstyle
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
index 9e601c9..9c0aecc 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
@@ -24,6 +24,8 @@ import com.redhat.rhn.frontend.struts.RequestContext;
* the data to show on the page.
* <p/>
* See the Spacewalk wiki for more information on how to work with ListTag 3.0.
+ *
+ * @version $Rev$
*/
public interface Listable {
commit 71c5cc32dbad3e93a3980046766277b69eb4e1c7
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 17:05:50 2009 -0400
fixing unit test and removing unneeded strust entry
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
index 775ae7a..bf78a46 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
@@ -50,8 +50,8 @@ public class CloneErrataActionTest extends RhnMockStrutsTestCase {
request.addParameter("dispatch", "Clone Errata");
actionPerform();
- verifyForwardPath("/errata/manage/CloneErrata.do?channel=");
- verifyActionMessage("errata.applynone");
+ verifyForwardPath("/errata/manage/CloneErrata.do");
+ verifyActionMessage("emptyselectionerror");
}
public void testNonEmptySet() throws Exception {
@@ -76,6 +76,6 @@ public class CloneErrataActionTest extends RhnMockStrutsTestCase {
request.addParameter("dispatch", "Clone Errata");
actionPerform();
- verifyForward("clone");
+ verifyForward("default");
}
}
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 068e5ad..eb5f5ad 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1847,22 +1847,6 @@
<forward name="continue"
path="/errata/manage/CloneConfirm.do"
redirect="true" />
</action>
-
- <action path="/errata/manage/CloneErrataSubmit"
- scope="request"
- name="cloneErrataForm"
- input="/WEB-INF/pages/errata/cloneerrata.jsp"
- parameter="dispatch"
- type="com.redhat.rhn.frontend.action.errata.CloneErrataAction"
- className="com.redhat.rhn.frontend.struts.RhnActionMapping">
- <set-property property="acls"
value="user_role(channel_admin)"/>
- <forward name="default"
- path="/errata/manage/CloneErrata.do"
redirect="true"/>
- <forward name="error"
- path="/WEB-INF/pages/errata/cloneerrata.jsp" />
- <forward name= "clone"
- path="/errata/manage/CloneConfirm.do"
redirect="true" />
- </action>
<action path="/errata/manage/CloneConfirm"
scope="request"
commit c9d135934f1e2e4ae1c81ed6459814cfdec15017
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Fri Mar 27 17:02:53 2009 -0500
Updated docs
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
index ac981e6..9e601c9 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java
@@ -15,21 +15,24 @@
package com.redhat.rhn.frontend.taglibs.list.helper;
-import com.redhat.rhn.frontend.struts.RequestContext;
-
import java.util.List;
+import com.redhat.rhn.frontend.struts.RequestContext;
/**
- *
- * @author paji
- * Listable
- * @version $Rev$
+ * Interface used to tie an action into ListTag 3.0 (known for a while as "new List
Tag").
+ * This interface allows the List*Helper classes to interact with the action to retrieve
+ * the data to show on the page.
+ * <p/>
+ * See the Spacewalk wiki for more information on how to work with ListTag 3.0.
*/
public interface Listable {
+
/**
- * The dataresult associated to a set
- * @param context the request context
- * @return a List of Selectable or Identifiable objects
+ * Returns the data to display on the web page.
+ *
+ * @param context the request context; will not be <code>null</code>
+ * @return a List of {@link com.redhat.rhn.frontend.struts.Selectable} or
+ * {@link com.redhat.rhn.domain.Identifiable} objects.
*/
List getResult(RequestContext context);
}
commit ed01429526233dfaa4314d917e79c0484a11f934
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 16:42:39 2009 -0400
couple of unit test fixes
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
index 23b344f..b41ac58 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
@@ -23,6 +23,7 @@ import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.server.test.ServerFactoryTest;
import com.redhat.rhn.frontend.action.systems.monitoring.ProbesListSetupAction;
import com.redhat.rhn.frontend.dto.monitoring.ServerProbeDto;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
import com.redhat.rhn.manager.monitoring.MonitoringManager;
import com.redhat.rhn.testing.ActionHelper;
import com.redhat.rhn.testing.RhnBaseTestCase;
@@ -55,8 +56,8 @@ public class ProbesListSetupActionTest extends RhnBaseTestCase {
ah.setupClampListBounds();
ActionForward af = ah.executeAction();
assertEquals("default", af.getName());
- assertNotNull(ah.getRequest().getAttribute("pageList"));
- DataResult dr = (DataResult) ah.getRequest().getAttribute("pageList");
+ DataResult dr = (DataResult) ah.getRequest().getAttribute(ListHelper.DATA_SET);
+ assertNotNull(dr);
assertTrue(dr.size() > 0);
assertTrue(dr.getStart() == 1);
assertTrue(dr.getEnd() > 0);
@@ -85,7 +86,7 @@ public class ProbesListSetupActionTest extends RhnBaseTestCase {
ah.setupClampListBounds();
ActionForward af = ah.executeAction();
assertEquals("default", af.getName());
- DataResult dr = (DataResult) ah.getRequest().getAttribute("pageList");
+ DataResult dr = (DataResult) ah.getRequest().getAttribute(ListHelper.DATA_SET);
assertTrue(dr.size() == 0);
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java
index d167ebc..3db6ecb 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java
@@ -14,6 +14,7 @@
*/
package com.redhat.rhn.frontend.action.systems.test;
+import com.redhat.rhn.common.localization.LocalizationService;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.channel.ChannelFactory;
import com.redhat.rhn.domain.channel.test.ChannelFactoryTest;
@@ -56,7 +57,8 @@ public class ErrataActionTest extends RhnMockStrutsTestCase {
String pathInfo = "/systems/details/ErrataList";
setRequestPathInfo(pathInfo);
addSubmitted();
- addRequestParameter(RequestContext.DISPATCH, Boolean.toString(true));
+ addRequestParameter(RequestContext.DISPATCH,
+
LocalizationService.getInstance().getMessage("errata.jsp.apply"));
// Create System
Server server = ServerFactoryTest.createTestServer(user, true);
commit bbfd3c824c4760447c9f10e24eadf4113fa51651
Author: Mike McCune <mmccune(a)gmail.com>
Date: Fri Mar 27 13:17:37 2009 -0700
test commit
diff --git a/playpen/README b/playpen/README
index c177a97..1b6100b 100644
--- a/playpen/README
+++ b/playpen/README
@@ -1 +1,3 @@
directory to hold prototype projects.
+
+none of this stuff gets shipped with spacewalk RPMs.
commit fce84153ee10641474969c062ca01d647199bf46
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 16:09:42 2009 -0400
unit test fix
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
index a89ba4e..23b344f 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java
@@ -85,7 +85,6 @@ public class ProbesListSetupActionTest extends RhnBaseTestCase {
ah.setupClampListBounds();
ActionForward af = ah.executeAction();
assertEquals("default", af.getName());
- assertNotNull(ah.getRequest().getAttribute("pageList"));
DataResult dr = (DataResult) ah.getRequest().getAttribute("pageList");
assertTrue(dr.size() == 0);
}
commit 98c6b6f4c4698aef8bfe2a70a827a46eb5ae9b47
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 15:54:19 2009 -0400
144325 - converting system probe list to the new list tag, featuring all the bells and
whistles the new list tag has to offer
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java
index 4c43361..deeb922 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java
@@ -14,34 +14,59 @@
*/
package com.redhat.rhn.frontend.action.systems.monitoring;
-import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.domain.server.Server;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.BaseListAction;
import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.monitoring.MonitoringManager;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* ProbesListSetupAction
* @version $Rev: 59372 $
*/
-public class ProbesListSetupAction extends BaseListAction {
-
- protected DataResult getDataResult(RequestContext rctx, PageControl pc) {
- DataResult dr;
- Server server = rctx.lookupAndBindServer();
- // Null page control, we dont paginate this list.
- dr = MonitoringManager.getInstance().
- probesForSystem(rctx.getCurrentUser(), server, null);
- return dr;
+public class ProbesListSetupAction extends RhnAction implements Listable {
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+
+ ListHelper helper = new ListHelper(this, request);
+ helper.execute();
+
+ RequestContext requestContext = new RequestContext(request);
+ Server server = requestContext.lookupAndBindServer();
+
+ request.setAttribute("sid", server.getId());
+ return mapping.findForward("default");
}
+
+
+
/**
+ *
* {@inheritDoc}
*/
- protected void processRequestAttributes(RequestContext rctx) {
- super.processRequestAttributes(rctx);
- rctx.lookupAndBindServer();
+ public List getResult(RequestContext rctx) {
+ Server server = rctx.lookupAndBindServer();
+ return MonitoringManager.getInstance().
+ probesForSystem(rctx.getCurrentUser(), server, null);
}
+
}
diff --git a/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp
b/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp
index ba623b5..82993f6 100644
--- a/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp
@@ -4,6 +4,7 @@
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/functions"
prefix="fn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<html:xhtml/>
<html>
@@ -31,26 +32,64 @@
</p>
</div>
-<rhn:list pageList="${requestScope.pageList}"
noDataText="probes.index.jsp.noprobes" legend="probes-list">
- <rhn:listdisplay set="${requestScope.set}"
exportColumns="id,description,stateString,stateOutputString"
- hiddenvars="${requestScope.newset}">
- <%@ include
file="/WEB-INF/pages/common/fragments/probes/probe-state-column.jspf" %>
- <rhn:column header="probes.index.jsp.description"
nowrap="nowrap">
- <a
href="ProbeDetails.do?probe_id=${current.id}&sid=${system.id}">${current.description}</A>
- </rhn:column>
- <rhn:column header="probes.index.jsp.status"
sortProperty="stateOutputString">
- ${current.stateOutputString}
- </rhn:column>
- <rhn:column header="probes.index.jsp.type">
- <c:if test="${current.isSuiteProbe}">
- <a title='<bean:message
key="probes.index.jsp.suiteedit"/>'
href="/rhn/monitoring/config/ProbeSuiteProbeEdit.do?suite_id=${current.probeSuiteId}&probe_id=${current.id}"><bean:message
key="probes.index.jsp.suite"/></a>
- </c:if>
- <c:if test="${not current.isSuiteProbe}">
- <a title='<bean:message
key="probes.index.jsp.systemedit"/>'
href="ProbeEdit.do?probe_id=${current.id}&sid=${system.id}"><bean:message
key="probes.index.jsp.system"/></a>
- </c:if>
- </rhn:column>
- </rhn:listdisplay>
-</rhn:list>
+
+<rl:listset name="probeSet">
+
+<rl:list emptykey="probes.index.jsp.noprobes"
+ alphabarcolumn="description"
+ styleclass="list"
+ >
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="ElaborationDecorator"/>
+
+ <%@ include
file="/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf" %>
+
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="probes.index.jsp.description"
+ sortattr="description"
+ defaultsort="asc"
+ filterattr="description"
+ >
+ <a
href="ProbeDetails.do?probe_id=${current.id}&sid=${system.id}">${current.description}</a>
+ </rl:column>
+
+ <rl:column sortable="true"
+ bound="false"
+ headerkey="probes.index.jsp.status"
+ sortattr="stateOutputString">
+ ${current.stateOutputString}
+ </rl:column>
+
+ <rl:column sortable="false"
+ bound="false"
+ headerkey="probes.index.jsp.type"
+ styleclass="last-column"
+ >
+ <c:if test="${current.isSuiteProbe}">
+ <a title='<bean:message
key="probes.index.jsp.suiteedit"/>'
href="/rhn/monitoring/config/ProbeSuiteProbeEdit.do?suite_id=${current.probeSuiteId}&probe_id=${current.id}"><bean:message
key="probes.index.jsp.suite"/></a>
+ </c:if>
+ <c:if test="${not current.isSuiteProbe}">
+ <a title='<bean:message
key="probes.index.jsp.systemedit"/>'
href="ProbeEdit.do?probe_id=${current.id}&sid=${system.id}"><bean:message
key="probes.index.jsp.system"/></a>
+ </c:if>
+ </rl:column>
+
+
+
+</rl:list>
+ <input type="hidden" name="sid" value="${sid}"
/>
+ <rl:csv exportColumns="id,description,stateString,stateOutputString"/>
+</rl:listset>
+
+
+
+
+
+
+
+
+
</body>
commit 665d4b9752ffaea1833f1a66c8536aed11342646
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Fri Mar 27 14:18:08 2009 -0500
fix up copyright dates in tito
diff --git a/rel-eng/bin/tito b/rel-eng/bin/tito
index e787098..c1cbfe3 100755
--- a/rel-eng/bin/tito
+++ b/rel-eng/bin/tito
@@ -1,6 +1,6 @@
#!/usr/bin/python
#
-# Copyright (c) 2008 Red Hat, Inc.
+# Copyright (c) 2008,2009 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
commit 0f3022475c48f0978f8847b7ba5639b0fbff1160
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 14:25:01 2009 -0400
492478 - modifying the system applicable errata page so that you can filter on the
type of errata you want to see, also linking a couple of critical errata links to only
show the critical ones, instead of all of them
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index f3dbebb..76faf7f 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@ -81,27 +81,52 @@ SELECT DISTINCT E.id, E.update_date,
AND SNEC.errata_id = E.id
ORDER BY E.update_date DESC, E.id
</query>
- <elaborator params="sid" multiple="t">
-SELECT DISTINCT AEU.errata_id AS id,
- AST.name AS status,
- SA.action_id
- FROM rhnActionErrataUpdate AEU,
- rhnServerAction SA,
- rhnActionStatus AST
- WHERE SA.server_id = :sid
- AND SA.action_id = AEU.action_id
- AND AEU.errata_id IN (%s)
- AND AST.id = SA.status
- AND NOT ( EXISTS ( SELECT 1 FROM rhnServerNeededErrataCache
- WHERE server_id = SA.server_id
- AND errata_id = AEU.errata_id
- )
- AND AST.name = 'Completed' -- filter out rolled back status
- )
- </elaborator>
+ <elaborator name="relevant_elab" />
<elaborator name="errata_overview" />
</mode>
+<mode name="relevant_to_system_by_types"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
+ <query params="user_id, sid">
+SELECT DISTINCT E.id, E.update_date,
+ E.synopsis AS ADVISORY_SYNOPSIS,
+ E.advisory_name AS ADVISORY_NAME,
+ E.advisory_type AS ADVISORY_TYPE,
+ :sid as ASSOCIATED_SYSTEM
+ FROM rhnErrata E,
+ rhnServerNeededErrataCache SNEC
+ WHERE EXISTS (SELECT server_id FROM rhnUserServerPerms USP
+ WHERE USP.user_id = :user_id
+ AND USP.server_id = :sid)
+ AND SNEC.server_id = :sid
+ AND SNEC.errata_id = E.id
+ AND E.advisory_type in (%s)
+ORDER BY E.update_date DESC, E.id
+ </query>
+ <elaborator name="relevant_elab" />
+ <elaborator name="errata_overview" />
+</mode>
+
+
+ <query name="relevant_elab" params="sid" >
+ SELECT DISTINCT AEU.errata_id AS id,
+ AST.name AS status,
+ SA.action_id
+ FROM rhnActionErrataUpdate AEU,
+ rhnServerAction SA,
+ rhnActionStatus AST
+ WHERE SA.server_id = :sid
+ AND SA.action_id = AEU.action_id
+ AND AEU.errata_id IN (%s)
+ AND AST.id = SA.status
+ AND NOT ( EXISTS ( SELECT 1 FROM rhnServerNeededErrataCache
+ WHERE server_id = SA.server_id
+ AND errata_id = AEU.errata_id
+ )
+ AND AST.name = 'Completed' -- filter out rolled back status
+ )
+ </query>
+
+
<mode name="relevant_to_system_by_type"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
<query params="user_id, sid, type">
SELECT DISTINCT E.id, E.update_date,
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java
index 0a407b3..3032a8c 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java
@@ -14,20 +14,18 @@
*/
package com.redhat.rhn.frontend.action.systems;
-import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.domain.errata.ErrataFactory;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.systems.sdc.SdcHelper;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
-import com.redhat.rhn.frontend.struts.RhnHelper;
-import com.redhat.rhn.frontend.struts.RhnListSetHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
-import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
-import com.redhat.rhn.frontend.taglibs.list.TagHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import com.redhat.rhn.manager.rhnset.RhnSetManager;
import com.redhat.rhn.manager.system.SystemManager;
import org.apache.struts.action.ActionForm;
@@ -36,8 +34,10 @@ import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -48,11 +48,21 @@ import javax.servlet.http.HttpServletResponse;
* ErrataSetupAction
* @version $Rev$
*/
-public class ErrataSetupAction extends RhnAction {
+public class ErrataSetupAction extends RhnAction implements Listable {
public static final String DISPATCH = "dispatch";
public static final String LIST_NAME = "errataList";
+ public static final String ALL = "All";
+ public static final String NON_CRITICAL = "errata.updates.noncritical";
+ public static final String SECUR = "errata.create.securityadvisory";
+ public static final String BUGFIX = "errata.create.bugfixadvisory";
+ public static final String ENHANCE =
"errata.create.productenhancementadvisory";
+
+ public static final String SELECTOR = "type";
+
+
+
/** {@inheritDoc} */
public ActionForward execute(ActionMapping mapping,
ActionForm formIn,
@@ -61,35 +71,24 @@ public class ErrataSetupAction extends RhnAction {
RequestContext requestContext = new RequestContext(request);
User user = requestContext.getLoggedInUser();
- RhnListSetHelper helper = new RhnListSetHelper(request);
Long sid = requestContext.getRequiredParam("sid");
RhnSet set = getSetDecl(sid).get(user);
- DataResult dr = SystemManager.relevantErrata(user, sid);
+
- if (request.getParameter(DISPATCH) != null) {
- // if its one of the Dispatch actions handle it..
- helper.updateSet(set, LIST_NAME);
- if (!set.isEmpty()) {
+
+ ListRhnSetHelper help = new ListRhnSetHelper(this, request, getSetDecl(sid));
+ help.setListName(LIST_NAME);
+ String parentURL = request.getRequestURI() + "?sid=" + sid;
+ help.setParentUrl(parentURL);
+
+ help.execute();
+
+ if (help.isDispatched()) {
+ if (requestContext.wasDispatched("errata.jsp.apply")) {
return applyErrata(mapping, formIn, request, response);
}
- else {
- RhnHelper.handleEmptySelection(request);
- }
- }
-
- if (ListTagHelper.getListAction(LIST_NAME, request) != null) {
- helper.execute(set, LIST_NAME, dr);
- }
- else if (!requestContext.isSubmitted()) {
- set.clear();
- RhnSetManager.store(set);
- }
-
- // if I have a previous set selections populate data using it
- if (!set.isEmpty()) {
- helper.syncSelections(set, dr);
- ListTagHelper.setSelectedAmount(LIST_NAME, set.size(), request);
}
+
String showButton = "true";
// Show the "Apply Errata" button only when unapplied errata exist:
@@ -97,6 +96,11 @@ public class ErrataSetupAction extends RhnAction {
showButton = "false";
}
+
+
+
+
+
Map params = new HashMap();
Set keys = request.getParameterMap().keySet();
for (Iterator i = keys.iterator(); i.hasNext();) {
@@ -104,21 +108,63 @@ public class ErrataSetupAction extends RhnAction {
params.put(key, request.getParameter(key));
}
- ListTagHelper.bindSetDeclTo(LIST_NAME, getSetDecl(sid), request);
- TagHelper.bindElaboratorTo(LIST_NAME, dr.getElaborator(), request);
-
Server server = SystemManager.lookupByIdAndUser(sid, user);
SdcHelper.ssmCheck(request, server.getId(), user);
request.setAttribute("showApplyErrata", showButton);
- request.setAttribute("pageList", dr);
request.setAttribute("set", set);
request.setAttribute("system", server);
- String parentURL = request.getRequestURI() + "?sid=" + sid;
- request.setAttribute(ListTagHelper.PARENT_URL, parentURL);
+ request.setAttribute("combo", getComboList(request));
+ request.setAttribute(SELECTOR, request.getParameter(SELECTOR));
return
getStrutsDelegate().forwardParams(mapping.findForward("default"), params);
}
+
+ private List<Map<String, Object>> getComboList(HttpServletRequest
request) {
+
+ String selected = (String) request.getParameter(SELECTOR);
+
+ List<Map<String, Object>> combo = new ArrayList<Map<String,
Object>>();
+
+ LocalizationService ls = LocalizationService.getInstance();
+
+
+ Map<String, Object> tmp = new HashMap<String, Object>();
+ tmp.put("name", ALL);
+ tmp.put("id", ALL);
+ tmp.put("default", ls.getMessage(ALL).equals(selected));
+
+ Map<String, Object> tmp1 = new HashMap<String, Object>();
+ tmp1.put("name", NON_CRITICAL);
+ tmp1.put("id", NON_CRITICAL);
+ tmp1.put("default", ls.getMessage(NON_CRITICAL).equals(selected));
+
+
+ Map<String, Object> tmp2 = new HashMap<String, Object>();
+ tmp2.put("name", BUGFIX);
+ tmp2.put("id", BUGFIX);
+ tmp2.put("default", ls.getMessage(BUGFIX).equals(selected));
+
+ Map<String, Object> tmp3 = new HashMap<String, Object>();
+ tmp3.put("name", ENHANCE);
+ tmp3.put("id", ENHANCE);
+ tmp3.put("default", ls.getMessage(ENHANCE).equals(selected));
+
+ Map<String, Object> tmp4 = new HashMap<String, Object>();
+ tmp4.put("name", SECUR);
+ tmp4.put("id", SECUR);
+ tmp4.put("default", ls.getMessage(SECUR).equals(selected));
+
+ combo.add(tmp);
+ combo.add(tmp1);
+ combo.add(tmp2);
+ combo.add(tmp3);
+ combo.add(tmp4);
+ return combo;
+
+ }
+
+
/**
* Applies the selected errata
* @param mapping ActionMapping
@@ -184,4 +230,40 @@ public class ErrataSetupAction extends RhnAction {
return params;
}
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public List getResult(RequestContext context) {
+ User user = context.getLoggedInUser();
+ Long sid = context.getRequiredParam("sid");
+ String type = context.getParam(SELECTOR, false);
+
+ LocalizationService ls = LocalizationService.getInstance();
+
+ List<String> typeList = new ArrayList<String>();
+
+ if (ls.getMessage(BUGFIX).equals(type)) {
+ typeList.add(ErrataFactory.ERRATA_TYPE_BUG);
+ }
+ else if (ls.getMessage(SECUR).equals(type)) {
+ typeList.add(ErrataFactory.ERRATA_TYPE_SECURITY);
+ }
+ else if (ls.getMessage(ENHANCE).equals(type)) {
+ typeList.add(ErrataFactory.ERRATA_TYPE_ENHANCEMENT);
+ }
+ else if (ls.getMessage(NON_CRITICAL).equals(type)) {
+ typeList.add(ErrataFactory.ERRATA_TYPE_BUG);
+ typeList.add(ErrataFactory.ERRATA_TYPE_ENHANCEMENT);
+ }
+ else {
+ typeList.add(ErrataFactory.ERRATA_TYPE_BUG);
+ typeList.add(ErrataFactory.ERRATA_TYPE_ENHANCEMENT);
+ typeList.add(ErrataFactory.ERRATA_TYPE_SECURITY);
+ }
+
+ return SystemManager.relevantErrata(user, sid, typeList);
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java
index d2f1398..d737a67 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java
@@ -137,7 +137,8 @@ public class SystemListHelper {
//status = "critical";
url.setAttribute("href",
"/rhn/systems/details/ErrataList.do?sid=" +
- next.getId());
+ next.getId() + "&type=" +
+
LocalizationService.getInstance().getMessage(ErrataSetupAction.SECUR));
message = ls.getMessage("systemlist.jsp.critical");
img.setAttribute("src", "/img/icon_crit_update.gif");
img.setAttribute("title", message);
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java
index 0f7ae4e..f3d3fc0 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java
@@ -54,7 +54,6 @@ public class ErrataSetupActionTest extends RhnMockStrutsTestCase {
}
actionPerform();
- assertNotNull(request.getAttribute("pageList"));
assertNotNull(request.getAttribute("set"));
assertNotNull(request.getAttribute("system"));
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index 7d1886d..91e9d0a 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -8109,6 +8109,9 @@ Follow this url to see the full list of inactive systems:
<trans-unit id="snapshots.entitlements">
<source>Entitlements Updated</source>
</trans-unit>
+ <trans-unit id="errata.updates.noncritical">
+ <source>Non-Critical</source>
+ </trans-unit>
<trans-unit id="snapshots.configchannel">
<source>Configuration Channels Updated</source>
</trans-unit>
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 4051cbe..d34d976 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -21029,6 +21029,13 @@ given channel.</source>
<context
context-type="sourcefile">/rhn/channels/manage/errata/ErrataList.do</context>
</context-group>
</trans-unit>
+ <trans-unit id="system.errata.show">
+ <source>Show</source>
+ <context-group name="ctx">
+ <context
context-type="sourcefile">/rhn/systems/details/ErrataList.do</context>
+ </context-group>
+ </trans-unit>
+
</body>
</file>
</xliff>
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
index f1a81ee..9485c21 100644
--- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
+++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
@@ -706,6 +706,31 @@ public class SystemManager extends BaseManager {
}
/**
+ * Returns a list of errata relevant to a system
+ * @param user The user
+ * @param sid System Id
+ * @param types of errata types (strings) to include
+ * @return a list of ErrataOverviews
+ */
+ public static DataResult<ErrataOverview> relevantErrata(User user,
+ Long sid, List<String> types) {
+ SelectMode m = ModeFactory.getMode("Errata_queries",
"relevant_to_system_by_types");
+
+ Map params = new HashMap();
+ params.put("user_id", user.getId());
+ params.put("sid", sid);
+
+ Map elabParams = new HashMap();
+ elabParams.put("sid", sid);
+ elabParams.put("user_id", user.getId());
+
+ DataResult<ErrataOverview> dr = m.execute(params, types);
+ dr.setElaborationParams(elabParams);
+ return dr;
+ }
+
+
+ /**
* Returns a list of errata relevant to a system by type
* @param user The user
* @param sid System Id
diff --git a/java/code/webapp/WEB-INF/pages/systems/errata.jsp
b/java/code/webapp/WEB-INF/pages/systems/errata.jsp
index 8aae829..7362326 100644
--- a/java/code/webapp/WEB-INF/pages/systems/errata.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/errata.jsp
@@ -8,6 +8,15 @@
<html>
<head>
<meta name="name" value="System Details" />
+<!-- disables the enter key from submitting the form -->
+ <script type="text/javascript" language="JavaScript">
+ function key(e) {
+ var pkey = e ? e.which : window.event.keyCode;
+ return pkey != 13;
+ }
+ document.onkeypress = key;
+ if (document.layers) document.captureEvents(Event.KEYPRESS);
+ </script>
</head>
<body>
@@ -28,7 +37,23 @@
<c:set var="pageList" value="${requestScope.pageList}" />
<rl:listset name="errataListSet" legend="errata">
- <rl:list dataset="pageList"
+
+ <br/>
+ <select name="type">
+ <c:forEach items="${combo}" var="item">
+ <option id="${item.id}"
+ <c:if test="${item.default}"> selected</c:if>
+ > <bean:message key="${item.name}"/>
+ </option>
+ </c:forEach>
+ </select>
+ <html:submit property="show">
+ <bean:message key="system.errata.show"/>
+ </html:submit>
+ <br/>
+
+
+ <rl:list
width="100%"
name="errataList"
styleclass="list"
@@ -78,7 +103,8 @@
<rl:column headerkey="erratalist.jsp.synopsis" bound="false"
sortattr="advisorySynopsis"
- sortable="true">
+ sortable="true"
+ filterattr="advisorySynopsis">
${current.advisorySynopsis}
</rl:column>
diff --git a/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp
b/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp
index 98db31e..22b2ecd 100644
--- a/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp
@@ -31,10 +31,10 @@
</c:choose>
<c:if test="${criticalErrataCount > 0}">
- <bean:message key="sdc.details.overview.updates.critical"
arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}"
arg1="${criticalErrataCount}"/>
+ <bean:message key="sdc.details.overview.updates.critical"
arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}&type=${rhn:localize('errata.create.securityadvisory')}"
arg1="${criticalErrataCount}"/>
</c:if>
<c:if test="${nonCriticalErrataCount > 0}">
- <bean:message key="sdc.details.overview.updates.noncritical"
arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}"
arg1="${nonCriticalErrataCount}"/>
+ <bean:message key="sdc.details.overview.updates.noncritical"
arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}&type=${rhn:localize('errata.updates.noncritical')}"
arg1="${nonCriticalErrataCount}"/>
</c:if>
<c:if test="${upgradablePackagesCount > 0}">
<bean:message key="sdc.details.overview.updates.packages"
arg0="/rhn/systems/details/packages/UpgradableList.do?sid=${system.id}"
arg1="${upgradablePackagesCount}"/>
commit c9bbaca2217578304f1e59bfa680af18b93786a6
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Fri Mar 27 11:58:27 2009 -0500
467063 - Port of clone errata functionality to new list tag
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java
index 305e926..96d6859 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java
@@ -14,106 +14,112 @@
*/
package com.redhat.rhn.frontend.action.errata;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.util.LabelValueBean;
import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.common.RhnSetAction;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
-import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.channel.ChannelManager;
+import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import org.apache.commons.lang.BooleanUtils;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
-import org.apache.struts.action.ActionMessages;
-import org.apache.struts.action.DynaActionForm;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
/**
* CloneErrataSubmitAction
+ *
* @version $Rev$
*/
-public class CloneErrataAction extends RhnSetAction {
-
- /**
- * Updates the set with the selected errata to clone
- * and forwards the user to the clone errata page.
- * @param mapping ActionMapping
- * @param formIn ActionForm
- * @param request ServletRequest
- * @param response ServletResponse
- * @return The ActionForward to go to next.
- */
- public ActionForward cloneErrata(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
- RhnSet set = updateSet(request);
- Map params = makeParamMap(formIn, request);
-
- StrutsDelegate strutsDelegate = getStrutsDelegate();
-
- //if they chose no errata, return to the same page with a message
- if (set.isEmpty()) {
- ActionMessages msg = new ActionMessages();
- msg.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("errata.applynone"));
- strutsDelegate.saveMessages(request, msg);
- return strutsDelegate.forwardParams(mapping.findForward("default"),
params);
+public class CloneErrataAction extends RhnAction implements Listable {
+
+ public static final String ANY_CHANNEL = "any_channel";
+
+ /** {@inheritDoc} */
+ public ActionForward execute(ActionMapping actionMapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
+
+ ListRhnSetHelper helper =
+ new ListRhnSetHelper(this, request, RhnSetDecl.ERRATA_CLONE);
+ helper.execute();
+
+ ActionForward forward;
+ if (helper.isDispatched()) {
+ // Nothing to do when dispatched, there is a confirmation page displayed
next
+ // that will do the actual work
+ forward = actionMapping.findForward("continue");
}
-
- return mapping.findForward("clone");
- }
+ else {
+ RequestContext context = new RequestContext(request);
+ populateChannelDropDown(context);
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ERRATA_CLONE;
- }
+ forward = actionMapping.findForward("default");
+ }
- /**
- * {@inheritDoc}
- */
- protected DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
- RequestContext rctx = new RequestContext(request);
- return CloneErrataActionHelper.getSubmittedDataResult(rctx,
- (DynaActionForm) formIn,
- null);
+ return forward;
}
- /**
- * {@inheritDoc}
- */
- protected void processMethodKeys(Map map) {
- map.put("cloneerrata.jsp.cloneerrata", "cloneErrata");
- }
-
- protected boolean isShowCloned(DynaActionForm daForm) {
- return BooleanUtils.toBoolean((Boolean)
daForm.get("showalreadycloned"));
- }
+ /** {@inheritDoc} */
+ public List getResult(RequestContext context) {
+ User user = context.getLoggedInUser();
+ Long orgId = user.getOrg().getId();
+
+ // Determine if a specific channel is being selected
+ String channel = context.getParam("channel", false);
+
+ // Determine whether or not to show already cloned errata
+ boolean showAlreadyCloned = context.getParam("showalreadycloned",
false) != null;
+
+ DataResult result;
+
+ if (channel == null || channel.equals(ANY_CHANNEL)) {
+ result = ErrataManager.clonableErrata(orgId, showAlreadyCloned);
+ }
+ else {
+ // Example value of channel parameter: channel_141
+ long channelId = Long.parseLong(channel.substring(8));
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- DynaActionForm daForm = (DynaActionForm) formIn;
- params.put(RhnAction.SUBMITTED, daForm.get(RhnAction.SUBMITTED));
- params.put(CloneErrataActionHelper.CHANNEL,
- daForm.get(CloneErrataActionHelper.CHANNEL));
- params.put(CloneErrataActionHelper.SHOW_ALREADY_CLONED,
- daForm.get(CloneErrataActionHelper.SHOW_ALREADY_CLONED));
+ result = ErrataManager.clonableErrataForChannel(orgId,
+ channelId, showAlreadyCloned);
+ }
+
+ return result;
}
+ private void populateChannelDropDown(RequestContext rctx) {
+
+ LocalizationService ls = LocalizationService.getInstance();
+
+ List<LabelValueBean> displayList = new ArrayList<LabelValueBean>();
+ displayList.add(new
LabelValueBean(ls.getMessage("cloneerrata.anychannel"),
+ ANY_CHANNEL));
+
+ List channels = ChannelManager.
+ getChannelsWithClonableErrata(rctx.getCurrentUser().getOrg());
+
+ if (channels != null) {
+ for (Iterator i = channels.iterator(); i.hasNext();) {
+ Channel c = (Channel) i.next();
+ // /me wonders if this shouldn't be part of the query.
+ if ("rpm".equals(c.getChannelArch().getArchType().getLabel()))
{
+ displayList.add(new LabelValueBean(c.getName(),
+ "channel_" + c.getId()));
+ }
+ }
+ }
+
+ rctx.getRequest().setAttribute("clonablechannels", displayList);
+ }
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java
deleted file mode 100644
index a96132e..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.manager.errata.ErrataManager;
-
-import org.apache.commons.lang.BooleanUtils;
-import org.apache.struts.action.DynaActionForm;
-
-/**
- * CloneErrataActionHelper
- * Helper class to allow the CloneErrataAction and CloneErrataSetupAction
- * to share data retrieval logic.
- * @version $Rev$
- */
-public class CloneErrataActionHelper {
-
- public static final String CHANNEL = "channel";
- public static final String SHOW_ALREADY_CLONED = "showalreadycloned";
- public static final String ANY_CHANNEL = "any_channel";
-
- /** utility class */
- private CloneErrataActionHelper() {
-
- }
- /**
- * Returns the dataresult for this page.
- * @param rctx Current RequestContext
- * @param daForm DynaActionForm submitted
- * @param pc PageControl
- * @return the list of clonable errata.
- */
- protected static DataResult getSubmittedDataResult(RequestContext rctx,
- DynaActionForm daForm,
- PageControl pc) {
- Long orgId = rctx.getCurrentUser().getOrg().getId();
-
- String channel = daForm.getString(CHANNEL);
-
- /* Our form has already been validated so we are guaranteed
- * to have a channel value off the form equaling either
- * 'any_channel' or 'channel_somenumber'
- */
- if (channel.equals(ANY_CHANNEL)) {
- return ErrataManager.clonableErrata(orgId, pc, isShowCloned(daForm));
- }
- else {
- return ErrataManager.clonableErrataForChannel(orgId,
- new Long(channel.
- substring(8)),
- pc,
- isShowCloned(
- daForm));
- }
- }
-
- protected static DataResult getUnsubmittedDataResult(RequestContext rctx,
- PageControl pc) {
- Long orgId = rctx.getCurrentUser().getOrg().getId();
-
- return ErrataManager.clonableErrata(orgId, pc, false);
- }
-
- protected static boolean isShowCloned(DynaActionForm daForm) {
- return BooleanUtils.toBoolean((Boolean) daForm.get(SHOW_ALREADY_CLONED));
- }
-
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java
deleted file mode 100644
index f0ca986..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.common.localization.LocalizationService;
-import com.redhat.rhn.domain.channel.Channel;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListAction;
-import com.redhat.rhn.frontend.struts.RhnValidationHelper;
-import com.redhat.rhn.manager.channel.ChannelManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.DynaActionForm;
-import org.apache.struts.util.LabelValueBean;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * CloneErrataSetupAction
- *
- * @version $Rev$
- */
-public class CloneErrataSetupAction extends RhnListAction {
-
- /** {@inheritDoc} */
- public final ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
- DynaActionForm daForm = (DynaActionForm) formIn;
- RequestContext rctx = new RequestContext(request);
- User user = rctx.getLoggedInUser();
- DataResult dr;
-
- PageControl pc = new PageControl();
- pc.setFilterColumn("earliest");
-
- clampListBounds(pc, request, user);
-
- RhnSet set = RhnSetDecl.ERRATA_CLONE.get(user);
-
- /* If the user submitted the form, we find out what channel
- * errata they are trying to look at from the form. Otherwise,
- * we just show them all errata not already cloned in all managed
- * channels
- */
- if (isSubmitted(daForm)) {
- ActionErrors errors = RhnValidationHelper.validateDynaActionForm(this,
-
daForm);
-
- if (!errors.isEmpty()) {
- getStrutsDelegate().saveMessages(request, errors);
- return mapping.findForward("error");
- }
-
- dr = CloneErrataActionHelper.getSubmittedDataResult(rctx, daForm, pc);
- }
- else {
- dr = CloneErrataActionHelper.getUnsubmittedDataResult(rctx, pc);
- }
-
- request.setAttribute("pageList", dr);
- request.setAttribute("set", set);
- processDropDownList(rctx);
-
- return mapping.findForward("default");
- }
-
- protected void processDropDownList(RequestContext rctx) {
- List displayList = new ArrayList();
- LocalizationService ls = LocalizationService.getInstance();
- displayList.add(new
LabelValueBean(ls.getMessage("cloneerrata.anychannel"),
- CloneErrataActionHelper.ANY_CHANNEL));
- List l = ChannelManager.
- getChannelsWithClonableErrata(rctx.getCurrentUser().getOrg());
-
- if (l != null) {
- for (Iterator i = l.iterator(); i.hasNext();) {
- Channel c = (Channel) i.next();
- // /me wonders if this shouldn't be part of the query.
- if ("rpm".equals(c.getChannelArch().getArchType().getLabel()))
{
- displayList.add(new LabelValueBean(c.getName(),
- "channel_" + c.getId()));
- }
- }
- }
-
-
- rctx.getRequest().setAttribute("clonablechannels", displayList);
- }
-
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ERRATA_CLONE;
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java
deleted file mode 100644
index f6d3697..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import java.util.List;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.channel.Channel;
-import com.redhat.rhn.domain.channel.test.ChannelFactoryTest;
-import com.redhat.rhn.domain.errata.Errata;
-import com.redhat.rhn.domain.errata.ErrataFactory;
-import com.redhat.rhn.domain.errata.test.ErrataFactoryTest;
-import com.redhat.rhn.domain.org.OrgFactory;
-import com.redhat.rhn.domain.role.RoleFactory;
-import com.redhat.rhn.frontend.action.errata.CloneErrataActionHelper;
-import com.redhat.rhn.frontend.struts.RhnAction;
-import com.redhat.rhn.manager.channel.ChannelManager;
-import com.redhat.rhn.testing.RhnMockStrutsTestCase;
-import com.redhat.rhn.testing.TestUtils;
-
-/**
- * CloneErrataSetupActionTest
- * @version $Rev$
- */
-public class CloneErrataSetupActionTest extends RhnMockStrutsTestCase {
-
- public void setUp() throws Exception {
- super.setUp();
- setRequestPathInfo("/errata/manage/CloneErrata");
- user.getOrg().getEntitlements().add(OrgFactory.getEntitlementEnterprise());
- user.getOrg().addRole(RoleFactory.CHANNEL_ADMIN);
- }
-
- /**
- * We have no guarantee that there aren't already cloned channels in
- * the test database. Therefore, we need to find out how many are
- * in the cloned channel dropdown list BEFORE we insert our test channel
- * into the database, then verify that we get the number of cloned
- * channels we originally got back plus one (the extra one being our
- * new channel).
- * @throws Exception
- */
- public void testDropDownList() throws Exception {
-
- actionPerform();
- List channelList = (List) request.getAttribute("clonablechannels");
- int oldSize = channelList.size();
- ChannelFactoryTest.createTestClonedChannel(
- ChannelFactoryTest.createTestChannel(user),
- user);
-
- actionPerform();
- channelList = (List) request.getAttribute("clonablechannels");
- assertNotNull(channelList);
- assertTrue(channelList.size() == oldSize + 1);
- }
-
- /**
- * Same rules apply here as the above test. We're not guaranteed any particular
- * number of results in our pageList, but we know it should be n + 1 size.
- * @throws Exception
- */
- public void testPageList() throws Exception {
-
- actionPerform();
- DataResult dr = (DataResult) request.getAttribute("pageList");
- int oldSize = dr.getTotalSize();
-
- Channel original = ChannelFactoryTest.createTestChannel(user);
- Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId());
- original.addErrata(e);
-
- ChannelFactoryTest.createTestClonedChannel(original, user);
-
- actionPerform();
- dr = (DataResult) request.getAttribute("pageList");
- assertNotNull(dr);
- assertTrue(dr.getTotalSize() == oldSize + 1);
- }
-
- /**
- * This test simulates a submit where the user has asked for results for
- * a particular cloned channel. The result should be empty until we create
- * an errata that could potentially be cloned.
- * @throws Exception
- */
- public void testChannelSubmit() throws Exception {
-
- // ClonedChannel c = (ClonedChannel) ChannelFactory.lookupById(new
Long(308066));
- // assertNotNull(c);
-
- // Have to run this query first , otherwise we hit a Hibernate bug
- // where we get a WrongClassCastException
- ChannelManager.
- getChannelsWithClonableErrata(user.getOrg());
- Channel original = ChannelFactoryTest.createTestChannel(user);
- Channel clone = ChannelFactoryTest.createTestClonedChannel(original, user);
- TestUtils.saveAndFlush(original);
- TestUtils.saveAndFlush(clone);
- // clone = (ClonedChannel) TestUtils.reload(clone);
-
-
- request.addParameter("channel", "channel_" + clone.getId());
- request.addParameter(RhnAction.SUBMITTED, "true");
- actionPerform();
- DataResult dr = (DataResult) request.getAttribute("pageList");
-
- assertNotNull(dr);
- assertTrue(dr.size() == 0);
-
- Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId());
- original.addErrata(e);
- TestUtils.saveAndFlush(original);
- TestUtils.saveAndFlush(e);
-
- actionPerform();
- dr = (DataResult) request.getAttribute("pageList");
- assertNotNull(dr);
- assertTrue(dr.size() == 1);
- }
-
- /**
- * This test simulates a submit where the user is asking for clonable
- * errata for a particular channel, and asks to be shown errata that
- * have already been cloned. We clone the errata and verify
- * that the list for the channel contains the cloned errata only
- * when we ask to see errata that have already been cloned
- * @throws Exception
- */
- public void testViewAlreadyClonedErrataForChannel() throws Exception {
- // Have to run this query first , otherwise we hit a Hibernate bug
- // where we get a WrongClassCastException
- ChannelManager.
- getChannelsWithClonableErrata(user.getOrg());
-
- Channel original = ChannelFactoryTest.createTestChannel(user);
- Channel clone = ChannelFactoryTest.createTestClonedChannel(original, user);
- TestUtils.saveAndFlush(original);
- TestUtils.saveAndFlush(clone);
-
- Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId());
- original.addErrata(e);
-
- ErrataFactory.createClone(user.getOrg(), e);
-
- request.addParameter("channel", "channel_" + clone.getId());
- request.addParameter(RhnAction.SUBMITTED, "true");
- actionPerform();
- DataResult dr = (DataResult) request.getAttribute("pageList");
- assertNotNull(dr);
- assertTrue(dr.size() == 0);
-
- request.addParameter("channel", "channel_" + clone.getId());
- request.addParameter(RhnAction.SUBMITTED, "true");
- request.addParameter(CloneErrataActionHelper.SHOW_ALREADY_CLONED,
"true");
- actionPerform();
- dr = (DataResult) request.getAttribute("pageList");
- assertNotNull(dr);
- assertTrue(dr.size() == 1);
- }
-
- /**
- * This test simulates a submit where the user is asking for clonable
- * errata for all channels, and asks to be shown errata that
- * have already been cloned. We clone an errata and verify
- * that the list contains MORE errata (as that's all we can guarantee)
- * when we ask for errata that have already been cloned
- * @throws Exception
- */
- public void testViewAlreadyClonedErrataForAll() throws Exception {
- // Have to run this query first , otherwise we hit a Hibernate bug
- // where we get a WrongClassCastException
- ChannelManager.
- getChannelsWithClonableErrata(user.getOrg());
-
- Channel original = ChannelFactoryTest.createTestChannel(user);
- ChannelFactoryTest.createTestClonedChannel(original, user);
-
- Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId());
- original.addErrata(e);
-
- ErrataFactory.createClone(user.getOrg(), e);
-
- request.addParameter("channel", CloneErrataActionHelper.ANY_CHANNEL);
- request.addParameter(RhnAction.SUBMITTED, "true");
- actionPerform();
- DataResult dr = (DataResult) request.getAttribute("pageList");
- assertNotNull(dr);
- int oldSize = dr.getTotalSize();
-
- request.addParameter("channel", CloneErrataActionHelper.ANY_CHANNEL);
- request.addParameter(RhnAction.SUBMITTED, "true");
- request.addParameter(CloneErrataActionHelper.SHOW_ALREADY_CLONED,
"true");
- actionPerform();
- dr = (DataResult) request.getAttribute("pageList");
- assertNotNull(dr);
- assertTrue(dr.getTotalSize() > oldSize);
- }
-
- public void testBadSubmit() throws Exception {
-
- request.addParameter("channel",
"we've_got_snakes_on_a_plane");
- actionPerform();
- verifyForward("error");
- }
-}
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 523d866..2a48b22 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -396,22 +396,9 @@ public class ErrataManager extends BaseManager {
/**
* Helper method to get the unpublished/published errata
* @param user Currently logged in user
- * @param pc PageControl
* @param mode Tells which mode (published/unpublished) we need to run
* @return all of the errata
*/
- private static DataResult ownedErrata(User user, PageControl pc, String mode) {
- SelectMode m = ModeFactory.getMode("Errata_queries", mode);
- Map params = new HashMap();
- params.put("org_id", user.getOrg().getId());
- if (pc != null) {
- return makeDataResult(params, new HashMap(), pc, m);
- }
- DataResult dr = m.execute(params);
- dr.setTotalSize(dr.size());
- return dr;
- }
-
private static DataResult ownedErrata(User user, String mode) {
SelectMode m = ModeFactory.getMode("Errata_queries", mode);
Map params = new HashMap();
@@ -823,59 +810,55 @@ public class ErrataManager extends BaseManager {
/**
* Get List of all cloneable errata for an org
* @param orgid org we want to lookup against
- * @param pc page control to be used
* @param showCloned whether we should show errata that have already been cloned
* @return List of cloneableErrata
*/
- public static DataResult clonableErrata(Long orgid,
- PageControl pc,
+ public static DataResult clonableErrata(Long orgid,
boolean showCloned) {
SelectMode m;
-
+
if (showCloned) {
- m = ModeFactory.getMode("Errata_queries",
+ m = ModeFactory.getMode("Errata_queries",
"clonable_errata_list_all");
}
else {
- m = ModeFactory.getMode("Errata_queries",
+ m = ModeFactory.getMode("Errata_queries",
"clonable_errata_list_uncloned");
}
-
-
+
+
Map params = new HashMap();
params.put("org_id", orgid);
- return makeDataResult(params, params, pc, m);
+ return makeDataResult(params, params, null, m);
}
-
+
/**
* Get List of cloneable Errata for an org, from a particular channel
* @param orgid org we want to lookup against
* @param cid channelid
- * @param pc page control to be used
* @param showCloned whether we should show errata that have already been cloned
* @return List of cloneableErrata
*/
- public static DataResult clonableErrataForChannel(Long orgid,
- Long cid,
- PageControl pc,
+ public static DataResult clonableErrataForChannel(Long orgid,
+ Long cid,
boolean showCloned) {
SelectMode m;
-
+
if (showCloned) {
- m = ModeFactory.getMode("Errata_queries",
+ m = ModeFactory.getMode("Errata_queries",
"clonable_errata_for_channel_all");
}
else {
- m = ModeFactory.getMode("Errata_queries",
+ m = ModeFactory.getMode("Errata_queries",
"clonable_errata_for_channel_uncloned");
}
-
+
Map params = new HashMap();
params.put("channel_id", cid);
params.put("org_id", orgid);
- return makeDataResult(params, params, pc, m);
+ return makeDataResult(params, params, null, m);
}
-
+
/**
* Get a list of channels applicable to the erratum
* @param eid The id of the erratum
diff --git a/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp
b/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp
index 750ab13..7a4fbea 100644
--- a/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp
@@ -1,72 +1,96 @@
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
<html:html xhtml="true">
-<body>
+ <body>
-<html:messages id="message" message="true">
- <rhn:messages><c:out escapeXml="false" value="${message}"
/></rhn:messages>
-</html:messages>
-
-<rhn:toolbar base="h1" img="/img/rhn-icon-errata.gif"
-
helpUrl="/rhn/help/channel-mgmt/en/channel-mgmt-Custom_Errata_Management-Cloning_Errata.jsp">
- <bean:message key="cloneerrata.jsp.erratamanagement" />
-</rhn:toolbar>
-<h2><bean:message key="cloneerrata.jsp.cloneerrata"/></h2>
-<div class="page-summary">
-<p><bean:message key="cloneerrata.jsp.pagesummary"/></p>
-</div>
-<br />
-<html:form action="/errata/manage/CloneErrataSubmit">
- <bean:message key="cloneerrata.jsp.viewapplicableerrata" />:
- <html:select property="channel">
- <html:options collection="clonablechannels" property="value"
labelProperty="label"/>
- </html:select>
- <html:submit>
- <bean:message key="cloneerrata.jsp.view"/>
- </html:submit>
- <br />
- <html:checkbox property="showalreadycloned" value="1" />
<bean:message key="cloneerrata.jsp.showclonederrata" />
+ <html:messages id="message" message="true">
+ <rhn:messages><c:out escapeXml="false"
value="${message}"/></rhn:messages>
+ </html:messages>
-<rhn:list pageList="${requestScope.pageList}"
- noDataText="cloneerrata.jsp.noerrata"
- legend="errata">
+ <rhn:toolbar base="h1" img="/img/rhn-icon-errata.gif"
+
helpUrl="/rhn/help/channel-mgmt/en/channel-mgmt-Custom_Errata_Management-Cloning_Errata.jsp">
+ <bean:message key="cloneerrata.jsp.erratamanagement"/>
+ </rhn:toolbar>
- <rhn:listdisplay set="${requestScope.set}"
hiddenvars="${requestScope.newset}"
- button="cloneerrata.jsp.cloneerrata">
- <rhn:set value="${current.id}" />
- <rhn:column header="cloneerrata.jsp.type">
- ${current.advisoryType}
- </rhn:column>
- <rhn:column header="cloneerrata.jsp.advisory">
- <a
href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a>
- </rhn:column>
- <rhn:column header="cloneerrata.jsp.synopsis">
- ${current.synopsis}
- </rhn:column>
- <rhn:column header="cloneerrata.jsp.updated">
- ${current.updateDate}
- </rhn:column>
- <rhn:column header="cloneerrata.jsp.potentialchannels">
- <c:forEach items="${current.channelMap}" var="map">
- <a
href="/network/software/channels/manage/index.pxt?cid=${map.id}">${map.name}</a><br/>
- </c:forEach>
- </rhn:column>
- <rhn:column header="cloneerrata.jsp.alreadycloned">
- <c:choose>
- <c:when test="${current.alreadyCloned}">
- <bean:message key="yes"/>
- </c:when>
- <c:otherwise>
- <bean:message key="no"/>
- </c:otherwise>
- </c:choose>
- </rhn:column>
- </rhn:listdisplay>
- </rhn:list>
-<input type="hidden" name="submitted" value="true"/>
-</html:form>
-</body>
+ <h2><bean:message
key="cloneerrata.jsp.cloneerrata"/></h2>
+
+ <div class="page-summary">
+ <p><bean:message
key="cloneerrata.jsp.pagesummary"/></p>
+ </div>
+
+ <br/>
+
+ <html:form action="/errata/manage/CloneErrata"
method="GET">
+ <bean:message key="cloneerrata.jsp.viewapplicableerrata"/>:
+ <html:select property="channel">
+ <html:options collection="clonablechannels"
property="value"
+ labelProperty="label"/>
+ </html:select>
+ <html:submit>
+ <bean:message key="cloneerrata.jsp.view"/>
+ </html:submit>
+ <br/>
+ <html:checkbox property="showalreadycloned" value="1"/>
<bean:message
+ key="cloneerrata.jsp.showclonederrata"/>
+ </html:form>
+
+ <rl:listset name="groupList" legend="errata">
+
+ <rl:list emptykey="cloneerrata.jsp.noerrata">
+
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="SelectableDecorator"/>
+ <rl:decorator name="ElaborationDecorator"/>
+
+ <rl:selectablecolumn value="${current.selectionKey}"
+ selected="${current.selected}"
+ disabled="${not current.selectable}"
+ styleclass="first-column"/>
+
+ <rl:column headerkey="cloneerrata.jsp.type">
+ ${current.advisoryType}
+ </rl:column>
+ <rl:column headerkey="cloneerrata.jsp.advisory">
+ <a
href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a>
+ </rl:column>
+ <rl:column headerkey="cloneerrata.jsp.synopsis">
+ ${current.synopsis}
+ </rl:column>
+ <rl:column headerkey="cloneerrata.jsp.updated">
+ ${current.updateDate}
+ </rl:column>
+ <rl:column headerkey="cloneerrata.jsp.potentialchannels">
+ <c:forEach items="${current.channelMap}"
var="map">
+ <a
href="/network/software/channels/manage/index.pxt?cid=${map.id}">${map.name}</a><br/>
+ </c:forEach>
+ </rl:column>
+ <rl:column headerkey="cloneerrata.jsp.alreadycloned"
+ styleclass="last-column">
+ <c:choose>
+ <c:when test="${current.alreadyCloned}">
+ <bean:message key="yes"/>
+ </c:when>
+ <c:otherwise>
+ <bean:message key="no"/>
+ </c:otherwise>
+ </c:choose>
+ </rl:column>
+
+ </rl:list>
+
+ <div align="right">
+ <rhn:submitted/>
+ <hr/>
+ <input type="submit"
+ name="dispatch"
+ value='<bean:message
key="cloneerrata.jsp.cloneerrata"/>'/>
+ </div>
+
+ </rl:listset>
+
+ </body>
</html:html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 55e7737..068e5ad 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1839,15 +1839,15 @@
scope="request"
name="cloneErrataForm"
input="/WEB-INF/pages/errata/cloneerrata.jsp"
- type="com.redhat.rhn.frontend.action.errata.CloneErrataSetupAction"
+ type="com.redhat.rhn.frontend.action.errata.CloneErrataAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls"
value="user_role(channel_admin)"/>
<forward name="default"
path="/WEB-INF/pages/errata/cloneerrata.jsp" />
- <forward name="error"
- path="/WEB-INF/pages/errata/cloneerrata.jsp" />
+ <forward name="continue"
+ path="/errata/manage/CloneConfirm.do"
redirect="true" />
</action>
-
+
<action path="/errata/manage/CloneErrataSubmit"
scope="request"
name="cloneErrataForm"
commit 46eb4b67a8790f187cfd783f35c92e42128d4fed
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Fri Mar 27 11:39:21 2009 -0400
492418 - adding missing channel title when creating new software channels
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
index 4748f42..0111025 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
@@ -93,7 +93,6 @@ public class EditChannelAction extends RhnAction implements Listable {
}
}
else if (ctx.hasParam("edit_button")) {
- //params.put("cid", ctx.getParam("cid", true));
String sharing = (String) form.get("org_sharing");
if (hasSharingChanged(form, ctx) &&
("private".equals(sharing) ||
@@ -141,7 +140,7 @@ public class EditChannelAction extends RhnAction implements Listable
{
}
if (!errors.isEmpty()) {
request.setAttribute("channel_label", (String)
form.get("label"));
- request.setAttribute("channel_name", (String)
form.get("name"));
+ request.setAttribute("channel_name", (String)
form.getString("name"));
request.setAttribute("channel_arch", (String)
form.get("arch_name"));
request.setAttribute("channel_arch_label", (String)
form.get("arch"));
addErrors(request, errors);
@@ -431,7 +430,9 @@ public class EditChannelAction extends RhnAction implements Listable
{
}
else {
// default settings
- request.setAttribute("channel_name", "");
+ String channelName = LocalizationService.getInstance()
+ .getMessage("frontend.actions.channels.manager.create");
+ request.setAttribute("channel_name", channelName);
form.set("org_sharing", "private");
form.set("per_user_subscriptions", "all");
}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index 9d49dfd..7d1886d 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -342,7 +342,13 @@
http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd&q...
<context context-type="sourcefile">Navigation
Menu</context>
</context-group>
</trans-unit>
- <trans-unit id="Software Channel Entitlements">
+ <trans-unit id="frontend.actions.channels.manager.create">
+<source>Create Software Channel</source>
+ <context-group name="ctx">
+ <context
context-type="sourcefile">/rhn/channels/manage/Edit.do</context>
+ </context-group>
+ </trans-unit>
+ <trans-unit id="Channel Management">
<source>Software Channel Entitlements</source>
<context-group name="ctx">
<context context-type="sourcefile">Navigation
Menu</context>
diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp
b/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp
index c344b76..091f93c 100644
--- a/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp
+++ b/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp
@@ -11,7 +11,7 @@
<rhn:messages><c:out escapeXml="false" value="${message}"
/></rhn:messages>
</html:messages>
-<rhn:toolbar base="h1" img="/img/rhn-icon-info.gif"
+<rhn:toolbar base="h1" img="/img/rhn-icon-channels.gif"
deletionUrl="/network/software/channels/manage/delete_confirm.pxt?cid=${param.cid}"
deletionAcl="user_role(channel_admin); formvar_exists(cid)"
deletionType="software.channel">
commit 349547571ee6818af4208da2898ed19fa35e3543
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 11:07:28 2009 -0400
492476 - fixing issue where critical plus non-critical errata for a system (on the
system details page) did not total errata
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index ea286e7..f3dbebb 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@ -140,7 +140,7 @@ ORDER BY E.advisory_type DESC, E.update_date DESC, E.id
<query params="user_id, sid">
SELECT COUNT(DISTINCT E.ID) AS COUNT
FROM rhnErrata E,
- rhnServerNeededPackageCache SNEC,
+ rhnServerNeededCache SNEC,
rhnUserServerPerms USP
WHERE USP.server_id = :sid
AND USP.user_id = :user_id
@@ -155,7 +155,7 @@ SELECT COUNT(DISTINCT E.ID) AS COUNT
<query params="user_id, sid">
SELECT COUNT(DISTINCT E.ID) AS COUNT
FROM rhnErrata E,
- rhnServerNeededPackageCache SNEC,
+ rhnServerNeededCache SNEC,
rhnUserServerPerms USP
WHERE USP.server_id = :sid
AND USP.user_id = :user_id
commit 2be7e98bf6d9aece2dac9f4c6a21ef118f98af82
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 11:06:05 2009 -0400
492146 - fixing issue where system icons are not clickable
diff --git
a/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java
index 3608e41..5438a0d 100644
---
a/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java
+++
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java
@@ -49,7 +49,7 @@ public class SystemIconDecorator extends BaseListDecorator {
(HttpServletRequest)getCurrentList().getContext().getRequest());
for (SystemOverview next : systems) {
- SystemListHelper.setSystemStatusDisplay(context.getLoggedInUser(), next,
false);
+ SystemListHelper.setSystemStatusDisplay(context.getLoggedInUser(), next,
true);
}
}
}
commit 5efd58f6ac1d3308bdd5151559d6bc5a72e6d81e
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 27 10:33:40 2009 -0400
forgot one of the license files
diff --git a/backend/PYTHON-LICENSES.txt b/backend/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/backend/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
commit 45418152ae74c258eafecc9b2733e37ba75f2630
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 27 10:25:38 2009 -0400
Automatic commit of package [osad] release [5.9.10-1].
diff --git a/client/tools/osad/osad.spec b/client/tools/osad/osad.spec
index dbc4874..f8e6ee9 100644
--- a/client/tools/osad/osad.spec
+++ b/client/tools/osad/osad.spec
@@ -9,7 +9,7 @@ Group: System Environment/Daemons
License: GPLv2
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
-Version: 5.9.9
+Version: 5.9.10
Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -230,6 +230,9 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {}
# $Id$
%changelog
+* Fri Mar 27 2009 jesus m. rodriguez <jesusr(a)redhat.com> 5.9.10-1
+- added PYTHON-LICENSES.txt file
+
* Mon Mar 16 2009 Jan Pazdziora 5.9.9-1
- remove /usr/sbin/semanage: Port tcp/1290 already defined error
- allow osa-dispatcher to use NIS
diff --git a/rel-eng/packages/osad b/rel-eng/packages/osad
index ddac004..b4a7786 100644
--- a/rel-eng/packages/osad
+++ b/rel-eng/packages/osad
@@ -1 +1 @@
-5.9.9-1 client/tools/osad/
+5.9.10-1 client/tools/osad/
commit ac11d09b8b6e7f0a5130d97517ed0d014ca3e848
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 27 10:24:11 2009 -0400
update copyright and licenses
diff --git a/client/solaris/rhnclient/PYTHON-LICENSES.txt
b/client/solaris/rhnclient/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/client/solaris/rhnclient/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/client/solaris/rhnclient/compile.py b/client/solaris/rhnclient/compile.py
index 664f202..847debb 100755
--- a/client/solaris/rhnclient/compile.py
+++ b/client/solaris/rhnclient/compile.py
@@ -1,10 +1,24 @@
#!/usr/bin/python
#
+# Copyright (c) 2008 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.
+#
+#
# python compiler. "Borrowed" from Python's py_compile module. As
# opposed to the Python one, this script returns error codes when a
# compile fails, so it can be used from Makefiles
#
-# $Id: compile.py,v 1.1 2003/09/08 16:31:27 misa Exp $
+# $Id$
import os
import sys
diff --git a/client/tools/osad/PYTHON-LICENSES.txt
b/client/tools/osad/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/client/tools/osad/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/client/tools/osad/compile.py b/client/tools/osad/compile.py
index 0078c33..09bb23c 100755
--- a/client/tools/osad/compile.py
+++ b/client/tools/osad/compile.py
@@ -13,6 +13,12 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+#
+# python compiler. "Borrowed" from Python's py_compile module. As
+# opposed to the Python one, this script returns error codes when a
+# compile fails, so it can be used from Makefiles
+#
+# $Id$
import os
import sys
diff --git a/client/tools/osad/osad.spec b/client/tools/osad/osad.spec
index bccedaa..dbc4874 100644
--- a/client/tools/osad/osad.spec
+++ b/client/tools/osad/osad.spec
@@ -199,6 +199,7 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {}
%config(noreplace) %{client_caps_dir}/*
%attr(755,root,root) %{_initrddir}/osad
%doc LICENSE
+%doc PYTHON-LICENSES.txt
%files -n osa-dispatcher
%defattr(-,root,root)
@@ -213,6 +214,7 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {}
%config(noreplace) %{_sysconfdir}/rhn/default/rhn_osa-dispatcher.conf
%attr(755,root,root) %{_initrddir}/osa-dispatcher
%doc LICENSE
+%doc PYTHON-LICENSES.txt
%if %{include_selinux_package}
%files -n osa-dispatcher-selinux
@@ -223,6 +225,7 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {}
%{_datadir}/selinux/*/%{modulename}.pp
%{_datadir}/selinux/devel/include/%{moduletype}/%{modulename}.if
%doc LICENSE
+%doc PYTHON-LICENSES.txt
%endif
# $Id$
diff --git a/client/tools/osad/src/_ConfigParser.py
b/client/tools/osad/src/_ConfigParser.py
index 4b89f4b..1c6ff37 100644
--- a/client/tools/osad/src/_ConfigParser.py
+++ b/client/tools/osad/src/_ConfigParser.py
@@ -12,6 +12,7 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+# Modified from Python 2.x to work with Python 1.5.x
"""Configuration file parser.
diff --git a/client/tools/rhncfg/PYTHON-LICENSES.txt
b/client/tools/rhncfg/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/client/tools/rhncfg/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/client/tools/rhncfg/compile.py b/client/tools/rhncfg/compile.py
index 0078c33..09bb23c 100755
--- a/client/tools/rhncfg/compile.py
+++ b/client/tools/rhncfg/compile.py
@@ -13,6 +13,12 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+#
+# python compiler. "Borrowed" from Python's py_compile module. As
+# opposed to the Python one, this script returns error codes when a
+# compile fails, so it can be used from Makefiles
+#
+# $Id$
import os
import sys
diff --git a/client/tools/rhncustominfo/PYTHON-LICENSES.txt
b/client/tools/rhncustominfo/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/client/tools/rhncustominfo/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/client/tools/rhncustominfo/compile.py
b/client/tools/rhncustominfo/compile.py
index 0078c33..09bb23c 100755
--- a/client/tools/rhncustominfo/compile.py
+++ b/client/tools/rhncustominfo/compile.py
@@ -13,6 +13,12 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+#
+# python compiler. "Borrowed" from Python's py_compile module. As
+# opposed to the Python one, this script returns error codes when a
+# compile fails, so it can be used from Makefiles
+#
+# $Id$
import os
import sys
diff --git a/client/tools/spacewalk-koan/PYTHON-LICENSES.txt
b/client/tools/spacewalk-koan/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/client/tools/spacewalk-koan/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/client/tools/spacewalk-koan/compile.py
b/client/tools/spacewalk-koan/compile.py
index 0078c33..09bb23c 100755
--- a/client/tools/spacewalk-koan/compile.py
+++ b/client/tools/spacewalk-koan/compile.py
@@ -13,6 +13,12 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+#
+# python compiler. "Borrowed" from Python's py_compile module. As
+# opposed to the Python one, this script returns error codes when a
+# compile fails, so it can be used from Makefiles
+#
+# $Id$
import os
import sys
diff --git a/proxy/proxy/PYTHON-LICENSES.txt b/proxy/proxy/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/proxy/proxy/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/proxy/proxy/compile.py b/proxy/proxy/compile.py
index 3ec4f74..847debb 100755
--- a/proxy/proxy/compile.py
+++ b/proxy/proxy/compile.py
@@ -13,11 +13,12 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+#
# python compiler. "Borrowed" from Python's py_compile module. As
# opposed to the Python one, this script returns error codes when a
# compile fails, so it can be used from Makefiles
#
-# $Id: compile.py,v 1.3 2002/08/27 22:34:52 taw Exp $
+# $Id$
import os
import sys
diff --git a/spacewalk/certs-tools/PYTHON-LICENSES.txt
b/spacewalk/certs-tools/PYTHON-LICENSES.txt
new file mode 100644
index 0000000..cbb5205
--- /dev/null
+++ b/spacewalk/certs-tools/PYTHON-LICENSES.txt
@@ -0,0 +1,195 @@
+Some portions of this software incorporate material derived from one
+or more releases of Python and covered by the following copyright
+notices and licensing terms.
+
+
+
+Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights
+Reserved
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing
and
+otherwise using Python 2.2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.2.3 alone or in any derivative version prepared
+by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.2.3.
+
+4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between
BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+
+Copyright (c) 1995-2001 Corporation for National Research Initiatives;
+All Rights Reserved
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL:
http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/spacewalk/certs-tools/compile.py b/spacewalk/certs-tools/compile.py
index 1aaba0f..847debb 100755
--- a/spacewalk/certs-tools/compile.py
+++ b/spacewalk/certs-tools/compile.py
@@ -13,6 +13,7 @@
# granted to use or replicate Red Hat trademarks that are incorporated
# in this software or its documentation.
#
+#
# python compiler. "Borrowed" from Python's py_compile module. As
# opposed to the Python one, this script returns error codes when a
# compile fails, so it can be used from Makefiles
commit 95b1bb00562da01a76422a87ef402e9fe2cb7028
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Fri Mar 27 15:04:40 2009 +0100
469413 - included build number to the installation log file
- tree-name extracted from the .composeinfo and stored to the installation log file
(as build id)
- format of the 1st line of installation log file changed not to exceed 80chars/line
and to prevent changes in several files
diff --git a/satellite/install/install.pl b/satellite/install/install.pl
index 0defa7f..42cc50b 100755
--- a/satellite/install/install.pl
+++ b/satellite/install/install.pl
@@ -960,8 +960,9 @@ sub install_rhn_packages {
sub get_product_name {
my $composeinfo_file = ".composeinfo";
- my $productName = "RHN Satellite";
- my $productVersion, my $productSection;
+ my $productName = "RHN Satellite", my $treeName;
+ my $productVersion;
+ my $productSection, my $treeSection;
open(CINFO, $composeinfo_file) || return $productName;
@@ -970,6 +971,7 @@ sub get_product_name {
if ($line =~ /^\[(.+)\]$/) {
$productSection = ($1 eq "product");
+ $treeSection = ($1 eq "tree");
}
if ($productSection) {
@@ -982,11 +984,20 @@ sub get_product_name {
}
}
+
+ if ($treeSection) {
+
+ if ($line =~ /^name\s*=\s*(.+)$/) {
+ $treeName = $1;
+ }
+ }
}
close(CINFO);
- if (defined $productVersion) { return "$productName $productVersion"; }
- else { return "$productName"; }
+ if (defined $productVersion) { $productName .= " $productVersion"; }
+ if (defined $treeName) { $productName .= "\n($treeName)"; }
+
+ return "$productName";
}
diff --git a/spacewalk/setup/lib/Spacewalk/Setup.pm
b/spacewalk/setup/lib/Spacewalk/Setup.pm
index 8c1b845..64559ea 100644
--- a/spacewalk/setup/lib/Spacewalk/Setup.pm
+++ b/spacewalk/setup/lib/Spacewalk/Setup.pm
@@ -348,7 +348,7 @@ sub init_log_files {
or die "Could not open '" . INSTALL_LOG_FILE .
"': $!";
- my $log_header = "$product_name installation log.\nCommand: "
+ my $log_header = "Installation log of $product_name\nCommand: "
. $0 . " " . join(" ", @args) . "\n\n";
print FH $log_header;
commit 353a1f85be8511a6acc9a52fb2f9f3ac82b8941c
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Fri Mar 27 10:24:23 2009 -0300
Automatic commit of package [spacewalk-certs-tools] release [0.5.5-1].
diff --git a/rel-eng/packages/spacewalk-certs-tools
b/rel-eng/packages/spacewalk-certs-tools
index b0df5d4..c45a96f 100644
--- a/rel-eng/packages/spacewalk-certs-tools
+++ b/rel-eng/packages/spacewalk-certs-tools
@@ -1 +1 @@
-0.5.4-1 spacewalk/certs-tools/
+0.5.5-1 spacewalk/certs-tools/
diff --git a/spacewalk/certs-tools/spacewalk-certs-tools.spec
b/spacewalk/certs-tools/spacewalk-certs-tools.spec
index e0f6a29..5e7362f 100644
--- a/spacewalk/certs-tools/spacewalk-certs-tools.spec
+++ b/spacewalk/certs-tools/spacewalk-certs-tools.spec
@@ -2,7 +2,7 @@ Name: spacewalk-certs-tools
Summary: Spacewalk SSL Key/Cert Tool
Group: Applications/Internet
License: GPLv2
-Version: 0.5.4
+Version: 0.5.5
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -50,6 +50,9 @@ rm -rf $RPM_BUILD_ROOT
%{_var}/www/html/pub/bootstrap/client_config_update.py*
%changelog
+* Fri Mar 27 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.5.5-1
+- Update for new jabberd cert location, and possiblity of jabber user instead of
jabberd.
+
* Wed Mar 25 2009 Jan Pazdziora 0.5.4-1
- 491687 - wrapper around sudo /usr/bin/rhn-ssl-tool, to change SELinux domain
commit 023fc16f4aca7c477730246f945200290c6f2f52
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Fri Mar 27 10:15:24 2009 -0300
Update rhn ssl tool for new jabberd cert and users.
diff --git a/spacewalk/certs-tools/rhn_ssl_tool.py
b/spacewalk/certs-tools/rhn_ssl_tool.py
index 8cac1c4..c529ad8 100755
--- a/spacewalk/certs-tools/rhn_ssl_tool.py
+++ b/spacewalk/certs-tools/rhn_ssl_tool.py
@@ -36,6 +36,7 @@
import os
import sys
import glob
+import pwd
import time
import string
import shutil
@@ -939,7 +940,6 @@ def genServerRpm_dependencies(d):
except FailedFileDependencyException:
gen_jabberd_cert(d)
-
def genServerRpm(d, verbosity=0):
""" generates server's SSL key set RPM """
@@ -1014,6 +1014,19 @@ def genServerRpm(d, verbosity=0):
Best practices suggests that this RPM should only be installed on the web
server with this hostname: %s
""" % d['--set-hostname']
+
+ # Determine which jabberd user exists:
+ jabberd_user = None
+ possible_jabberd_users = ['jabberd', 'jabber']
+ for juser_attempt in possible_jabberd_users:
+ try:
+ pwd.getpwnam(juser_attempt)
+ jabberd_user = juser_attempt
+ except:
+ # user doesn't exist, try the next
+ pass
+ if jabberd_user is None:
+ raise Exception("No jabber/jabberd user on system")
## build the server RPM
args = (os.path.join(CERT_PATH, 'gen-rpm.sh') + " "
@@ -1022,7 +1035,7 @@ server with this hostname: %s
"/etc/httpd/conf/ssl.key/server.key:0600=%s "
"/etc/httpd/conf/ssl.csr/server.csr=%s "
"/etc/httpd/conf/ssl.crt/server.crt=%s "
- "/etc/jabberd/server.pem:0600,jabberd,jabberd=%s"
+ "/etc/pki/spacewalk/jabberd/server.pem:0600,%s,%s=%s"
% (repr(server_rpm_name), ver, rel, repr(d['--rpm-packager']),
repr(d['--rpm-vendor']),
repr(SERVER_RPM_SUMMARY), repr(description),
@@ -1030,6 +1043,8 @@ server with this hostname: %s
repr(cleanupAbsPath(server_key)),
repr(cleanupAbsPath(server_cert_req)),
repr(cleanupAbsPath(server_cert)),
+ jabberd_user,
+ jabberd_user,
repr(cleanupAbsPath(jabberd_ssl_cert)),
))
serverRpmName = "%s-%s-%s" % (server_rpm, ver, rel)
commit 8da83dcf0ebe8dd55c84c488dbc884a859fa4148
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Fri Mar 27 11:49:05 2009 +0100
replace grep with awk
diff --git a/backend/satellite_tools/rhn-db-stats b/backend/satellite_tools/rhn-db-stats
index 8864bb8..883eacb 100755
--- a/backend/satellite_tools/rhn-db-stats
+++ b/backend/satellite_tools/rhn-db-stats
@@ -5,7 +5,7 @@ if [ $# -lt 1 -o $# -gt 2 ]; then
exit
fi
-CONNECT=$(grep default_db /etc/rhn/rhn.conf | awk '{split($0,a,"="); print
a[2]}')
+CONNECT=$(awk '/default_db/ {split($0,a,"="); print a[2]}'
/etc/rhn/rhn.conf)
[ -n "$2" ] && CONNECT=$2
sqlplus $CONNECT >& /dev/null << EOS
commit fdb8c7c881c17ca0c7899e6bfe03e58502586b52
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Mar 27 11:26:27 2009 +0100
Automatic commit of package [spacewalk-setup] release [0.5.27-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup
index c8425ae..fb1a8e2 100644
--- a/rel-eng/packages/spacewalk-setup
+++ b/rel-eng/packages/spacewalk-setup
@@ -1 +1 @@
-0.5.26-1 spacewalk/setup/
+0.5.27-1 spacewalk/setup/
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec
index c635d26..b22479b 100644
--- a/spacewalk/setup/spacewalk-setup.spec
+++ b/spacewalk/setup/spacewalk-setup.spec
@@ -1,5 +1,5 @@
Name: spacewalk-setup
-Version: 0.5.26
+Version: 0.5.27
Release: 1%{?dist}
Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,6 +94,9 @@ rm -rf %{buildroot}
%dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog
+* Fri Mar 27 2009 Jan Pazdziora 0.5.27-1
+- 492194 - address spacewalk-setup hanging while Restarting services.
+
* Thu Mar 26 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.26-1
- update message at the end of upgrade setup
commit 66f35d59c2f4d1771e0b17086a5f85f7c151982f
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Fri Mar 27 10:54:37 2009 +0100
492194 - call waitpid even if reading PROCESS_OUT did not return eof.
One of the jabberd daemons on Fedora 10 seems not to close its stdout,
so doing just while (<PROCESS_OUT>) blocks forever. Therefor we will
do select'n'sysread, to have a chance to see if the child is ready to
be reaped even if we did not get eof.
diff --git a/spacewalk/setup/lib/Spacewalk/Setup.pm
b/spacewalk/setup/lib/Spacewalk/Setup.pm
index abc9f3e..8c1b845 100644
--- a/spacewalk/setup/lib/Spacewalk/Setup.pm
+++ b/spacewalk/setup/lib/Spacewalk/Setup.pm
@@ -221,11 +221,33 @@ sub system_debug {
local *PROCESS_OUT;
set_spinning_callback();
my $pid = open3(gensym, \*PROCESS_OUT, \*PROCESS_OUT, @args);
- while (<PROCESS_OUT>) {
- print LOGFILE $_;
+ my ($vecin, $vecout) = ('', '');
+ vec($vecin, fileno(PROCESS_OUT), 1) = 1;
+ my $ret;
+ # Some programs that daemonize themselves do not close their stdout,
+ # so doing just while (<PROCESS_OUT>) would block forever. That's why
+ # we try to select'n'sysread, to have a chance to see if the child
+ # is ready to be reaped, even if we did not get eof.
+ while (1) {
+ if (select($vecout=$vecin, undef, undef, 10) > 0) {
+ my $buffer;
+ if (sysread(PROCESS_OUT, $buffer, 4096) > 0) {
+ print LOGFILE $buffer;
+ redo;
+ }
+ }
+ my $pidout = waitpid($pid, WNOHANG);
+ if ($pidout < 0) {
+ print LOGFILE "We've lost the child [@args] pid [$pid]\n";
+ $ret = -1;
+ last;
+ }
+ if ($pidout) {
+ $ret = $?;
+ last;
+ }
}
- waitpid($pid, 0);
- my $ret = $?;
+ close PROCESS_OUT;
close LOGFILE;
alarm 0;
return $ret;
commit c06a0904fff132c8a1aad8d340cc898563c13ac0
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 23:07:36 2009 -0400
add the forgotten ")
diff --git a/rel-eng/lib/spacewalk/releng/builder.py
b/rel-eng/lib/spacewalk/releng/builder.py
index f585e1c..5a42d24 100644
--- a/rel-eng/lib/spacewalk/releng/builder.py
+++ b/rel-eng/lib/spacewalk/releng/builder.py
@@ -426,7 +426,7 @@ class Builder(object):
print("")
os.chdir(self.cvs_package_workdir)
- (status, output) = commands.getstatusoutput("cvs diff -u
+ (status, output) = commands.getstatusoutput("cvs diff -u")
print(output)
print("")
commit 904e2d79eb1f48e3c8f3924cefc42c3f18c94399
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 23:04:48 2009 -0400
ignore the -sat suffix
diff --git a/rel-eng/koji-missing-builds.py b/rel-eng/koji-missing-builds.py
index 5f7e4d8..cfc4514 100755
--- a/rel-eng/koji-missing-builds.py
+++ b/rel-eng/koji-missing-builds.py
@@ -74,7 +74,7 @@ for pkg in pkgfileList:
pkginfo = fd.read()
fd.close()
pkginfo = pkginfo.split()
- pkglist.append("%s-%s" % (pkg, pkginfo[0]))
+ pkglist.append("%s-%s" % (pkg, pkginfo[0].rstrip('-' +
distsuffix)))
gitnames.append(pkg)
pkglist.sort()
commit 17b36c25ab1314694e7e47cf9d9895c4b601a125
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Thu Mar 26 21:30:02 2009 -0500
call "cvs diff -u" rather than "cvs diff"
diff --git a/rel-eng/lib/spacewalk/releng/builder.py
b/rel-eng/lib/spacewalk/releng/builder.py
index 9c9887b..f585e1c 100644
--- a/rel-eng/lib/spacewalk/releng/builder.py
+++ b/rel-eng/lib/spacewalk/releng/builder.py
@@ -419,14 +419,14 @@ class Builder(object):
def _cvs_user_confirm_commit(self):
""" Prompt user if they wish to proceed with commit.
"""
print("")
- text = "Running 'cvs diff' in: %s" % self.cvs_package_workdir
+ text = "Running 'cvs diff -u' in: %s" %
self.cvs_package_workdir
print("#" * len(text))
print(text)
print("#" * len(text))
print("")
os.chdir(self.cvs_package_workdir)
- (status, output) = commands.getstatusoutput("cvs diff")
+ (status, output) = commands.getstatusoutput("cvs diff -u
print(output)
print("")
commit 392392bc9ecc9217eefe45a4d4cd1cdbf149fbbe
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 17:43:37 2009 -0400
Automatic commit of package [rhncfg] release [5.9.5-1].
diff --git a/client/tools/rhncfg/rhncfg.spec b/client/tools/rhncfg/rhncfg.spec
index d5152cc..a1ce7ca 100644
--- a/client/tools/rhncfg/rhncfg.spec
+++ b/client/tools/rhncfg/rhncfg.spec
@@ -8,7 +8,7 @@ Group: Applications/System
License: GPLv2
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
-Version: 5.9.4
+Version: 5.9.5
Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -104,6 +104,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 5.9.5-1
+- 430885 - gracefuly ignore dir diffs instead of treating them as missing files
+
* Tue Mar 17 2009 Miroslav Suchy <msuchy(a)redhat.com> 5.9.4-1
- Polish the spec according Fedora Packaging Guidelines
diff --git a/rel-eng/packages/rhncfg b/rel-eng/packages/rhncfg
index 620f50e..9d886a1 100644
--- a/rel-eng/packages/rhncfg
+++ b/rel-eng/packages/rhncfg
@@ -1 +1 @@
-5.9.4-1 client/tools/rhncfg/
+5.9.5-1 client/tools/rhncfg/
commit 61ad90eb2f0f1d0fe9fdf46e66ac8dee69bea756
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 17:27:00 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.41-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index c19c8fb..e21e2b0 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.40
+Version: 0.5.41
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,6 +235,16 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.41-1
+- 437359 - redirect org creation to the orgsystemsubscription page
+- 489007 - add system.getConnectionPath for listing proxies a server connected through
+- 489736 - generate non-expiring kickstart package download url
+- 489736 - download_url_lifetime of 0 disables expiration server wide
+- 489736 - can disable expiration by package name by non_expirable_package_urls
+- 489486 - added updated message when changing channel access from public to private
+- Adding support for comps info to be added to repomd.xml.
+- Updated documentation
+
* Thu Mar 26 2009 Mike McCune <mmccune(a)gmail.com> 0.5.40-1
- 492137 - fixing ISE for virt
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 75675aa..00a9c44 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.40-1 java/
+0.5.41-1 java/
commit ad4b1335d616249b858e389067c756d8119dd8bf
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 17:08:42 2009 -0400
Automatic commit of package [spacewalk-web] release [0.5.23-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index 5acbd86..ffc29fa 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-0.5.22-1 web/
+0.5.23-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index d97eac7..8920a30 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.22
+Version: 0.5.23
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -318,6 +318,11 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.23-1
+- 489736 - generate non-expiring kickstart package download url
+- 489736 - download_url_lifetime of 0 disables expiration server wide
+- 489736 - can disable experiation by package name by non_expirable_package_urls
+
* Thu Mar 26 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.22-1
- 491667 - do not fail if none of the packages are installed
- code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
commit ce87da8495877770796ef35d006c2a3f128645bb
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 16:57:55 2009 -0400
Automatic commit of package [spacewalk-branding] release [0.5.8-1].
diff --git a/branding/spacewalk-branding.spec b/branding/spacewalk-branding.spec
index 547ea52..6be2f68 100644
--- a/branding/spacewalk-branding.spec
+++ b/branding/spacewalk-branding.spec
@@ -1,5 +1,5 @@
Name: spacewalk-branding
-Version: 0.5.7
+Version: 0.5.8
Release: 1%{?dist}
Summary: Spacewalk branding data
@@ -68,6 +68,9 @@ rm -rf %{buildroot}
%changelog
+* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.8-1
+- removing satellite-debug link
+
* Wed Feb 18 2009 Brad Buckingham <bbuckingham(a)redhat.com> 0.5.7-1
- adding rhn_docs.conf to enable configurable docs location
diff --git a/rel-eng/packages/spacewalk-branding b/rel-eng/packages/spacewalk-branding
index b1fcd0e..ed715e3 100644
--- a/rel-eng/packages/spacewalk-branding
+++ b/rel-eng/packages/spacewalk-branding
@@ -1 +1 @@
-0.5.7-1 branding/
+0.5.8-1 branding/
commit fb224539af0675db5080364ec3836cbef31af27f
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu Mar 26 16:23:25 2009 -0400
437359 - redirecting successful org creation to the orgsystemsubscription page to aid
in entitlement population
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java
b/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java
index ed2e865..24847d4 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java
@@ -27,6 +27,7 @@ import com.redhat.rhn.common.conf.Config;
import com.redhat.rhn.common.util.MD5Crypt;
import com.redhat.rhn.common.validator.ValidatorError;
import com.redhat.rhn.frontend.action.user.UserActionHelper;
+import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnValidationHelper;
import com.redhat.rhn.manager.org.CreateOrgCommand;
@@ -125,7 +126,9 @@ public class OrgCreateAction extends RhnAction {
else {
createSuccessMessage(request, "org.create.success",
cmd.getNewOrg().getName());
- retval = mapping.findForward("success");
+ retval = getStrutsDelegate().
+ forwardParam(mapping.findForward("success"),
+ RequestContext.ORG_ID,
cmd.getNewOrg().getId().toString());
}
}
}
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index eaf1a1d..55e7737 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -4313,7 +4313,7 @@
<forward name="default"
path="/WEB-INF/pages/admin/multiorg/orgcreate.jsp"/>
<forward name="success"
- path="/admin/multiorg/Organizations.do"
redirect="true" />
+ path="/admin/multiorg/OrgSystemSubscriptions.do"
redirect="true" />
</action>
<action path="/admin/multiorg/OrgTrusts"
commit 4656c0245e38e26bacb98cea14bb8dc66a7d55e5
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Thu Mar 26 16:22:11 2009 -0400
489007 - adding ServerPathSerializer needed by SystemHandler
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java
new file mode 100644
index 0000000..a495b4e
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2009 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.xmlrpc.serializer;
+
+import com.redhat.rhn.frontend.dto.ServerPath;
+import com.redhat.rhn.frontend.xmlrpc.serializer.util.SerializerHelper;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import redstone.xmlrpc.XmlRpcCustomSerializer;
+import redstone.xmlrpc.XmlRpcException;
+import redstone.xmlrpc.XmlRpcSerializer;
+
+
+/**
+ * ServerPathSerializer: Converts a ServerPathSerializer object for representation as an
+ * XMLRPC struct.
+ *
+ * @version $Rev$
+ *
+ * @xmlrpc.doc
+ * #struct("proxy connection path details")
+ * #prop_desc("int", "position", "Position of proxy in
chain. The proxy that the
+ * system connects directly to is listed in position 1.")
+ * #prop_desc("int", "id", "Proxy system id")
+ * #prop_desc("string", "hostname", "Proxy host
name")
+ * #struct_end()
+ */
+public class ServerPathSerializer implements XmlRpcCustomSerializer {
+
+ /**
+ * {@inheritDoc}
+ */
+ public Class getSupportedClass() {
+ return ServerPath.class;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void serialize(Object value, Writer output, XmlRpcSerializer
builtInSerializer)
+ throws XmlRpcException, IOException {
+
+ ServerPath serverPath = (ServerPath)value;
+
+ SerializerHelper helper = new SerializerHelper(builtInSerializer);
+ helper.add("position", serverPath.getPosition());
+ helper.add("id", serverPath.getId());
+ helper.add("hostname", serverPath.getHostname());
+
+ helper.writeTo(output);
+ }
+}
commit 6d1b9abb18cfa1f8a1190110858dac376c1daed7
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Thu Mar 26 16:16:39 2009 -0400
489007 - api - add system.getConnectionPath for listing proxies server is connected
through
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml
index b2f07e8..c6a729c 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml
@@ -240,6 +240,13 @@ SELECT u.created as CREATED
GROUP BY owner
</query>
+<write-mode name="insert_into_rhnServerPath">
+ <query params="server_id, proxy_server_id, proxy_hostname, position">
+ INSERT INTO rhnServerPath(SERVER_ID, PROXY_SERVER_ID, HOSTNAME, POSITION)
+ VALUES(:server_id, :proxy_server_id, :proxy_hostname, :position)
+ </query>
+</write-mode>
+
<write-mode name="insert_into_rhnServerNeededPackageCache">
<query params="errata_id, server_id, package_id">
INSERT INTO rhnServerNeededCache(ERRATA_ID, SERVER_ID, PACKAGE_ID)
@@ -268,8 +275,6 @@ SELECT u.created as CREATED
</query>
</write-mode>
-
-
<write-mode name="insert_into_time_series">
<query params="oid, entry_time, data">
INSERT INTO TIME_SERIES(O_ID, ENTRY_TIME, DATA)
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java
index 4a6272f..9e13f40 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java
@@ -59,7 +59,8 @@ public class SerializerRegistry {
SERIALIZER_CLASSES.add(PackageSerializer.class);
SERIALIZER_CLASSES.add(RhnTimeZoneSerializer.class);
SERIALIZER_CLASSES.add(ScriptResultSerializer.class);
- SERIALIZER_CLASSES.add(ServerSerializer.class);
+ SERIALIZER_CLASSES.add(ServerSerializer.class);
+ SERIALIZER_CLASSES.add(ServerPathSerializer.class);
SERIALIZER_CLASSES.add(SystemSearchResultSerializer.class);
SERIALIZER_CLASSES.add(SystemOverviewSerializer.class);
SERIALIZER_CLASSES.add(UserSerializer.class);
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
index cd9cabc..e54c200 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
@@ -85,6 +85,7 @@ import com.redhat.rhn.domain.token.ActivationKey;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.ActivationKeyDto;
import com.redhat.rhn.frontend.dto.ErrataOverview;
+import com.redhat.rhn.frontend.dto.ServerPath;
import com.redhat.rhn.frontend.dto.SystemOverview;
import com.redhat.rhn.frontend.xmlrpc.BaseHandler;
import com.redhat.rhn.frontend.xmlrpc.InvalidActionTypeException;
@@ -3768,6 +3769,36 @@ public class SystemHandler extends BaseHandler {
return returnList;
}
+ /**
+ * Get the list of proxies that the given system connects
+ * through in order to reach the server.
+ * @param sessionKey The sessionKey containing the logged in user
+ * @param sid The id of the system in question
+ * @return Returns an array of maps representing the proxies the system is connected
+ * through
+ * @throws FaultException A FaultException is thrown if the server corresponding to
+ * sid cannot be found.
+ *
+ * @xmlrpc.doc Get the list of proxies that the given system connects
+ * through in order to reach the server.
+ * @xmlrpc.param #param("string", "sessionKey")
+ * @xmlrpc.param #param("int", "serverId")
+ * @xmlrpc.returntype
+ * #array()
+ * $ServerPathSerializer
+ * #array_end()
+ */
+ public Object[] getConnectionPath(String sessionKey, Integer sid)
+ throws FaultException {
+
+ // Get the logged in user and server
+ User loggedInUser = getLoggedInUser(sessionKey);
+ Server server = lookupServer(loggedInUser, sid);
+
+ DataResult<ServerPath> dr =
SystemManager.getConnectionPath(server.getId());
+ return dr.toArray();
+ }
+
private Channel lookupChannelByLabel(Org org, String label)
throws NoSuchChannelException {
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java
index 466bac4..3ba9b22 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java
@@ -16,6 +16,8 @@ package com.redhat.rhn.frontend.xmlrpc.system.test;
import com.redhat.rhn.FaultException;
import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.common.db.datasource.ModeFactory;
+import com.redhat.rhn.common.db.datasource.WriteMode;
import com.redhat.rhn.common.hibernate.HibernateFactory;
import com.redhat.rhn.common.hibernate.LookupException;
import com.redhat.rhn.domain.action.Action;
@@ -76,6 +78,7 @@ import com.redhat.rhn.frontend.dto.ErrataOverview;
import com.redhat.rhn.frontend.dto.HistoryEvent;
import com.redhat.rhn.frontend.dto.PackageMetadata;
import com.redhat.rhn.frontend.dto.ScheduledAction;
+import com.redhat.rhn.frontend.dto.ServerPath;
import com.redhat.rhn.frontend.dto.SystemOverview;
import com.redhat.rhn.frontend.xmlrpc.InvalidActionTypeException;
import com.redhat.rhn.frontend.xmlrpc.InvalidChannelException;
@@ -2164,4 +2167,50 @@ public class SystemHandlerTest extends BaseHandlerTestCase {
keys = handler.listActivationKeys(adminKey, server.getId().intValue());
assertEquals(1, keys.size());
}
+
+ public void testGetConnectionPath() throws Exception {
+
+ Server server = ServerFactoryTest.createTestServer(admin, true);
+
+ // check the initial state of the connection path for the server
+ Object[] results = handler.getConnectionPath(adminKey,
+ new Integer(server.getId().intValue()));
+
+ assertEquals(0, results.length);
+
+ // create 2 dummy servers to represent proxys and add them to the
+ // server's 'server path'
+ Server proxy1 = ServerFactoryTest.createTestServer(admin, true);
+ Server proxy2 = ServerFactoryTest.createTestServer(admin, true);
+
+ Long position1 = new Long(0);
+ Long position2 = new Long(1);
+
+ WriteMode m = ModeFactory.getWriteMode("test_queries",
+ "insert_into_rhnServerPath");
+ Map params = new HashMap();
+ params.put("server_id", server.getId());
+ params.put("proxy_server_id", proxy1.getId());
+ params.put("proxy_hostname", proxy1.getName());
+ params.put("position", position1);
+ m.executeUpdate(params);
+
+ params.clear();
+ params.put("server_id", server.getId());
+ params.put("proxy_server_id", proxy2.getId());
+ params.put("proxy_hostname", proxy2.getName());
+ params.put("position", position2);
+ m.executeUpdate(params);
+
+ // execute test...
+ results = handler.getConnectionPath(adminKey,
+ new Integer(server.getId().intValue()));
+
+ assertEquals(2, results.length);
+ assertEquals(proxy1.getId(), ((ServerPath) results[0]).getId());
+ assertEquals(proxy1.getName(), ((ServerPath) results[0]).getHostname());
+
+ assertEquals(proxy2.getId(), ((ServerPath) results[1]).getId());
+ assertEquals(proxy2.getName(), ((ServerPath) results[1]).getHostname());
+ }
}
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
index bd8ab9f..f1a81ee 100644
--- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
+++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
@@ -1371,7 +1371,6 @@ public class SystemManager extends BaseManager {
subscribeServerToChannel(null, server, proxyChannel);
}
}
-
}
/**
@@ -2390,6 +2389,18 @@ public class SystemManager extends BaseManager {
ModeFactory.getMode("System_queries", mode);
DataResult toReturn = m.execute(params);
return toReturn.size() > 0;
+ }
+ /**
+ * Gets the list of proxies that the given system connects
+ * through in order to reach the server.
+ * @param sid The id of the server in question
+ * @return Returns a list of ServerPath objects.
+ */
+ public static DataResult getConnectionPath(Long sid) {
+ SelectMode m = ModeFactory.getMode("System_queries",
"proxy_path_for_server");
+ Map params = new HashMap();
+ params.put("sid", sid);
+ return m.execute(params);
}
}
commit 54d423cd091a2ce6dbd57a79875314ba5a4d01c0
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Thu Mar 26 14:57:29 2009 -0400
489736 - made kickstart package download url generation use non-expiring download
urls, also made it so that setting the expiration time to 0 in the config file
(download_url_lifetime), caused expiration to be disabled server wide, and added
non_expirable_package_urls config option to disable expiration on a package name basis
diff --git a/java/code/src/com/redhat/rhn/common/conf/Config.java
b/java/code/src/com/redhat/rhn/common/conf/Config.java
index 91a37f2..90f72f6 100644
--- a/java/code/src/com/redhat/rhn/common/conf/Config.java
+++ b/java/code/src/com/redhat/rhn/common/conf/Config.java
@@ -104,6 +104,8 @@ public class Config {
public static final String DOWNLOAD_URL_LIFETIME =
"download_url_lifetime";
+ public static final String NON_EXPIRABLE_PACKAGE_URLS =
"non_expirable_package_urls";
+
public static final String WEB_IS_MONITORING_SCOUT =
"web.is_monitoring_scout";
public static final String WEB_IS_MONITORING_BACKEND =
"web.is_monitoring_backend";
diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
index 539bf21..22a2996 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
@@ -211,7 +211,10 @@ public class DownloadFile extends DownloadAction {
params.put(FILENAME, filename);
request.setAttribute(PARAMS, params);
- if (Calendar.getInstance().getTimeInMillis() > expire) {
+ //If expire is at 0, then expiration is disabled for the download
+ // we'll validate the SHA1 token to make sure someone didn't hack
+ // it in the next step.
+ if (expire != 0 && Calendar.getInstance().getTimeInMillis() > expire)
{
log.error("File download url has expired: " + url);
return mapping.findForward("error");
}
diff --git a/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java
b/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java
index 9fe0099..ab3a95a 100644
--- a/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java
+++ b/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java
@@ -52,10 +52,32 @@ public class DownloadManager extends BaseManager {
* @return the path/url
*/
public static String getPackageDownloadPath(Package pack, User user) {
+
+ //If the package is on our list of non-expiring packages, then generate
+ // a non-expiring URL
+ List packs = Config.get().getList(Config.NON_EXPIRABLE_PACKAGE_URLS);
+ if (packs != null && packs.contains(pack.getPackageName().getName())) {
+ return getNonExpiringDownloadPath(pack.getId(), pack.getFile(), user,
+ DownloadManager.DOWNLOAD_TYPE_PACKAGE);
+ }
return getDownloadPath(pack.getId(), pack.getFile(), user,
DownloadManager.DOWNLOAD_TYPE_PACKAGE);
}
+ /**
+ * Get a download path (part of the url) that is used to download a package.
+ * The url will be in the form of
+ * /download/SHA1_TOKEN/0/userId/packId/filename.rpm
+ * The url will NOT expire and should generally only be used
+ * @param pack the package
+ * @param user the user
+ * @return the path/url
+ */
+ public static String getPackageDownloadPathNoExpiration(Package pack, User user) {
+ return getNonExpiringDownloadPath(pack.getId(), pack.getFile(), user,
+ DownloadManager.DOWNLOAD_TYPE_PACKAGE);
+ }
+
/**
* Get a download path that is used to download a srpm.
@@ -107,14 +129,29 @@ public class DownloadManager extends BaseManager {
private static String getDownloadPath(Long fileId, String filename,
User user, String type) {
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.MINUTE, Config.get().getInt(Config.DOWNLOAD_URL_LIFETIME));
+ Long time = 0L;
+ if (Config.get().getInt(Config.DOWNLOAD_URL_LIFETIME) > 0) {
+ Calendar cal = Calendar.getInstance();
+ cal.add(Calendar.MINUTE, Config.get().getInt(Config.DOWNLOAD_URL_LIFETIME));
+ time = cal.getTimeInMillis();
+ }
+
return "/download/" + type + "/" + getFileSHA1Token(fileId,
- filename, user, cal.getTimeInMillis(), type) + "/" +
- cal.getTimeInMillis() + "/" + user.getId() + "/" +
fileId + "/" +
+ filename, user, time, type) + "/" +
+ time + "/" + user.getId() + "/" + fileId +
"/" +
filename;
}
+ private static String getNonExpiringDownloadPath(Long fileId, String filename,
+ User user, String type) {
+ Long time = 0L;
+ return "/download/" + type + "/" + getFileSHA1Token(fileId,
+ filename, user, time, type) + "/" +
+ time + "/" + user.getId() + "/" + fileId +
"/" +
+ filename;
+
+ }
+
/**
* get the Hmac SHA1 token use in constructing a package download url
* also useful if verifying a package download url
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index 7f664b0..33e7e58 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -776,8 +776,8 @@ public class KickstartFormatter {
private String getSHA1PackagePath(Package p) {
String retval = null;
if (p != null) {
- retval = "http://" + this.ksHost +
DownloadManager.getPackageDownloadPath(
- p, user);
+ retval = "http://" + this.ksHost +
+ DownloadManager.getPackageDownloadPathNoExpiration(p, user);
}
return retval;
}
diff --git a/web/conf/rhn_web.conf b/web/conf/rhn_web.conf
index cff7879..23b78e8 100644
--- a/web/conf/rhn_web.conf
+++ b/web/conf/rhn_web.conf
@@ -317,3 +317,9 @@ web.taskomatic_cobbler_user = taskomatic_user
# subscribe to proxy channel during proxy activation
# in spacewalk proxy has no separate channel, therefore disabled by default
web.subscribe_proxy_channel = 0
+
+
+# A comma seperated list (with no spaces) of package names that do not obey the
"web.download_url_lifetime" config value
+# and can be used forever. (i.e. kernel,kernel-smp,kernel-xen)
+web.non_expirable_package_urls =
+
commit 2e8b8a04c63031634158d5761b391da1148a2bb5
Author: Shannon Hughes <shughes(a)redhat.com>
Date: Thu Mar 26 14:48:55 2009 -0400
489486 - adding channel updated message when changing access from public to private
for multiorg channel sharing
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
index 385576b..4748f42 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
@@ -128,6 +128,10 @@ public class EditChannelAction extends RhnAction implements Listable
{
// handler for private confirmation page
else if (ctx.hasParam(RequestContext.DISPATCH)) {
makePrivate(form, errors, ctx);
+ if (errors.isEmpty()) {
+ createSuccessMessage(request, "message.channelupdated",
+ form.getString("name"));
+ }
}
else if (ctx.hasParam("deny")) {
deny(form, errors, ctx);
commit 5a1e4bb61e95cd38cc5b918b654067a3c1b71885
Merge: 9435b3b... 14877c4...
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Thu Mar 26 14:25:38 2009 -0400
Merge branch 'master' of ssh://pkilambi@git.fedorahosted.org/git/spacewalk
commit 9435b3b35b7a5943bca0cfd4cf6bcb7bc2d777d0
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Thu Mar 26 14:25:29 2009 -0400
none - Adding support for comps info to be added to repomd.xml. We need to deine the
paths statically, since we dont store this data yet in rhnChannelComps table. Once
satellite sync is able to download this content and poulate this we should be able to get
rid of the static comps file paths and have get it directly from the db through getComps
call that we already implemented.
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
index 644770d..9ff8c69 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
@@ -27,12 +27,16 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import java.util.Iterator;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.log4j.Logger;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.common.util.StringUtil;
+import com.redhat.rhn.common.conf.Config;
+import com.redhat.rhn.domain.channel.ClonedChannel;
/**
*
@@ -207,12 +211,20 @@ public class RepositoryWriter {
* @return repomd index for given channel
*/
private RepomdIndexData loadCompsFile(Channel channel) {
+ String relativeFilename;
+ String compsMount = Config.get().getString(Config.MOUNT_POINT);
+
if (channel.getComps() == null) {
- return null;
+ relativeFilename = getCompsFilePath(channel);
+ if (relativeFilename == null) {
+ return null;
+ }
+ }
+ else {
+ relativeFilename = channel.getComps().getRelativeFilename();
}
- File compsFile = new File(mountPoint +
- channel.getComps().getRelativeFilename());
+ File compsFile = new File(compsMount + relativeFilename);
FileInputStream stream;
try {
stream = new FileInputStream(compsFile);
@@ -247,6 +259,58 @@ public class RepositoryWriter {
}
/**
+ * TODO: This static comps paths should go away once
+ * we can get the paths directly from hosted through
+ * satellite-sync and only limit to supporting cloned.
+ * @param channel channel object
+ * @return compsPath comps file path
+ */
+ public String getCompsFilePath(Channel channel) {
+ String compsPath = null;
+
+ Map<String, String> compsMapping = new HashMap<String, String>();
+ String rootClientPath = "/rhn/kickstart/ks-rhel-x86_64-client-5";
+ String rootServerPath = "/rhn/kickstart/ks-rhel-x86_64-server-5";
+ compsMapping.put("rhel-x86_64-client-5",
+ rootClientPath +
"/Client/repodata/comps-rhel5-client-core.xml");
+ compsMapping.put("rhel-x86_64-client-vt-5",
+ rootClientPath + "/VT/repodata/comps-rhel5-vt.xml");
+ compsMapping.put("rhel-x86_64-client-workstation-5",
+ rootClientPath +
"/Workstation/repodata/comps-rhel5-client-workstation.xml");
+ compsMapping.put("rhel-x86_64-server-5",
+ rootServerPath +
"/Server/repodata/comps-rhel5-server-core.xml");
+ compsMapping.put("rhel-x86_64-server-vt-5",
+ rootServerPath + "/VT/repodata/comps-rhel5-vt.xml");
+ compsMapping.put("rhel-x86_64-server-cluster-5",
+ rootServerPath + "/Cluster/repodata/comps-rhel5-cluster.xml");
+ compsMapping.put("rhel-x86_64-server-cluster-storage-5",
+ rootServerPath +
"/ClusterStorage/repodata/comps-rhel5-cluster-st.xml");
+
+ String[] arches = {"i386", "ia64", "s390x",
"ppc"};
+ Map<String, String> newCompsmap = new HashMap<String, String>();
+ for (String k : compsMapping.keySet()) {
+ for (String arch : arches) {
+ newCompsmap.put(k.replace("x86_64", arch),
+ compsMapping.get(k).replace("x86_64", arch));
+ }
+ }
+ compsMapping.putAll(newCompsmap);
+
+ if (compsMapping.containsKey(channel.getLabel())) {
+ compsPath = compsMapping.get(channel.getLabel());
+ }
+ else if (channel.isCloned()) {
+ // If its a cloned channel see if we can get the comps
+ // from the original channel.
+ ClonedChannel clonedCh = (ClonedChannel) channel;
+ Channel origChannel = clonedCh.getOriginal();
+ compsPath = compsMapping.get(origChannel.getLabel());
+ }
+
+ return compsPath;
+ }
+
+ /**
* Generates update info for given channel
* @param channel channel info
* @param prefix repodata file prefix
commit 8c3fa9d9d6340d9d347ff99a11f3b1e9492bb225
Author: Mike McCune <mmccune(a)gmail.com>
Date: Thu Mar 26 11:13:01 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.40-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 0ad65c4..c19c8fb 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.39
+Version: 0.5.40
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,6 +235,9 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Thu Mar 26 2009 Mike McCune <mmccune(a)gmail.com> 0.5.40-1
+- 492137 - fixing ISE for virt
+
* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.39-1
- 484852 - user taken to meaningful error pages instead of ISEs.
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index ac40b4e..75675aa 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.39-1 java/
+0.5.40-1 java/
commit 14877c4c13d3a5e177a884b5145cb800b847e51b
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Thu Mar 26 14:11:56 2009 -0400
Updated documentation
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
index 3edaabf..070daeb 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
@@ -49,6 +49,8 @@ public class PublishedErrataAction extends RhnAction implements Listable
{
return actionMapping.findForward("continue");
}
+ // jdobies - CSC1052 Extra Credit: Wildcats
+
return actionMapping.findForward("default");
}
commit f5f51861366c5e5f3b3f37abd854a5cc1be36056
Author: Mike McCune <mmccune(a)gmail.com>
Date: Thu Mar 26 11:06:49 2009 -0700
492137 - fixing case where with virt kickstarts we were looking up
system records by MAC but we dont use networks yet for virt guests. For
virt kickstarts we need to lookup by system record name.
diff --git
a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
index cbc5462..9b56cd9 100644
---
a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
+++
b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
@@ -218,10 +218,22 @@ public class CobblerSystemCreateCommand extends CobblerCommand {
invokeXMLRPC("save_system", handle, xmlRpcToken);
Map cSystem = getSystemMapByMac();
+ // Virt system records have no mac/interfaces setup so we search on name
+ if (cSystem == null) {
+ cSystem = getSystemMapByName();
+ }
server.setCobblerId((String)cSystem.get("uid"));
return null;
}
+ private Map getSystemMapByName() {
+ List < String > args = new ArrayList();
+ args.add(getCobblerSystemRecordName());
+ args.add(xmlRpcToken);
+ Map retval = (Map) invokeXMLRPC("get_system", args);
+ return retval;
+ }
+
/**
* Get the cobbler system record name for this system.
* @return String name of cobbler system record.
commit c5be3c7df8437f3ca8b22fe4e3d4fb1d16f11ad7
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 17:58:59 2009 +0100
Automatic commit of package [spacewalk-web] release [0.5.22-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index f8ad15a..5acbd86 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-0.5.21-1 web/
+0.5.22-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index dacf4d4..d97eac7 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.21
+Version: 0.5.22
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -318,11 +318,12 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
-* Thu Mar 26 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.21-1
-491667 - do not fail if none of the packages are installed
-code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
-491670 - add rhn-proxy-branding to list of package to remove in 5.3
-491670 - add conflicting package from older proxy versions
+* Thu Mar 26 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.22-1
+- 491667 - do not fail if none of the packages are installed
+- code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
+- 491670 - add rhn-proxy-branding to list of package to remove in 5.3
+- 491670 - add conflicting package from older proxy versions
+- remove libidn from conflictin packages from proxy installer
* Wed Mar 25 2009 Jan Pazdziora 0.5.20-1
- 491687 - call wrapper around sudo invocations, to change SELinux domain
commit f5036a583e2180f1a3645a9093d18459652afd5f
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 17:57:32 2009 +0100
remove libidn from conflictin packages, all currents version should provide the same
needed requirements (libidn.so.11)
diff --git a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
index 82fd748..5f405b9 100644
--- a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
@@ -33,7 +33,6 @@
<package>httpd-suexec</package>
<package>jabberd</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -174,7 +173,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
diff --git a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
index 55441f0..aa918fd 100644
--- a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
@@ -33,7 +33,6 @@
<package>httpd-suexec</package>
<package>jabberd</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -174,7 +173,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
index fd2bcc5..66ded03 100644
--- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
@@ -34,7 +34,6 @@
<package>jabberd</package>
<package>jabberd-selinux</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
index a57fe42..cec006a 100644
--- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
@@ -34,7 +34,6 @@
<package>jabberd</package>
<package>jabberd-selinux</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
index fb21b7c..f1ab7ac 100644
--- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
@@ -34,7 +34,6 @@
<package>jabberd</package>
<package>jabberd-selinux</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
index 1690269..3bec25b 100644
--- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
@@ -34,7 +34,6 @@
<package>jabberd</package>
<package>jabberd-selinux</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
index 8990501..93dc029 100644
--- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
@@ -34,7 +34,6 @@
<package>jabberd</package>
<package>jabberd-selinux</package>
<package>libapreq2</package>
- <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
@@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
commit 5300e9f9869fdd816c26e8bf6cf5a3a406fcb6ab
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 17:01:34 2009 +0100
Automatic commit of package [spacewalk-proxy] release [0.5.7-1].
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index fc5e6b1..4c2896a 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -4,7 +4,7 @@ Group: Applications/Internet
License: GPLv2
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
-Version: 0.5.6
+Version: 0.5.7
Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python
@@ -283,7 +283,7 @@ fi
%changelog
-* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com>
+* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.7-1
- add dependency on httpd
* Thu Jan 29 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.6-1
diff --git a/rel-eng/packages/spacewalk-proxy b/rel-eng/packages/spacewalk-proxy
index a4c9eef..956e507 100644
--- a/rel-eng/packages/spacewalk-proxy
+++ b/rel-eng/packages/spacewalk-proxy
@@ -1 +1 @@
-0.5.6-1 proxy/proxy/
+0.5.7-1 proxy/proxy/
commit afeecc7bf935b59d358952581c3d2c4fad5cde12
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 17:01:28 2009 +0100
Automatic commit of package [spacewalk-proxy-installer] release [0.5.23-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec
b/proxy/installer/spacewalk-proxy-installer.spec
index 8687d0f..afae88e 100644
--- a/proxy/installer/spacewalk-proxy-installer.spec
+++ b/proxy/installer/spacewalk-proxy-installer.spec
@@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer
Summary: Spacewalk Proxy Server Installer
Group: Applications/Internet
License: GPLv2
-Version: 0.5.22
+Version: 0.5.23
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -82,7 +82,7 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE answers.txt
%changelog
-* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.22-1
+* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.23-1
- 486125 - if some option is present in answer file, use it even if empty
- remove dependency on httpd which conflict with older proxies, let
httpd be downloaded through spacewalk-proxy-management
diff --git a/rel-eng/packages/spacewalk-proxy-installer
b/rel-eng/packages/spacewalk-proxy-installer
index de79c45..9854c61 100644
--- a/rel-eng/packages/spacewalk-proxy-installer
+++ b/rel-eng/packages/spacewalk-proxy-installer
@@ -1 +1 @@
-0.5.22-1 proxy/installer/
+0.5.23-1 proxy/installer/
commit 89805ccf40c73007f3f560b9d0963fdf7a5044ac
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 17:00:41 2009 +0100
remove dependency on httpd which conflict with older proxies, let
httpd be downloaded through spacewalk-proxy-management
diff --git a/proxy/installer/spacewalk-proxy-installer.spec
b/proxy/installer/spacewalk-proxy-installer.spec
index 38afa22..8687d0f 100644
--- a/proxy/installer/spacewalk-proxy-installer.spec
+++ b/proxy/installer/spacewalk-proxy-installer.spec
@@ -17,7 +17,6 @@ Requires: rhncfg-management
Requires: rhncfg-actions
Requires: glibc-common
Requires: chkconfig
-Requires: httpd
Requires: libxslt
BuildRequires: /usr/bin/docbook2man
Conflicts: rhns-proxy-tools < 5.3.0
@@ -85,6 +84,8 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.22-1
- 486125 - if some option is present in answer file, use it even if empty
+- remove dependency on httpd which conflict with older proxies, let
+ httpd be downloaded through spacewalk-proxy-management
* Wed Mar 18 2009 Michael Mraka <michael.mraka(a)redhat.com> 0.5.21-1
- 489669 - fixed non-interactive mode
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index 79d6af6..fc5e6b1 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -9,6 +9,7 @@ Release: 1%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python
BuildArch: noarch
+Requires: httpd
%define rhnroot %{_usr}/share/rhn
%define destdir %{rhnroot}/proxy
@@ -29,6 +30,7 @@ Requires: %{name}-common >= %{version}
Requires: %{name}-docs
Requires: %{name}-html
Requires: jabberd
+Requires: httpd
Requires: sos
Requires(preun): initscripts
Obsoletes: rhns-proxy < 5.3.0
@@ -48,6 +50,7 @@ Requires: squid
Requires: spacewalk-certs-tools
Requires: spacewalk-proxy-package-manager
Requires: spacewalk-ssl-cert-check
+Requires: httpd
Requires: mod_ssl
Requires: mod_python
Requires(post): %{name}-common
@@ -72,6 +75,7 @@ server.
Group: Applications/Internet
Summary: The SSL Redirect component for the Spacewalk Proxy Server
Requires: spacewalk-proxy-broker = %{version}-%{release}
+Requires: httpd
Obsoletes: rhns-proxy-redirect < 5.3.0
%description redirect
@@ -279,6 +283,9 @@ fi
%changelog
+* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com>
+- add dependency on httpd
+
* Thu Jan 29 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.6-1
- 482831 - support redirect to Akamai
commit 452b17b4d7bfeee7841110425501feb820f93add
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 15:22:31 2009 +0100
Automatic commit of package [spacewalk-web] release [0.5.21-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index 25b0a41..f8ad15a 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-0.5.20-1 web/
+0.5.21-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index ab55e76..dacf4d4 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.20
+Version: 0.5.21
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -318,6 +318,12 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Thu Mar 26 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.21-1
+491667 - do not fail if none of the packages are installed
+code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
+491670 - add rhn-proxy-branding to list of package to remove in 5.3
+491670 - add conflicting package from older proxy versions
+
* Wed Mar 25 2009 Jan Pazdziora 0.5.20-1
- 491687 - call wrapper around sudo invocations, to change SELinux domain
commit 61f9238b239208ba47fd0336cade55df844addef
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 14:10:29 2009 +0100
491667 - do not fail if none of the packages are installed
diff --git a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
index 940cd3a..82fd748 100644
--- a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml
@@ -564,8 +564,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -795,8 +798,11 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
jabberd jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr
perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch
perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection
perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID
perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo
python-sgmlop rhn-apache rhn-base-minimal rhn-base-minimal rhn-base-minimal rhn-modperl
rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns rhns-auth-daemon
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-certs-tools
rhns-proxy-broker rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs
rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-management
rhns-proxy-monitoring rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect
rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools rhns-proxy-tools
SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster
SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer
SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server
ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
jabberd jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr
perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch
perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection
perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID
perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo
python-sgmlop rhn-apache rhn-base-minimal rhn-base-minimal rhn-base-minimal rhn-modperl
rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns rhns-auth-daemon
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-certs-tools
rhns-proxy-broker rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs
rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-management
rhns-proxy-monitoring rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect
rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools rhns-proxy-tools
SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster
SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer
SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server
ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
index 5ff8ec9..55441f0 100644
--- a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml
@@ -564,8 +564,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -795,9 +798,12 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl
perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource
perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES
perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale
perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw
perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias
perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay
perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object
perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe
perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils
perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache
rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns
rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management
rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools
SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster
SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer
SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server
ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl
perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource
perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES
perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale
perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw
perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias
perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay
perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object
perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe
perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils
perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache
rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns
rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management
rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools
SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster
SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer
SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server
ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
rpm -q $package >/dev/null && echo $package; done`
- </script>
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
+ </script>
</run-script>
</schedule-actions>
diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
index b5a8610..fd2bcc5 100644
--- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
@@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -812,8 +815,11 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl
perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource
perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES
perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale
perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw
perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias
perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay
perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object
perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe
perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils
perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache
rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-broker
rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management
rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools
SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster
SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer
SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server
ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl
perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource
perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES
perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale
perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw
perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias
perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay
perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object
perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe
perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils
perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache
rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-broker
rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management
rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools
SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster
SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer
SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server
ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
index b0b399f..a57fe42 100644
--- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
@@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -812,8 +815,11 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl
perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource
perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES
perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale
perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw
perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias
perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay
perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object
perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe
perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils
perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache
rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-proxy-broker
rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management
rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools
rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server
SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator
SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client
SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl
perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource
perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES
perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale
perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw
perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias
perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay
perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object
perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe
perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils
perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache
rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-proxy-broker
rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management
rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools
rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server
SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator
SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client
SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do
rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
index 99b86ac..fb21b7c 100644
--- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
@@ -576,8 +576,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -806,8 +809,11 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do
rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
index 42a65fe..1690269 100644
--- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
@@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -812,8 +815,11 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot
SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch
SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb
scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge
status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl
httpd-suexec; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot
SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch
SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb
scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge
status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl
httpd-suexec; do
rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
index 2271ef8..8990501 100644
--- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
@@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<action-name>Remove conflicting proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
+PACKAGES=`for package in ${session.packages_list_proxy}; do
+ rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
@@ -848,8 +851,11 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html
spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer
spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend
spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker
spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common
nocpulse-db-perl jabberd-selinux rhn-proxy-branding; do
+PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html
spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer
spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend
spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker
spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common
nocpulse-db-perl jabberd-selinux rhn-proxy-branding; do
rpm -q $package >/dev/null && echo $package; done`
+if [ -n "$PACKAGES" ]; then
+ rpm -e $PACKAGES
+fi
</script>
</run-script>
commit 992b61ce014cd482f08d1755cec4ff9cff88c026
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 13:52:17 2009 +0100
code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
diff --git a/web/html/applications/rhn-proxy/3.6/cluster.ini
b/web/html/applications/rhn-proxy/3.6/cluster.ini
deleted file mode 100644
index 5cb0ec1..0000000
--- a/web/html/applications/rhn-proxy/3.6/cluster.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-RemoteConfig.0.protocol=https
-RemoteConfig.0.path=/satconfig/cgi-bin/fetch_nocpulseini.cgi
-smonaddr=${session.rhn_monitoring_parent_ip}
-smonfqdn=${session.rhn_monitoring_parent}
-smontestaddr=${session.rhn_monitoring_parent_ip}
-smontestfqdn=${session.rhn_monitoring_parent}
-scoutsharedkey=${session.scout_shared_key}
-PhysNode.1.exists=1
diff --git a/web/html/applications/rhn-proxy/3.6/httpd/httpd.conf
b/web/html/applications/rhn-proxy/3.6/httpd/httpd.conf
deleted file mode 100644
index a065c7c..0000000
--- a/web/html/applications/rhn-proxy/3.6/httpd/httpd.conf
+++ /dev/null
@@ -1,1461 +0,0 @@
-#
-# Based upon the NCSA server configuration files originally by Rob McCool.
-#
-# This is the main Apache server configuration file. It contains the
-# configuration directives that give the server its instructions.
-# See <
URL:http://www.apache.org/docs/> for detailed information about
-# the directives.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do. They're here only as hints or reminders. If you are unsure
-# consult the online docs. You have been warned.
-#
-# After this file is processed, the server will look for and process
-# /etc/httpd/conf/srm.conf and then /etc/httpd/conf/access.conf
-# unless you have overridden these with ResourceConfig and/or
-# AccessConfig directives here.
-#
-# The configuration directives are grouped into three basic sections:
-# 1. Directives that control the operation of the Apache server process as a
-# whole (the 'global environment').
-# 2. Directives that define the parameters of the 'main' or 'default'
server,
-# which responds to requests that aren't handled by a virtual host.
-# These directives also provide default values for the settings
-# of all virtual hosts.
-# 3. Settings for virtual hosts, which allow Web requests to be sent to
-# different IP addresses or hostnames and have them handled by the
-# same Apache server process.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for
Win32), the
-# server will use that explicit path. If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so
"logs/foo.log"
-# with ServerRoot set to "/usr/local/apache" will be interpreted by the
-# server as "/usr/local/apache/logs/foo.log".
-#
-
-### Section 1: Global Environment
-#
-# The directives in this section affect the overall operation of Apache,
-# such as the number of concurrent requests it can handle or where it
-# can find its configuration files.
-#
-
-#
-# ServerType is either inetd, or standalone. Inetd mode is only supported on
-# Unix platforms.
-#
-ServerType standalone
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# NOTE! If you intend to place this on an NFS (or otherwise network)
-# mounted filesystem then please read the LockFile documentation
-# (available at <
URL:http://www.apache.org/docs/mod/core.html#lockfile>);
-# you will save yourself a lot of trouble.
-#
-# Do NOT add a slash at the end of the directory path.
-#
-ServerRoot "/etc/httpd"
-
-#
-# The LockFile directive sets the path to the lockfile used when Apache
-# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
-# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
-# its default value. The main reason for changing it is if the logs
-# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
-# DISK. The PID of the main server process is automatically appended to
-# the filename.
-#
-LockFile /var/run/httpd.lock
-
-#
-# PidFile: The file in which the server should record its process
-# identification number when it starts.
-#
-PidFile /var/run/httpd.pid
-
-#
-# ScoreBoardFile: File used to store internal server process information.
-# Not all architectures require this. But if yours does (you'll know because
-# this file will be created when you run Apache) then you *must* ensure that
-# no two invocations of Apache share the same scoreboard file.
-#
-ScoreBoardFile logs/apache_runtime_status
-
-#
-# In the standard configuration, the server will process httpd.conf (this
-# file, specified by the -f command line option), srm.conf, and access.conf
-# in that order. The latter two files are now distributed empty, as it is
-# recommended that all directives be kept in a single file for simplicity.
-# The commented-out values below are the built-in defaults. You can have the
-# server ignore these files altogether by using "/dev/null" (for Unix) or
-# "nul" (for Win32) for the arguments to the directives.
-#
-#ResourceConfig conf/srm.conf
-#AccessConfig conf/access.conf
-
-#
-# Timeout: The number of seconds before receives and sends time out.
-#
-Timeout 300
-
-#
-# KeepAlive: Whether or not to allow persistent connections (more than
-# one request per connection). Set to "Off" to deactivate.
-#
-KeepAlive Off
-
-#
-# MaxKeepAliveRequests: The maximum number of requests to allow
-# during a persistent connection. Set to 0 to allow an unlimited amount.
-# We recommend you leave this number high, for maximum performance.
-#
-MaxKeepAliveRequests 100
-
-#
-# KeepAliveTimeout: Number of seconds to wait for the next request from the
-# same client on the same connection.
-#
-KeepAliveTimeout 15
-
-#
-# Server-pool size regulation. Rather than making you guess how many
-# server processes you need, Apache dynamically adapts to the load it
-# sees --- that is, it tries to maintain enough server processes to
-# handle the current load, plus a few spare servers to handle transient
-# load spikes (e.g., multiple simultaneous requests from a single
-# Netscape browser).
-#
-# It does this by periodically checking how many servers are waiting
-# for a request. If there are fewer than MinSpareServers, it creates
-# a new spare. If there are more than MaxSpareServers, some of the
-# spares die off. The default values are probably OK for most sites.
-#
-MinSpareServers 5
-MaxSpareServers 20
-
-#
-# Number of servers to start initially --- should be a reasonable ballpark
-# figure.
-#
-StartServers 8
-
-#
-# Limit on total number of servers running, i.e., limit on the number
-# of clients who can simultaneously connect --- if this limit is ever
-# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
-# It is intended mainly as a brake to keep a runaway server from taking
-# the system with it as it spirals down...
-#
-MaxClients 150
-
-#
-# MaxRequestsPerChild: the number of requests each child process is
-# allowed to process before the child dies. The child will exit so
-# as to avoid problems after prolonged use when Apache (and maybe the
-# libraries it uses) leak memory or other resources. On most systems, this
-# isn't really needed, but a few (such as Solaris) do have notable leaks
-# in the libraries. For these platforms, set to something like 10000
-# or so; a setting of 0 means unlimited.
-#
-# NOTE: This value does not include keepalive requests after the initial
-# request per connection. For example, if a child process handles
-# an initial request and 10 subsequent "keptalive" requests, it
-# would only count as 1 request towards this limit.
-#
-MaxRequestsPerChild 1000
-
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, in addition to the default. See also the <VirtualHost>
-# directive.
-#
-#Listen 3000
-#Listen 12.34.56.78:80
-#Listen 80
-
-#
-# BindAddress: You can support virtual hosts with this option. This directive
-# is used to tell the server which IP address to listen to. It can either
-# contain "*", an IP address, or a fully qualified Internet domain name.
-# See also the <VirtualHost> and Listen directives.
-#
-#BindAddress *
-
-#
-# Dynamic Shared Object (DSO) Support
-#
-# To be able to use the functionality of a module which was built as a DSO you
-# have to place corresponding `LoadModule' lines at this location so the
-# directives contained in it are actually available _before_ they are used.
-# Please read the file
http://httpd.apache.org/docs/dso.html for more
-# details about the DSO mechanism and run `httpd -l' for the list of already
-# built-in (statically linked and thus always available) modules in your httpd
-# binary.
-#
-# Note: The order in which modules are loaded is important. Don't change
-# the order below without expert advice.
-#
-# Example:
-# LoadModule foo_module modules/mod_foo.so
-
-#LoadModule mmap_static_module modules/mod_mmap_static.so
-LoadModule vhost_alias_module modules/mod_vhost_alias.so
-<IfDefine HAVE_BANDWIDTH>
-LoadModule bandwidth_module modules/mod_bandwidth.so
-</IfDefine>
-<IfDefine HAVE_THROTTLE>
-LoadModule throttle_module modules/mod_throttle.so
-</IfDefine>
-LoadModule env_module modules/mod_env.so
-LoadModule config_log_module modules/mod_log_config.so
-LoadModule agent_log_module modules/mod_log_agent.so
-LoadModule referer_log_module modules/mod_log_referer.so
-#LoadModule mime_magic_module modules/mod_mime_magic.so
-LoadModule mime_module modules/mod_mime.so
-#LoadModule negotiation_module modules/mod_negotiation.so
-LoadModule status_module modules/mod_status.so
-LoadModule info_module modules/mod_info.so
-LoadModule includes_module modules/mod_include.so
-LoadModule autoindex_module modules/mod_autoindex.so
-LoadModule dir_module modules/mod_dir.so
-LoadModule cgi_module modules/mod_cgi.so
-LoadModule asis_module modules/mod_asis.so
-LoadModule imap_module modules/mod_imap.so
-LoadModule action_module modules/mod_actions.so
-#LoadModule speling_module modules/mod_speling.so
-LoadModule userdir_module modules/mod_userdir.so
-LoadModule alias_module modules/mod_alias.so
-LoadModule rewrite_module modules/mod_rewrite.so
-LoadModule access_module modules/mod_access.so
-LoadModule auth_module modules/mod_auth.so
-LoadModule anon_auth_module modules/mod_auth_anon.so
-#LoadModule db_auth_module modules/mod_auth_db.so
-#LoadModule auth_any_module modules/mod_auth_any.so
-#LoadModule dbm_auth_module modules/mod_auth_dbm.so
-#LoadModule auth_ldap_module modules/mod_auth_ldap.so
-#LoadModule mysql_auth_module modules/mod_auth_mysql.so
-#LoadModule auth_pgsql_module modules/mod_auth_pgsql.so
-#LoadModule digest_module modules/mod_digest.so
-#LoadModule proxy_module modules/libproxy.so
-#LoadModule cern_meta_module modules/mod_cern_meta.so
-LoadModule expires_module modules/mod_expires.so
-LoadModule headers_module modules/mod_headers.so
-#LoadModule usertrack_module modules/mod_usertrack.so
-#LoadModule example_module modules/mod_example.so
-#LoadModule unique_id_module modules/mod_unique_id.so
-LoadModule setenvif_module modules/mod_setenvif.so
-<IfDefine HAVE_PERL>
-LoadModule perl_module modules/libperl.so
-</IfDefine>
-<IfDefine HAVE_PHP>
-LoadModule php_module modules/mod_php.so
-</IfDefine>
-<IfDefine HAVE_PHP3>
-LoadModule php3_module modules/libphp3.so
-</IfDefine>
-<IfDefine HAVE_PHP4>
-LoadModule php4_module modules/libphp4.so
-</IfDefine>
-<IfDefine HAVE_DAV>
-LoadModule dav_module modules/libdav.so
-</IfDefine>
-<IfDefine HAVE_ROAMING>
-LoadModule roaming_module modules/mod_roaming.so
-</IfDefine>
-<IfDefine HAVE_SSL>
-LoadModule ssl_module modules/libssl.so
-</IfDefine>
-<IfDefine HAVE_PUT>
-LoadModule put_module modules/mod_put.so
-</IfDefine>
-<IfDefine HAVE_PYTHON>
-LoadModule python_module modules/mod_python.so
-</IfDefine>
-
-# Reconstruction of the complete module list from all available modules
-# (static and shared ones) to achieve correct module execution order.
-# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
-ClearModuleList
-#AddModule mod_mmap_static.c
-AddModule mod_vhost_alias.c
-<IfDefine HAVE_BANDWIDTH>
-AddModule mod_bandwidth.c
-</IfDefine>
-<IfDefine HAVE_THROTTLE>
-AddModule mod_throttle.c
-</IfDefine>
-AddModule mod_env.c
-AddModule mod_log_config.c
-AddModule mod_log_agent.c
-AddModule mod_log_referer.c
-#AddModule mod_mime_magic.c
-AddModule mod_mime.c
-#AddModule mod_negotiation.c
-AddModule mod_status.c
-AddModule mod_info.c
-AddModule mod_include.c
-AddModule mod_autoindex.c
-AddModule mod_dir.c
-AddModule mod_cgi.c
-AddModule mod_asis.c
-AddModule mod_imap.c
-AddModule mod_actions.c
-#AddModule mod_speling.c
-AddModule mod_userdir.c
-AddModule mod_alias.c
-AddModule mod_rewrite.c
-AddModule mod_access.c
-AddModule mod_auth.c
-AddModule mod_auth_anon.c
-#AddModule mod_auth_db.c
-#AddModule mod_auth_any.c
-#AddModule mod_auth_dbm.c
-#AddModule auth_ldap.c
-#AddModule mod_auth_mysql.c
-#AddModule mod_auth_pgsql.c
-#AddModule mod_digest.c
-#AddModule mod_proxy.c
-#AddModule mod_cern_meta.c
-AddModule mod_expires.c
-AddModule mod_headers.c
-#AddModule mod_usertrack.c
-#AddModule mod_example.c
-#AddModule mod_unique_id.c
-AddModule mod_so.c
-AddModule mod_setenvif.c
-<IfDefine HAVE_PERL>
-AddModule mod_perl.c
-</IfDefine>
-<IfDefine HAVE_PHP>
-AddModule mod_php.c
-</IfDefine>
-<IfDefine HAVE_PHP3>
-AddModule mod_php3.c
-</IfDefine>
-<IfDefine HAVE_PHP4>
-AddModule mod_php4.c
-</IfDefine>
-<IfDefine HAVE_DAV>
-AddModule mod_dav.c
-</IfDefine>
-<IfDefine HAVE_ROAMING>
-AddModule mod_roaming.c
-</IfDefine>
-<IfDefine HAVE_SSL>
-AddModule mod_ssl.c
-</IfDefine>
-<IfDefine HAVE_PUT>
-AddModule mod_put.c
-</IfDefine>
-<IfDefine HAVE_PYTHON>
-AddModule mod_python.c
-</IfDefine>
-
-#
-# ExtendedStatus controls whether Apache will generate "full" status
-# information (ExtendedStatus On) or just basic information (ExtendedStatus
-# Off) when the "server-status" handler is called. The default is Off.
-#
-#ExtendedStatus On
-
-### Section 2: 'Main' server configuration
-#
-# The directives in this section set up the values used by the 'main'
-# server, which responds to any requests that aren't handled by a
-# <VirtualHost> definition. These values also provide defaults for
-# any <VirtualHost> containers you may define later in the file.
-#
-# All of these directives may appear inside <VirtualHost> containers,
-# in which case these default settings will be overridden for the
-# virtual host being defined.
-#
-
-#
-# If your ServerType directive (set earlier in the 'Global Environment'
-# section) is set to "inetd", the next few directives don't have any
-# effect since their settings are defined by the inetd configuration.
-# Skip ahead to the ServerAdmin directive.
-#
-
-#
-# Port: The port to which the standalone server listens. For
-# ports < 1023, you will need httpd to be run as root initially.
-#
-Port 80
-
-##
-## SSL Support
-##
-## When we also provide SSL we have to listen to the
-## standard HTTP port (see above) and to the HTTPS port
-##
-<IfDefine HAVE_SSL>
-Listen 80
-Listen 443
-</IfDefine>
-
-#
-# If you wish httpd to run as a different user or group, you must run
-# httpd as root initially and it will switch.
-#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
-# . On HPUX you may not be able to use shared memory as nobody, and the
-# suggested workaround is to create a user www and use that user.
-# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
-# when the value of (unsigned)Group is above 60000;
-# don't use Group "#-1" on these systems!
-#
-User apache
-Group apache
-
-#
-# ServerAdmin: Your address, where problems with the server should be
-# e-mailed. This address appears on some server-generated pages, such
-# as error documents.
-#
-ServerAdmin root@localhost
-
-#
-# ServerName allows you to set a host name which is sent back to clients for
-# your server if it's different than the one the program would get (i.e., use
-# "www" instead of the host's real name).
-#
-# Note: You cannot just invent host names and hope they work. The name you
-# define here must be a valid DNS name for your host. If you don't understand
-# this, ask your network administrator.
-# If your host doesn't have a registered DNS name, enter its IP address here.
-# You will have to access it by its address (e.g.,
http://123.45.67.89/)
-# anyway, and this will make redirections work in a sensible way.
-#
-# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
-# machine always knows itself by this address. If you use Apache strictly for
-# local testing and development, you may use 127.0.0.1 as the server name.
-#
-#ServerName localhost
-
-#
-# DocumentRoot: The directory out of which you will serve your
-# documents. By default, all requests are taken from this directory, but
-# symbolic links and aliases may be used to point to other locations.
-#
-DocumentRoot "/var/www/html"
-
-#
-# Each directory to which Apache has access, can be configured with respect
-# to which services and features are allowed and/or disabled in that
-# directory (and its subdirectories).
-#
-# First, we configure the "default" to be a very restrictive set of
-# permissions.
-#
-<Directory />
- Options FollowSymLinks
- AllowOverride None
-</Directory>
-
-#
-# Note that from this point forward you must specifically allow
-# particular features to be enabled - so if something's not working as
-# you might expect, make sure that you have specifically enabled it
-# below.
-#
-
-#
-# This should be changed to whatever you set DocumentRoot to.
-#
-<Directory "/var/www/html">
-
-#
-# This may also be "None", "All", or any combination of
"Indexes",
-# "Includes", "FollowSymLinks", "ExecCGI", or
"MultiViews".
-#
-# Note that "MultiViews" must be named *explicitly* --- "Options
All"
-# doesn't give it to you.
-#
- Options Indexes FollowSymLinks
-
-#
-# This controls which options the .htaccess files in directories can
-# override. Can also be "All", or any combination of "Options",
"FileInfo",
-# "AuthConfig", and "Limit"
-#
- AllowOverride None
-
-#
-# Controls who can get stuff from this server.
-#
- Order allow,deny
- Allow from all
-</Directory>
-
-#
-# UserDir: The name of the directory which is appended onto a user's home
-# directory if a ~user request is received.
-#
-# The path to the end user account 'public_html' directory must be
-# accessible to the webserver userid. This usually means that ~userid
-# must have permissions of 711, ~userid/public_html must have permissions
-# of 755, and documents contained therein must be world-readable.
-# Otherwise, the client will only receive a "403 Forbidden" message.
-#
-# See also:
http://httpd.apache.org/docs/misc/FAQ.html#forbidden
-#
-<IfModule mod_userdir.c>
- UserDir public_html
-</IfModule>
-
-#
-# Control access to UserDir directories. The following is an example
-# for a site where these directories are restricted to read-only.
-#
-#<Directory /home/*/public_html>
-# AllowOverride FileInfo AuthConfig Limit
-# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
-# <Limit GET POST OPTIONS PROPFIND>
-# Order allow,deny
-# Allow from all
-# </Limit>
-# <LimitExcept GET POST OPTIONS PROPFIND>
-# Order deny,allow
-# Deny from all
-# </LimitExcept>
-#</Directory>
-
-#
-# DirectoryIndex: Name of the file or files to use as a pre-written HTML
-# directory index. Separate multiple entries with spaces.
-#
-<IfModule mod_dir.c>
- DirectoryIndex _rhn_proxy/index.html index.html index.htm index.shtml index.php
index.php4 index.php3 index.phtml index.cgi
-</IfModule>
-
-#
-# AccessFileName: The name of the file to look for in each directory
-# for access control information.
-#
-AccessFileName .htaccess
-
-#
-# The following lines prevent .htaccess files from being viewed by
-# Web clients. Since .htaccess files often contain authorization
-# information, access is disallowed for security reasons. Comment
-# these lines out if you want Web visitors to see the contents of
-# .htaccess files. If you change the AccessFileName directive above,
-# be sure to make the corresponding changes here.
-#
-# Also, folks tend to use names such as .htpasswd for password
-# files, so this will protect those as well.
-#
-<Files ~ "^\.ht">
- Order allow,deny
- Deny from all
- Satisfy All
-</Files>
-
-#
-# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
-# document that was negotiated on the basis of content. This asks proxy
-# servers not to cache the document. Uncommenting the following line disables
-# this behavior, and proxies will be allowed to cache the documents.
-#
-#CacheNegotiatedDocs
-
-#
-# UseCanonicalName: (new for 1.3) With this setting turned on, whenever
-# Apache needs to construct a self-referencing URL (a URL that refers back
-# to the server the response is coming from) it will use ServerName and
-# Port to form a "canonical" name. With this setting off, Apache will
-# use the hostname:port that the client supplied, when possible. This
-# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
-#
-UseCanonicalName On
-
-#
-# TypesConfig describes where the mime.types file (or equivalent) is
-# to be found.
-#
-<IfModule mod_mime.c>
- TypesConfig /etc/mime.types
-</IfModule>
-
-#
-# DefaultType is the default MIME type the server will use for a document
-# if it cannot otherwise determine one, such as from filename extensions.
-# If your server contains mostly text or HTML documents, "text/plain" is
-# a good value. If most of your content is binary, such as applications
-# or images, you may want to use "application/octet-stream" instead to
-# keep browsers from trying to display binary files as though they are
-# text.
-#
-DefaultType text/plain
-
-#
-# The mod_mime_magic module allows the server to use various hints from the
-# contents of the file itself to determine its type. The MIMEMagicFile
-# directive tells the module where the hint definitions are located.
-# mod_mime_magic is not part of the default server (you have to add
-# it yourself with a LoadModule [see the DSO paragraph in the 'Global
-# Environment' section], or recompile the server and include mod_mime_magic
-# as part of the configuration), so it's enclosed in an <IfModule> container.
-# This means that the MIMEMagicFile directive will only be processed if the
-# module is part of the server.
-#
-<IfModule mod_mime_magic.c>
-# MIMEMagicFile /usr/share/magic.mime
- MIMEMagicFile conf/magic
-</IfModule>
-
-#
-# HostnameLookups: Log the names of clients or just their IP addresses
-# e.g.,
www.apache.org (on) or 204.62.129.132 (off).
-# The default is off because it'd be overall better for the net if people
-# had to knowingly turn this feature on, since enabling it means that
-# each client request will result in AT LEAST one lookup request to the
-# nameserver.
-#
-HostnameLookups Off
-
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here. If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog logs/error_log
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
-#
-# The following directives define some format nicknames for use with
-# a CustomLog directive (see below).
-#
-LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
-LogFormat "%h %l %u %t \"%r\" %>s %b" common
-LogFormat "%{Referer}i -> %U" referer
-LogFormat "%{User-agent}i" agent
-
-#
-# The location and format of the access logfile (Common Logfile Format).
-# If you do not define any access logfiles within a <VirtualHost>
-# container, they will be logged here. Contrariwise, if you *do*
-# define per-<VirtualHost> access logfiles, transactions will be
-# logged therein and *not* in this file.
-#
-# CustomLog /var/log/httpd/access_log common
-CustomLog logs/access_log combined
-
-#
-# If you would like to have agent and referer logfiles, uncomment the
-# following directives.
-#
-#CustomLog logs/referer_log referer
-#CustomLog logs/agent_log agent
-
-#
-# If you prefer a single logfile with access, agent, and referer information
-# (Combined Logfile Format) you can use the following directive.
-#
-#CustomLog logs/access_log combined
-
-#
-# Optionally add a line containing the server version and virtual host
-# name to server-generated pages (error documents, FTP directory listings,
-# mod_status and mod_info output etc., but not CGI generated documents).
-# Set to "EMail" to also include a mailto: link to the ServerAdmin.
-# Set to one of: On | Off | EMail
-#
-ServerSignature On
-
-# EBCDIC configuration:
-# (only for mainframes using the EBCDIC codeset, currently one of:
-# Fujitsu-Siemens' BS2000/OSD, IBM's OS/390 and IBM's TPF)!!
-# The following default configuration assumes that "text files"
-# are stored in EBCDIC (so that you can operate on them using the
-# normal POSIX tools like grep and sort) while "binary files" are
-# stored with identical octets as on an ASCII machine.
-#
-# The directives are evaluated in configuration file order, with
-# the EBCDICConvert directives applied before EBCDICConvertByType.
-#
-# If you want to have ASCII HTML documents and EBCDIC HTML documents
-# at the same time, you can use the file extension to force
-# conversion off for the ASCII documents:
-# > AddType text/html .ahtml
-# > EBCDICConvert Off=InOut .ahtml
-#
-# EBCDICConvertByType On=InOut text/* message/* multipart/*
-# EBCDICConvertByType On=In application/x-www-form-urlencoded
-# EBCDICConvertByType On=InOut application/postscript model/vrml
-# EBCDICConvertByType Off=InOut */*
-
-
-#
-# Aliases: Add here as many aliases as you need (with no limit). The format is
-# Alias fakename realname
-#
-<IfModule mod_alias.c>
-
- #
- # Note that if you include a trailing / on fakename then the server will
- # require it to be present in the URL. So "/icons" isn't aliased in
this
- # example, only "/icons/". If the fakename is slash-terminated, then the
- # realname must also be slash terminated, and if the fakename omits the
- # trailing slash, the realname must also omit it.
- #
- Alias /icons/ "/var/www/icons/"
-
- <Directory "/var/www/icons">
- Options Indexes MultiViews
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
-
- # This Alias will project the on-line documentation tree under /manual/
- # even if you change the DocumentRoot. Comment it if you don't want to
- # provide access to the on-line documentation.
- #
- # Alias /manual/ "/etc/httpd/htdocs/manual/"
- #
- # <Directory "/etc/httpd/htdocs/manual">
- # Options Indexes FollowSymlinks MultiViews
- # AllowOverride None
- # Order allow,deny
- # Allow from all
- # </Directory>
-
- #
- # ScriptAlias: This controls which directories contain server scripts.
- # ScriptAliases are essentially the same as Aliases, except that
- # documents in the realname directory are treated as applications and
- # run by the server when requested rather than as documents sent to the client.
- # The same rules about trailing "/" apply to ScriptAlias directives as to
- # Alias.
- #
- ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
-
- #
- # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
- # CGI directory exists, if you have that configured.
- #
- <Directory "/var/www/cgi-bin">
- AllowOverride None
- Options None
- Order allow,deny
- Allow from all
- </Directory>
-
-</IfModule>
-# End of aliases.
-
-#
-# Redirect allows you to tell clients about documents which used to exist in
-# your server's namespace, but do not anymore. This allows you to tell the
-# clients where to look for the relocated document.
-# Format: Redirect old-URI new-URL
-#
-
-#
-# Directives controlling the display of server-generated directory listings.
-#
-<IfModule mod_autoindex.c>
-
- #
- # FancyIndexing is whether you want fancy directory indexing or standard
- #
- IndexOptions FancyIndexing NameWidth=*
-
- #
- # AddIcon* directives tell the server which icon to show for different
- # files or filename extensions. These are only displayed for
- # FancyIndexed directories.
- #
- AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
-
- AddIconByType (TXT,/icons/text.gif) text/*
- AddIconByType (IMG,/icons/image2.gif) image/*
- AddIconByType (SND,/icons/sound2.gif) audio/*
- AddIconByType (VID,/icons/movie.gif) video/*
-
- AddIcon /icons/binary.gif .bin .exe
- AddIcon /icons/binhex.gif .hqx
- AddIcon /icons/tar.gif .tar
- AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
- AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
- AddIcon /icons/a.gif .ps .ai .eps
- AddIcon /icons/layout.gif .html .shtml .htm .pdf
- AddIcon /icons/text.gif .txt
- AddIcon /icons/c.gif .c
- AddIcon /icons/p.gif .pl .py
- AddIcon /icons/f.gif .for
- AddIcon /icons/dvi.gif .dvi
- AddIcon /icons/uuencoded.gif .uu
- AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
- AddIcon /icons/tex.gif .tex
- AddIcon /icons/bomb.gif core
-
- AddIcon /icons/back.gif ..
- AddIcon /icons/hand.right.gif README
- AddIcon /icons/folder.gif ^^DIRECTORY^^
- AddIcon /icons/blank.gif ^^BLANKICON^^
-
- #
- # DefaultIcon is which icon to show for files which do not have an icon
- # explicitly set.
- #
- DefaultIcon /icons/unknown.gif
-
- #
- # AddDescription allows you to place a short description after a file in
- # server-generated indexes. These are only displayed for FancyIndexed
- # directories.
- # Format: AddDescription "description" filename
- #
- #AddDescription "GZIP compressed document" .gz
- #AddDescription "tar archive" .tar
- #AddDescription "GZIP compressed tar archive" .tgz
-
- #
- # ReadmeName is the name of the README file the server will look for by
- # default, and append to directory listings.
- #
- # HeaderName is the name of a file which should be prepended to
- # directory indexes.
- #
- # If MultiViews are amongst the Options in effect, the server will
- # first look for name.html and include it if found. If name.html
- # doesn't exist, the server will then look for name.txt and include
- # it as plaintext if found.
- #
- ReadmeName README
- HeaderName HEADER
-
- #
- # IndexIgnore is a set of filenames which directory indexing should ignore
- # and not include in the listing. Shell-style wildcarding is permitted.
- #
- IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
-
-</IfModule>
-# End of indexing directives.
-
-#
-# Document types.
-#
-<IfModule mod_mime.c>
-
- #
- # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
- # information on the fly. Note: Not all browsers support this.
- # Despite the name similarity, the following Add* directives have nothing
- # to do with the FancyIndexing customization directives above.
- #
- AddEncoding x-compress Z
- AddEncoding x-gzip gz tgz
-
- #
- # AddLanguage allows you to specify the language of a document. You can
- # then use content negotiation to give a browser a file in a language
- # it can understand.
- #
- # Note 1: The suffix does not have to be the same as the language
- # keyword --- those with documents in Polish (whose net-standard
- # language code is pl) may wish to use "AddLanguage pl .po" to
- # avoid the ambiguity with the common suffix for perl scripts.
- #
- # Note 2: The example entries below illustrate that in quite
- # some cases the two character 'Language' abbreviation is not
- # identical to the two character 'Country' code for its country,
- # E.g. 'Danmark/dk' versus 'Danish/da'.
- #
- # Note 3: In the case of 'ltz' we violate the RFC by using a three char
- # specifier. But there is 'work in progress' to fix this and get
- # the reference data for rfc1766 cleaned up.
- #
- # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
- # French (fr) - German (de) - Greek-Modern (el)
- # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
- # Portugese (pt) - Luxembourgeois* (ltz)
- # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
- # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
- # Russian (ru)
- #
- AddLanguage da .dk
- AddLanguage nl .nl
- AddLanguage en .en
- AddLanguage et .ee
- AddLanguage fr .fr
- AddLanguage de .de
- AddLanguage el .el
- AddLanguage he .he
- AddCharset ISO-8859-8 .iso8859-8
- AddLanguage it .it
- AddLanguage ja .ja
- AddCharset ISO-2022-JP .jis
- AddLanguage kr .kr
- AddCharset ISO-2022-KR .iso-kr
- AddLanguage nn .nn
- AddLanguage no .no
- AddLanguage pl .po
- AddCharset ISO-8859-2 .iso-pl
- AddLanguage pt .pt
- AddLanguage pt-br .pt-br
- AddLanguage ltz .lu
- AddLanguage ca .ca
- AddLanguage es .es
- AddLanguage sv .se
- AddLanguage cz .cz
- AddLanguage ru .ru
- AddLanguage zh-tw .tw
- AddLanguage tw .tw
- AddCharset Big5 .Big5 .big5
- AddCharset WINDOWS-1251 .cp-1251
- AddCharset CP866 .cp866
- AddCharset ISO-8859-5 .iso-ru
- AddCharset KOI8-R .koi8-r
- AddCharset UCS-2 .ucs2
- AddCharset UCS-4 .ucs4
- AddCharset UTF-8 .utf8
-
- # LanguagePriority allows you to give precedence to some languages
- # in case of a tie during content negotiation.
- #
- # Just list the languages in decreasing order of preference. We have
- # more or less alphabetized them here. You probably want to change this.
- #
- <IfModule mod_negotiation.c>
- LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
- </IfModule>
-
- #
- # AddType allows you to tweak mime.types without actually editing it, or to
- # make certain files to be certain types.
- #
- # For example, the PHP 3.x module (not part of the Apache distribution - see
- #
http://www.php.net) will typically use:
- #
- <IfModule mod_php3.c>
- AddType application/x-httpd-php3 .php3
- AddType application/x-httpd-php3-source .phps
- </IfModule>
- #
- # And for PHP 4.x, use:
- #
- <IfModule mod_php4.c>
- AddType application/x-httpd-php .php .php4 .php3 .phtml
- AddType application/x-httpd-php-source .phps
- </IfModule>
-
- #
- # For PHP/FI (PHP2), use:
- #
- <IfModule mod_php.c>
- AddType application/x-httpd-php .phtml
- </IfModule>
-
- AddType application/x-tar .tgz
-
- #
- # AddHandler allows you to map certain file extensions to "handlers",
- # actions unrelated to filetype. These can be either built into the server
- # or added with the Action command (see below)
- #
- # If you want to use server side includes, or CGI outside
- # ScriptAliased directories, uncomment the following lines.
- #
- # To use CGI scripts:
- #
- #AddHandler cgi-script .cgi
-
- #
- # To use server-parsed HTML files
- #
- AddType text/html .shtml
- AddHandler server-parsed .shtml
-
- #
- # Uncomment the following line to enable Apache's send-asis HTTP file
- # feature
- #
- #AddHandler send-as-is asis
-
- #
- # If you wish to use server-parsed imagemap files, use
- #
- AddHandler imap-file map
-
- #
- # To enable type maps, you might want to use
- #
- #AddHandler type-map var
-
-</IfModule>
-# End of document types.
-
-#
-# Action lets you define media types that will execute a script whenever
-# a matching file is called. This eliminates the need for repeated URL
-# pathnames for oft-used CGI file processors.
-# Format: Action media/type /cgi-script/location
-# Format: Action handler-name /cgi-script/location
-#
-
-#
-# MetaDir: specifies the name of the directory in which Apache can find
-# meta information files. These files contain additional HTTP headers
-# to include when sending the document
-#
-#MetaDir .web
-
-#
-# MetaSuffix: specifies the file name suffix for the file containing the
-# meta information.
-#
-#MetaSuffix .meta
-
-#
-# Customizable error response (Apache style)
-# these come in three flavors
-#
-# 1) plain text
-#ErrorDocument 500 "The server made a boo boo.
-# n.b. the single leading (") marks it as text, it does not get output
-#
-# 2) local redirects
-#ErrorDocument 404 /missing.html
-# to redirect to local URL /missing.html
-#ErrorDocument 404 /cgi-bin/missing_handler.pl
-# N.B.: You can redirect to a script or a document using server-side-includes.
-#
-# 3) external redirects
-#ErrorDocument 402
http://some.other_server.com/subscription_info.html
-# N.B.: Many of the environment variables associated with the original
-# request will *not* be available to such a script.
-
-#
-# Customize behaviour based on the browser
-#
-<IfModule mod_setenvif.c>
-
- #
- # The following directives modify normal HTTP response behavior.
- # The first directive disables keepalive for Netscape 2.x and browsers that
- # spoof it. There are known problems with these browser implementations.
- # The second directive is for Microsoft Internet Explorer 4.0b2
- # which has a broken HTTP/1.1 implementation and does not properly
- # support keepalive when it is used on 301 or 302 (redirect) responses.
- #
- BrowserMatch "Mozilla/2" nokeepalive
- BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-
- #
- # The following directive disables HTTP/1.1 responses to browsers which
- # are in violation of the HTTP/1.0 spec by not being able to grok a
- # basic 1.1 response.
- #
- BrowserMatch "RealPlayer 4\.0" force-response-1.0
- BrowserMatch "Java/1\.0" force-response-1.0
- BrowserMatch "JDK/1\.0" force-response-1.0
-
-</IfModule>
-# End of browser customization directives
-
-#
-# If the perl module is installed, this will allow execution of mod_perl
-# to compile your scripts to subroutines which it will execute directly,
-# avoiding the costly compile process for most requests.
-#
-#<IfModule mod_perl.c>
-# Alias /perl /var/www/perl
-# <Directory /var/www/perl>
-# SetHandler perl-script
-# PerlHandler Apache::Registry
-# Options +ExecCGI
-# </Directory>
-#</IfModule>
-
-#
-# Allow http put (such as Netscape Gold's publish feature)
-# Use htpasswd to generate /etc/httpd/conf/passwd.
-#
-#<IfModule mod_put.c>
-# Alias /upload /tmp
-# <Directory /tmp>
-# EnablePut On
-# AuthType Basic
-# AuthName Temporary
-# AuthUserFile /etc/httpd/conf/passwd
-# EnableDelete Off
-# umask 007
-# <Limit PUT>
-# require valid-user
-# </Limit>
-# </Directory>
-#</IfModule>
-
-#
-# Allow server status reports, with the URL of
http://servername/server-status
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-status>
-# SetHandler server-status
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
-#
-# Allow remote server configuration reports, with the URL of
-#
http://servername/server-info (requires that mod_info.c be loaded).
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-info>
-# SetHandler server-info
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
-#
-# Allow access to local system documentation from localhost
-#
-Alias /doc/ /usr/share/doc/
-<Directory /usr/share/doc>
- order deny,allow
- deny from all
- allow from localhost .localdomain
- Options Indexes FollowSymLinks
-</Directory>
-
-#
-# There have been reports of people trying to abuse an old bug from pre-1.1
-# days. This bug involved a CGI script distributed as a part of Apache.
-# By uncommenting these lines you can redirect these attacks to a logging
-# script on
phf.apache.org. Or, you can record them yourself, using the script
-# support/phf_abuse_log.cgi.
-#
-#<Location /cgi-bin/phf*>
-# Deny from all
-# ErrorDocument 403
http://phf.apache.org/phf_abuse_log.cgi
-#</Location>
-
-#
-# Proxy Server directives. Uncomment the following lines to
-# enable the proxy server:
-#
-#<IfModule mod_proxy.c>
-# ProxyRequests On
-
-# <Directory proxy:*>
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-# </Directory>
-
- #
- # Enable/disable the handling of HTTP/1.1 "Via:" headers.
- # ("Full" adds the server version; "Block" removes all outgoing
Via: headers)
- # Set to one of: Off | On | Full | Block
- #
-# ProxyVia On
-
- #
- # To enable the cache as well, edit and uncomment the following lines:
- # (no caching without CacheRoot)
- #
-# CacheRoot "/var/cache/httpd"
-# CacheSize 5
-# CacheGcInterval 4
-# CacheMaxExpire 24
-# CacheLastModifiedFactor 0.1
-# CacheDefaultExpire 1
-# NoCache
a_domain.com another_domain.edu joes.garage_sale.com
-
-#</IfModule>
-# End of proxy directives.
-
-### Section 3: Virtual Hosts
-#
-# VirtualHost: If you want to maintain multiple domains/hostnames on your
-# machine you can setup VirtualHost containers for them. Most configurations
-# use only name-based virtual hosts so the server doesn't need to worry about
-# IP addresses. This is indicated by the asterisks in the directives below.
-#
-# Please see the documentation at <
URL:http://www.apache.org/docs/vhosts/>
-# for further details before you try to setup virtual hosts.
-#
-# You may use the command line option '-S' to verify your virtual host
-# configuration.
-
-#
-# Use name-based virtual hosting.
-#
-#NameVirtualHost *
-
-#
-# VirtualHost example:
-# Almost any Apache directive may go into a VirtualHost container.
-# The first VirtualHost section is used for requests without a known
-# server name.
-#
-#<VirtualHost *>
-# ServerAdmin webmaster(a)dummy-host.example.com
-# DocumentRoot /www/docs/dummy-host.example.com
-# ServerName
dummy-host.example.com
-# ErrorLog logs/dummy-host.example.com-error_log
-# CustomLog logs/dummy-host.example.com-access_log common
-#</VirtualHost>
-
-#<VirtualHost _default_:*>
-#</VirtualHost>
-
-##
-## SSL Global Context
-##
-## All SSL configuration in this context applies both to
-## the main server and all SSL-enabled virtual hosts.
-##
-
-#
-# Some MIME-types for downloading Certificates and CRLs
-#
-<IfDefine HAVE_SSL>
-AddType application/x-x509-ca-cert .crt
-AddType application/x-pkcs7-crl .crl
-</IfDefine>
-
-<IfModule mod_ssl.c>
-
-# Pass Phrase Dialog:
-# Configure the pass phrase gathering process.
-# The filtering dialog program (`builtin' is a internal
-# terminal dialog) has to provide the pass phrase on stdout.
-SSLPassPhraseDialog builtin
-
-# Inter-Process Session Cache:
-# Configure the SSL Session Cache: First the mechanism
-# to use and second the expiring timeout (in seconds).
-#SSLSessionCache none
-#SSLSessionCache shmht:logs/ssl_scache(512000)
-SSLSessionCache shmcb:logs/ssl_scache(512000)
-#SSLSessionCache shm:logs/ssl_scache(512000)
-SSLSessionCacheTimeout 300
-
-# Semaphore:
-# Configure the path to the mutual exclusion semaphore the
-# SSL engine uses internally for inter-process synchronization.
-SSLMutex file:logs/ssl_mutex
-
-# Pseudo Random Number Generator (PRNG):
-# Configure one or more sources to seed the PRNG of the
-# SSL library. The seed data should be of good random quality.
-# WARNING! On some platforms /dev/random blocks if not enough entropy
-# is available. This means you then cannot use the /dev/random device
-# because it would lead to very long connection times (as long as
-# it requires to make more entropy available). But usually those
-# platforms additionally provide a /dev/urandom device which doesn't
-# block. So, if available, use this one instead. Read the mod_ssl User
-# Manual for more details.
-SSLRandomSeed startup builtin
-SSLRandomSeed connect builtin
-#SSLRandomSeed startup file:/dev/random 512
-#SSLRandomSeed startup file:/dev/urandom 512
-#SSLRandomSeed connect file:/dev/random 512
-#SSLRandomSeed connect file:/dev/urandom 512
-
-# Logging:
-# The home of the dedicated SSL protocol logfile. Errors are
-# additionally duplicated in the general error log file. Put
-# this somewhere where it cannot be used for symlink attacks on
-# a real server (i.e. somewhere where only root can write).
-# Log levels are (ascending order: higher ones include lower ones):
-# none, error, warn, info, trace, debug.
-SSLLog logs/ssl_engine_log
-SSLLogLevel error
-
-</IfModule>
-
-<IfDefine HAVE_SSL>
-
-##
-## SSL Virtual Host Context
-##
-
-<VirtualHost _default_:443>
-
-# General setup for the virtual host
-#DocumentRoot "/etc/httpd/htdocs"
-#ServerName new.host.name
-#ServerAdmin you(a)your.address
-ErrorLog logs/error_log
-TransferLog logs/access_log
-
-# SSL Engine Switch:
-# Enable/Disable SSL for this virtual host.
-SSLEngine on
-
-# SSL Cipher Suite:
-# List the ciphers that the client is permitted to negotiate.
-# See the mod_ssl documentation for a complete list.
-#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
-
-# Server Certificate:
-# Point SSLCertificateFile at a PEM encoded certificate. If
-# the certificate is encrypted, then you will be prompted for a
-# pass phrase. Note that a kill -HUP will prompt again. A test
-# certificate can be generated with `make certificate' under
-# built time. Keep in mind that if you've both a RSA and a DSA
-# certificate you can configure both in parallel (to also allow
-# the use of DSA ciphers, etc.)
-SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
-#SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt
-
-# Server Private Key:
-# If the key is not combined with the certificate, use this
-# directive to point at the key file. Keep in mind that if
-# you've both a RSA and a DSA private key you can configure
-# both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
-#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key
-
-# Server Certificate Chain:
-# Point SSLCertificateChainFile at a file containing the
-# concatenation of PEM encoded CA certificates which form the
-# certificate chain for the server certificate. Alternatively
-# the referenced file can be the same as SSLCertificateFile
-# when the CA certificates are directly appended to the server
-# certificate for convinience.
-#SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt
-
-# Certificate Authority (CA):
-# Set the CA certificate verification path where to find CA
-# certificates for client authentication or alternatively one
-# huge file containing all of them (file must be PEM encoded)
-# Note: Inside SSLCACertificatePath you need hash symlinks
-# to point to the certificate files. Use the provided
-# Makefile to update the hash symlinks after changes.
-#SSLCACertificatePath /etc/httpd/conf/ssl.crt
-#SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt
-
-# Certificate Revocation Lists (CRL):
-# Set the CA revocation path where to find CA CRLs for client
-# authentication or alternatively one huge file containing all
-# of them (file must be PEM encoded)
-# Note: Inside SSLCARevocationPath you need hash symlinks
-# to point to the certificate files. Use the provided
-# Makefile to update the hash symlinks after changes.
-#SSLCARevocationPath /etc/httpd/conf/ssl.crl
-#SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl
-
-# Client Authentication (Type):
-# Client certificate verification type and depth. Types are
-# none, optional, require and optional_no_ca. Depth is a
-# number which specifies how deeply to verify the certificate
-# issuer chain before deciding the certificate is not valid.
-#SSLVerifyClient require
-#SSLVerifyDepth 10
-
-# Access Control:
-# With SSLRequire you can do per-directory access control based
-# on arbitrary complex boolean expressions containing server
-# variable checks and other lookup directives. The syntax is a
-# mixture between C and Perl. See the mod_ssl documentation
-# for more details.
-#<Location />
-#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
-# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
-# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA",
"Dev"} \
-# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
-# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
-# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
-#</Location>
-
-# SSL Engine Options:
-# Set various options for the SSL engine.
-# o FakeBasicAuth:
-# Translate the client X.509 into a Basic Authorisation. This means that
-# the standard Auth/DBMAuth methods can be used for access control. The
-# user name is the `one line' version of the client's X.509 certificate.
-# Note that no password is obtained from the user. Every entry in the user
-# file needs this password: `xxj31ZMTZzkVA'.
-# o ExportCertData:
-# This exports two additional environment variables: SSL_CLIENT_CERT and
-# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
-# server (always existing) and the client (only existing when client
-# authentication is used). This can be used to import the certificates
-# into CGI scripts.
-# o StdEnvVars:
-# This exports the standard SSL/TLS related `SSL_*' environment variables.
-# Per default this exportation is switched off for performance reasons,
-# because the extraction step is an expensive operation and is usually
-# useless for serving static content. So one usually enables the
-# exportation for CGI and SSI requests only.
-# o CompatEnvVars:
-# This exports obsolete environment variables for backward compatibility
-# to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this
-# to provide compatibility to existing CGI scripts.
-# o StrictRequire:
-# This denies access when "SSLRequireSSL" or "SSLRequire" applied
even
-# under a "Satisfy any" situation, i.e. when it applies access is denied
-# and no other module can change it.
-# o OptRenegotiate:
-# This enables optimized SSL connection renegotiation handling when SSL
-# directives are used in per-directory context.
-#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
-<Files ~ "\.(cgi|shtml|phtml|php3?)$">
- SSLOptions +StdEnvVars
-</Files>
-<Directory "/var/www/cgi-bin">
- SSLOptions +StdEnvVars
-</Directory>
-
-# SSL Protocol Adjustments:
-# The safe and default but still SSL/TLS standard compliant shutdown
-# approach is that mod_ssl sends the close notify alert but doesn't wait for
-# the close notify alert from client. When you need a different shutdown
-# approach you can use one of the following variables:
-# o ssl-unclean-shutdown:
-# This forces an unclean shutdown when the connection is closed, i.e. no
-# SSL close notify alert is send or allowed to received. This violates
-# the SSL/TLS standard but is needed for some brain-dead browsers. Use
-# this when you receive I/O errors because of the standard approach where
-# mod_ssl sends the close notify alert.
-# o ssl-accurate-shutdown:
-# This forces an accurate shutdown when the connection is closed, i.e. a
-# SSL close notify alert is send and mod_ssl waits for the close notify
-# alert of the client. This is 100% SSL/TLS standard compliant, but in
-# practice often causes hanging connections with brain-dead browsers. Use
-# this only for browsers where you know that their SSL implementation
-# works correctly.
-# Notice: Most problems of broken clients are also related to the HTTP
-# keep-alive facility, so you usually additionally want to disable
-# keep-alive for those clients, too. Use variable "nokeepalive" for this.
-# Similarly, one has to force some clients to use HTTP/1.0 to workaround
-# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
-# "force-response-1.0" for this.
-SetEnvIf User-Agent ".*MSIE.*" \
- nokeepalive ssl-unclean-shutdown \
- downgrade-1.0 force-response-1.0
-
-# Per-Server Logging:
-# The home of a custom SSL log file. Use this when you want a
-# compact non-error SSL logfile on a virtual host basis.
-CustomLog logs/ssl_request_log \
- "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
-</VirtualHost>
-
-</IfDefine>
-
-Include conf/rhn_proxy.conf
diff --git a/web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf
b/web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf
deleted file mode 100644
index fba9c9e..0000000
--- a/web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-# ** DO NOT EDIT **
-# RHN Proxy handler configuration file
-
-# RHN Proxy Server location
-<LocationMatch "/*">
- # this stanza contains all the handlers for RHN app code
-
- # added for oracle
- SetEnv ORACLE_HOME /opt/oracle
- SetEnv NLS_LANG english.UTF8
-
- # mod_python
- <IfModule !mod_python.c>
- LoadModule python_module modules/mod_python.so
- AddModule mod_python.c
- </IfModule>
-
- PythonPath "sys.path+['/usr/share/rhn']"
- PythonDebug Off
-
- # this one shall be common for all the python configlets
- # (for pre-version 3.1 anyway)
- PythonOption RootDir /usr/share/rhn
-
- SetHandler python-program
- # all of these handlers are defined in apacheServer
- PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
- PythonHandler proxy.apacheServer::Handler
- PythonCleanupHandler proxy.apacheServer::CleanupHandler
- DefaultType text/xml
-</LocationMatch>
-
-# let apache do it's default thing for /pub/*, /index.html, and /_rhn_proxy
-# /pub is where user accessible data resides
-# /_rhn_proxy is for the landing page and anything additional we may want to
-# expand to in the future
-<LocationMatch "/pub/*">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<LocationMatch "/_rhn_proxy">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
diff --git a/web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml
deleted file mode 100644
index 32c2aec..0000000
--- a/web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml
+++ /dev/null
@@ -1,557 +0,0 @@
-<?xml version="1.0"?>
-
-<application acl-mixins="RHN::Access::System">
-
- <name>Satellite Proxy</name>
- <label>rhn_proxy</label>
- <version>3.6</version>
-
- <prerequisites>
- <org-channel-family>rhn-proxy</org-channel-family>
- <system-feature>ftr_proxy_capable</system-feature>
- <package-available>rhns-proxy-management</package-available>
- </prerequisites>
-
- <terms-and-conditions
url="http://www.redhat.com/licenses" />
-
- <install>
-
- <requirements>
-
<system-entitlement-possible>provisioning_entitled</system-entitlement-possible>
- <package-available>rhns-proxy-management</package-available>
- <client-capable>script.run</client-capable>
- <client-capable>configfiles.deploy</client-capable>
- </requirements>
-
- <collect-data description="Enable Monitoring Proxy"
- acl="org_entitlement(rhn_monitor); package_available(rhns-proxy-monitoring);
global_config(satellite); global_config(is_monitoring_backend)">
-
- <header>
-Would you like to enable Monitoring Proxy functionality on this system?
- </header>
-
- <rhn-form name="Enable Monitoring"
label="enable_monitoring">
- <widget type="checkbox" name="Enable Monitoring?"
label="enable_monitoring" default="1"/>
- </rhn-form>
- </collect-data>
-
- <collect-data description="Configure ${app.name} Server">
-
- <header>
-<p>
- Configure your ${app.name} Server below. The Administrator Email
- Address is the address to which system status messages are sent. For
- the ${app.name} Server to function properly, the ${app.name} Hostname
- must be set to the system's fully qualified domain name.
-</p>
-
-<p>
- The Satellite Parent Server is the hostname of the server this Proxy
- connects to. Depending on your configuration, it could be the
- central Satellite Servers, your organization's Satellite Server, or
- another ${app.name} Server. If this ${app.name} will be connecting
- through an HTTP proxy, populate the related fields.
-</p>
-
-<p>
- If you choose to enable Secure Sockets Layer (SSL), this Satellite Proxy
- will use SSL to connect to the Satellite Parent Server. Regardless of
- whether you enable SSL for the connection to the Satellite Parent Server,
- you will be prompted to generate an SSL certificate on the next page.
- This SSL certificate will allow client systems to connect to this
- ${app.name} securely. Refer to the RHN Proxy Installation Guide for
- more information.
-</p>
-<p>
- When using an HTTP Proxy Server, use the format "servername:port" to specify
the server. For example: "proxy-server.corp.com:8888".
-</p>
- </header>
-
- <rhn-form name="Configure Proxy"
label="configure_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="text" name="Administrator Email Address"
label="traceback_mail" size="40"
default="${user.email}">
- <require valid-email="1" />
- </widget>
- <widget type="text" name="${app.name} Hostname"
label="hostname" size="40"
default="${system.guess_hostname}">
- <require response="1"/>
- <require fqdn="1"/>
- <filter type="text" />
- </widget>
- <widget type="text" name="Satellite Parent Server"
label="rhn_parent" size="40"
default="${system.guess_rhn_parent}">
- <require response="1"/>
- <require fqdn="1"/>
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Server"
label="http_proxy" size="30">
- <filter type="text" />
- <require fqdn-and-port="1"/>
- </widget>
- <widget type="text" name="HTTP Proxy Username"
label="http_proxy_username" size="10">
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Password"
label="http_proxy_password" size="10">
- <filter type="text" />
- </widget>
- <widget type="checkbox" name="Enable SSL?"
label="enable_ssl" default="1" checked="1"
- acl="global_config(ssl_available) or not
global_config(satellite)"/>
- <widget type="literal" label="SSL" default="SSL is
not enabled on this Satellite."
- acl="global_config(satellite); not global_config(ssl_available)"/>
- <widget type="checkbox" name="Enable Push?"
label="enable_osad" default="1" checked="1"
- acl="global_config(satellite);
global_config(ssl_available)"/>
- </rhn-form>
-
- </collect-data>
-
- <collect-data description="Configure SSL"
acl="global_config(ssl_available); global_config(satellite)">
- <header>
- Enter your CA cert password and other SSL configuration
- information here. This information will be used to generate
- the server certificate used by the proxy server to communicate
- via SSL.
- </header>
-
- <rhn-form name="Configure SSL" label="configure_ssl">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
-
- <widget type="password" name="CA Cert Password"
label="ca_cert_password" size="15">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="Organization"
label="org" size="24">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="Organizational Unit"
label="org-unit" size="24">
- <require max-length="128"/>
- </widget>
-
- <widget type="text" name="Email Address"
label="email" size="40"
default="${session.traceback_mail}">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="City" label="city"
size="16">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="State" label="state"
size="16">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="select" name="Country"
label="country" size="1" default="US"
populate_options="RHN::SatInstall->valid_cert_countries">
- <require response="1"/>
- </widget>
-
- <widget type="text" name="Server cert Expiration (years)"
label="cert-expiration" size="3" default="5">
- <require max-length="3"/>
- <require response="1"/>
- </widget>
-
- <widget type="hidden" label="use_ssl"
default="1" />
- </rhn-form>
- </collect-data>
-
- <collect-data description="Skip SSL Configuration"
- acl="not global_config(ssl_available); global_config(satellite)">
- <header>
- You do not have SSL enabled for your Satellite Server.
- Therefore, SSL will not be available for this Satellite Proxy. SSL
- is a critical part of the security model of Satellite. If you wish
- to configure SSL at a later time, see the Satellite
- Installation Guide.
- </header>
-
- <rhn-form name="Configure SSL" label="configure_ssl">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="hidden" label="ca_chain"
default="/usr/share/rhn/RHNS-CA-CERT" />
- </rhn-form>
- </collect-data>
-
- <collect-data description="Configure SSL" acl="not
global_config(satellite)">
- <header>
- In order to configure SSL on your ${app.name}, you will need
- to generate a CA certificate and an SSL key pair. See the <a
- href="/help/proxy/s1-quickstart-install-config.html">RHN Proxy
- Installation Guide </a> for more details. After you have
- generated the SSL key, you will need to upload the resulting
- tar file containing the certificate files using the form
- below. If the SSL CA certificate included in the tar file does
- not already exist in your org's <a
- href="/network/keys/key_list.pxt" target="_new">list of
SSL
- keys</a>, it will be added to that list.
- </header>
-
- <rhn-form name="Configure SSL" label="configure_ssl">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="file" name="SSL key files (tar)"
label="ssl_key_tar">
- <require response="1"/>
- </widget>
- <widget type="hidden" label="use_ssl"
default="1" />
- </rhn-form>
- </collect-data>
-
- <activity description="Lookup Parent IP Address"
- acl="session_data_true(enable_monitoring)">
- <method-call class="RHN::ProxyInstall"
method="load_ip_address" />
- </activity>
-
- <collect-data description="Configure Satellite Monitoring Proxy"
acl="session_data_true(enable_monitoring)">
-
- <header>
- Configure the Monitoring aspects of your ${app.name} below.
- </header>
-
- <rhn-form name="Configure Monitoring Proxy"
label="configure_monitoring_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="text" name="Satellite Parent Server
Hostname" label="rhn_monitoring_parent" size="40"
default="${session.rhn_parent}">
- <require response="1"/>
- <require fqdn="1"/>
- <filter type="text" />
- </widget>
- <widget type="text" name="Satellite Parent Server IP
Address" label="rhn_monitoring_parent_ip" size="15"
default="${session.rhn_parent_ip}">
- <require response="1"/>
- <require valid-ip="1"/>
- <filter type="text" />
- </widget>
- <widget type="hidden" label="enable_monitoring_scout"
default="1"/>
- </rhn-form>
-
- </collect-data>
-
- <activity description="Provisioning entitle system">
- <set-system-entitlement>provisioning_entitled</set-system-entitlement>
- </activity>
-
- <activity description="Create ${app.name} Config Channel for
system">
- <create-config-channel>
- <org-id>${user.org_id}</org-id>
- <type>normal</type>
- <name>${app.name} Config Channel for ${system.name}</name>
- <label>rhn_proxy_config_${system.id}</label>
- <description>This config channel is for the ${app.name} application running
on ${system.name} (${system.id})</description>
- </create-config-channel>
- </activity>
-
- <activity description="Subscribe to ${app.name} Config Channel">
- <subscribe-system-to-config-channel
channel-label="rhn_proxy_config_${system.id}" order="first"/>
- </activity>
-
- <activity description="Import SSL server cert into Config Channel"
- acl="not global_config(satellite)">
- <method-call class="RHN::ProxyInstall"
method="import_ssl_cert">
-
<target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- <cert-tar>${session.ssl_key_tar}</cert-tar>
- </method-call>
- </activity>
-
- <activity description="Generate SSL server cert"
acl="global_config(ssl_available);global_config(satellite)">
- <method-call class="RHN::ProxyInstall"
method="generate_ssl_cert">
- <hostname>${session.hostname}</hostname>
- <ca-cert-password>${session.ca_cert_password}</ca-cert-password>
- <org>${session.org}</org>
- <org-unit>${session.org-unit}</org-unit>
- <email>${session.email}</email>
- <city>${session.city}</city>
- <state>${session.state}</state>
- <country>${session.country}</country>
- <cert-expiration>${session.cert-expiration}</cert-expiration>
- <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- </method-call>
- </activity>
-
- <activity description="Create SatCluster record for Satellite Monitoring
Proxy" acl="session_data_true(enable_monitoring)">
- <method-call class="RHN::ProxyInstall"
method="create_sat_cluster_record">
- <customer-id>${user.org_id}</customer-id>
- <description>${app.name} ${system.name} (${system.id})</description>
- <last-update-user>installer</last-update-user>
- </method-call>
- </activity>
-
- <activity description="Generate /etc/rhn/rhn.conf config file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/rhn/rhn.conf"
- template="rhn.conf" mode="640" username="root"
groupname="apache"/>
- </activity>
-
- <activity description="Generate /etc/rhn/cluster.ini config file"
acl="session_data_true(enable_monitoring)">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/rhn/cluster.ini"
- template="cluster.ini" mode="644" username="root"
groupname="root"/>
- </activity>
-
- <activity description="Generate /etc/squid/squid.conf config file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/squid/squid.conf"
- template="squid.conf" mode="755"/>
- </activity>
-
- <activity description="Generate /etc/httpd/conf/httpd.conf config
file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/httpd/conf/httpd.conf"
- template="httpd/httpd.conf" mode="444"/>
- </activity>
-
- <activity description="Generate /etc/httpd/conf/rhn_proxy.conf config
file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/httpd/conf/rhn_proxy.conf"
- template="httpd/rhn_proxy.conf" mode="640"
username="root" groupname="apache"/>
- </activity>
-
- <activity description="Generate /etc/jabberd/c2s.xml config file"
- acl="global_config(ssl_available);session_data_true(enable_osad)">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/jabberd/c2s.xml"
- template="jabberd/c2s.xml" mode="644"
username="root" groupname="root"/>
- </activity>
-
- <activity description="Generate /etc/jabberd/sm.xml config file"
- acl="global_config(ssl_available);session_data_true(enable_osad)">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/jabberd/sm.xml"
- template="jabberd/sm.xml" mode="644" username="root"
groupname="root"/>
- </activity>
-
- <activity description="Activate the ${app.name}">
- <method-call class="RHN::ProxyInstall"
method="activate_proxy">
- <version>${app.version}</version>
- </method-call>
- </activity>
-
- <schedule-actions description="Schedule ${app.name} install">
- <remove-packages>
- <rpm>python-xmlrpc</rpm>
- </remove-packages>
-
- <install-packages>
- <rpm>rhns-proxy-management</rpm>
- <rpm
acl="session_data_true(enable_monitoring)">rhns-proxy-monitoring</rpm>
- </install-packages>
-
- <deploy-configs>
- <action-name>Deploy Configuration</action-name>
- <configfile>/etc/rhn/rhn.conf</configfile>
- <configfile
acl="session_data_true(enable_monitoring)">/etc/rhn/cluster.ini</configfile>
- <configfile>/etc/squid/squid.conf</configfile>
- <configfile>/etc/httpd/conf/httpd.conf</configfile>
- <configfile>/etc/httpd/conf/rhn_proxy.conf</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/etc/httpd/conf/ssl.crt/server.crt</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/etc/httpd/conf/ssl.csr/server.csr</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/etc/httpd/conf/ssl.key/server.key</configfile>
- <configfile
acl="session_data_true(org_ssl_cert)">/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT</configfile>
- <configfile
acl="session_data_true(ca_rpm)">${session.ca_rpm}</configfile>
- <configfile
acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/server.pem</configfile>
- <configfile
acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/c2s.xml</configfile>
- <configfile
acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/sm.xml</configfile>
- </deploy-configs>
-
- <run-script acl="session_data_true(enable_monitoring)">
- <action-name>Enable Monitoring Services</action-name>
- <script>
-#!/bin/sh
-
-/etc/rc.d/np.d/step MonitoringScout install
- </script>
- </run-script>
-
- <run-script>
- <action-name>Allow Proxy service to read Satellite
Configuration</action-name>
- <script>
-#!/bin/sh
-chown root.apache /etc/sysconfig/rhn/systemid
-chmod 640 /etc/sysconfig/rhn/systemid
- </script>
- </run-script>
-
- <restart-services>
- <action-name>Start ${app.name}</action-name>
- <service>rhn-proxy</service>
- </restart-services>
- </schedule-actions>
-
- <redirect
save-session="1">/network/systems/details/proxy/install_progress.pxt?sid=${system.id}&version=${app.version}</redirect>
-
- </install>
-
- <install-progress acl="action_pending_named(Start Satellite Proxy) or
last_action_attempt_failed(Start Satellite Proxy)">
-
- <action-status description="Install progress">
- <header>
-You are installing ${app.name} on this system. Below is the list of actions for this
installation.
- </header>
-
- <inprogress>
- Once these actions are complete, your ${app.name} should be available for use.
- </inprogress>
-
- <complete>
- The installation is complete.
- </complete>
-
- <failed>
- The installation has failed. Click on the failed action for
- more details, resolve the error that prevented installation,
- and
-<a
href="/network/systems/details/proxy/index.pxt?sid=${system.id}&version=${app.version}">try
your installation again</a>.
- Or, you can
-<a
href="/network/systems/details/proxy.pxt?sid=${system.id}&pxt_trap=rhn:cancel_scheduled_proxy_install_cb">cancel
this installation process</a>.
- </failed>
-
- <target-action name="Start ${app.name}" show-chain="1"/>
- </action-status>
-
- </install-progress>
-
- <configure>
- <activity description="Create ${app.name} Config Channel for system if does
not already exist">
- <create-config-channel>
- <org-id>${user.org_id}</org-id>
- <type>normal</type>
- <name>${app.name} Config Channel for ${system.name}</name>
- <label>rhn_proxy_config_${system.id}</label>
- <description>This config channel is for the ${app.name} application running
on ${system.name} (${system.id})</description>
- </create-config-channel>
- </activity>
-
- <activity description="Subscribe to ${app.name} Config Channel">
- <subscribe-system-to-config-channel
channel-label="rhn_proxy_config_${system.id}" order="first"/>
- </activity>
-
- <activity description="Generate /etc/rhn/rhn.conf config file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/rhn/rhn.conf"
- template="rhn.conf" mode="640" username="root"
groupname="apache" new_only="1"/>
- </activity>
-
-
- <activity description="Load current configuration">
- <method-call class="RHN::ProxyInstall"
method="load_configfile_into_session">
-
<target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- <target-config-file>/etc/rhn/rhn.conf</target-config-file>
- </method-call>
- </activity>
-
- <collect-data description="Configure ${app.name}">
-
- <header>
-<p>
-Configure your ${app.name} below. The Administrator Email Address is
-the address to which system status e-mail will be sent. Please note
-that if you have modified the configuration locally on the proxy
-without importing those changes into the Proxy Config Channel for this
-system, this action will overwrite those changes.
-</p>
-<p>
-Also, configuration changes here will not update the configuration for
-the up2date client. Only the ${app.name} application will be
-configured. For instance, if you want this system to connect through
-an HTTP proxy, you will need to configure the ${app.name} software
-here, and configure the up2date client separately.
-</p>
-<p>
- When using an HTTP Proxy Server, use the format "servername:port" to specify
the server. For example: "proxy-server.corp.com:8888".
-</p>
- </header>
-
- <rhn-form name="Configure Proxy"
label="configure_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="text" name="Administrator Email Address"
label="traceback_mail" size="40"
default="${session.traceback_mail}">
- <require valid-email="1" />
- </widget>
- <widget type="text" name="HTTP Proxy Server"
label="proxy.http_proxy" size="30"
default="${session.proxy.http_proxy}">
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Username"
label="proxy.http_proxy_username" size="10"
default="${session.proxy.http_proxy_username}">
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Password"
label="proxy.http_proxy_password" size="10"
default="${session.proxy.http_proxy_password}">
- <filter type="text" />
- </widget>
- </rhn-form>
-
- </collect-data>
-
- <activity description="Update ${app.name} Configuration">
- <method-call class="RHN::ProxyInstall"
method="update_configfile_from_session">
-
<target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- <target-config-file>/etc/rhn/rhn.conf</target-config-file>
- </method-call>
- </activity>
-
- <schedule-actions description="Schedule ${app.name} install">
-
- <deploy-configs>
- <configfile>/etc/rhn/rhn.conf</configfile>
- </deploy-configs>
-
- <restart-services>
- <action-name>Start ${app.name}</action-name>
- <service>rhn-proxy</service>
- </restart-services>
-
- </schedule-actions>
-
- <collect-data description="Configuration update scheduled"
no-cancel="1">
- <header>
-Reconfiguration actions for ${app.name} ${app.version} have been scheduled.
- </header>
-
- <rhn-form name="Installation Complete"
label="install_complete">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="hidden" label="continue_redir"
default="/rhn/systems/details/Overview.do" />
- </rhn-form>
-
- </collect-data>
-
- </configure>
-
- <remove>
-
- <collect-data description="Deactivate ${app.name}">
-
- <header>
-You can deactivate your ${app.name}. The ${app.name} services on the system
-will be stopped, and it will not show up as a Proxy in the Satellite web
-interface. The packages set and configuration of the system will not
-otherwise be affected. Systems that connect to Satellite through this
-proxy will need to be reconfigured to use a different Satellite server.
- </header>
-
- <rhn-form name="Deactivate Proxy"
label="deactivate_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- </rhn-form>
-
- </collect-data>
-
- <activity description="Deactivate ${app.name} in local
configuration">
- <method-call class="RHN::ProxyInstall"
method="deactivate_proxy"/>
- </activity>
-
- <schedule-actions description="Deactivate ${app.name}">
-
- <stop-services>
- <action-name>Stop ${app.name} Services</action-name>
- <service>rhn-proxy</service>
- </stop-services>
-
- </schedule-actions>
-
- <collect-data description="Proxy deactivation scheduled"
no-cancel="1">
- <header>
-A deactivation for ${app.name} ${app.version} on ${system.name} has been scheduled.
- </header>
-
- <rhn-form name="Deactivation Complete"
label="deactivation_complete">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="hidden" label="continue_redir"
default="/rhn/systems/details/Overview.do" />
- </rhn-form>
- </collect-data>
-
- </remove>
-
-</application>
diff --git a/web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml
b/web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml
deleted file mode 100644
index c070324..0000000
--- a/web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml
+++ /dev/null
@@ -1,347 +0,0 @@
-<!-- c2s configuration -->
-<c2s>
- <!-- Our ID on the network (default: c2s) -->
- <id>c2s</id>
-
- <!-- The process ID file. comment this out if you don't need to know
- to know the process ID from outside the process (eg for control
- scripts) -->
- <pidfile>/var/run/jabberd-c2s.pid</pidfile>
-
- <!-- Router connection configuration -->
- <router>
- <!-- IP/port the router is waiting for connections on -->
- <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 -->
- <port>5347</port> <!-- default: 5347 -->
-
- <!-- Username/password to authenticate as -->
- <user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
-
- <!-- File containing a SSL certificate and private key to use when
- setting up an encrypted channel with the router. If this is
- commented out, or the file can't be read, no attempt will be
- made to establish an encrypted channel with the router. -->
-
- <pemfile>/etc/jabberd/server.pem</pemfile>
-
- <!-- Router connection retry -->
- <retry>
- <!-- If the connection to the router can't be established at
- startup, we should try again this many times before exiting.
- Use -1 to retry indefinitely. [default: 3] -->
- <init>3</init>
-
- <!-- If we lost the connection to the router during normal
- operation (ie we've successfully connected to the router in
- the past), we should try to reconnect this many times before
- exiting. Use -1 to retry indefinitely. [default: 3] -->
- <lost>3</lost>
-
- <!-- Sleep for this many seconds before trying attempting a
- reconnect. [default: 2] -->
- <sleep>2</sleep>
- </retry>
- </router>
-
- <!-- Log configuration - type is "syslog", "file" or
"stdout" -->
- <log type='syslog'>
- <!-- If logging to syslog, this is the log ident -->
- <ident>jabberd/c2s</ident>
-
- <!-- If logging to syslog, this is the log facility
- (local0 - local7) [default: local3] -->
- <facility>local3</facility>
-
- <!-- If logging to file, this is the filename of the logfile -->
- <!--
- <file>/var/log/jabberd/c2s.log</file>
- -->
- </log>
-
- <!-- Local network configuration -->
- <local>
- <!-- Who we identify ourselves as. This should correspond to the
- ID (host) that the session manager thinks it is. You can
- specify more than one to support virtual hosts, as long as you
- have additional session manager instances on the network to
- handle those hosts. The realm attribute specifies the auth/reg
- or SASL authentication realm for the host. If the attribute is
- not specified, the realm will be selected by the SASL
- mechanism, or will be the same as the ID itself. Be aware that
- users are assigned to a realm, not a host, so two hosts in the
- same realm will have the same users.
- If no realm is specified, it will be set to be the same as the
- ID. -->
- <id>${session.hostname}</id>
- <!-- <id realm='company'>localhost</id> -->
-
- <!-- IP address to bind to (default: 0.0.0.0) -->
- <ip>0.0.0.0</ip>
-
- <!-- Port to bind to, or 0 to disable unencrypted access to the
- server (default: 5222) -->
- <port>5222</port>
-
- <!-- File containing a SSL certificate and private key for client
- connections. If this is commented out, clients will not be
- offered the STARTTLS stream extension -->
- <pemfile>/etc/jabberd/server.pem</pemfile>
-
- <!-- Require STARTTLS. If this is enabled, clients must do STARTTLS
- before they can authenticate. Until the stream is encrypted,
- all packets will be dropped. -->
- <!--
- <require-starttls/>
- -->
-
- <!-- Older versions of jabberd support encrypted client connections
- via an additional listening socket on port 5223. If you want
- this (required to allow pre-STARTTLS clients to do SSL),
- uncomment this -->
- <!--
- <ssl-port>5223</ssl-port>
- -->
- </local>
-
- <!-- Input/output settings -->
- <io>
- <!-- Maximum number of file descriptors. Note that the number of
- possible connections will be slightly less than this, because
- c2s itself can use up five on its own, and auth/reg modules may
- need a few also. If the supply of file descriptors is
- exhausted, new incoming connections will be denied.
- (default: 1024) -->
- <max_fds>1024</max_fds>
-
- <!-- Rate limiting -->
- <limits>
- <!-- Maximum bytes per second - if more than X bytes are sent in Y
- seconds, connection is throttled for Z seconds. The format
- is:
-
- <bytes seconds='Y' throttle='Z'>X</bytes>
-
- Default Y is 1, default Z is 5. set X to 0 to disable. -->
- <bytes>0</bytes>
-
- <!-- Maximum connects per second - if more than X connects are
- attempted from a single IP in Y seconds, that IP is throttled
- for Z seconds. The format is:
-
- <connects seconds='Y' throttle='Z'>X</connects>
-
- Default Y is 5, default Z is 5. set X to 0 to disable. -->
- <connects>0</connects>
- </limits>
-
- <!-- IP-based access controls. If a connection IP matches an allow
- rule, the connection will be accepted. If a connecting IP
- matches a deny rule, the connection will be refused. If the
- connecting IP does not match any rules, or it matches both an
- allow and a deny rule, the contents of the <order/> option
- determines what happens. -->
- <access>
- <!-- Rule check order (default: allow,deny)
-
- allow,deny - Check allow rules, then check deny rules.
- Allow by default.
- deny,allow - Check deny rules, then check allow rules.
- Deny by default. -->
- <order>allow,deny</order>
-
- <!-- Allow a network. If the mask isn't specified, it defaults to
- 255.255.255.255 (ie allow onle the specified IP) -->
- <!--
- <allow ip='127.0.0.0' mask='255.0.0.0'/>
- -->
-
- <!-- Allow a single host -->
- <!--
- <allow ip='12.34.56.78'/>
- -->
-
- <!-- Deny a network or a host -->
- <!--
- <deny ip='127.0.0.1' mask='255.0.0.0'/>
- <deny ip='87.65.43.21'/>
- -->
- </access>
-
- <!-- Timed checks -->
- <check>
- <!-- Interval between checks.
-
- Open client connections will be checked every n seconds, and
- the following checks applied.
-
- 0 disables all checks. (default: 0) -->
- <interval>0</interval>
-
- <!-- Idle connection checks.
-
- Connections that have not sent data for longer than this many
- seconds will be dropped.
-
- 0 disables idle timeouts. (default: 0) -->
- <idle>0</idle>
-
- <!-- Keepalives.
-
- Connections that have not sent data for longer than this many
- seconds will have a single whitespace character sent to them.
- This will force the TCP connection to be closed if they have
- disconnected without us knowing about it.
-
- 0 disables keepalives. (default: 0) -->
- <keepalive>0</keepalive>
-
- </check>
-
- </io>
-
- <!-- Authentication/registration database configuration -->
- <authreg>
- <!-- Backend module to use -->
- <module>db</module>
-
- <!-- Registration configuration -->
- <register>
- <!-- Account registration is enabled by default (provided the
- auth/reg module in use supports it). Comment this out to
- disable. -->
- <enable/>
-
- <!-- Human-readable instructions to be returned to client when
- registration is requested. -->
- <instructions>Enter a username and password to register with this
server.</instructions>
-
- <!-- Password change only. When registration is disabled, it may
- still be useful to allow clients to change their password. If
- you want this, uncomment this when you disable registration. -->
- <!--
- <password/>
- -->
- </register>
-
- <!-- Available authentication mechanisms -->
- <mechanisms>
-
- <!-- These are the traditional Jabber authentication mechanisms.
- Comment out any that you don't want to be offered to clients.
- Note that if the auth/reg module does not support one of
- these mechanisms, then it will not be offered regardless of
- whether or not it is enabled here.
-
- Similarly, if <zerok/> is disabled, then zero-knowledge data
- will not be created when a user is registered. -->
- <traditional>
- <plain/>
- <digest/>
- <zerok/>
- </traditional>
-
- <!-- SASL authentication mechanisms. Comment out any that you
- don't want to be offered to clients. Again, if the auth/reg
- module does not support one of these mechanisms, then it will
- not be offered. -->
- <sasl>
- <plain/>
- <digest-md5/>
- <!--
- <anonymous/>
- -->
- </sasl>
-
- </mechanisms>
-
- <!-- MySQL module configuration -->
- <mysql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>3306</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
- </mysql>
-
- <!-- PostgreSQL module configuration -->
- <pgsql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>5432</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
- </pgsql>
-
- <!-- Berkeley DB module configuration -->
- <db>
- <!-- Directory to store database files under -->
- <path>/var/lib/jabberd</path>
-
- <!-- Synchronize the database to disk after each write. If you
- disable this, database accesses may be faster, but data may
- be lost if jabberd crashes. -->
- <sync/>
- </db>
-
- <!-- LDAP module configuration -->
- <ldap>
- <!-- LDAP server host and port (default: 389) -->
- <host>ldap.example.com</host>
- <port>389</port>
-
- <!-- Use LDAP v3 if possible. If disabled, v2 will be used.
- Encryption options are only available if v3 is enabled. -->
- <!--
- <v3/>
- -->
-
- <!-- Encryption. If enabled, this will create an encrypted channel
- to the LDAP server using the LDAP STARTTLS mechanism. -->
- <!--
- <starttls/>
- -->
-
- <!-- Encryption. If enabled, this will create an encrypted channel
- to the server using the old-style "ldaps://" mechanism. It is
- recommended that you use <starttls/> instead of this. -->
- <!--
- <ssl/>
- -->
-
- <!-- DN to bind as for searches. If unspecified, the searches
- will be done anonymously. -->
- <!--
- <binddn>cn=Directory Manager</binddn>
- <bindpw>secret</bindpw>
- -->
-
- <!-- LDAP attribute that holds the user ID (default: uid) -->
- <uidattr>uid</uidattr>
-
- <!-- base DN of the tree. You should specify a DN for each
- authentication realm declared in the <local/> section above,
- by using the realm attribute. -->
- <basedn realm='company'>o=Company.com</basedn>
- <basedn>o=Example Corp.</basedn>
- </ldap>
-
- <!-- Pipe module configuration -->
- <pipe>
- <!-- Program to execute -->
- <exec>/usr/bin/pipe-auth.pl</exec>
- </pipe>
-
- </authreg>
-
-</c2s>
diff --git a/web/html/applications/rhn-proxy/3.6/jabberd/sm.xml
b/web/html/applications/rhn-proxy/3.6/jabberd/sm.xml
deleted file mode 100644
index 44fa67b..0000000
--- a/web/html/applications/rhn-proxy/3.6/jabberd/sm.xml
+++ /dev/null
@@ -1,379 +0,0 @@
-<!-- Session manager configuration -->
-<sm>
- <!-- Our ID on the network. Users will have this as the domain part of
- their JID. If you want your server to be accessible from other
- Jabber servers, this ID must be resolvable by DNS.s
- (default: localhost) -->
- <id>${session.hostname}</id>
-
- <!-- The process ID file. comment this out if you don't need to know
- to know the process ID from outside the process (eg for control
- scripts) -->
- <pidfile>/var/run/jabberd-sm.pid</pidfile>
-
- <!-- Router connection configuration -->
- <router>
- <!-- IP/port the router is waiting for connections on -->
- <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 -->
- <port>5347</port> <!-- default: 5347 -->
-
- <!-- Username/password to authenticate as -->
- <user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
-
- <!-- File containing a SSL certificate and private key to use when
- setting up an encrypted channel with the router. If this is
- commented out, or the file can't be read, no attempt will be
- made to establish an encrypted channel with the router. -->
- <!--
- <pemfile>/etc/jabberd/server.pem</pemfile>
- -->
- <!-- Router connection retry -->
- <retry>
- <!-- If the connection to the router can't be established at
- startup, we should try again this many times before exiting.
- Use -1 to retry indefinitely. [default: 3] -->
- <init>3</init>
-
- <!-- If we lost the connection to the router during normal
- operation (ie we've successfully connected to the router in
- the past), we should try to reconnect this many times before
- exiting. Use -1 to retry indefinitely. [default: 3] -->
- <lost>3</lost>
-
- <!-- Sleep for this many seconds before trying attempting a
- reconnect. [default: 2] -->
- <sleep>2</sleep>
- </retry>
- </router>
-
- <!-- Log configuration - type is "syslog", "file" or
"stdout" -->
- <log type='syslog'>
- <!-- If logging to syslog, this is the log ident -->
- <ident>jabberd/sm</ident>
-
- <!-- If logging to syslog, this is the log facility
- (local0 - local7) [default: local3] -->
- <facility>local3</facility>
-
- <!-- If logging to file, this is the filename of the logfile -->
- <!--
- <file>/var/log/jabberd/sm.log</file>
- -->
- </log>
-
- <!-- Storage database configuration -->
- <storage>
- <!-- By default, we use the MySQL driver for all storage -->
- <driver>db</driver>
-
- <!-- Its also possible to explicitly list alternate drivers for
- specific data types. -->
- <!-- Store vcards in a PostgreSQL database instead -->
- <!--
- <driver type='vcard'>pgsql</driver>
- -->
-
- <!-- MySQL driver configuration -->
- <mysql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>3306</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
-
- <!-- Transacation support. If this is commented out, transactions
- will be disabled. This might make database accesses faster,
- but data may be lost if jabberd crashes.
-
- This will need to be disabled if you are using a MySQL
- earlier than v3.23.xx, as transaction support did not appear
- until this version. -->
- <transactions/>
- </mysql>
-
- <!-- PostgreSQL driver configuration -->
- <pgsql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>5432</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
-
- <!-- Transacation support. If this is commented out, transactions
- will be disabled. This might make database accesses faster,
- but data may be lost if jabberd crashes. -->
- <transactions/>
- </pgsql>
-
- <!-- Berkeley DB driver configuration -->
- <db>
- <!-- Directory to store database files under -->
- <path>/var/lib/jabberd</path>
-
- <!-- Synchronize the database to disk after each write. If you
- disable this, database accesses may be faster, but data may
- be lost if jabberd crashes. -->
- <sync/>
- </db>
- </storage>
-
- <!-- Access control information -->
- <aci>
- <!-- The JIDs listed here will get access to all restricted
- functions, regardless of restrictions further down -->
- <acl type='all'>
- <jid>admin@localhost</jid>
- </acl>
-
- <!-- These JIDs can send broadcast messages (announce, motd) -->
- <!--
- <acl type='broadcast'>
- <jid>nocstaff1@localhost</jid>
- <jid>nocstaff2@localhost</jid>
- </acl>
- -->
-
- <!-- These JIDs will receive messages addressed to the sm itself
- (help requestes and such) -->
- <!--
- <acl type='messages'>
- <jid>support@localhost</jid>
- </acl>
- -->
-
- <!-- These JIDs can discover active user/session information -->
- <!--
- <acl type='disco'>
- <jid>webstatus@localhost</jid>
- </acl>
- -->
- </aci>
-
- <!-- Module chain configuration
-
- Modules listed in a chain are called in the order specified at
- the appropriate time for that chain (assuming that the module
- knows how to work with that chain; otherwise it simply ignores
- it).
-
- Removing a module from these lists will stop the module being
- called, even if its compiled into the server.
-
- Serveral modules have a presence in more than one chain. It is
- possible to remove a module from one chain but not others, but
- this may cause strange behaviour. Make sure you know what you're
- doing. -->
- <modules>
-
- <!-- sess-start. The modules in this chain are called when a session
- is first started (usually on request by c2s as part of the
- authentication process). This is normally used to load
- per-session data. -->
- <chain id='sess-start'/>
-
- <!-- sess-end. The modules in this chain are called just before a
- session is destroyed (after the client has disconnected). -->
- <chain id='sess-end'>
- <module>iq-last</module> <!-- update logout time -->
- </chain>
-
- <!-- in-sess. The modules in this chain are called when a packet
- arrives from an active user session. Note that this chain is
- also responsible for delivering packets to their destinations -
- this is usually handled by the "deliver" module. -->
- <chain id='in-sess'>
- <module>validate</module> <!-- validate packet type -->
- <module>privacy</module> <!-- manage privacy lists -->
- <module>roster</module> <!-- handle roster get/sets and
s10ns -->
- <module>vacation</module> <!-- manage vacation settings
-->
- <module>iq-vcard</module> <!-- store and retrieve the
user's vcard -->
- <module>iq-private</module> <!-- manage the user's private
data store -->
- <module>disco</module> <!-- respond to agents requests
from sessions -->
- <module>offline</module> <!-- if we're coming online
for the first time, deliver queued messages -->
- <module>announce</module> <!-- deliver motd -->
- <module>presence</module> <!-- process and distribute
presence updates -->
- <module>deliver</module> <!-- deliver packets with full
jids directly -->
- </chain>
-
- <!-- out-sess. The modules in this chain are called just before a
- packet is delivered to an active user session. -->
- <chain id='out-sess'/>
-
- <!-- in-router. The modules in this chain are called when a packet
- arrives from the router (ie another component or s2s), but
- before any processing is done. This is a good place to filter
- incoming packets. -->
- <chain id='in-router'>
- <module>session</module> <!-- perform session actions as
required by c2s -->
- <module>validate</module> <!-- validate packet type -->
- <module>presence</module> <!-- drop incoming presence if
user not online -->
- <module>privacy</module> <!-- filter incoming packets based
on privacy rules -->
- </chain>
-
- <!-- out-router. The modules in this chain are called just before a
- packet is delivered to the router (destined for another
- component or s2s). This is a good place to filter outgoing
- packets. -->
- <chain id='out-router'>
- <module>privacy</module> <!-- filter outgoing packets based
on privacy rules -->
- </chain>
-
- <!-- pkt-sm. The modules in this chain are called when a packet
- arrives that is addressed to the session manager itself (ie the
- to JID has no node part). This is normally used to provide
- session-manager-wide services (like service discovery). -->
- <chain id='pkt-sm'>
- <module>iq-last</module> <!-- return the server uptime
-->
- <module>iq-time</module> <!-- return the current server
time -->
- <module>iq-version</module> <!-- return the server name and
version -->
- <module>disco</module> <!-- build the disco list; respond
to disco queries -->
- <module>announce</module> <!-- send broadcast messages
(announce, motd, etc) -->
- <module>help</module> <!-- resend sm messages to
administrators -->
- <module>echo</module> <!-- echo messages sent to /echo
-->
- </chain>
-
- <!-- pkt-user. The modules in this chain are called when a packet
- arrives that is address to a specific user. Note that this
- chain is also responsible for delivering packets to user
- sessions as appropriate - this is usually handled by the
- "deliver" module. -->
- <chain id='pkt-user'>
- <module>roster</module> <!-- handle s10n responses -->
- <module>presence</module> <!-- process and distribute
incoming presence from external entities -->
- <module>iq-vcard</module> <!-- grab user vcards -->
- <module>deliver</module> <!-- deliver the packet to an
active session if we can -->
- <module>vacation</module> <!-- send vacation messages
-->
- <module>offline</module> <!-- save messages and s10ns for
later -->
- <module>disco-publish</module> <!-- handle disco publishes;
return information about user sessions -->
- <module>iq-last</module> <!-- return time since last logout
-->
- </chain>
-
- <!-- pkt-router. The modules in this chain are called when a
- special-purpose packet arrives from the router (eg domain
- advertisements). -->
- <chain id='pkt-router'>
- <module>session</module> <!-- take sessions offline their
c2s disappears -->
- <module>disco</module> <!-- query new components for
service information -->
- </chain>
-
- <!-- user-load. The modules in this chain are called to load
- per-user data. This will happen before a user can be used (ie
- before a session is created). -->
- <chain id='user-load'>
- <module>active</module> <!-- get active status -->
- <module>roster</module> <!-- load the roster and trust
list -->
- <module>privacy</module> <!-- load privacy lists -->
- <module>disco-publish</module> <!-- load published information
-->
- <module>vacation</module> <!-- load vacation settings
-->
- </chain>
-
- <!-- user-create. The modules in this chain are called when a user
- creation request is received (usually from c2s as part of a
- registration request). This initialises any per-user data. -->
- <chain id='user-create'>
- <module>active</module> <!-- activate new users -->
- <module>template-roster</module> <!-- populate roster from template
-->
- </chain>
-
- <!-- user-delete. The modules in this chain are called when a user
- deletion request is received (usually from c2s as part of a
- registration removal request). This deletes all data that may
- have been previously created for the user during normal
- operation. -->
- <chain id='user-delete'>
- <module>active</module> <!-- deactivate users -->
- <module>announce</module> <!-- delete motd data -->
- <module>disco-publish</module> <!-- delete published information
-->
- <module>offline</module> <!-- bounce queued messages
-->
- <module>privacy</module> <!-- delete privacy lists -->
- <module>roster</module> <!-- delete roster -->
- <module>vacation</module> <!-- delete vacation settings
-->
- <module>iq-last</module> <!-- delete last logout time
-->
- <module>iq-private</module> <!-- delete private data -->
- <module>iq-vcard</module> <!-- delete vcard -->
- </chain>
-
- </modules>
-
- <!-- Service discovery configuration -->
- <discovery>
-
- <!-- Service identity. these specify the category, type and name of
- this service that will be included in discovery information
- responses. -->
- <identity>
- <category>server</category> <!-- default: server -->
- <type>im</type> <!-- default: im -->
- <name>Jabber IM server</name> <!-- default: Jabber IM server
-->
- </identity>
-
- <!-- The discovery module can respond to jabber:iq:agents queries
- for compatibility with older clients. Comment this out to
- disable this. -->
- <agents/>
-
- <!-- Static service list.
-
- The discover module can discover disco-capable services
- automatically as they come online. Most legacy services,
- however, will not support discovery. In order to get them to
- appear in disco/agents lists returned to the client, they
- should be listed here.
-
- Note that if a disco-capable service with the same name as one
- listed below comes online, the information it provides will
- override the information listed below.
-
- The "category" and "type" attributes, and the list of
supported
- namespaces are only used for agents compatibility. If you have
- disabled this above, you may omit them. -->
- <items>
-
- <!-- example entry for a user directory -->
- <!--
- <item category='service' type='jud'
jid='users.jabber.org' name='Jabber User Directory'/>
- -->
-
- <!-- example entry for a groupchat (conference) service -->
- <!--
- <item category='conference' type='public'
jid='conference.jabber.org' name='Text conferencing'/>
- -->
-
- </items>
-
- </discovery>
-
- <!-- User options -->
- <user>
- <!-- By default, users must explicitly created before they can start
- a session. The creation process is usually triggered by a c2s
- component in response to a client registering a new user.
-
- Enableing this option will make it so that a user create will be
- triggered the first time a non-existant user attempts to start
- a session. This is useful if you already have users in an
- external authentication database (eg LDAP) and you don't want
- them to have to register. -->
- <auto-create/>
-
- <!-- Templates. If defined, the contents of these files will be
- stored in the users data store when they are created. -->
- <template>
- <!--
- <roster>/etc/jabberd/templates/roster.xml</roster>
- -->
- </template>
- </user>
-
-</sm>
diff --git a/web/html/applications/rhn-proxy/3.6/rhn.conf
b/web/html/applications/rhn-proxy/3.6/rhn.conf
deleted file mode 100644
index 1114598..0000000
--- a/web/html/applications/rhn-proxy/3.6/rhn.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-# Automatically generated RHN Proxy Server configuration file.
-# -------------------------------------------------------------------------
-
-# SSL CA certificate location
-proxy.ca_chain = ${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}
-
-# Corporate HTTP proxy, format: corp_gateway.example.com:8080
-proxy.http_proxy = ${session.http_proxy}
-
-# Username for that corporate HTTP proxy
-proxy.http_proxy_username = ${session.http_proxy_username}
-
-# Password for that corporate HTTP proxy
-proxy.http_proxy_password = ${session.http_proxy_password}
-
-# Location of locally built, custom packages
-proxy.pkg_dir = /var/spool/rhn-proxy
-
-# Hostname of RHN Server or RHN Satellite
-proxy.rhn_parent = ${session.rhn_parent}
-
-# Destination of all tracebacks, etc.
-traceback_mail = ${session.traceback_mail}
-
-# SSL eabled or disabled
-proxy.use_ssl = ${session.use_ssl:0}
-
-# Monitoring Scout enabled or disabled
-web.is_monitoring_scout = ${session.enable_monitoring_scout:0}
diff --git a/web/html/applications/rhn-proxy/3.6/squid.conf
b/web/html/applications/rhn-proxy/3.6/squid.conf
deleted file mode 100644
index 1b18d39..0000000
--- a/web/html/applications/rhn-proxy/3.6/squid.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-# squid.conf
-# To be used for RHN Proxy servers.
-#
-# $Id$
-
-http_port 8080
-
-cache_mem 400 MB
-maximum_object_size 200 MB
-cache_dir ufs /var/spool/squid 15000 32 256
-
-cache_replacement_policy heap LFUDA
-memory_replacement_policy heap GDSF
-
-refresh_pattern . 0 100% 120000
-
-acl all src 0.0.0.0/0.0.0.0
-acl localhost src 127.0.0.1/255.255.255.255
-acl SSL_ports port 443
-acl Safe_ports port 80 # http
-acl Safe_ports port 443 # https
-acl CONNECT method CONNECT
-
-http_access deny !Safe_ports
-http_access deny CONNECT !SSL_ports
-http_access allow localhost
-http_access deny all
-icp_access allow all
-miss_access allow all
-
diff --git a/web/html/applications/rhn-proxy/3.7/cluster.ini
b/web/html/applications/rhn-proxy/3.7/cluster.ini
deleted file mode 100644
index 5cb0ec1..0000000
--- a/web/html/applications/rhn-proxy/3.7/cluster.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-RemoteConfig.0.protocol=https
-RemoteConfig.0.path=/satconfig/cgi-bin/fetch_nocpulseini.cgi
-smonaddr=${session.rhn_monitoring_parent_ip}
-smonfqdn=${session.rhn_monitoring_parent}
-smontestaddr=${session.rhn_monitoring_parent_ip}
-smontestfqdn=${session.rhn_monitoring_parent}
-scoutsharedkey=${session.scout_shared_key}
-PhysNode.1.exists=1
diff --git a/web/html/applications/rhn-proxy/3.7/httpd/httpd.conf
b/web/html/applications/rhn-proxy/3.7/httpd/httpd.conf
deleted file mode 100644
index a065c7c..0000000
--- a/web/html/applications/rhn-proxy/3.7/httpd/httpd.conf
+++ /dev/null
@@ -1,1461 +0,0 @@
-#
-# Based upon the NCSA server configuration files originally by Rob McCool.
-#
-# This is the main Apache server configuration file. It contains the
-# configuration directives that give the server its instructions.
-# See <
URL:http://www.apache.org/docs/> for detailed information about
-# the directives.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do. They're here only as hints or reminders. If you are unsure
-# consult the online docs. You have been warned.
-#
-# After this file is processed, the server will look for and process
-# /etc/httpd/conf/srm.conf and then /etc/httpd/conf/access.conf
-# unless you have overridden these with ResourceConfig and/or
-# AccessConfig directives here.
-#
-# The configuration directives are grouped into three basic sections:
-# 1. Directives that control the operation of the Apache server process as a
-# whole (the 'global environment').
-# 2. Directives that define the parameters of the 'main' or 'default'
server,
-# which responds to requests that aren't handled by a virtual host.
-# These directives also provide default values for the settings
-# of all virtual hosts.
-# 3. Settings for virtual hosts, which allow Web requests to be sent to
-# different IP addresses or hostnames and have them handled by the
-# same Apache server process.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for
Win32), the
-# server will use that explicit path. If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so
"logs/foo.log"
-# with ServerRoot set to "/usr/local/apache" will be interpreted by the
-# server as "/usr/local/apache/logs/foo.log".
-#
-
-### Section 1: Global Environment
-#
-# The directives in this section affect the overall operation of Apache,
-# such as the number of concurrent requests it can handle or where it
-# can find its configuration files.
-#
-
-#
-# ServerType is either inetd, or standalone. Inetd mode is only supported on
-# Unix platforms.
-#
-ServerType standalone
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# NOTE! If you intend to place this on an NFS (or otherwise network)
-# mounted filesystem then please read the LockFile documentation
-# (available at <
URL:http://www.apache.org/docs/mod/core.html#lockfile>);
-# you will save yourself a lot of trouble.
-#
-# Do NOT add a slash at the end of the directory path.
-#
-ServerRoot "/etc/httpd"
-
-#
-# The LockFile directive sets the path to the lockfile used when Apache
-# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
-# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
-# its default value. The main reason for changing it is if the logs
-# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
-# DISK. The PID of the main server process is automatically appended to
-# the filename.
-#
-LockFile /var/run/httpd.lock
-
-#
-# PidFile: The file in which the server should record its process
-# identification number when it starts.
-#
-PidFile /var/run/httpd.pid
-
-#
-# ScoreBoardFile: File used to store internal server process information.
-# Not all architectures require this. But if yours does (you'll know because
-# this file will be created when you run Apache) then you *must* ensure that
-# no two invocations of Apache share the same scoreboard file.
-#
-ScoreBoardFile logs/apache_runtime_status
-
-#
-# In the standard configuration, the server will process httpd.conf (this
-# file, specified by the -f command line option), srm.conf, and access.conf
-# in that order. The latter two files are now distributed empty, as it is
-# recommended that all directives be kept in a single file for simplicity.
-# The commented-out values below are the built-in defaults. You can have the
-# server ignore these files altogether by using "/dev/null" (for Unix) or
-# "nul" (for Win32) for the arguments to the directives.
-#
-#ResourceConfig conf/srm.conf
-#AccessConfig conf/access.conf
-
-#
-# Timeout: The number of seconds before receives and sends time out.
-#
-Timeout 300
-
-#
-# KeepAlive: Whether or not to allow persistent connections (more than
-# one request per connection). Set to "Off" to deactivate.
-#
-KeepAlive Off
-
-#
-# MaxKeepAliveRequests: The maximum number of requests to allow
-# during a persistent connection. Set to 0 to allow an unlimited amount.
-# We recommend you leave this number high, for maximum performance.
-#
-MaxKeepAliveRequests 100
-
-#
-# KeepAliveTimeout: Number of seconds to wait for the next request from the
-# same client on the same connection.
-#
-KeepAliveTimeout 15
-
-#
-# Server-pool size regulation. Rather than making you guess how many
-# server processes you need, Apache dynamically adapts to the load it
-# sees --- that is, it tries to maintain enough server processes to
-# handle the current load, plus a few spare servers to handle transient
-# load spikes (e.g., multiple simultaneous requests from a single
-# Netscape browser).
-#
-# It does this by periodically checking how many servers are waiting
-# for a request. If there are fewer than MinSpareServers, it creates
-# a new spare. If there are more than MaxSpareServers, some of the
-# spares die off. The default values are probably OK for most sites.
-#
-MinSpareServers 5
-MaxSpareServers 20
-
-#
-# Number of servers to start initially --- should be a reasonable ballpark
-# figure.
-#
-StartServers 8
-
-#
-# Limit on total number of servers running, i.e., limit on the number
-# of clients who can simultaneously connect --- if this limit is ever
-# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
-# It is intended mainly as a brake to keep a runaway server from taking
-# the system with it as it spirals down...
-#
-MaxClients 150
-
-#
-# MaxRequestsPerChild: the number of requests each child process is
-# allowed to process before the child dies. The child will exit so
-# as to avoid problems after prolonged use when Apache (and maybe the
-# libraries it uses) leak memory or other resources. On most systems, this
-# isn't really needed, but a few (such as Solaris) do have notable leaks
-# in the libraries. For these platforms, set to something like 10000
-# or so; a setting of 0 means unlimited.
-#
-# NOTE: This value does not include keepalive requests after the initial
-# request per connection. For example, if a child process handles
-# an initial request and 10 subsequent "keptalive" requests, it
-# would only count as 1 request towards this limit.
-#
-MaxRequestsPerChild 1000
-
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, in addition to the default. See also the <VirtualHost>
-# directive.
-#
-#Listen 3000
-#Listen 12.34.56.78:80
-#Listen 80
-
-#
-# BindAddress: You can support virtual hosts with this option. This directive
-# is used to tell the server which IP address to listen to. It can either
-# contain "*", an IP address, or a fully qualified Internet domain name.
-# See also the <VirtualHost> and Listen directives.
-#
-#BindAddress *
-
-#
-# Dynamic Shared Object (DSO) Support
-#
-# To be able to use the functionality of a module which was built as a DSO you
-# have to place corresponding `LoadModule' lines at this location so the
-# directives contained in it are actually available _before_ they are used.
-# Please read the file
http://httpd.apache.org/docs/dso.html for more
-# details about the DSO mechanism and run `httpd -l' for the list of already
-# built-in (statically linked and thus always available) modules in your httpd
-# binary.
-#
-# Note: The order in which modules are loaded is important. Don't change
-# the order below without expert advice.
-#
-# Example:
-# LoadModule foo_module modules/mod_foo.so
-
-#LoadModule mmap_static_module modules/mod_mmap_static.so
-LoadModule vhost_alias_module modules/mod_vhost_alias.so
-<IfDefine HAVE_BANDWIDTH>
-LoadModule bandwidth_module modules/mod_bandwidth.so
-</IfDefine>
-<IfDefine HAVE_THROTTLE>
-LoadModule throttle_module modules/mod_throttle.so
-</IfDefine>
-LoadModule env_module modules/mod_env.so
-LoadModule config_log_module modules/mod_log_config.so
-LoadModule agent_log_module modules/mod_log_agent.so
-LoadModule referer_log_module modules/mod_log_referer.so
-#LoadModule mime_magic_module modules/mod_mime_magic.so
-LoadModule mime_module modules/mod_mime.so
-#LoadModule negotiation_module modules/mod_negotiation.so
-LoadModule status_module modules/mod_status.so
-LoadModule info_module modules/mod_info.so
-LoadModule includes_module modules/mod_include.so
-LoadModule autoindex_module modules/mod_autoindex.so
-LoadModule dir_module modules/mod_dir.so
-LoadModule cgi_module modules/mod_cgi.so
-LoadModule asis_module modules/mod_asis.so
-LoadModule imap_module modules/mod_imap.so
-LoadModule action_module modules/mod_actions.so
-#LoadModule speling_module modules/mod_speling.so
-LoadModule userdir_module modules/mod_userdir.so
-LoadModule alias_module modules/mod_alias.so
-LoadModule rewrite_module modules/mod_rewrite.so
-LoadModule access_module modules/mod_access.so
-LoadModule auth_module modules/mod_auth.so
-LoadModule anon_auth_module modules/mod_auth_anon.so
-#LoadModule db_auth_module modules/mod_auth_db.so
-#LoadModule auth_any_module modules/mod_auth_any.so
-#LoadModule dbm_auth_module modules/mod_auth_dbm.so
-#LoadModule auth_ldap_module modules/mod_auth_ldap.so
-#LoadModule mysql_auth_module modules/mod_auth_mysql.so
-#LoadModule auth_pgsql_module modules/mod_auth_pgsql.so
-#LoadModule digest_module modules/mod_digest.so
-#LoadModule proxy_module modules/libproxy.so
-#LoadModule cern_meta_module modules/mod_cern_meta.so
-LoadModule expires_module modules/mod_expires.so
-LoadModule headers_module modules/mod_headers.so
-#LoadModule usertrack_module modules/mod_usertrack.so
-#LoadModule example_module modules/mod_example.so
-#LoadModule unique_id_module modules/mod_unique_id.so
-LoadModule setenvif_module modules/mod_setenvif.so
-<IfDefine HAVE_PERL>
-LoadModule perl_module modules/libperl.so
-</IfDefine>
-<IfDefine HAVE_PHP>
-LoadModule php_module modules/mod_php.so
-</IfDefine>
-<IfDefine HAVE_PHP3>
-LoadModule php3_module modules/libphp3.so
-</IfDefine>
-<IfDefine HAVE_PHP4>
-LoadModule php4_module modules/libphp4.so
-</IfDefine>
-<IfDefine HAVE_DAV>
-LoadModule dav_module modules/libdav.so
-</IfDefine>
-<IfDefine HAVE_ROAMING>
-LoadModule roaming_module modules/mod_roaming.so
-</IfDefine>
-<IfDefine HAVE_SSL>
-LoadModule ssl_module modules/libssl.so
-</IfDefine>
-<IfDefine HAVE_PUT>
-LoadModule put_module modules/mod_put.so
-</IfDefine>
-<IfDefine HAVE_PYTHON>
-LoadModule python_module modules/mod_python.so
-</IfDefine>
-
-# Reconstruction of the complete module list from all available modules
-# (static and shared ones) to achieve correct module execution order.
-# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
-ClearModuleList
-#AddModule mod_mmap_static.c
-AddModule mod_vhost_alias.c
-<IfDefine HAVE_BANDWIDTH>
-AddModule mod_bandwidth.c
-</IfDefine>
-<IfDefine HAVE_THROTTLE>
-AddModule mod_throttle.c
-</IfDefine>
-AddModule mod_env.c
-AddModule mod_log_config.c
-AddModule mod_log_agent.c
-AddModule mod_log_referer.c
-#AddModule mod_mime_magic.c
-AddModule mod_mime.c
-#AddModule mod_negotiation.c
-AddModule mod_status.c
-AddModule mod_info.c
-AddModule mod_include.c
-AddModule mod_autoindex.c
-AddModule mod_dir.c
-AddModule mod_cgi.c
-AddModule mod_asis.c
-AddModule mod_imap.c
-AddModule mod_actions.c
-#AddModule mod_speling.c
-AddModule mod_userdir.c
-AddModule mod_alias.c
-AddModule mod_rewrite.c
-AddModule mod_access.c
-AddModule mod_auth.c
-AddModule mod_auth_anon.c
-#AddModule mod_auth_db.c
-#AddModule mod_auth_any.c
-#AddModule mod_auth_dbm.c
-#AddModule auth_ldap.c
-#AddModule mod_auth_mysql.c
-#AddModule mod_auth_pgsql.c
-#AddModule mod_digest.c
-#AddModule mod_proxy.c
-#AddModule mod_cern_meta.c
-AddModule mod_expires.c
-AddModule mod_headers.c
-#AddModule mod_usertrack.c
-#AddModule mod_example.c
-#AddModule mod_unique_id.c
-AddModule mod_so.c
-AddModule mod_setenvif.c
-<IfDefine HAVE_PERL>
-AddModule mod_perl.c
-</IfDefine>
-<IfDefine HAVE_PHP>
-AddModule mod_php.c
-</IfDefine>
-<IfDefine HAVE_PHP3>
-AddModule mod_php3.c
-</IfDefine>
-<IfDefine HAVE_PHP4>
-AddModule mod_php4.c
-</IfDefine>
-<IfDefine HAVE_DAV>
-AddModule mod_dav.c
-</IfDefine>
-<IfDefine HAVE_ROAMING>
-AddModule mod_roaming.c
-</IfDefine>
-<IfDefine HAVE_SSL>
-AddModule mod_ssl.c
-</IfDefine>
-<IfDefine HAVE_PUT>
-AddModule mod_put.c
-</IfDefine>
-<IfDefine HAVE_PYTHON>
-AddModule mod_python.c
-</IfDefine>
-
-#
-# ExtendedStatus controls whether Apache will generate "full" status
-# information (ExtendedStatus On) or just basic information (ExtendedStatus
-# Off) when the "server-status" handler is called. The default is Off.
-#
-#ExtendedStatus On
-
-### Section 2: 'Main' server configuration
-#
-# The directives in this section set up the values used by the 'main'
-# server, which responds to any requests that aren't handled by a
-# <VirtualHost> definition. These values also provide defaults for
-# any <VirtualHost> containers you may define later in the file.
-#
-# All of these directives may appear inside <VirtualHost> containers,
-# in which case these default settings will be overridden for the
-# virtual host being defined.
-#
-
-#
-# If your ServerType directive (set earlier in the 'Global Environment'
-# section) is set to "inetd", the next few directives don't have any
-# effect since their settings are defined by the inetd configuration.
-# Skip ahead to the ServerAdmin directive.
-#
-
-#
-# Port: The port to which the standalone server listens. For
-# ports < 1023, you will need httpd to be run as root initially.
-#
-Port 80
-
-##
-## SSL Support
-##
-## When we also provide SSL we have to listen to the
-## standard HTTP port (see above) and to the HTTPS port
-##
-<IfDefine HAVE_SSL>
-Listen 80
-Listen 443
-</IfDefine>
-
-#
-# If you wish httpd to run as a different user or group, you must run
-# httpd as root initially and it will switch.
-#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
-# . On HPUX you may not be able to use shared memory as nobody, and the
-# suggested workaround is to create a user www and use that user.
-# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
-# when the value of (unsigned)Group is above 60000;
-# don't use Group "#-1" on these systems!
-#
-User apache
-Group apache
-
-#
-# ServerAdmin: Your address, where problems with the server should be
-# e-mailed. This address appears on some server-generated pages, such
-# as error documents.
-#
-ServerAdmin root@localhost
-
-#
-# ServerName allows you to set a host name which is sent back to clients for
-# your server if it's different than the one the program would get (i.e., use
-# "www" instead of the host's real name).
-#
-# Note: You cannot just invent host names and hope they work. The name you
-# define here must be a valid DNS name for your host. If you don't understand
-# this, ask your network administrator.
-# If your host doesn't have a registered DNS name, enter its IP address here.
-# You will have to access it by its address (e.g.,
http://123.45.67.89/)
-# anyway, and this will make redirections work in a sensible way.
-#
-# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
-# machine always knows itself by this address. If you use Apache strictly for
-# local testing and development, you may use 127.0.0.1 as the server name.
-#
-#ServerName localhost
-
-#
-# DocumentRoot: The directory out of which you will serve your
-# documents. By default, all requests are taken from this directory, but
-# symbolic links and aliases may be used to point to other locations.
-#
-DocumentRoot "/var/www/html"
-
-#
-# Each directory to which Apache has access, can be configured with respect
-# to which services and features are allowed and/or disabled in that
-# directory (and its subdirectories).
-#
-# First, we configure the "default" to be a very restrictive set of
-# permissions.
-#
-<Directory />
- Options FollowSymLinks
- AllowOverride None
-</Directory>
-
-#
-# Note that from this point forward you must specifically allow
-# particular features to be enabled - so if something's not working as
-# you might expect, make sure that you have specifically enabled it
-# below.
-#
-
-#
-# This should be changed to whatever you set DocumentRoot to.
-#
-<Directory "/var/www/html">
-
-#
-# This may also be "None", "All", or any combination of
"Indexes",
-# "Includes", "FollowSymLinks", "ExecCGI", or
"MultiViews".
-#
-# Note that "MultiViews" must be named *explicitly* --- "Options
All"
-# doesn't give it to you.
-#
- Options Indexes FollowSymLinks
-
-#
-# This controls which options the .htaccess files in directories can
-# override. Can also be "All", or any combination of "Options",
"FileInfo",
-# "AuthConfig", and "Limit"
-#
- AllowOverride None
-
-#
-# Controls who can get stuff from this server.
-#
- Order allow,deny
- Allow from all
-</Directory>
-
-#
-# UserDir: The name of the directory which is appended onto a user's home
-# directory if a ~user request is received.
-#
-# The path to the end user account 'public_html' directory must be
-# accessible to the webserver userid. This usually means that ~userid
-# must have permissions of 711, ~userid/public_html must have permissions
-# of 755, and documents contained therein must be world-readable.
-# Otherwise, the client will only receive a "403 Forbidden" message.
-#
-# See also:
http://httpd.apache.org/docs/misc/FAQ.html#forbidden
-#
-<IfModule mod_userdir.c>
- UserDir public_html
-</IfModule>
-
-#
-# Control access to UserDir directories. The following is an example
-# for a site where these directories are restricted to read-only.
-#
-#<Directory /home/*/public_html>
-# AllowOverride FileInfo AuthConfig Limit
-# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
-# <Limit GET POST OPTIONS PROPFIND>
-# Order allow,deny
-# Allow from all
-# </Limit>
-# <LimitExcept GET POST OPTIONS PROPFIND>
-# Order deny,allow
-# Deny from all
-# </LimitExcept>
-#</Directory>
-
-#
-# DirectoryIndex: Name of the file or files to use as a pre-written HTML
-# directory index. Separate multiple entries with spaces.
-#
-<IfModule mod_dir.c>
- DirectoryIndex _rhn_proxy/index.html index.html index.htm index.shtml index.php
index.php4 index.php3 index.phtml index.cgi
-</IfModule>
-
-#
-# AccessFileName: The name of the file to look for in each directory
-# for access control information.
-#
-AccessFileName .htaccess
-
-#
-# The following lines prevent .htaccess files from being viewed by
-# Web clients. Since .htaccess files often contain authorization
-# information, access is disallowed for security reasons. Comment
-# these lines out if you want Web visitors to see the contents of
-# .htaccess files. If you change the AccessFileName directive above,
-# be sure to make the corresponding changes here.
-#
-# Also, folks tend to use names such as .htpasswd for password
-# files, so this will protect those as well.
-#
-<Files ~ "^\.ht">
- Order allow,deny
- Deny from all
- Satisfy All
-</Files>
-
-#
-# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
-# document that was negotiated on the basis of content. This asks proxy
-# servers not to cache the document. Uncommenting the following line disables
-# this behavior, and proxies will be allowed to cache the documents.
-#
-#CacheNegotiatedDocs
-
-#
-# UseCanonicalName: (new for 1.3) With this setting turned on, whenever
-# Apache needs to construct a self-referencing URL (a URL that refers back
-# to the server the response is coming from) it will use ServerName and
-# Port to form a "canonical" name. With this setting off, Apache will
-# use the hostname:port that the client supplied, when possible. This
-# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
-#
-UseCanonicalName On
-
-#
-# TypesConfig describes where the mime.types file (or equivalent) is
-# to be found.
-#
-<IfModule mod_mime.c>
- TypesConfig /etc/mime.types
-</IfModule>
-
-#
-# DefaultType is the default MIME type the server will use for a document
-# if it cannot otherwise determine one, such as from filename extensions.
-# If your server contains mostly text or HTML documents, "text/plain" is
-# a good value. If most of your content is binary, such as applications
-# or images, you may want to use "application/octet-stream" instead to
-# keep browsers from trying to display binary files as though they are
-# text.
-#
-DefaultType text/plain
-
-#
-# The mod_mime_magic module allows the server to use various hints from the
-# contents of the file itself to determine its type. The MIMEMagicFile
-# directive tells the module where the hint definitions are located.
-# mod_mime_magic is not part of the default server (you have to add
-# it yourself with a LoadModule [see the DSO paragraph in the 'Global
-# Environment' section], or recompile the server and include mod_mime_magic
-# as part of the configuration), so it's enclosed in an <IfModule> container.
-# This means that the MIMEMagicFile directive will only be processed if the
-# module is part of the server.
-#
-<IfModule mod_mime_magic.c>
-# MIMEMagicFile /usr/share/magic.mime
- MIMEMagicFile conf/magic
-</IfModule>
-
-#
-# HostnameLookups: Log the names of clients or just their IP addresses
-# e.g.,
www.apache.org (on) or 204.62.129.132 (off).
-# The default is off because it'd be overall better for the net if people
-# had to knowingly turn this feature on, since enabling it means that
-# each client request will result in AT LEAST one lookup request to the
-# nameserver.
-#
-HostnameLookups Off
-
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here. If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog logs/error_log
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
-#
-# The following directives define some format nicknames for use with
-# a CustomLog directive (see below).
-#
-LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
-LogFormat "%h %l %u %t \"%r\" %>s %b" common
-LogFormat "%{Referer}i -> %U" referer
-LogFormat "%{User-agent}i" agent
-
-#
-# The location and format of the access logfile (Common Logfile Format).
-# If you do not define any access logfiles within a <VirtualHost>
-# container, they will be logged here. Contrariwise, if you *do*
-# define per-<VirtualHost> access logfiles, transactions will be
-# logged therein and *not* in this file.
-#
-# CustomLog /var/log/httpd/access_log common
-CustomLog logs/access_log combined
-
-#
-# If you would like to have agent and referer logfiles, uncomment the
-# following directives.
-#
-#CustomLog logs/referer_log referer
-#CustomLog logs/agent_log agent
-
-#
-# If you prefer a single logfile with access, agent, and referer information
-# (Combined Logfile Format) you can use the following directive.
-#
-#CustomLog logs/access_log combined
-
-#
-# Optionally add a line containing the server version and virtual host
-# name to server-generated pages (error documents, FTP directory listings,
-# mod_status and mod_info output etc., but not CGI generated documents).
-# Set to "EMail" to also include a mailto: link to the ServerAdmin.
-# Set to one of: On | Off | EMail
-#
-ServerSignature On
-
-# EBCDIC configuration:
-# (only for mainframes using the EBCDIC codeset, currently one of:
-# Fujitsu-Siemens' BS2000/OSD, IBM's OS/390 and IBM's TPF)!!
-# The following default configuration assumes that "text files"
-# are stored in EBCDIC (so that you can operate on them using the
-# normal POSIX tools like grep and sort) while "binary files" are
-# stored with identical octets as on an ASCII machine.
-#
-# The directives are evaluated in configuration file order, with
-# the EBCDICConvert directives applied before EBCDICConvertByType.
-#
-# If you want to have ASCII HTML documents and EBCDIC HTML documents
-# at the same time, you can use the file extension to force
-# conversion off for the ASCII documents:
-# > AddType text/html .ahtml
-# > EBCDICConvert Off=InOut .ahtml
-#
-# EBCDICConvertByType On=InOut text/* message/* multipart/*
-# EBCDICConvertByType On=In application/x-www-form-urlencoded
-# EBCDICConvertByType On=InOut application/postscript model/vrml
-# EBCDICConvertByType Off=InOut */*
-
-
-#
-# Aliases: Add here as many aliases as you need (with no limit). The format is
-# Alias fakename realname
-#
-<IfModule mod_alias.c>
-
- #
- # Note that if you include a trailing / on fakename then the server will
- # require it to be present in the URL. So "/icons" isn't aliased in
this
- # example, only "/icons/". If the fakename is slash-terminated, then the
- # realname must also be slash terminated, and if the fakename omits the
- # trailing slash, the realname must also omit it.
- #
- Alias /icons/ "/var/www/icons/"
-
- <Directory "/var/www/icons">
- Options Indexes MultiViews
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
-
- # This Alias will project the on-line documentation tree under /manual/
- # even if you change the DocumentRoot. Comment it if you don't want to
- # provide access to the on-line documentation.
- #
- # Alias /manual/ "/etc/httpd/htdocs/manual/"
- #
- # <Directory "/etc/httpd/htdocs/manual">
- # Options Indexes FollowSymlinks MultiViews
- # AllowOverride None
- # Order allow,deny
- # Allow from all
- # </Directory>
-
- #
- # ScriptAlias: This controls which directories contain server scripts.
- # ScriptAliases are essentially the same as Aliases, except that
- # documents in the realname directory are treated as applications and
- # run by the server when requested rather than as documents sent to the client.
- # The same rules about trailing "/" apply to ScriptAlias directives as to
- # Alias.
- #
- ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
-
- #
- # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
- # CGI directory exists, if you have that configured.
- #
- <Directory "/var/www/cgi-bin">
- AllowOverride None
- Options None
- Order allow,deny
- Allow from all
- </Directory>
-
-</IfModule>
-# End of aliases.
-
-#
-# Redirect allows you to tell clients about documents which used to exist in
-# your server's namespace, but do not anymore. This allows you to tell the
-# clients where to look for the relocated document.
-# Format: Redirect old-URI new-URL
-#
-
-#
-# Directives controlling the display of server-generated directory listings.
-#
-<IfModule mod_autoindex.c>
-
- #
- # FancyIndexing is whether you want fancy directory indexing or standard
- #
- IndexOptions FancyIndexing NameWidth=*
-
- #
- # AddIcon* directives tell the server which icon to show for different
- # files or filename extensions. These are only displayed for
- # FancyIndexed directories.
- #
- AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
-
- AddIconByType (TXT,/icons/text.gif) text/*
- AddIconByType (IMG,/icons/image2.gif) image/*
- AddIconByType (SND,/icons/sound2.gif) audio/*
- AddIconByType (VID,/icons/movie.gif) video/*
-
- AddIcon /icons/binary.gif .bin .exe
- AddIcon /icons/binhex.gif .hqx
- AddIcon /icons/tar.gif .tar
- AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
- AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
- AddIcon /icons/a.gif .ps .ai .eps
- AddIcon /icons/layout.gif .html .shtml .htm .pdf
- AddIcon /icons/text.gif .txt
- AddIcon /icons/c.gif .c
- AddIcon /icons/p.gif .pl .py
- AddIcon /icons/f.gif .for
- AddIcon /icons/dvi.gif .dvi
- AddIcon /icons/uuencoded.gif .uu
- AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
- AddIcon /icons/tex.gif .tex
- AddIcon /icons/bomb.gif core
-
- AddIcon /icons/back.gif ..
- AddIcon /icons/hand.right.gif README
- AddIcon /icons/folder.gif ^^DIRECTORY^^
- AddIcon /icons/blank.gif ^^BLANKICON^^
-
- #
- # DefaultIcon is which icon to show for files which do not have an icon
- # explicitly set.
- #
- DefaultIcon /icons/unknown.gif
-
- #
- # AddDescription allows you to place a short description after a file in
- # server-generated indexes. These are only displayed for FancyIndexed
- # directories.
- # Format: AddDescription "description" filename
- #
- #AddDescription "GZIP compressed document" .gz
- #AddDescription "tar archive" .tar
- #AddDescription "GZIP compressed tar archive" .tgz
-
- #
- # ReadmeName is the name of the README file the server will look for by
- # default, and append to directory listings.
- #
- # HeaderName is the name of a file which should be prepended to
- # directory indexes.
- #
- # If MultiViews are amongst the Options in effect, the server will
- # first look for name.html and include it if found. If name.html
- # doesn't exist, the server will then look for name.txt and include
- # it as plaintext if found.
- #
- ReadmeName README
- HeaderName HEADER
-
- #
- # IndexIgnore is a set of filenames which directory indexing should ignore
- # and not include in the listing. Shell-style wildcarding is permitted.
- #
- IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
-
-</IfModule>
-# End of indexing directives.
-
-#
-# Document types.
-#
-<IfModule mod_mime.c>
-
- #
- # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
- # information on the fly. Note: Not all browsers support this.
- # Despite the name similarity, the following Add* directives have nothing
- # to do with the FancyIndexing customization directives above.
- #
- AddEncoding x-compress Z
- AddEncoding x-gzip gz tgz
-
- #
- # AddLanguage allows you to specify the language of a document. You can
- # then use content negotiation to give a browser a file in a language
- # it can understand.
- #
- # Note 1: The suffix does not have to be the same as the language
- # keyword --- those with documents in Polish (whose net-standard
- # language code is pl) may wish to use "AddLanguage pl .po" to
- # avoid the ambiguity with the common suffix for perl scripts.
- #
- # Note 2: The example entries below illustrate that in quite
- # some cases the two character 'Language' abbreviation is not
- # identical to the two character 'Country' code for its country,
- # E.g. 'Danmark/dk' versus 'Danish/da'.
- #
- # Note 3: In the case of 'ltz' we violate the RFC by using a three char
- # specifier. But there is 'work in progress' to fix this and get
- # the reference data for rfc1766 cleaned up.
- #
- # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
- # French (fr) - German (de) - Greek-Modern (el)
- # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
- # Portugese (pt) - Luxembourgeois* (ltz)
- # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
- # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
- # Russian (ru)
- #
- AddLanguage da .dk
- AddLanguage nl .nl
- AddLanguage en .en
- AddLanguage et .ee
- AddLanguage fr .fr
- AddLanguage de .de
- AddLanguage el .el
- AddLanguage he .he
- AddCharset ISO-8859-8 .iso8859-8
- AddLanguage it .it
- AddLanguage ja .ja
- AddCharset ISO-2022-JP .jis
- AddLanguage kr .kr
- AddCharset ISO-2022-KR .iso-kr
- AddLanguage nn .nn
- AddLanguage no .no
- AddLanguage pl .po
- AddCharset ISO-8859-2 .iso-pl
- AddLanguage pt .pt
- AddLanguage pt-br .pt-br
- AddLanguage ltz .lu
- AddLanguage ca .ca
- AddLanguage es .es
- AddLanguage sv .se
- AddLanguage cz .cz
- AddLanguage ru .ru
- AddLanguage zh-tw .tw
- AddLanguage tw .tw
- AddCharset Big5 .Big5 .big5
- AddCharset WINDOWS-1251 .cp-1251
- AddCharset CP866 .cp866
- AddCharset ISO-8859-5 .iso-ru
- AddCharset KOI8-R .koi8-r
- AddCharset UCS-2 .ucs2
- AddCharset UCS-4 .ucs4
- AddCharset UTF-8 .utf8
-
- # LanguagePriority allows you to give precedence to some languages
- # in case of a tie during content negotiation.
- #
- # Just list the languages in decreasing order of preference. We have
- # more or less alphabetized them here. You probably want to change this.
- #
- <IfModule mod_negotiation.c>
- LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
- </IfModule>
-
- #
- # AddType allows you to tweak mime.types without actually editing it, or to
- # make certain files to be certain types.
- #
- # For example, the PHP 3.x module (not part of the Apache distribution - see
- #
http://www.php.net) will typically use:
- #
- <IfModule mod_php3.c>
- AddType application/x-httpd-php3 .php3
- AddType application/x-httpd-php3-source .phps
- </IfModule>
- #
- # And for PHP 4.x, use:
- #
- <IfModule mod_php4.c>
- AddType application/x-httpd-php .php .php4 .php3 .phtml
- AddType application/x-httpd-php-source .phps
- </IfModule>
-
- #
- # For PHP/FI (PHP2), use:
- #
- <IfModule mod_php.c>
- AddType application/x-httpd-php .phtml
- </IfModule>
-
- AddType application/x-tar .tgz
-
- #
- # AddHandler allows you to map certain file extensions to "handlers",
- # actions unrelated to filetype. These can be either built into the server
- # or added with the Action command (see below)
- #
- # If you want to use server side includes, or CGI outside
- # ScriptAliased directories, uncomment the following lines.
- #
- # To use CGI scripts:
- #
- #AddHandler cgi-script .cgi
-
- #
- # To use server-parsed HTML files
- #
- AddType text/html .shtml
- AddHandler server-parsed .shtml
-
- #
- # Uncomment the following line to enable Apache's send-asis HTTP file
- # feature
- #
- #AddHandler send-as-is asis
-
- #
- # If you wish to use server-parsed imagemap files, use
- #
- AddHandler imap-file map
-
- #
- # To enable type maps, you might want to use
- #
- #AddHandler type-map var
-
-</IfModule>
-# End of document types.
-
-#
-# Action lets you define media types that will execute a script whenever
-# a matching file is called. This eliminates the need for repeated URL
-# pathnames for oft-used CGI file processors.
-# Format: Action media/type /cgi-script/location
-# Format: Action handler-name /cgi-script/location
-#
-
-#
-# MetaDir: specifies the name of the directory in which Apache can find
-# meta information files. These files contain additional HTTP headers
-# to include when sending the document
-#
-#MetaDir .web
-
-#
-# MetaSuffix: specifies the file name suffix for the file containing the
-# meta information.
-#
-#MetaSuffix .meta
-
-#
-# Customizable error response (Apache style)
-# these come in three flavors
-#
-# 1) plain text
-#ErrorDocument 500 "The server made a boo boo.
-# n.b. the single leading (") marks it as text, it does not get output
-#
-# 2) local redirects
-#ErrorDocument 404 /missing.html
-# to redirect to local URL /missing.html
-#ErrorDocument 404 /cgi-bin/missing_handler.pl
-# N.B.: You can redirect to a script or a document using server-side-includes.
-#
-# 3) external redirects
-#ErrorDocument 402
http://some.other_server.com/subscription_info.html
-# N.B.: Many of the environment variables associated with the original
-# request will *not* be available to such a script.
-
-#
-# Customize behaviour based on the browser
-#
-<IfModule mod_setenvif.c>
-
- #
- # The following directives modify normal HTTP response behavior.
- # The first directive disables keepalive for Netscape 2.x and browsers that
- # spoof it. There are known problems with these browser implementations.
- # The second directive is for Microsoft Internet Explorer 4.0b2
- # which has a broken HTTP/1.1 implementation and does not properly
- # support keepalive when it is used on 301 or 302 (redirect) responses.
- #
- BrowserMatch "Mozilla/2" nokeepalive
- BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-
- #
- # The following directive disables HTTP/1.1 responses to browsers which
- # are in violation of the HTTP/1.0 spec by not being able to grok a
- # basic 1.1 response.
- #
- BrowserMatch "RealPlayer 4\.0" force-response-1.0
- BrowserMatch "Java/1\.0" force-response-1.0
- BrowserMatch "JDK/1\.0" force-response-1.0
-
-</IfModule>
-# End of browser customization directives
-
-#
-# If the perl module is installed, this will allow execution of mod_perl
-# to compile your scripts to subroutines which it will execute directly,
-# avoiding the costly compile process for most requests.
-#
-#<IfModule mod_perl.c>
-# Alias /perl /var/www/perl
-# <Directory /var/www/perl>
-# SetHandler perl-script
-# PerlHandler Apache::Registry
-# Options +ExecCGI
-# </Directory>
-#</IfModule>
-
-#
-# Allow http put (such as Netscape Gold's publish feature)
-# Use htpasswd to generate /etc/httpd/conf/passwd.
-#
-#<IfModule mod_put.c>
-# Alias /upload /tmp
-# <Directory /tmp>
-# EnablePut On
-# AuthType Basic
-# AuthName Temporary
-# AuthUserFile /etc/httpd/conf/passwd
-# EnableDelete Off
-# umask 007
-# <Limit PUT>
-# require valid-user
-# </Limit>
-# </Directory>
-#</IfModule>
-
-#
-# Allow server status reports, with the URL of
http://servername/server-status
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-status>
-# SetHandler server-status
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
-#
-# Allow remote server configuration reports, with the URL of
-#
http://servername/server-info (requires that mod_info.c be loaded).
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-info>
-# SetHandler server-info
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
-#
-# Allow access to local system documentation from localhost
-#
-Alias /doc/ /usr/share/doc/
-<Directory /usr/share/doc>
- order deny,allow
- deny from all
- allow from localhost .localdomain
- Options Indexes FollowSymLinks
-</Directory>
-
-#
-# There have been reports of people trying to abuse an old bug from pre-1.1
-# days. This bug involved a CGI script distributed as a part of Apache.
-# By uncommenting these lines you can redirect these attacks to a logging
-# script on
phf.apache.org. Or, you can record them yourself, using the script
-# support/phf_abuse_log.cgi.
-#
-#<Location /cgi-bin/phf*>
-# Deny from all
-# ErrorDocument 403
http://phf.apache.org/phf_abuse_log.cgi
-#</Location>
-
-#
-# Proxy Server directives. Uncomment the following lines to
-# enable the proxy server:
-#
-#<IfModule mod_proxy.c>
-# ProxyRequests On
-
-# <Directory proxy:*>
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-# </Directory>
-
- #
- # Enable/disable the handling of HTTP/1.1 "Via:" headers.
- # ("Full" adds the server version; "Block" removes all outgoing
Via: headers)
- # Set to one of: Off | On | Full | Block
- #
-# ProxyVia On
-
- #
- # To enable the cache as well, edit and uncomment the following lines:
- # (no caching without CacheRoot)
- #
-# CacheRoot "/var/cache/httpd"
-# CacheSize 5
-# CacheGcInterval 4
-# CacheMaxExpire 24
-# CacheLastModifiedFactor 0.1
-# CacheDefaultExpire 1
-# NoCache
a_domain.com another_domain.edu joes.garage_sale.com
-
-#</IfModule>
-# End of proxy directives.
-
-### Section 3: Virtual Hosts
-#
-# VirtualHost: If you want to maintain multiple domains/hostnames on your
-# machine you can setup VirtualHost containers for them. Most configurations
-# use only name-based virtual hosts so the server doesn't need to worry about
-# IP addresses. This is indicated by the asterisks in the directives below.
-#
-# Please see the documentation at <
URL:http://www.apache.org/docs/vhosts/>
-# for further details before you try to setup virtual hosts.
-#
-# You may use the command line option '-S' to verify your virtual host
-# configuration.
-
-#
-# Use name-based virtual hosting.
-#
-#NameVirtualHost *
-
-#
-# VirtualHost example:
-# Almost any Apache directive may go into a VirtualHost container.
-# The first VirtualHost section is used for requests without a known
-# server name.
-#
-#<VirtualHost *>
-# ServerAdmin webmaster(a)dummy-host.example.com
-# DocumentRoot /www/docs/dummy-host.example.com
-# ServerName
dummy-host.example.com
-# ErrorLog logs/dummy-host.example.com-error_log
-# CustomLog logs/dummy-host.example.com-access_log common
-#</VirtualHost>
-
-#<VirtualHost _default_:*>
-#</VirtualHost>
-
-##
-## SSL Global Context
-##
-## All SSL configuration in this context applies both to
-## the main server and all SSL-enabled virtual hosts.
-##
-
-#
-# Some MIME-types for downloading Certificates and CRLs
-#
-<IfDefine HAVE_SSL>
-AddType application/x-x509-ca-cert .crt
-AddType application/x-pkcs7-crl .crl
-</IfDefine>
-
-<IfModule mod_ssl.c>
-
-# Pass Phrase Dialog:
-# Configure the pass phrase gathering process.
-# The filtering dialog program (`builtin' is a internal
-# terminal dialog) has to provide the pass phrase on stdout.
-SSLPassPhraseDialog builtin
-
-# Inter-Process Session Cache:
-# Configure the SSL Session Cache: First the mechanism
-# to use and second the expiring timeout (in seconds).
-#SSLSessionCache none
-#SSLSessionCache shmht:logs/ssl_scache(512000)
-SSLSessionCache shmcb:logs/ssl_scache(512000)
-#SSLSessionCache shm:logs/ssl_scache(512000)
-SSLSessionCacheTimeout 300
-
-# Semaphore:
-# Configure the path to the mutual exclusion semaphore the
-# SSL engine uses internally for inter-process synchronization.
-SSLMutex file:logs/ssl_mutex
-
-# Pseudo Random Number Generator (PRNG):
-# Configure one or more sources to seed the PRNG of the
-# SSL library. The seed data should be of good random quality.
-# WARNING! On some platforms /dev/random blocks if not enough entropy
-# is available. This means you then cannot use the /dev/random device
-# because it would lead to very long connection times (as long as
-# it requires to make more entropy available). But usually those
-# platforms additionally provide a /dev/urandom device which doesn't
-# block. So, if available, use this one instead. Read the mod_ssl User
-# Manual for more details.
-SSLRandomSeed startup builtin
-SSLRandomSeed connect builtin
-#SSLRandomSeed startup file:/dev/random 512
-#SSLRandomSeed startup file:/dev/urandom 512
-#SSLRandomSeed connect file:/dev/random 512
-#SSLRandomSeed connect file:/dev/urandom 512
-
-# Logging:
-# The home of the dedicated SSL protocol logfile. Errors are
-# additionally duplicated in the general error log file. Put
-# this somewhere where it cannot be used for symlink attacks on
-# a real server (i.e. somewhere where only root can write).
-# Log levels are (ascending order: higher ones include lower ones):
-# none, error, warn, info, trace, debug.
-SSLLog logs/ssl_engine_log
-SSLLogLevel error
-
-</IfModule>
-
-<IfDefine HAVE_SSL>
-
-##
-## SSL Virtual Host Context
-##
-
-<VirtualHost _default_:443>
-
-# General setup for the virtual host
-#DocumentRoot "/etc/httpd/htdocs"
-#ServerName new.host.name
-#ServerAdmin you(a)your.address
-ErrorLog logs/error_log
-TransferLog logs/access_log
-
-# SSL Engine Switch:
-# Enable/Disable SSL for this virtual host.
-SSLEngine on
-
-# SSL Cipher Suite:
-# List the ciphers that the client is permitted to negotiate.
-# See the mod_ssl documentation for a complete list.
-#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
-
-# Server Certificate:
-# Point SSLCertificateFile at a PEM encoded certificate. If
-# the certificate is encrypted, then you will be prompted for a
-# pass phrase. Note that a kill -HUP will prompt again. A test
-# certificate can be generated with `make certificate' under
-# built time. Keep in mind that if you've both a RSA and a DSA
-# certificate you can configure both in parallel (to also allow
-# the use of DSA ciphers, etc.)
-SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
-#SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt
-
-# Server Private Key:
-# If the key is not combined with the certificate, use this
-# directive to point at the key file. Keep in mind that if
-# you've both a RSA and a DSA private key you can configure
-# both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
-#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key
-
-# Server Certificate Chain:
-# Point SSLCertificateChainFile at a file containing the
-# concatenation of PEM encoded CA certificates which form the
-# certificate chain for the server certificate. Alternatively
-# the referenced file can be the same as SSLCertificateFile
-# when the CA certificates are directly appended to the server
-# certificate for convinience.
-#SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt
-
-# Certificate Authority (CA):
-# Set the CA certificate verification path where to find CA
-# certificates for client authentication or alternatively one
-# huge file containing all of them (file must be PEM encoded)
-# Note: Inside SSLCACertificatePath you need hash symlinks
-# to point to the certificate files. Use the provided
-# Makefile to update the hash symlinks after changes.
-#SSLCACertificatePath /etc/httpd/conf/ssl.crt
-#SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt
-
-# Certificate Revocation Lists (CRL):
-# Set the CA revocation path where to find CA CRLs for client
-# authentication or alternatively one huge file containing all
-# of them (file must be PEM encoded)
-# Note: Inside SSLCARevocationPath you need hash symlinks
-# to point to the certificate files. Use the provided
-# Makefile to update the hash symlinks after changes.
-#SSLCARevocationPath /etc/httpd/conf/ssl.crl
-#SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl
-
-# Client Authentication (Type):
-# Client certificate verification type and depth. Types are
-# none, optional, require and optional_no_ca. Depth is a
-# number which specifies how deeply to verify the certificate
-# issuer chain before deciding the certificate is not valid.
-#SSLVerifyClient require
-#SSLVerifyDepth 10
-
-# Access Control:
-# With SSLRequire you can do per-directory access control based
-# on arbitrary complex boolean expressions containing server
-# variable checks and other lookup directives. The syntax is a
-# mixture between C and Perl. See the mod_ssl documentation
-# for more details.
-#<Location />
-#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
-# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
-# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA",
"Dev"} \
-# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
-# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
-# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
-#</Location>
-
-# SSL Engine Options:
-# Set various options for the SSL engine.
-# o FakeBasicAuth:
-# Translate the client X.509 into a Basic Authorisation. This means that
-# the standard Auth/DBMAuth methods can be used for access control. The
-# user name is the `one line' version of the client's X.509 certificate.
-# Note that no password is obtained from the user. Every entry in the user
-# file needs this password: `xxj31ZMTZzkVA'.
-# o ExportCertData:
-# This exports two additional environment variables: SSL_CLIENT_CERT and
-# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
-# server (always existing) and the client (only existing when client
-# authentication is used). This can be used to import the certificates
-# into CGI scripts.
-# o StdEnvVars:
-# This exports the standard SSL/TLS related `SSL_*' environment variables.
-# Per default this exportation is switched off for performance reasons,
-# because the extraction step is an expensive operation and is usually
-# useless for serving static content. So one usually enables the
-# exportation for CGI and SSI requests only.
-# o CompatEnvVars:
-# This exports obsolete environment variables for backward compatibility
-# to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this
-# to provide compatibility to existing CGI scripts.
-# o StrictRequire:
-# This denies access when "SSLRequireSSL" or "SSLRequire" applied
even
-# under a "Satisfy any" situation, i.e. when it applies access is denied
-# and no other module can change it.
-# o OptRenegotiate:
-# This enables optimized SSL connection renegotiation handling when SSL
-# directives are used in per-directory context.
-#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
-<Files ~ "\.(cgi|shtml|phtml|php3?)$">
- SSLOptions +StdEnvVars
-</Files>
-<Directory "/var/www/cgi-bin">
- SSLOptions +StdEnvVars
-</Directory>
-
-# SSL Protocol Adjustments:
-# The safe and default but still SSL/TLS standard compliant shutdown
-# approach is that mod_ssl sends the close notify alert but doesn't wait for
-# the close notify alert from client. When you need a different shutdown
-# approach you can use one of the following variables:
-# o ssl-unclean-shutdown:
-# This forces an unclean shutdown when the connection is closed, i.e. no
-# SSL close notify alert is send or allowed to received. This violates
-# the SSL/TLS standard but is needed for some brain-dead browsers. Use
-# this when you receive I/O errors because of the standard approach where
-# mod_ssl sends the close notify alert.
-# o ssl-accurate-shutdown:
-# This forces an accurate shutdown when the connection is closed, i.e. a
-# SSL close notify alert is send and mod_ssl waits for the close notify
-# alert of the client. This is 100% SSL/TLS standard compliant, but in
-# practice often causes hanging connections with brain-dead browsers. Use
-# this only for browsers where you know that their SSL implementation
-# works correctly.
-# Notice: Most problems of broken clients are also related to the HTTP
-# keep-alive facility, so you usually additionally want to disable
-# keep-alive for those clients, too. Use variable "nokeepalive" for this.
-# Similarly, one has to force some clients to use HTTP/1.0 to workaround
-# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
-# "force-response-1.0" for this.
-SetEnvIf User-Agent ".*MSIE.*" \
- nokeepalive ssl-unclean-shutdown \
- downgrade-1.0 force-response-1.0
-
-# Per-Server Logging:
-# The home of a custom SSL log file. Use this when you want a
-# compact non-error SSL logfile on a virtual host basis.
-CustomLog logs/ssl_request_log \
- "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
-</VirtualHost>
-
-</IfDefine>
-
-Include conf/rhn_proxy.conf
diff --git a/web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf
b/web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf
deleted file mode 100644
index fba9c9e..0000000
--- a/web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-# ** DO NOT EDIT **
-# RHN Proxy handler configuration file
-
-# RHN Proxy Server location
-<LocationMatch "/*">
- # this stanza contains all the handlers for RHN app code
-
- # added for oracle
- SetEnv ORACLE_HOME /opt/oracle
- SetEnv NLS_LANG english.UTF8
-
- # mod_python
- <IfModule !mod_python.c>
- LoadModule python_module modules/mod_python.so
- AddModule mod_python.c
- </IfModule>
-
- PythonPath "sys.path+['/usr/share/rhn']"
- PythonDebug Off
-
- # this one shall be common for all the python configlets
- # (for pre-version 3.1 anyway)
- PythonOption RootDir /usr/share/rhn
-
- SetHandler python-program
- # all of these handlers are defined in apacheServer
- PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
- PythonHandler proxy.apacheServer::Handler
- PythonCleanupHandler proxy.apacheServer::CleanupHandler
- DefaultType text/xml
-</LocationMatch>
-
-# let apache do it's default thing for /pub/*, /index.html, and /_rhn_proxy
-# /pub is where user accessible data resides
-# /_rhn_proxy is for the landing page and anything additional we may want to
-# expand to in the future
-<LocationMatch "/pub/*">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<LocationMatch "/_rhn_proxy">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
diff --git a/web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml
deleted file mode 100644
index ff21012..0000000
--- a/web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml
+++ /dev/null
@@ -1,821 +0,0 @@
-<?xml version="1.0"?>
-
-<application acl-mixins="RHN::Access::System">
-
- <name>Satellite Proxy</name>
- <label>rhn_proxy</label>
- <version>3.7</version>
-
- <prerequisites>
- <org-channel-family>rhn-proxy</org-channel-family>
- <system-feature>ftr_proxy_capable</system-feature>
- <package-available>rhns-proxy-management</package-available>
- </prerequisites>
-
- <terms-and-conditions
url="http://www.redhat.com/licenses" />
-
- <install>
-
- <requirements>
-
<system-entitlement-possible>provisioning_entitled</system-entitlement-possible>
- <package-available>rhns-proxy-management</package-available>
- <client-capable>script.run</client-capable>
- <client-capable>configfiles.deploy</client-capable>
- </requirements>
-
- <activity description="Check for conflicting packages">
- <method-call class="RHN::ProxyInstall"
method="have_package">
- <package>bdb_perl</package>
- <package>ConfigPusher-general</package>
- <package>eventReceivers</package>
- <package>FcntlLock</package>
- <package>httpd</package>
- <package>httpd-suexec</package>
- <package>jabberd</package>
- <package>libapreq2</package>
- <package>libidn</package>
- <package>LongLegs</package>
- <package>MessageQueue</package>
- <package>mm</package>
- <package>mod_perl</package>
- <package>mod_python</package>
- <package>mod_ssl</package>
- <package>NOCpulsePlugins</package>
- <package>NPalert</package>
- <package>np-config</package>
- <package>NPusers</package>
- <package>nslogs</package>
- <package>oracle-devel</package>
- <package>oracle_perl</package>
- <package>perl-Apache-Admin-Config</package>
- <package>perl-Apache-DBI</package>
- <package>perl-BerkeleyDB</package>
- <package>perl-BSD-Resource</package>
- <package>perl-Class-MethodMaker</package>
- <package>perl-Class-Singleton</package>
- <package>perl-Config-IniFiles</package>
- <package>perl-Crypt-DES</package>
- <package>perl-Crypt-GeneratePassword</package>
- <package>perl-Crypt-SSLeay</package>
- <package>perl-DateTime</package>
- <package>perl-DateTime-Locale</package>
- <package>perl-DateTime-TimeZone</package>
- <package>perl-DBD-Oracle</package>
- <package>perl-Devel-Symdump</package>
- <package>perl-Error</package>
- <package>perl-FreezeThaw</package>
- <package>perl-HTML-TableExtract</package>
- <package>perl-IO-Capture</package>
- <package>perl-IO-Socket-SSL</package>
- <package>perl-IO-stringy</package>
- <package>perl-libapreq2</package>
- <package>perl-Mail-Alias</package>
- <package>perl-MailTools</package>
- <package>perl-MIME-tools</package>
- <package>perl-Net-SNMP</package>
- <package>perl-Net_SSLeay</package>
- <package>perl-Network-IPv4Addr</package>
- <package>perl-NOCpulse-CLAC</package>
- <package>perl-NOCpulse-Debug</package>
- <package>perl-NOCpulse-Gritch</package>
- <package>perl-NOCpulse-Object</package>
- <package>perl-NOCpulse-OracleDB</package>
- <package>perl-NOCpulse-PersistentConnection</package>
- <package>perl-NOCpulse-Probe</package>
- <package>perl-NOCpulse-ProcessPool</package>
- <package>perl-NOCpulse-Scheduler</package>
- <package>perl-NOCpulse-SetID</package>
- <package>perl-NOCpulse-Utils</package>
- <package>perl-Params-Validate</package>
- <package>perl-TimeDate</package>
- <package>perl-XML-Generator</package>
- <package>ProgAGoGo</package>
- <package>python-sgmlop</package>
- <package>rhn-apache</package>
- <package>rhn-base-minimal</package>
- <package>rhn-modperl</package>
- <package>rhn-modpython</package>
- <package>rhn-modssl</package>
- <package>rhns</package>
- <package>rhns-auth-daemon</package>
- <package>rhns-certs-tools</package>
- <package>rhns-proxy-broker</package>
- <package>rhns-proxy-docs</package>
- <package>rhns-proxy-management</package>
- <package>rhns-proxy-monitoring</package>
- <package>rhns-proxy-package-manager</package>
- <package>rhns-proxy-redirect</package>
- <package>rhns-proxy-tools</package>
- <package>rhn-ssl-cert-check</package>
- <package>SatConfig-ApacheDepot</package>
- <package>SatConfig-autokick</package>
- <package>SatConfig-bootstrap</package>
- <package>SatConfig-bootstrap-server</package>
- <package>SatConfig-cluster</package>
- <package>SatConfig-dbsynch</package>
- <package>SatConfig-general</package>
- <package>SatConfig-generator</package>
- <package>SatConfig-installer</package>
- <package>SatConfig-spread</package>
- <package>scdb</package>
- <package>scdb_accessor_perl</package>
- <package>SNMPAlerts</package>
- <package>SputLite-client</package>
- <package>SputLite-server</package>
- <package>ssl_bridge</package>
- <package>status_log_acceptor</package>
- <package>Time-System</package>
- <package>tsdb</package>
- <package>tsdb_accessor_perl</package>
- <package>spacewalk-proxy-html</package>
- <package>spacewalk-ssl-cert-check</package>
- <package>spacewalk-proxy-common</package>
- <package>spacewalk-proxy-installer</package>
- <package>spacewalk-proxy-docs</package>
- <package>spacewalk-proxy-monitoring</package>
- <package>spacewalk-backend</package>
- <package>spacewalk-proxy-package-manager</package>
- <package>spacewalk-certs-tools</package>
- <package>spacewalk-proxy-broker</package>
- <package>spacewalk-proxy-management</package>
- <package>spacewalk-base-minimal</package>
- <package>spacewalk-proxy-redirect</package>
- <package>nocpulse-common</package>
- <package>nocpulse-db-perl</package>
- <package>jabberd-selinux</package>
- <package>rhn-proxy-branding</package>
- <alias>proxy</alias>
- </method-call>
- </activity>
-
- <collect-data description="Enable Monitoring Proxy"
- acl="org_entitlement(rhn_monitor); package_available(rhns-proxy-monitoring);
global_config(satellite); global_config(is_monitoring_backend)">
-
- <header>
-Would you like to enable Monitoring Proxy functionality on this system?
- </header>
-
- <rhn-form name="Enable Monitoring"
label="enable_monitoring">
- <widget type="checkbox" name="Enable Monitoring?"
label="enable_monitoring" default="1"/>
- </rhn-form>
- </collect-data>
-
- <collect-data description="Remove Conflicting Packages"
acl="session_data_true(have_package_any_of_proxy)">
- <header>
- The following packages conflict with the new installation and will be removed:
- </header>
-
- <rhn-form name="Remove Conflicting Packages"
label="remove_packages">
- <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
- <widget type="literal"
label="ConfigPusher-general"
default="${session.have_package_ConfigPusher_general}"
acl="session_data_true(have_package_ConfigPusher_general)" />
- <widget type="literal" label="eventReceivers"
default="${session.have_package_eventReceivers}"
acl="session_data_true(have_package_eventReceivers)" />
- <widget type="literal" label="FcntlLock"
default="${session.have_package_FcntlLock}"
acl="session_data_true(have_package_FcntlLock)" />
- <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
- <widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
- <widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
- <widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
- <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
- <widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
- <widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
- <widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
- <widget type="literal" label="mod_perl"
default="${session.have_package_mod_perl}"
acl="session_data_true(have_package_mod_perl)" />
- <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
- <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
- <widget type="literal" label="NOCpulsePlugins"
default="${session.have_package_NOCpulsePlugins}"
acl="session_data_true(have_package_NOCpulsePlugins)" />
- <widget type="literal" label="NPalert"
default="${session.have_package_NPalert}"
acl="session_data_true(have_package_NPalert)" />
- <widget type="literal" label="np-config"
default="${session.have_package_np_config}"
acl="session_data_true(have_package_np_config)" />
- <widget type="literal" label="NPusers"
default="${session.have_package_NPusers}"
acl="session_data_true(have_package_NPusers)" />
- <widget type="literal" label="nslogs"
default="${session.have_package_nslogs}"
acl="session_data_true(have_package_nslogs)" />
- <widget type="literal" label="oracle-devel"
default="${session.have_package_oracle_devel}"
acl="session_data_true(have_package_oracle_devel)" />
- <widget type="literal" label="oracle_perl"
default="${session.have_package_oracle_perl}"
acl="session_data_true(have_package_oracle_perl)" />
- <widget type="literal"
label="perl-Apache-Admin-Config"
default="${session.have_package_perl_Apache_Admin_Config}"
acl="session_data_true(have_package_perl_Apache_Admin_Config)" />
- <widget type="literal" label="perl-Apache-DBI"
default="${session.have_package_perl_Apache_DBI}"
acl="session_data_true(have_package_perl_Apache_DBI)" />
- <widget type="literal" label="perl-BerkeleyDB"
default="${session.have_package_perl_BerkeleyDB}"
acl="session_data_true(have_package_perl_BerkeleyDB)" />
- <widget type="literal" label="perl-BSD-Resource"
default="${session.have_package_perl_BSD_Resource}"
acl="session_data_true(have_package_perl_BSD_Resource)" />
- <widget type="literal"
label="perl-Class-MethodMaker"
default="${session.have_package_perl_Class_MethodMaker}"
acl="session_data_true(have_package_perl_Class_MethodMaker)" />
- <widget type="literal"
label="perl-Class-Singleton"
default="${session.have_package_perl_Class_Singleton}"
acl="session_data_true(have_package_perl_Class_Singleton)" />
- <widget type="literal"
label="perl-Config-IniFiles"
default="${session.have_package_perl_Config_IniFiles}"
acl="session_data_true(have_package_perl_Config_IniFiles)" />
- <widget type="literal" label="perl-Crypt-DES"
default="${session.have_package_perl_Crypt_DES}"
acl="session_data_true(have_package_perl_Crypt_DES)" />
- <widget type="literal"
label="perl-Crypt-GeneratePassword"
default="${session.have_package_perl_Crypt_GeneratePassword}"
acl="session_data_true(have_package_perl_Crypt_GeneratePassword)" />
- <widget type="literal" label="perl-Crypt-SSLeay"
default="${session.have_package_perl_Crypt_SSLeay}"
acl="session_data_true(have_package_perl_Crypt_SSLeay)" />
- <widget type="literal" label="perl-DateTime"
default="${session.have_package_perl_DateTime}"
acl="session_data_true(have_package_perl_DateTime)" />
- <widget type="literal"
label="perl-DateTime-Locale"
default="${session.have_package_perl_DateTime_Locale}"
acl="session_data_true(have_package_perl_DateTime_Locale)" />
- <widget type="literal"
label="perl-DateTime-TimeZone"
default="${session.have_package_perl_DateTime_TimeZone}"
acl="session_data_true(have_package_perl_DateTime_TimeZone)" />
- <widget type="literal" label="perl-DBD-Oracle"
default="${session.have_package_perl_DBD_Oracle}"
acl="session_data_true(have_package_perl_DBD_Oracle)" />
- <widget type="literal" label="perl-Devel-Symdump"
default="${session.have_package_perl_Devel_Symdump}"
acl="session_data_true(have_package_perl_Devel_Symdump)" />
- <widget type="literal" label="perl-Error"
default="${session.have_package_perl_Error}"
acl="session_data_true(have_package_perl_Error)" />
- <widget type="literal" label="perl-FreezeThaw"
default="${session.have_package_perl_FreezeThaw}"
acl="session_data_true(have_package_perl_FreezeThaw)" />
- <widget type="literal"
label="perl-HTML-TableExtract"
default="${session.have_package_perl_HTML_TableExtract}"
acl="session_data_true(have_package_perl_HTML_TableExtract)" />
- <widget type="literal" label="perl-IO-Capture"
default="${session.have_package_perl_IO_Capture}"
acl="session_data_true(have_package_perl_IO_Capture)" />
- <widget type="literal" label="perl-IO-Socket-SSL"
default="${session.have_package_perl_IO_Socket_SSL}"
acl="session_data_true(have_package_perl_IO_Socket_SSL)" />
- <widget type="literal" label="perl-IO-stringy"
default="${session.have_package_perl_IO_stringy}"
acl="session_data_true(have_package_perl_IO_stringy)" />
- <widget type="literal" label="perl-libapreq2"
default="${session.have_package_perl_libapreq2}"
acl="session_data_true(have_package_perl_libapreq2)" />
- <widget type="literal" label="perl-Mail-Alias"
default="${session.have_package_perl_Mail_Alias}"
acl="session_data_true(have_package_perl_Mail_Alias)" />
- <widget type="literal" label="perl-MailTools"
default="${session.have_package_perl_MailTools}"
acl="session_data_true(have_package_perl_MailTools)" />
- <widget type="literal" label="perl-MIME-tools"
default="${session.have_package_perl_MIME_tools}"
acl="session_data_true(have_package_perl_MIME_tools)" />
- <widget type="literal" label="perl-Net-SNMP"
default="${session.have_package_perl_Net_SNMP}"
acl="session_data_true(have_package_perl_Net_SNMP)" />
- <widget type="literal" label="perl-Net_SSLeay"
default="${session.have_package_perl_Net_SSLeay}"
acl="session_data_true(have_package_perl_Net_SSLeay)" />
- <widget type="literal"
label="perl-Network-IPv4Addr"
default="${session.have_package_perl_Network_IPv4Addr}"
acl="session_data_true(have_package_perl_Network_IPv4Addr)" />
- <widget type="literal" label="perl-NOCpulse-CLAC"
default="${session.have_package_perl_NOCpulse_CLAC}"
acl="session_data_true(have_package_perl_NOCpulse_CLAC)" />
- <widget type="literal" label="perl-NOCpulse-Debug"
default="${session.have_package_perl_NOCpulse_Debug}"
acl="session_data_true(have_package_perl_NOCpulse_Debug)" />
- <widget type="literal"
label="perl-NOCpulse-Gritch"
default="${session.have_package_perl_NOCpulse_Gritch}"
acl="session_data_true(have_package_perl_NOCpulse_Gritch)" />
- <widget type="literal"
label="perl-NOCpulse-Object"
default="${session.have_package_perl_NOCpulse_Object}"
acl="session_data_true(have_package_perl_NOCpulse_Object)" />
- <widget type="literal"
label="perl-NOCpulse-OracleDB"
default="${session.have_package_perl_NOCpulse_OracleDB}"
acl="session_data_true(have_package_perl_NOCpulse_OracleDB)" />
- <widget type="literal"
label="perl-NOCpulse-PersistentConnection"
default="${session.have_package_perl_NOCpulse_PersistentConnection}"
acl="session_data_true(have_package_perl_NOCpulse_PersistentConnection)" />
- <widget type="literal" label="perl-NOCpulse-Probe"
default="${session.have_package_perl_NOCpulse_Probe}"
acl="session_data_true(have_package_perl_NOCpulse_Probe)" />
- <widget type="literal"
label="perl-NOCpulse-ProcessPool"
default="${session.have_package_perl_NOCpulse_ProcessPool}"
acl="session_data_true(have_package_perl_NOCpulse_ProcessPool)" />
- <widget type="literal"
label="perl-NOCpulse-Scheduler"
default="${session.have_package_perl_NOCpulse_Scheduler}"
acl="session_data_true(have_package_perl_NOCpulse_Scheduler)" />
- <widget type="literal" label="perl-NOCpulse-SetID"
default="${session.have_package_perl_NOCpulse_SetID}"
acl="session_data_true(have_package_perl_NOCpulse_SetID)" />
- <widget type="literal" label="perl-NOCpulse-Utils"
default="${session.have_package_perl_NOCpulse_Utils}"
acl="session_data_true(have_package_perl_NOCpulse_Utils)" />
- <widget type="literal"
label="perl-Params-Validate"
default="${session.have_package_perl_Params_Validate}"
acl="session_data_true(have_package_perl_Params_Validate)" />
- <widget type="literal" label="perl-TimeDate"
default="${session.have_package_perl_TimeDate}"
acl="session_data_true(have_package_perl_TimeDate)" />
- <widget type="literal" label="perl-XML-Generator"
default="${session.have_package_perl_XML_Generator}"
acl="session_data_true(have_package_perl_XML_Generator)" />
- <widget type="literal" label="ProgAGoGo"
default="${session.have_package_ProgAGoGo}"
acl="session_data_true(have_package_ProgAGoGo)" />
- <widget type="literal" label="python-sgmlop"
default="${session.have_package_python_sgmlop}"
acl="session_data_true(have_package_python_sgmlop)" />
- <widget type="literal" label="rhn-apache"
default="${session.have_package_rhn_apache}"
acl="session_data_true(have_package_rhn_apache)" />
- <widget type="literal" label="rhn-base-minimal"
default="${session.have_package_rhn_base_minimal}"
acl="session_data_true(have_package_rhn_base_minimal)" />
- <widget type="literal" label="rhn-modperl"
default="${session.have_package_rhn_modperl}"
acl="session_data_true(have_package_rhn_modperl)" />
- <widget type="literal" label="rhn-modpython"
default="${session.have_package_rhn_modpython}"
acl="session_data_true(have_package_rhn_modpython)" />
- <widget type="literal" label="rhn-modssl"
default="${session.have_package_rhn_modssl}"
acl="session_data_true(have_package_rhn_modssl)" />
- <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
- <widget type="literal" label="rhns-auth-daemon"
default="${session.have_package_rhns_auth_daemon}"
acl="session_data_true(have_package_rhns_auth_daemon)" />
- <widget type="literal" label="rhns-certs-tools"
default="${session.have_package_rhns_certs_tools}"
acl="session_data_true(have_package_rhns_certs_tools)" />
- <widget type="literal" label="rhns-proxy-broker"
default="${session.have_package_rhns_proxy_broker}"
acl="session_data_true(have_package_rhns_proxy_broker)" />
- <widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
- <widget type="literal"
label="rhns-proxy-management"
default="${session.have_package_rhns_proxy_management}"
acl="session_data_true(have_package_rhns_proxy_management)" />
- <widget type="literal"
label="rhns-proxy-monitoring"
default="${session.have_package_rhns_proxy_monitoring}"
acl="session_data_true(have_package_rhns_proxy_monitoring)" />
- <widget type="literal"
label="rhns-proxy-package-manager"
default="${session.have_package_rhns_proxy_package_manager}"
acl="session_data_true(have_package_rhns_proxy_package_manager)" />
- <widget type="literal" label="rhns-proxy-redirect"
default="${session.have_package_rhns_proxy_redirect}"
acl="session_data_true(have_package_rhns_proxy_redirect)" />
- <widget type="literal" label="rhns-proxy-tools"
default="${session.have_package_rhns_proxy_tools}"
acl="session_data_true(have_package_rhns_proxy_tools)" />
- <widget type="literal" label="rhn-ssl-cert-check"
default="${session.have_package_rhn_ssl_cert_check}"
acl="session_data_true(have_package_rhn_ssl_cert_check)" />
- <widget type="literal"
label="SatConfig-ApacheDepot"
default="${session.have_package_SatConfig_ApacheDepot}"
acl="session_data_true(have_package_SatConfig_ApacheDepot)" />
- <widget type="literal" label="SatConfig-autokick"
default="${session.have_package_SatConfig_autokick}"
acl="session_data_true(have_package_SatConfig_autokick)" />
- <widget type="literal" label="SatConfig-bootstrap"
default="${session.have_package_SatConfig_bootstrap}"
acl="session_data_true(have_package_SatConfig_bootstrap)" />
- <widget type="literal"
label="SatConfig-bootstrap-server"
default="${session.have_package_SatConfig_bootstrap_server}"
acl="session_data_true(have_package_SatConfig_bootstrap_server)" />
- <widget type="literal" label="SatConfig-cluster"
default="${session.have_package_SatConfig_cluster}"
acl="session_data_true(have_package_SatConfig_cluster)" />
- <widget type="literal" label="SatConfig-dbsynch"
default="${session.have_package_SatConfig_dbsynch}"
acl="session_data_true(have_package_SatConfig_dbsynch)" />
- <widget type="literal" label="SatConfig-general"
default="${session.have_package_SatConfig_general}"
acl="session_data_true(have_package_SatConfig_general)" />
- <widget type="literal" label="SatConfig-generator"
default="${session.have_package_SatConfig_generator}"
acl="session_data_true(have_package_SatConfig_generator)" />
- <widget type="literal" label="SatConfig-installer"
default="${session.have_package_SatConfig_installer}"
acl="session_data_true(have_package_SatConfig_installer)" />
- <widget type="literal" label="SatConfig-spread"
default="${session.have_package_SatConfig_spread}"
acl="session_data_true(have_package_SatConfig_spread)" />
- <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
- <widget type="literal" label="scdb_accessor_perl"
default="${session.have_package_scdb_accessor_perl}"
acl="session_data_true(have_package_scdb_accessor_perl)" />
- <widget type="literal" label="SNMPAlerts"
default="${session.have_package_SNMPAlerts}"
acl="session_data_true(have_package_SNMPAlerts)" />
- <widget type="literal" label="SputLite-client"
default="${session.have_package_SputLite_client}"
acl="session_data_true(have_package_SputLite_client)" />
- <widget type="literal" label="SputLite-server"
default="${session.have_package_SputLite_server}"
acl="session_data_true(have_package_SputLite_server)" />
- <widget type="literal" label="ssl_bridge"
default="${session.have_package_ssl_bridge}"
acl="session_data_true(have_package_ssl_bridge)" />
- <widget type="literal" label="status_log_acceptor"
default="${session.have_package_status_log_acceptor}"
acl="session_data_true(have_package_status_log_acceptor)" />
- <widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
- <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
- <widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
- </rhn-form>
- </collect-data>
-
- <collect-data description="Configure ${app.name} Server">
-
- <header>
-<p>
- Configure your ${app.name} Server below. The Administrator Email
- Address is the address to which system status messages are sent. For
- the ${app.name} Server to function properly, the ${app.name} Hostname
- must be set to the system's fully qualified domain name.
-</p>
-
-<p>
- The Satellite Parent Server is the hostname of the server this Proxy
- connects to. Depending on your configuration, it could be the
- central Satellite Servers, your organization's Satellite Server, or
- another ${app.name} Server. If this ${app.name} will be connecting
- through an HTTP proxy, populate the related fields.
-</p>
-
-<p>
- If you choose to enable Secure Sockets Layer (SSL), this Satellite Proxy
- will use SSL to connect to the Satellite Parent Server. Regardless of
- whether you enable SSL for the connection to the Satellite Parent Server,
- you will be prompted to generate an SSL certificate on the next page.
- This SSL certificate will allow client systems to connect to this
- ${app.name} securely. Refer to the RHN Proxy Installation Guide for
- more information.
-</p>
-<p>
- When using an HTTP Proxy Server, use the format "servername:port" to specify
the server. For example: "proxy-server.corp.com:8888".
-</p>
- </header>
-
- <rhn-form name="Configure Proxy"
label="configure_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="text" name="Administrator Email Address"
label="traceback_mail" size="40"
default="${user.email}">
- <require valid-email="1" />
- </widget>
- <widget type="text" name="${app.name} Hostname"
label="hostname" size="40"
default="${system.guess_hostname}">
- <require response="1"/>
- <require fqdn="1"/>
- <filter type="text" />
- </widget>
- <widget type="text" name="Satellite Parent Server"
label="rhn_parent" size="40"
default="${system.guess_rhn_parent}">
- <require response="1"/>
- <require fqdn="1"/>
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Server"
label="http_proxy" size="30">
- <filter type="text" />
- <require fqdn-and-port="1"/>
- </widget>
- <widget type="text" name="HTTP Proxy Username"
label="http_proxy_username" size="10">
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Password"
label="http_proxy_password" size="10">
- <filter type="text" />
- </widget>
- <widget type="checkbox" name="Enable SSL?"
label="enable_ssl" default="1" checked="1"
- acl="global_config(ssl_available) or not
global_config(satellite)"/>
- <widget type="literal" label="SSL" default="SSL is
not enabled on this Satellite."
- acl="global_config(satellite); not global_config(ssl_available)"/>
- <widget type="checkbox" name="Enable Push?"
label="enable_osad" default="1" checked="1"
- acl="global_config(satellite);
global_config(ssl_available)"/>
- </rhn-form>
-
- </collect-data>
-
- <collect-data description="Configure SSL"
acl="global_config(ssl_available); global_config(satellite)">
- <header>
- Enter your CA cert password and other SSL configuration
- information here. This information will be used to generate
- the server certificate used by the proxy server to communicate
- via SSL.
- </header>
-
- <rhn-form name="Configure SSL" label="configure_ssl">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
-
- <widget type="password" name="CA Cert Password"
label="ca_cert_password" size="15">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="Organization"
label="org" size="24">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="Organizational Unit"
label="org-unit" size="24">
- <require max-length="128"/>
- </widget>
-
- <widget type="text" name="Email Address"
label="email" size="40"
default="${session.traceback_mail}">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="City" label="city"
size="16">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="text" name="State" label="state"
size="16">
- <require max-length="128"/>
- <require response="1"/>
- </widget>
-
- <widget type="select" name="Country"
label="country" size="1" default="US"
populate_options="RHN::SatInstall->valid_cert_countries">
- <require response="1"/>
- </widget>
-
- <widget type="text" name="Server cert Expiration (years)"
label="cert-expiration" size="3" default="5">
- <require max-length="3"/>
- <require response="1"/>
- </widget>
-
- <widget type="hidden" label="use_ssl"
default="1" />
- </rhn-form>
- </collect-data>
-
- <collect-data description="Skip SSL Configuration"
- acl="not global_config(ssl_available); global_config(satellite)">
- <header>
- You do not have SSL enabled for your Satellite Server.
- Therefore, SSL will not be available for this Satellite Proxy. SSL
- is a critical part of the security model of Satellite. If you wish
- to configure SSL at a later time, see the Satellite
- Installation Guide.
- </header>
-
- <rhn-form name="Configure SSL" label="configure_ssl">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="hidden" label="ca_chain"
default="/usr/share/rhn/RHNS-CA-CERT" />
- </rhn-form>
- </collect-data>
-
- <collect-data description="Configure SSL" acl="not
global_config(satellite)">
- <header>
- In order to configure SSL on your ${app.name}, you will need
- to generate a CA certificate and an SSL key pair. See the
- <a href="/help/proxy/s1-quickstart-install-config.html">RHN
Proxy
- Installation Guide </a> for more details. After you have
- generated the SSL key, you will need to upload the resulting
- tar file containing the certificate files using the form
- below. If the SSL CA certificate included in the tar file does
- not already exist in your org's <a
- href="/network/keys/key_list.pxt" target="_new">list of
SSL
- keys</a>, it will be added to that list.
- </header>
-
- <rhn-form name="Configure SSL" label="configure_ssl">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="file" name="SSL key files (tar)"
label="ssl_key_tar">
- <require response="1"/>
- </widget>
- <widget type="hidden" label="use_ssl"
default="1" />
- </rhn-form>
- </collect-data>
-
- <activity description="Lookup Parent IP Address"
- acl="session_data_true(enable_monitoring)">
- <method-call class="RHN::ProxyInstall"
method="load_ip_address" />
- </activity>
-
- <collect-data description="Configure Satellite Monitoring Proxy"
acl="session_data_true(enable_monitoring)">
-
- <header>
- Configure the Monitoring aspects of your ${app.name} below.
- </header>
-
- <rhn-form name="Configure Monitoring Proxy"
label="configure_monitoring_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="text" name="Satellite Parent Server
Hostname" label="rhn_monitoring_parent" size="40"
default="${session.rhn_parent}">
- <require response="1"/>
- <require fqdn="1"/>
- <filter type="text" />
- </widget>
- <widget type="text" name="Satellite Parent Server IP
Address" label="rhn_monitoring_parent_ip" size="15"
default="${session.rhn_parent_ip}">
- <require response="1"/>
- <require valid-ip="1"/>
- <filter type="text" />
- </widget>
- <widget type="hidden" label="enable_monitoring_scout"
default="1"/>
- </rhn-form>
-
- </collect-data>
-
- <activity description="Provisioning entitle system">
- <set-system-entitlement>provisioning_entitled</set-system-entitlement>
- </activity>
-
- <activity description="Create ${app.name} Config Channel for
system">
- <create-config-channel>
- <org-id>${user.org_id}</org-id>
- <type>normal</type>
- <name>${app.name} Config Channel for ${system.name}</name>
- <label>rhn_proxy_config_${system.id}</label>
- <description>This config channel is for the ${app.name} application running
on ${system.name} (${system.id})</description>
- </create-config-channel>
- </activity>
-
- <activity description="Subscribe to ${app.name} Config Channel">
- <subscribe-system-to-config-channel
channel-label="rhn_proxy_config_${system.id}" order="first"/>
- </activity>
-
- <activity description="Import SSL server cert into Config Channel"
- acl="not global_config(satellite)">
- <method-call class="RHN::ProxyInstall"
method="import_ssl_cert">
-
<target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- <cert-tar>${session.ssl_key_tar}</cert-tar>
- </method-call>
- </activity>
-
- <activity description="Generate SSL server cert"
acl="global_config(ssl_available);global_config(satellite)">
- <method-call class="RHN::ProxyInstall"
method="generate_ssl_cert">
- <hostname>${session.hostname}</hostname>
- <ca-cert-password>${session.ca_cert_password}</ca-cert-password>
- <org>${session.org}</org>
- <org-unit>${session.org-unit}</org-unit>
- <email>${session.email}</email>
- <city>${session.city}</city>
- <state>${session.state}</state>
- <country>${session.country}</country>
- <cert-expiration>${session.cert-expiration}</cert-expiration>
- <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- </method-call>
- </activity>
-
- <activity description="Create SatCluster record for Satellite Monitoring
Proxy" acl="session_data_true(enable_monitoring)">
- <method-call class="RHN::ProxyInstall"
method="create_sat_cluster_record">
- <customer-id>${user.org_id}</customer-id>
- <description>${app.name} ${system.name} (${system.id})</description>
- <last-update-user>installer</last-update-user>
- </method-call>
- </activity>
-
- <activity description="Generate /etc/rhn/rhn.conf config file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/rhn/rhn.conf"
- template="rhn.conf" mode="640" username="root"
groupname="apache"/>
- </activity>
-
- <activity description="Generate /etc/rhn/cluster.ini config file"
acl="session_data_true(enable_monitoring)">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/rhn/cluster.ini"
- template="cluster.ini" mode="644" username="root"
groupname="root"/>
- </activity>
-
- <activity description="Generate /etc/squid/squid.conf config file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/squid/squid.conf"
- template="squid.conf" mode="755"/>
- </activity>
-
- <activity description="Generate /etc/httpd/conf/httpd.conf config
file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/httpd/conf/httpd.conf"
- template="httpd/httpd.conf" mode="444"/>
- </activity>
-
- <activity description="Generate /etc/httpd/conf/rhn_proxy.conf config
file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/httpd/conf/rhn_proxy.conf"
- template="httpd/rhn_proxy.conf" mode="640"
username="root" groupname="apache"/>
- </activity>
-
- <activity description="Generate /etc/jabberd/c2s.xml config file"
- acl="global_config(ssl_available);session_data_true(enable_osad)">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/jabberd/c2s.xml"
- template="jabberd/c2s.xml" mode="644"
username="root" groupname="root"/>
- </activity>
-
- <activity description="Generate /etc/jabberd/sm.xml config file"
- acl="global_config(ssl_available);session_data_true(enable_osad)">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/jabberd/sm.xml"
- template="jabberd/sm.xml" mode="644" username="root"
groupname="root"/>
- </activity>
-
- <activity description="Activate the ${app.name}">
- <method-call class="RHN::ProxyInstall"
method="activate_proxy">
- <version>${app.version}</version>
- </method-call>
- </activity>
-
- <schedule-actions description="Schedule ${app.name} install">
- <remove-packages>
- <rpm>python-xmlrpc</rpm>
- </remove-packages>
-
- <run-script acl="session_data_true(have_package_any_of_proxy)">
- <action-name>Remove conflicting proxy packages</action-name>
- <script>
-#!/bin/sh
-rpm -e `for package in ${session.packages_list_proxy}; do
-rpm -q $package >/dev/null && echo $package; done`
- </script>
- </run-script>
-
- <install-packages acl="not
session_data_true(have_package_any_of_proxy)">
- <rpm>rhns-proxy-management</rpm>
- <rpm
acl="session_data_true(enable_monitoring)">rhns-proxy-monitoring</rpm>
- </install-packages>
-
- <install-packages
acl="session_data_true(have_package_any_of_proxy)">
- <force>1</force>
- <rpm>rhns-proxy-management</rpm>
- <rpm
acl="session_data_true(enable_monitoring)">rhns-proxy-monitoring</rpm>
- </install-packages>
-
-
- <deploy-configs>
- <action-name>Deploy Configuration</action-name>
- <configfile>/etc/rhn/rhn.conf</configfile>
- <configfile
acl="session_data_true(enable_monitoring)">/etc/rhn/cluster.ini</configfile>
- <configfile>/etc/squid/squid.conf</configfile>
- <configfile>/etc/httpd/conf/httpd.conf</configfile>
- <configfile>/etc/httpd/conf/rhn_proxy.conf</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/etc/httpd/conf/ssl.crt/server.crt</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/etc/httpd/conf/ssl.csr/server.csr</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/etc/httpd/conf/ssl.key/server.key</configfile>
- <configfile
acl="session_data_true(org_ssl_cert)">/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT</configfile>
- <configfile acl="global_config(ssl_available) or not
global_config(satellite)">/var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT</configfile>
- <configfile
acl="session_data_true(ca_rpm)">${session.ca_rpm}</configfile>
- <configfile
acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/server.pem</configfile>
- <configfile
acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/c2s.xml</configfile>
- <configfile
acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/sm.xml</configfile>
- </deploy-configs>
-
- <run-script acl="session_data_true(enable_monitoring)">
- <action-name>Enable Monitoring Services</action-name>
- <script>
-#!/bin/sh
-
-/etc/rc.d/np.d/step MonitoringScout install
- </script>
- </run-script>
-
- <run-script>
- <action-name>Allow Proxy service to read Satellite
Configuration</action-name>
- <script>
-#!/bin/sh
-chown root.apache /etc/sysconfig/rhn/systemid
-chmod 640 /etc/sysconfig/rhn/systemid
- </script>
- </run-script>
-
- <restart-services>
- <action-name>Start ${app.name}</action-name>
- <service>rhn-proxy</service>
- </restart-services>
- </schedule-actions>
-
- <redirect
save-session="1">/network/systems/details/proxy/install_progress.pxt?sid=${system.id}&version=${app.version}</redirect>
-
- </install>
-
- <install-progress acl="action_pending_named(Start Satellite Proxy) or
last_action_attempt_failed(Start Satellite Proxy)">
-
- <action-status description="Install progress">
- <header>
-You are installing ${app.name} on this system. Below is the list of actions for this
installation.
- </header>
-
- <inprogress>
- Once these actions are complete, your ${app.name} should be available for use.
- </inprogress>
-
- <complete>
- The installation is complete.
- </complete>
-
- <failed>
- The installation has failed. Click on the failed action for
- more details, resolve the error that prevented installation,
- and
-<a
href="/network/systems/details/proxy/index.pxt?sid=${system.id}&version=${app.version}">try
your installation again</a>.
- Or, you can
-<a
href="/network/systems/details/proxy.pxt?sid=${system.id}&pxt_trap=rhn:cancel_scheduled_proxy_install_cb">cancel
this installation process</a>.
- </failed>
-
- <target-action name="Start ${app.name}" show-chain="1"/>
- </action-status>
-
- </install-progress>
-
- <configure>
- <activity description="Create ${app.name} Config Channel for system if does
not already exist">
- <create-config-channel>
- <org-id>${user.org_id}</org-id>
- <type>normal</type>
- <name>${app.name} Config Channel for ${system.name}</name>
- <label>rhn_proxy_config_${system.id}</label>
- <description>This config channel is for the ${app.name} application running
on ${system.name} (${system.id})</description>
- </create-config-channel>
- </activity>
-
- <activity description="Subscribe to ${app.name} Config Channel">
- <subscribe-system-to-config-channel
channel-label="rhn_proxy_config_${system.id}" order="first"/>
- </activity>
-
- <activity description="Generate /etc/rhn/rhn.conf config file">
- <generate-config-file
target-config-channel="rhn_proxy_config_${system.id}"
path="/etc/rhn/rhn.conf"
- template="rhn.conf" mode="640" username="root"
groupname="apache" new_only="1"/>
- </activity>
-
-
- <activity description="Load current configuration">
- <method-call class="RHN::ProxyInstall"
method="load_configfile_into_session">
-
<target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- <target-config-file>/etc/rhn/rhn.conf</target-config-file>
- </method-call>
- </activity>
-
- <collect-data description="Configure ${app.name}">
-
- <header>
-<p>
-Configure your ${app.name} below. The Administrator Email Address is
-the address to which system status e-mail will be sent. Please note
-that if you have modified the configuration locally on the proxy
-without importing those changes into the Proxy Config Channel for this
-system, this action will overwrite those changes.
-</p>
-<p>
-Also, configuration changes here will not update the configuration for
-the up2date client. Only the ${app.name} application will be
-configured. For instance, if you want this system to connect through
-an HTTP proxy, you will need to configure the ${app.name} software
-here, and configure the up2date client separately.
-</p>
-<p>
- When using an HTTP Proxy Server, use the format "servername:port" to specify
the server. For example: "proxy-server.corp.com:8888".
-</p>
- </header>
-
- <rhn-form name="Configure Proxy"
label="configure_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="text" name="Administrator Email Address"
label="traceback_mail" size="40"
default="${session.traceback_mail}">
- <require valid-email="1" />
- </widget>
- <widget type="text" name="HTTP Proxy Server"
label="proxy.http_proxy" size="30"
default="${session.proxy.http_proxy}">
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Username"
label="proxy.http_proxy_username" size="10"
default="${session.proxy.http_proxy_username}">
- <filter type="text" />
- </widget>
- <widget type="text" name="HTTP Proxy Password"
label="proxy.http_proxy_password" size="10"
default="${session.proxy.http_proxy_password}">
- <filter type="text" />
- </widget>
- </rhn-form>
-
- </collect-data>
-
- <activity description="Update ${app.name} Configuration">
- <method-call class="RHN::ProxyInstall"
method="update_configfile_from_session">
-
<target-config-channel>rhn_proxy_config_${system.id}</target-config-channel>
- <target-config-file>/etc/rhn/rhn.conf</target-config-file>
- </method-call>
- </activity>
-
- <schedule-actions description="Schedule ${app.name} install">
-
- <deploy-configs>
- <configfile>/etc/rhn/rhn.conf</configfile>
- </deploy-configs>
-
- <restart-services>
- <action-name>Start ${app.name}</action-name>
- <service>rhn-proxy</service>
- </restart-services>
-
- </schedule-actions>
-
- <collect-data description="Configuration update scheduled"
no-cancel="1">
- <header>
-Reconfiguration actions for ${app.name} ${app.version} have been scheduled.
- </header>
-
- <rhn-form name="Installation Complete"
label="install_complete">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="hidden" label="continue_redir"
default="/rhn/systems/details/Overview.do" />
- </rhn-form>
-
- </collect-data>
-
- </configure>
-
- <remove>
-
- <collect-data description="Deactivate ${app.name}">
-
- <header>
-You can deactivate your ${app.name}. The ${app.name} services on the system
-will be stopped, and it will not show up as a Proxy in the Satellite web
-interface. The packages set and configuration of the system will not
-otherwise be affected. Systems that connect to Satellite through this
-proxy will need to be reconfigured to use a different Satellite server.
- </header>
-
- <rhn-form name="Deactivate Proxy"
label="deactivate_proxy">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="checkbox" name="Remove Packages"
label="remove_packages" default="1" checked="1" />
- </rhn-form>
-
- </collect-data>
-
- <activity description="Deactivate ${app.name} in local
configuration">
- <method-call class="RHN::ProxyInstall"
method="deactivate_proxy"/>
- </activity>
-
- <schedule-actions description="Deactivate ${app.name}">
-
- <stop-services>
- <action-name>Stop ${app.name} Services</action-name>
- <service>rhn-proxy</service>
- </stop-services>
-
- <run-script acl="session_data_true(remove_packages)">
- <action-name>Remove proxy packages</action-name>
- <script>
-#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
jabberd libidn LongLegs MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr
perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch
perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection
perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID
perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo
python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhns rhns
rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-proxy-broker
rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management
rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools
rhns-proxy-tools SatConfig-ApacheDepot SatConfig-autokick SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl; do
-rpm -q $package >/dev/null && echo $package; done`
- </script>
- </run-script>
-
- </schedule-actions>
-
- <collect-data description="Proxy deactivation scheduled"
no-cancel="1">
- <header>
-A deactivation for ${app.name} ${app.version} on ${system.name} has been scheduled.
- </header>
-
- <rhn-form name="Deactivation Complete"
label="deactivation_complete">
- <widget type="literal" label="Product"
default="${app.name}" />
- <widget type="literal" label="Version"
default="${app.version}" />
- <widget type="literal" name="Remove Packages"
label="Remove Packages Yes" default="Yes"
acl="session_data_true(remove_packages)"/>
- <widget type="literal" name="Remove Packages" label="Remove
Packages No" default="No" acl="not
session_data_true(remove_packages)"/>
- <widget type="hidden" label="continue_redir"
default="/rhn/systems/details/Overview.do" />
- </rhn-form>
- </collect-data>
-
- </remove>
-
-</application>
diff --git a/web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml
b/web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml
deleted file mode 100644
index c070324..0000000
--- a/web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml
+++ /dev/null
@@ -1,347 +0,0 @@
-<!-- c2s configuration -->
-<c2s>
- <!-- Our ID on the network (default: c2s) -->
- <id>c2s</id>
-
- <!-- The process ID file. comment this out if you don't need to know
- to know the process ID from outside the process (eg for control
- scripts) -->
- <pidfile>/var/run/jabberd-c2s.pid</pidfile>
-
- <!-- Router connection configuration -->
- <router>
- <!-- IP/port the router is waiting for connections on -->
- <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 -->
- <port>5347</port> <!-- default: 5347 -->
-
- <!-- Username/password to authenticate as -->
- <user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
-
- <!-- File containing a SSL certificate and private key to use when
- setting up an encrypted channel with the router. If this is
- commented out, or the file can't be read, no attempt will be
- made to establish an encrypted channel with the router. -->
-
- <pemfile>/etc/jabberd/server.pem</pemfile>
-
- <!-- Router connection retry -->
- <retry>
- <!-- If the connection to the router can't be established at
- startup, we should try again this many times before exiting.
- Use -1 to retry indefinitely. [default: 3] -->
- <init>3</init>
-
- <!-- If we lost the connection to the router during normal
- operation (ie we've successfully connected to the router in
- the past), we should try to reconnect this many times before
- exiting. Use -1 to retry indefinitely. [default: 3] -->
- <lost>3</lost>
-
- <!-- Sleep for this many seconds before trying attempting a
- reconnect. [default: 2] -->
- <sleep>2</sleep>
- </retry>
- </router>
-
- <!-- Log configuration - type is "syslog", "file" or
"stdout" -->
- <log type='syslog'>
- <!-- If logging to syslog, this is the log ident -->
- <ident>jabberd/c2s</ident>
-
- <!-- If logging to syslog, this is the log facility
- (local0 - local7) [default: local3] -->
- <facility>local3</facility>
-
- <!-- If logging to file, this is the filename of the logfile -->
- <!--
- <file>/var/log/jabberd/c2s.log</file>
- -->
- </log>
-
- <!-- Local network configuration -->
- <local>
- <!-- Who we identify ourselves as. This should correspond to the
- ID (host) that the session manager thinks it is. You can
- specify more than one to support virtual hosts, as long as you
- have additional session manager instances on the network to
- handle those hosts. The realm attribute specifies the auth/reg
- or SASL authentication realm for the host. If the attribute is
- not specified, the realm will be selected by the SASL
- mechanism, or will be the same as the ID itself. Be aware that
- users are assigned to a realm, not a host, so two hosts in the
- same realm will have the same users.
- If no realm is specified, it will be set to be the same as the
- ID. -->
- <id>${session.hostname}</id>
- <!-- <id realm='company'>localhost</id> -->
-
- <!-- IP address to bind to (default: 0.0.0.0) -->
- <ip>0.0.0.0</ip>
-
- <!-- Port to bind to, or 0 to disable unencrypted access to the
- server (default: 5222) -->
- <port>5222</port>
-
- <!-- File containing a SSL certificate and private key for client
- connections. If this is commented out, clients will not be
- offered the STARTTLS stream extension -->
- <pemfile>/etc/jabberd/server.pem</pemfile>
-
- <!-- Require STARTTLS. If this is enabled, clients must do STARTTLS
- before they can authenticate. Until the stream is encrypted,
- all packets will be dropped. -->
- <!--
- <require-starttls/>
- -->
-
- <!-- Older versions of jabberd support encrypted client connections
- via an additional listening socket on port 5223. If you want
- this (required to allow pre-STARTTLS clients to do SSL),
- uncomment this -->
- <!--
- <ssl-port>5223</ssl-port>
- -->
- </local>
-
- <!-- Input/output settings -->
- <io>
- <!-- Maximum number of file descriptors. Note that the number of
- possible connections will be slightly less than this, because
- c2s itself can use up five on its own, and auth/reg modules may
- need a few also. If the supply of file descriptors is
- exhausted, new incoming connections will be denied.
- (default: 1024) -->
- <max_fds>1024</max_fds>
-
- <!-- Rate limiting -->
- <limits>
- <!-- Maximum bytes per second - if more than X bytes are sent in Y
- seconds, connection is throttled for Z seconds. The format
- is:
-
- <bytes seconds='Y' throttle='Z'>X</bytes>
-
- Default Y is 1, default Z is 5. set X to 0 to disable. -->
- <bytes>0</bytes>
-
- <!-- Maximum connects per second - if more than X connects are
- attempted from a single IP in Y seconds, that IP is throttled
- for Z seconds. The format is:
-
- <connects seconds='Y' throttle='Z'>X</connects>
-
- Default Y is 5, default Z is 5. set X to 0 to disable. -->
- <connects>0</connects>
- </limits>
-
- <!-- IP-based access controls. If a connection IP matches an allow
- rule, the connection will be accepted. If a connecting IP
- matches a deny rule, the connection will be refused. If the
- connecting IP does not match any rules, or it matches both an
- allow and a deny rule, the contents of the <order/> option
- determines what happens. -->
- <access>
- <!-- Rule check order (default: allow,deny)
-
- allow,deny - Check allow rules, then check deny rules.
- Allow by default.
- deny,allow - Check deny rules, then check allow rules.
- Deny by default. -->
- <order>allow,deny</order>
-
- <!-- Allow a network. If the mask isn't specified, it defaults to
- 255.255.255.255 (ie allow onle the specified IP) -->
- <!--
- <allow ip='127.0.0.0' mask='255.0.0.0'/>
- -->
-
- <!-- Allow a single host -->
- <!--
- <allow ip='12.34.56.78'/>
- -->
-
- <!-- Deny a network or a host -->
- <!--
- <deny ip='127.0.0.1' mask='255.0.0.0'/>
- <deny ip='87.65.43.21'/>
- -->
- </access>
-
- <!-- Timed checks -->
- <check>
- <!-- Interval between checks.
-
- Open client connections will be checked every n seconds, and
- the following checks applied.
-
- 0 disables all checks. (default: 0) -->
- <interval>0</interval>
-
- <!-- Idle connection checks.
-
- Connections that have not sent data for longer than this many
- seconds will be dropped.
-
- 0 disables idle timeouts. (default: 0) -->
- <idle>0</idle>
-
- <!-- Keepalives.
-
- Connections that have not sent data for longer than this many
- seconds will have a single whitespace character sent to them.
- This will force the TCP connection to be closed if they have
- disconnected without us knowing about it.
-
- 0 disables keepalives. (default: 0) -->
- <keepalive>0</keepalive>
-
- </check>
-
- </io>
-
- <!-- Authentication/registration database configuration -->
- <authreg>
- <!-- Backend module to use -->
- <module>db</module>
-
- <!-- Registration configuration -->
- <register>
- <!-- Account registration is enabled by default (provided the
- auth/reg module in use supports it). Comment this out to
- disable. -->
- <enable/>
-
- <!-- Human-readable instructions to be returned to client when
- registration is requested. -->
- <instructions>Enter a username and password to register with this
server.</instructions>
-
- <!-- Password change only. When registration is disabled, it may
- still be useful to allow clients to change their password. If
- you want this, uncomment this when you disable registration. -->
- <!--
- <password/>
- -->
- </register>
-
- <!-- Available authentication mechanisms -->
- <mechanisms>
-
- <!-- These are the traditional Jabber authentication mechanisms.
- Comment out any that you don't want to be offered to clients.
- Note that if the auth/reg module does not support one of
- these mechanisms, then it will not be offered regardless of
- whether or not it is enabled here.
-
- Similarly, if <zerok/> is disabled, then zero-knowledge data
- will not be created when a user is registered. -->
- <traditional>
- <plain/>
- <digest/>
- <zerok/>
- </traditional>
-
- <!-- SASL authentication mechanisms. Comment out any that you
- don't want to be offered to clients. Again, if the auth/reg
- module does not support one of these mechanisms, then it will
- not be offered. -->
- <sasl>
- <plain/>
- <digest-md5/>
- <!--
- <anonymous/>
- -->
- </sasl>
-
- </mechanisms>
-
- <!-- MySQL module configuration -->
- <mysql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>3306</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
- </mysql>
-
- <!-- PostgreSQL module configuration -->
- <pgsql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>5432</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
- </pgsql>
-
- <!-- Berkeley DB module configuration -->
- <db>
- <!-- Directory to store database files under -->
- <path>/var/lib/jabberd</path>
-
- <!-- Synchronize the database to disk after each write. If you
- disable this, database accesses may be faster, but data may
- be lost if jabberd crashes. -->
- <sync/>
- </db>
-
- <!-- LDAP module configuration -->
- <ldap>
- <!-- LDAP server host and port (default: 389) -->
- <host>ldap.example.com</host>
- <port>389</port>
-
- <!-- Use LDAP v3 if possible. If disabled, v2 will be used.
- Encryption options are only available if v3 is enabled. -->
- <!--
- <v3/>
- -->
-
- <!-- Encryption. If enabled, this will create an encrypted channel
- to the LDAP server using the LDAP STARTTLS mechanism. -->
- <!--
- <starttls/>
- -->
-
- <!-- Encryption. If enabled, this will create an encrypted channel
- to the server using the old-style "ldaps://" mechanism. It is
- recommended that you use <starttls/> instead of this. -->
- <!--
- <ssl/>
- -->
-
- <!-- DN to bind as for searches. If unspecified, the searches
- will be done anonymously. -->
- <!--
- <binddn>cn=Directory Manager</binddn>
- <bindpw>secret</bindpw>
- -->
-
- <!-- LDAP attribute that holds the user ID (default: uid) -->
- <uidattr>uid</uidattr>
-
- <!-- base DN of the tree. You should specify a DN for each
- authentication realm declared in the <local/> section above,
- by using the realm attribute. -->
- <basedn realm='company'>o=Company.com</basedn>
- <basedn>o=Example Corp.</basedn>
- </ldap>
-
- <!-- Pipe module configuration -->
- <pipe>
- <!-- Program to execute -->
- <exec>/usr/bin/pipe-auth.pl</exec>
- </pipe>
-
- </authreg>
-
-</c2s>
diff --git a/web/html/applications/rhn-proxy/3.7/jabberd/sm.xml
b/web/html/applications/rhn-proxy/3.7/jabberd/sm.xml
deleted file mode 100644
index 44fa67b..0000000
--- a/web/html/applications/rhn-proxy/3.7/jabberd/sm.xml
+++ /dev/null
@@ -1,379 +0,0 @@
-<!-- Session manager configuration -->
-<sm>
- <!-- Our ID on the network. Users will have this as the domain part of
- their JID. If you want your server to be accessible from other
- Jabber servers, this ID must be resolvable by DNS.s
- (default: localhost) -->
- <id>${session.hostname}</id>
-
- <!-- The process ID file. comment this out if you don't need to know
- to know the process ID from outside the process (eg for control
- scripts) -->
- <pidfile>/var/run/jabberd-sm.pid</pidfile>
-
- <!-- Router connection configuration -->
- <router>
- <!-- IP/port the router is waiting for connections on -->
- <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 -->
- <port>5347</port> <!-- default: 5347 -->
-
- <!-- Username/password to authenticate as -->
- <user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
-
- <!-- File containing a SSL certificate and private key to use when
- setting up an encrypted channel with the router. If this is
- commented out, or the file can't be read, no attempt will be
- made to establish an encrypted channel with the router. -->
- <!--
- <pemfile>/etc/jabberd/server.pem</pemfile>
- -->
- <!-- Router connection retry -->
- <retry>
- <!-- If the connection to the router can't be established at
- startup, we should try again this many times before exiting.
- Use -1 to retry indefinitely. [default: 3] -->
- <init>3</init>
-
- <!-- If we lost the connection to the router during normal
- operation (ie we've successfully connected to the router in
- the past), we should try to reconnect this many times before
- exiting. Use -1 to retry indefinitely. [default: 3] -->
- <lost>3</lost>
-
- <!-- Sleep for this many seconds before trying attempting a
- reconnect. [default: 2] -->
- <sleep>2</sleep>
- </retry>
- </router>
-
- <!-- Log configuration - type is "syslog", "file" or
"stdout" -->
- <log type='syslog'>
- <!-- If logging to syslog, this is the log ident -->
- <ident>jabberd/sm</ident>
-
- <!-- If logging to syslog, this is the log facility
- (local0 - local7) [default: local3] -->
- <facility>local3</facility>
-
- <!-- If logging to file, this is the filename of the logfile -->
- <!--
- <file>/var/log/jabberd/sm.log</file>
- -->
- </log>
-
- <!-- Storage database configuration -->
- <storage>
- <!-- By default, we use the MySQL driver for all storage -->
- <driver>db</driver>
-
- <!-- Its also possible to explicitly list alternate drivers for
- specific data types. -->
- <!-- Store vcards in a PostgreSQL database instead -->
- <!--
- <driver type='vcard'>pgsql</driver>
- -->
-
- <!-- MySQL driver configuration -->
- <mysql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>3306</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
-
- <!-- Transacation support. If this is commented out, transactions
- will be disabled. This might make database accesses faster,
- but data may be lost if jabberd crashes.
-
- This will need to be disabled if you are using a MySQL
- earlier than v3.23.xx, as transaction support did not appear
- until this version. -->
- <transactions/>
- </mysql>
-
- <!-- PostgreSQL driver configuration -->
- <pgsql>
- <!-- Database server host and port -->
- <host>localhost</host>
- <port>5432</port>
-
- <!-- Database name -->
- <dbname>jabberd2</dbname>
-
- <!-- Database username and password -->
- <user>jabberd2</user>
- <pass>secret</pass>
-
- <!-- Transacation support. If this is commented out, transactions
- will be disabled. This might make database accesses faster,
- but data may be lost if jabberd crashes. -->
- <transactions/>
- </pgsql>
-
- <!-- Berkeley DB driver configuration -->
- <db>
- <!-- Directory to store database files under -->
- <path>/var/lib/jabberd</path>
-
- <!-- Synchronize the database to disk after each write. If you
- disable this, database accesses may be faster, but data may
- be lost if jabberd crashes. -->
- <sync/>
- </db>
- </storage>
-
- <!-- Access control information -->
- <aci>
- <!-- The JIDs listed here will get access to all restricted
- functions, regardless of restrictions further down -->
- <acl type='all'>
- <jid>admin@localhost</jid>
- </acl>
-
- <!-- These JIDs can send broadcast messages (announce, motd) -->
- <!--
- <acl type='broadcast'>
- <jid>nocstaff1@localhost</jid>
- <jid>nocstaff2@localhost</jid>
- </acl>
- -->
-
- <!-- These JIDs will receive messages addressed to the sm itself
- (help requestes and such) -->
- <!--
- <acl type='messages'>
- <jid>support@localhost</jid>
- </acl>
- -->
-
- <!-- These JIDs can discover active user/session information -->
- <!--
- <acl type='disco'>
- <jid>webstatus@localhost</jid>
- </acl>
- -->
- </aci>
-
- <!-- Module chain configuration
-
- Modules listed in a chain are called in the order specified at
- the appropriate time for that chain (assuming that the module
- knows how to work with that chain; otherwise it simply ignores
- it).
-
- Removing a module from these lists will stop the module being
- called, even if its compiled into the server.
-
- Serveral modules have a presence in more than one chain. It is
- possible to remove a module from one chain but not others, but
- this may cause strange behaviour. Make sure you know what you're
- doing. -->
- <modules>
-
- <!-- sess-start. The modules in this chain are called when a session
- is first started (usually on request by c2s as part of the
- authentication process). This is normally used to load
- per-session data. -->
- <chain id='sess-start'/>
-
- <!-- sess-end. The modules in this chain are called just before a
- session is destroyed (after the client has disconnected). -->
- <chain id='sess-end'>
- <module>iq-last</module> <!-- update logout time -->
- </chain>
-
- <!-- in-sess. The modules in this chain are called when a packet
- arrives from an active user session. Note that this chain is
- also responsible for delivering packets to their destinations -
- this is usually handled by the "deliver" module. -->
- <chain id='in-sess'>
- <module>validate</module> <!-- validate packet type -->
- <module>privacy</module> <!-- manage privacy lists -->
- <module>roster</module> <!-- handle roster get/sets and
s10ns -->
- <module>vacation</module> <!-- manage vacation settings
-->
- <module>iq-vcard</module> <!-- store and retrieve the
user's vcard -->
- <module>iq-private</module> <!-- manage the user's private
data store -->
- <module>disco</module> <!-- respond to agents requests
from sessions -->
- <module>offline</module> <!-- if we're coming online
for the first time, deliver queued messages -->
- <module>announce</module> <!-- deliver motd -->
- <module>presence</module> <!-- process and distribute
presence updates -->
- <module>deliver</module> <!-- deliver packets with full
jids directly -->
- </chain>
-
- <!-- out-sess. The modules in this chain are called just before a
- packet is delivered to an active user session. -->
- <chain id='out-sess'/>
-
- <!-- in-router. The modules in this chain are called when a packet
- arrives from the router (ie another component or s2s), but
- before any processing is done. This is a good place to filter
- incoming packets. -->
- <chain id='in-router'>
- <module>session</module> <!-- perform session actions as
required by c2s -->
- <module>validate</module> <!-- validate packet type -->
- <module>presence</module> <!-- drop incoming presence if
user not online -->
- <module>privacy</module> <!-- filter incoming packets based
on privacy rules -->
- </chain>
-
- <!-- out-router. The modules in this chain are called just before a
- packet is delivered to the router (destined for another
- component or s2s). This is a good place to filter outgoing
- packets. -->
- <chain id='out-router'>
- <module>privacy</module> <!-- filter outgoing packets based
on privacy rules -->
- </chain>
-
- <!-- pkt-sm. The modules in this chain are called when a packet
- arrives that is addressed to the session manager itself (ie the
- to JID has no node part). This is normally used to provide
- session-manager-wide services (like service discovery). -->
- <chain id='pkt-sm'>
- <module>iq-last</module> <!-- return the server uptime
-->
- <module>iq-time</module> <!-- return the current server
time -->
- <module>iq-version</module> <!-- return the server name and
version -->
- <module>disco</module> <!-- build the disco list; respond
to disco queries -->
- <module>announce</module> <!-- send broadcast messages
(announce, motd, etc) -->
- <module>help</module> <!-- resend sm messages to
administrators -->
- <module>echo</module> <!-- echo messages sent to /echo
-->
- </chain>
-
- <!-- pkt-user. The modules in this chain are called when a packet
- arrives that is address to a specific user. Note that this
- chain is also responsible for delivering packets to user
- sessions as appropriate - this is usually handled by the
- "deliver" module. -->
- <chain id='pkt-user'>
- <module>roster</module> <!-- handle s10n responses -->
- <module>presence</module> <!-- process and distribute
incoming presence from external entities -->
- <module>iq-vcard</module> <!-- grab user vcards -->
- <module>deliver</module> <!-- deliver the packet to an
active session if we can -->
- <module>vacation</module> <!-- send vacation messages
-->
- <module>offline</module> <!-- save messages and s10ns for
later -->
- <module>disco-publish</module> <!-- handle disco publishes;
return information about user sessions -->
- <module>iq-last</module> <!-- return time since last logout
-->
- </chain>
-
- <!-- pkt-router. The modules in this chain are called when a
- special-purpose packet arrives from the router (eg domain
- advertisements). -->
- <chain id='pkt-router'>
- <module>session</module> <!-- take sessions offline their
c2s disappears -->
- <module>disco</module> <!-- query new components for
service information -->
- </chain>
-
- <!-- user-load. The modules in this chain are called to load
- per-user data. This will happen before a user can be used (ie
- before a session is created). -->
- <chain id='user-load'>
- <module>active</module> <!-- get active status -->
- <module>roster</module> <!-- load the roster and trust
list -->
- <module>privacy</module> <!-- load privacy lists -->
- <module>disco-publish</module> <!-- load published information
-->
- <module>vacation</module> <!-- load vacation settings
-->
- </chain>
-
- <!-- user-create. The modules in this chain are called when a user
- creation request is received (usually from c2s as part of a
- registration request). This initialises any per-user data. -->
- <chain id='user-create'>
- <module>active</module> <!-- activate new users -->
- <module>template-roster</module> <!-- populate roster from template
-->
- </chain>
-
- <!-- user-delete. The modules in this chain are called when a user
- deletion request is received (usually from c2s as part of a
- registration removal request). This deletes all data that may
- have been previously created for the user during normal
- operation. -->
- <chain id='user-delete'>
- <module>active</module> <!-- deactivate users -->
- <module>announce</module> <!-- delete motd data -->
- <module>disco-publish</module> <!-- delete published information
-->
- <module>offline</module> <!-- bounce queued messages
-->
- <module>privacy</module> <!-- delete privacy lists -->
- <module>roster</module> <!-- delete roster -->
- <module>vacation</module> <!-- delete vacation settings
-->
- <module>iq-last</module> <!-- delete last logout time
-->
- <module>iq-private</module> <!-- delete private data -->
- <module>iq-vcard</module> <!-- delete vcard -->
- </chain>
-
- </modules>
-
- <!-- Service discovery configuration -->
- <discovery>
-
- <!-- Service identity. these specify the category, type and name of
- this service that will be included in discovery information
- responses. -->
- <identity>
- <category>server</category> <!-- default: server -->
- <type>im</type> <!-- default: im -->
- <name>Jabber IM server</name> <!-- default: Jabber IM server
-->
- </identity>
-
- <!-- The discovery module can respond to jabber:iq:agents queries
- for compatibility with older clients. Comment this out to
- disable this. -->
- <agents/>
-
- <!-- Static service list.
-
- The discover module can discover disco-capable services
- automatically as they come online. Most legacy services,
- however, will not support discovery. In order to get them to
- appear in disco/agents lists returned to the client, they
- should be listed here.
-
- Note that if a disco-capable service with the same name as one
- listed below comes online, the information it provides will
- override the information listed below.
-
- The "category" and "type" attributes, and the list of
supported
- namespaces are only used for agents compatibility. If you have
- disabled this above, you may omit them. -->
- <items>
-
- <!-- example entry for a user directory -->
- <!--
- <item category='service' type='jud'
jid='users.jabber.org' name='Jabber User Directory'/>
- -->
-
- <!-- example entry for a groupchat (conference) service -->
- <!--
- <item category='conference' type='public'
jid='conference.jabber.org' name='Text conferencing'/>
- -->
-
- </items>
-
- </discovery>
-
- <!-- User options -->
- <user>
- <!-- By default, users must explicitly created before they can start
- a session. The creation process is usually triggered by a c2s
- component in response to a client registering a new user.
-
- Enableing this option will make it so that a user create will be
- triggered the first time a non-existant user attempts to start
- a session. This is useful if you already have users in an
- external authentication database (eg LDAP) and you don't want
- them to have to register. -->
- <auto-create/>
-
- <!-- Templates. If defined, the contents of these files will be
- stored in the users data store when they are created. -->
- <template>
- <!--
- <roster>/etc/jabberd/templates/roster.xml</roster>
- -->
- </template>
- </user>
-
-</sm>
diff --git a/web/html/applications/rhn-proxy/3.7/rhn.conf
b/web/html/applications/rhn-proxy/3.7/rhn.conf
deleted file mode 100644
index 1114598..0000000
--- a/web/html/applications/rhn-proxy/3.7/rhn.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-# Automatically generated RHN Proxy Server configuration file.
-# -------------------------------------------------------------------------
-
-# SSL CA certificate location
-proxy.ca_chain = ${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}
-
-# Corporate HTTP proxy, format: corp_gateway.example.com:8080
-proxy.http_proxy = ${session.http_proxy}
-
-# Username for that corporate HTTP proxy
-proxy.http_proxy_username = ${session.http_proxy_username}
-
-# Password for that corporate HTTP proxy
-proxy.http_proxy_password = ${session.http_proxy_password}
-
-# Location of locally built, custom packages
-proxy.pkg_dir = /var/spool/rhn-proxy
-
-# Hostname of RHN Server or RHN Satellite
-proxy.rhn_parent = ${session.rhn_parent}
-
-# Destination of all tracebacks, etc.
-traceback_mail = ${session.traceback_mail}
-
-# SSL eabled or disabled
-proxy.use_ssl = ${session.use_ssl:0}
-
-# Monitoring Scout enabled or disabled
-web.is_monitoring_scout = ${session.enable_monitoring_scout:0}
diff --git a/web/html/applications/rhn-proxy/3.7/squid.conf
b/web/html/applications/rhn-proxy/3.7/squid.conf
deleted file mode 100644
index 1b18d39..0000000
--- a/web/html/applications/rhn-proxy/3.7/squid.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-# squid.conf
-# To be used for RHN Proxy servers.
-#
-# $Id$
-
-http_port 8080
-
-cache_mem 400 MB
-maximum_object_size 200 MB
-cache_dir ufs /var/spool/squid 15000 32 256
-
-cache_replacement_policy heap LFUDA
-memory_replacement_policy heap GDSF
-
-refresh_pattern . 0 100% 120000
-
-acl all src 0.0.0.0/0.0.0.0
-acl localhost src 127.0.0.1/255.255.255.255
-acl SSL_ports port 443
-acl Safe_ports port 80 # http
-acl Safe_ports port 443 # https
-acl CONNECT method CONNECT
-
-http_access deny !Safe_ports
-http_access deny CONNECT !SSL_ports
-http_access allow localhost
-http_access deny all
-icp_access allow all
-miss_access allow all
-
commit f9ef4878907a352cdd3e0e44dd3cd4dec87da7bf
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 14:29:46 2009 +0100
Automatic commit of package [spacewalk-setup] release [0.5.26-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup
index 2385830..c8425ae 100644
--- a/rel-eng/packages/spacewalk-setup
+++ b/rel-eng/packages/spacewalk-setup
@@ -1 +1 @@
-0.5.25-1 spacewalk/setup/
+0.5.26-1 spacewalk/setup/
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec
index 8efbd9c..c635d26 100644
--- a/spacewalk/setup/spacewalk-setup.spec
+++ b/spacewalk/setup/spacewalk-setup.spec
@@ -1,5 +1,5 @@
Name: spacewalk-setup
-Version: 0.5.25
+Version: 0.5.26
Release: 1%{?dist}
Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,6 +94,9 @@ rm -rf %{buildroot}
%dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog
+* Thu Mar 26 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.26-1
+- update message at the end of upgrade setup
+
* Wed Mar 25 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.25-1
- 491091 - don't match lines in ssl.conf that are commented out
commit 0e7a34ccb860e829087b45d2ce4317e84da8359f
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 14:27:38 2009 +0100
upgrade: we need to distinguish between Spacewalk and Satellite here (the upgrade
processes are different)
diff --git a/spacewalk/setup/bin/spacewalk-setup b/spacewalk/setup/bin/spacewalk-setup
index 5f9496d..f91cb6a 100644
--- a/spacewalk/setup/bin/spacewalk-setup
+++ b/spacewalk/setup/bin/spacewalk-setup
@@ -145,7 +145,11 @@ Spacewalk::Setup::upgrade_stop_services(\%opts);
Spacewalk::Setup::oracle_upgrade_start_db(\%opts);
if ($opts{'upgrade'}) {
- print Spacewalk::Setup::loc("Upgrade complete.\n");
+ print Spacewalk::Setup::loc("This portion of the $product_name upgrade process has
successfully completed.\n");
+ if ($product_name =~ /Satellite/) {
+ print Spacewalk::Setup::loc("Please refer to appropriate upgrade document in
/etc/sysconfig/rhn/satellite-upgrade\n");
+ print Spacewalk::Setup::loc("for any remaining steps in the process.\n");
+ }
} else {
print Spacewalk::Setup::loc("Installation complete.\n");
print Spacewalk::Setup::loc("Visit https://%s to create the $product_name
administrator account.\n", $answers{hostname});
commit 6e04c67d11894f1dcf38561577de67461cd142a3
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 14:02:33 2009 +0100
Automatic commit of package [spacewalk-backend] release [0.5.27-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index b9e30c4..90bd0dc 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -7,7 +7,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2
-Version: 0.5.26
+Version: 0.5.27
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -562,6 +562,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Thu Mar 26 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.27-1
+- 486526 - additional system files and db statistics included into spacewalk-debug
archive
+
* Wed Mar 25 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.5.26-1
- 487621 - Fix segfaults rhnpush has been causing server-side on Fedora 10.
- Fix Oracle exception handling in procedure calls.
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index fb5b620..1c2f570 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-0.5.26-1 backend/
+0.5.27-1 backend/
commit b8db0d49f6add0b6449243ecd56b4ef0ccb84f37
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 13:49:38 2009 +0100
486526 - include rhn-db-stats into spacewalk-backend-tools package
diff --git a/backend/satellite_tools/Makefile b/backend/satellite_tools/Makefile
index da21bb9..0b3fb30 100644
--- a/backend/satellite_tools/Makefile
+++ b/backend/satellite_tools/Makefile
@@ -16,7 +16,7 @@ FILES = __init__ connection diskImportLib messages \
SCRIPTS = satellite-sync spacewalk-debug\
rhn-schema-version rhn-satellite-activate rhn-charsets \
- rhn-ssl-dbstore update-packages migrate-system-profile
+ rhn-ssl-dbstore update-packages migrate-system-profile rhn-db-stats
# check if we can build man pages
DOCBOOK = $(wildcard /usr/bin/docbook2man)
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index e6472f1..b9e30c4 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -505,6 +505,7 @@ rm -f %{rhnconf}/rhnSecret.py*
%attr(755,root,root) %{_bindir}/rhn-satellite-exporter
%attr(755,root,root) %{_bindir}/update-packages
%attr(755,root,root) %{_bindir}/migrate-system-profile
+%attr(755,root,root) %{_bindir}/rhn-db-stats
%{rhnroot}/satellite_tools/SequenceServer.py*
%{rhnroot}/satellite_tools/messages.py*
%{rhnroot}/satellite_tools/progress_bar.py*
commit 1766b8bb663b179c2ced25bb6b0dc19e9c852374
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 13:44:04 2009 +0100
486526 - append rhnsat db statistics to debug archive
diff --git a/backend/satellite_tools/rhn-db-stats b/backend/satellite_tools/rhn-db-stats
new file mode 100755
index 0000000..8864bb8
--- /dev/null
+++ b/backend/satellite_tools/rhn-db-stats
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+if [ $# -lt 1 -o $# -gt 2 ]; then
+ echo "Usage: `basename $0` output-file [connect-string]"
+ exit
+fi
+
+CONNECT=$(grep default_db /etc/rhn/rhn.conf | awk '{split($0,a,"="); print
a[2]}')
+[ -n "$2" ] && CONNECT=$2
+
+sqlplus $CONNECT >& /dev/null << EOS
+spool $1
+set echo on
+set serverout on
+set pagesize 2000 linesize 145
+column name_col_plus_show_param format a40 word wrap
+column value_col_plus_show_param format a90 word wrap
+
+select dbms_stats.get_param('METHOD_OPT') from dual;
+
+show parameter;
+
+declare
+ n number;
+begin
+ for i in (select * from user_tables order by table_name)
+ loop
+ execute immediate 'select count(*) from ' || i.table_name into n;
+ dbms_output.put_line(i.table_name || ': ' || n);
+ end loop;
+end;
+/
+
+quit;
+EOS
diff --git a/backend/satellite_tools/spacewalk-debug
b/backend/satellite_tools/spacewalk-debug
index de89dc8..94a761e 100755
--- a/backend/satellite_tools/spacewalk-debug
+++ b/backend/satellite_tools/spacewalk-debug
@@ -87,6 +87,7 @@ mkdir -p $DIR/conf/rhn/sysconfig
mkdir -p $DIR/httpd-logs
mkdir -p $DIR/tomcat-logs
mkdir -p $DIR/rhn-logs
+mkdir -p $DIR/db-stats
echo " * copying configuration information"
cp -fapRd /etc/httpd/conf $DIR/conf/httpd
@@ -176,6 +177,9 @@ echo " * querying schema version and database
charactersets"
echo " * get diskspace available"
df -h > $DIR/diskinfo
+echo " * get database statistics"
+/usr/bin/rhn-db-stats $DIR/db-stats/db-stats.log
+
echo " * timestamping"
echo "Spacewalk debug created on $(date)" > $DIR/timestamp
commit bf56c0495d6cfe4f59b7bc0ec15b9acb13148486
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 13:37:45 2009 +0100
486526 - copy /etc/{sudoers,passwd,group} to debug archive
diff --git a/backend/satellite_tools/spacewalk-debug
b/backend/satellite_tools/spacewalk-debug
index 9d8a0d9..de89dc8 100755
--- a/backend/satellite_tools/spacewalk-debug
+++ b/backend/satellite_tools/spacewalk-debug
@@ -147,6 +147,24 @@ if [ -d /root/ssl-build ] ; then
cp -fa /root/ssl-build/* $DIR/ssl-build 2> /dev/null
fi
+# /etc/sudoers
+if [ -f /etc/sudoers ] ; then
+ echo " * copying /etc/sudoers"
+ cp -fa /etc/sudoers $DIR/conf
+fi
+
+# /etc/passwd
+if [ -f /etc/passwd ] ; then
+ echo " * copying apache, oracle, tomcat, nocpulse entries from
/etc/passwd"
+ egrep "apache|tomcat|oracle|nocpulse" /etc/passwd > $DIR/conf/passwd
+fi
+
+# /etc/group
+if [ -f /etc/group ] ; then
+ echo " * copying apache, oracle, tomcat, nocpulse entries from /etc/group"
+ egrep "apache|tomcat|oracle|nocpulse" /etc/group > $DIR/conf/group
+fi
+
echo " * querying RPM database (versioning of Spacewalk, etc.)"
rpm -qa --last > $DIR/rpm-manifest
rpm -qa | sort > $DIR/rpm-manifest-clean
commit 53026d5a46f143ef36ec2c03d39ba1400f832a0d
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Thu Mar 26 13:30:19 2009 +0100
get rid of bogus usage message
diff --git a/backend/satellite_tools/spacewalk-debug
b/backend/satellite_tools/spacewalk-debug
index 2063b23..9d8a0d9 100755
--- a/backend/satellite_tools/spacewalk-debug
+++ b/backend/satellite_tools/spacewalk-debug
@@ -27,7 +27,7 @@ BASE_DIR=/tmp
usage() {
echo "Usage:"
- echo "$0 [OPTIONS] <connect-string>"
+ echo "$0 [OPTIONS]"
echo "Debug utility that packages log files and other information"
echo
echo " OPTIONS:"
commit e7a69f30a7e395117374815b884e23c532dfee4a
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 11:57:06 2009 +0100
Automatic commit of package [spacewalk-proxy-installer] release [0.5.22-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec
b/proxy/installer/spacewalk-proxy-installer.spec
index 5de7dce..38afa22 100644
--- a/proxy/installer/spacewalk-proxy-installer.spec
+++ b/proxy/installer/spacewalk-proxy-installer.spec
@@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer
Summary: Spacewalk Proxy Server Installer
Group: Applications/Internet
License: GPLv2
-Version: 0.5.21
+Version: 0.5.22
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -83,6 +83,9 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE answers.txt
%changelog
+* Thu Mar 26 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.22-1
+- 486125 - if some option is present in answer file, use it even if empty
+
* Wed Mar 18 2009 Michael Mraka <michael.mraka(a)redhat.com> 0.5.21-1
- 489669 - fixed non-interactive mode
diff --git a/rel-eng/packages/spacewalk-proxy-installer
b/rel-eng/packages/spacewalk-proxy-installer
index d7b8b5f..de79c45 100644
--- a/rel-eng/packages/spacewalk-proxy-installer
+++ b/rel-eng/packages/spacewalk-proxy-installer
@@ -1 +1 @@
-0.5.21-1 proxy/installer/
+0.5.22-1 proxy/installer/
commit 50584c54be3e0f3a8de91e9724bf497ced946c22
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 11:54:59 2009 +0100
486125 - if some option is present in answer file, use it even if empty
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index eca22ca..036f3e7 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -47,10 +47,13 @@ default_or_input () {
#which is like: var_a = $var_b ? word
DEFAULT=${CURRENT_VALUE:-$DEFAULT}
echo -n "$MSG [$DEFAULT]: "
- if [ "$INTERACTIVE" = "1" -a -z "$CURRENT_VALUE" ]; then
+ if [ "$INTERACTIVE" = "1" -a -z "`set | grep
\"^$VARIABLE=\"`" ]; then
read INPUT
+ elif [ -z "`set | grep \"^$VARIABLE=\"`" ]; then
+ echo $DEFAULT
else
- echo
+ eval "DEFAULT=\$$VARIABLE"
+ echo $DEFAULT
fi
if [ -z "$INPUT" ]; then
INPUT="$DEFAULT"
commit b00375a0734baae8674078d8f73d1ad93cfc3375
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Thu Mar 26 11:00:57 2009 +0100
converting whitespace to tab
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh
index 6188d4c..eca22ca 100755
--- a/proxy/installer/configure-proxy.sh
+++ b/proxy/installer/configure-proxy.sh
@@ -41,10 +41,10 @@ default_or_input () {
local DEFAULT="$3"
local INPUT
- local CURRENT_VALUE=$(eval "echo \$$VARIABLE")
- #in following code is used not so common expansion
- #var_a=${var_b:-word}
- #which is like: var_a = $var_b ? word
+ local CURRENT_VALUE=$(eval "echo \$$VARIABLE")
+ #in following code is used not so common expansion
+ #var_a=${var_b:-word}
+ #which is like: var_a = $var_b ? word
DEFAULT=${CURRENT_VALUE:-$DEFAULT}
echo -n "$MSG [$DEFAULT]: "
if [ "$INTERACTIVE" = "1" -a -z "$CURRENT_VALUE" ]; then
commit 5d4ca733b164d8d9ad1d09f0436b04f9758d7486
Author: Mike McCune <mmccune(a)gmail.com>
Date: Wed Mar 25 22:17:10 2009 -0700
unit test fixes and some extra logging
diff --git a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java
b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java
index ecf834a..f8269b4 100644
--- a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java
+++ b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java
@@ -44,6 +44,7 @@ public class ValidatorServiceTest extends RhnBaseTestCase {
to.setAsciiString("asciivalue");
to.setUsernameString("usernamevalue");
to.setPosixString("posixvalue");
+ to.setTwoCharField("12");
assertTrue(
ValidatorService.getInstance().validateObject(to, validator).isEmpty());
@@ -64,6 +65,7 @@ public class ValidatorServiceTest extends RhnBaseTestCase {
to.setAsciiString("asciivalue");
to.setUsernameString("usernamevalue");
to.setPosixString("posixvalue");
+ to.setTwoCharField("12");
assertTrue(
ValidatorService.getInstance().validateObject(to).isEmpty());
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index 0047711..c4e2039 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -1711,10 +1711,21 @@ public class ChannelManager extends BaseManager {
* @return Tools channel if found, null otherwise.
*/
public static Channel getToolsChannel(Channel baseChannel, User user) {
+ if (log.isDebugEnabled()) {
+ log.debug("getToolsChannel, baseChannel: " +
baseChannel.getLabel());
+ }
+
Iterator i = ChannelManager.userAccessibleChildChannels(
user.getOrg().getId(), baseChannel.getId()).iterator();
+
+ if (log.isDebugEnabled()) {
+ log.debug("getToolsChannel, userAccessibleChildChannels: " +
i.hasNext());
+ }
while (i.hasNext()) {
Channel child = (Channel) i.next();
+ if (log.isDebugEnabled()) {
+ log.debug("getToolsChannel, trying: " + child.getLabel());
+ }
// First search for legacy kickstart package names:
List kspackages = ChannelManager.
listLatestPackagesLike(child.getId(),
commit 5a1a84852f28190b48342c2f5bc3767211e1a073
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Thu Mar 26 00:02:25 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.39-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 9d64f76..0ad65c4 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.38
+Version: 0.5.39
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,9 +235,13 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Thu Mar 26 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.39-1
+- 484852 - user taken to meaningful error pages instead of ISEs.
+
* Wed Mar 25 2009 Partha Aji <paji(a)redhat.com> 0.5.38-1
- Added code to take advantage of cobbler 1.6 perf enhancements
- if the customer has that installed.
+
* Wed Mar 25 2009 Mike McCune <mmccune(a)gmail.com> 0.5.37-1
- 491978 - fixing status reporting in webui for kickstarts.
- Added resource bundle entries for admin/config/Cobbler.do
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index f699c73..ac40b4e 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.38-1 java/
+0.5.39-1 java/
commit 9f17fb3f98a22685630be5b45ab3b32e9ae0720a
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Wed Mar 25 23:58:13 2009 -0400
484852 - user taken to meaningful error pages instead of ISEs.
Added a new Struts exception handler for NoSuchPackageException.
Cleaned up PackageDetailsAction to handle errors and be better
organized. PackageManager was not handling an empty DataResult which
is a bad thing, now returns null which is handled by the caller.
Added 2 negative tests for the changes made to PackageManager.
diff --git a/java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java
b/java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java
new file mode 100644
index 0000000..f1cb11e
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) 2009 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.common.errors;
+
+import com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException;
+
+import org.apache.log4j.Logger;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ExceptionHandler;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * UnknownPackageExceptionHandler
+ * @version $Rev$
+ */
+public class NoSuchPackageExceptionHandler extends ExceptionHandler {
+ private NoSuchPackageException exception;
+
+ @Override
+ protected void storeException(HttpServletRequest request, String property,
+ ActionMessage error, ActionForward forward, String scope) {
+ request.setAttribute("error", exception);
+ }
+
+ @Override
+ protected void logException(Exception ex) {
+ Logger log = Logger.getLogger(NoSuchPackageExceptionHandler.class);
+ log.error("Missing Parameter Error", ex);
+ exception = (NoSuchPackageException) ex;
+ }
+}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java
b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java
index 2008dc7..6d6a2d1 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java
@@ -14,15 +14,17 @@
*/
package com.redhat.rhn.frontend.action.rhnpackage;
-import com.redhat.rhn.common.db.datasource.ParameterValueNotFoundException;
+import com.redhat.rhn.common.security.PermissionException;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.rhnpackage.PackageFactory;
import com.redhat.rhn.domain.rhnpackage.Patch;
import com.redhat.rhn.domain.rhnpackage.PatchSet;
import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.action.common.BadParameterException;
import com.redhat.rhn.frontend.dto.PackageListItem;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException;
import com.redhat.rhn.manager.download.DownloadManager;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
@@ -41,7 +43,7 @@ import javax.servlet.http.HttpServletResponse;
* @version $Rev$
*/
public class PackageDetailsAction extends RhnAction {
-
+
private final String PACKAGE_NAME = "package_name";
/** {@inheritDoc} */
@@ -51,104 +53,92 @@ public class PackageDetailsAction extends RhnAction {
HttpServletResponse response) {
RequestContext requestContext = new RequestContext(request);
- User user = requestContext.getLoggedInUser();
-
- Package pack;
- long pid;
- long archId = 0;
-
+ User user = requestContext.getLoggedInUser();
+
//If this is an easy one and we have the pid
if (request.getParameter("pid") != null) {
- pid = requestContext.getRequiredParam("pid");
- pack = PackageFactory.lookupByIdAndUser(pid, user);
+ long pid = requestContext.getRequiredParam("pid");
+ Package pkg = PackageFactory.lookupByIdAndUser(pid, user);
+
+ // show permission error if pid is invalid like we did before
+ if (pkg == null) {
+ throw new PermissionException("Invalid pid");
+ }
+
+ if (pkg instanceof Patch) {
+ request.setAttribute("type", "patch");
+ request.setAttribute(PACKAGE_NAME, pkg.getPackageName().getName());
+ request.setAttribute("readme_url",
+ DownloadManager.getPatchReadmeDownloadPath(
+ (Patch) pkg, user));
+ }
+ else if (pkg instanceof PatchSet) {
+ request.setAttribute("type", "patchset");
+ request.setAttribute(PACKAGE_NAME, pkg.getNameEvra());
+ request.setAttribute("readme_url",
+ DownloadManager.getPatchSetReadmeDownloadPath(
+ (PatchSet) pkg, user));
+ }
+ else {
+ request.setAttribute("type", "rpm");
+ request.setAttribute(PACKAGE_NAME, pkg.getFile());
+ }
+
+ if (DownloadManager.isFileAvailable(pkg.getPath())) {
+ request.setAttribute("url",
+ DownloadManager.getPackageDownloadPath(pkg, user));
+ }
+
+ if (DownloadManager.isFileAvailable(pkg.getSourcePath())) {
+ request.setAttribute("srpm_url",
+ DownloadManager.getPackageSourceDownloadPath(pkg, user));
+ }
+
+ request.setAttribute("pack", pkg);
+ request.setAttribute("description",
+ pkg.getDescription().replace("\n",
"<BR>\n"));
+ request.setAttribute("packArches",
+ PackageFactory.findPackagesWithDifferentArch(pkg));
+ request.setAttribute("pid", pid);
+
+ return mapping.findForward("default");
}
else { //we have to guess
PackageListItem item =
PackageListItem.parse(request.getParameter("id_combo"));
+ Package pkg;
long nameId = item.getIdOne();
long evrId = item.getIdTwo();
+ long archId = 0;
if (item.getIdThree() != null) {
archId = item.getIdThree();
}
- String cidParam = request.getParameter("cid");
- String sidParam = request.getParameter("sid");
- if (cidParam != null) {
- pack = PackageManager.guestimatePackageByChannel(
- Long.parseLong(cidParam), nameId, evrId, user.getOrg());
+ Long cid = requestContext.getParamAsLong("cid");
+ Long sid = requestContext.getParamAsLong("sid");
+ if (cid != null) {
+ pkg = PackageManager.guestimatePackageByChannel(
+ cid, nameId, evrId, user.getOrg());
}
- else if (sidParam != null) {
- pack = PackageManager.guestimatePackageBySystem(
- Long.parseLong(sidParam), nameId, evrId, archId, user.getOrg());
+ else if (sid != null) {
+ pkg = PackageManager.guestimatePackageBySystem(
+ sid, nameId, evrId, archId, user.getOrg());
}
else {
- throw new ParameterValueNotFoundException("pid, cid, or sid");
+ throw new BadParameterException("pid, cid, or sid");
+ }
+
+ // show permission error if pid is invalid like we did before
+ if (pkg == null) {
+ throw new NoSuchPackageException();
}
Map params = new HashMap();
- params.put("pid", pack.getId());
+ params.put("pid", pkg.getId());
return
getStrutsDelegate().forwardParams(mapping.findForward("package"),
params);
-
- }
-
-
-
- request.setAttribute("pack", pack);
-
-
- String desc = pack.getDescription();
- request.setAttribute("description", desc.replace("\n",
"<BR>\n"));
-
-
-
- if (pack instanceof Patch) {
- request.setAttribute("type", "patch");
- request.setAttribute(PACKAGE_NAME, pack.getPackageName().getName());
- request.setAttribute("readme_url",
DownloadManager.getPatchReadmeDownloadPath(
- (Patch) pack, user));
-
- }
- else if (pack instanceof PatchSet) {
- request.setAttribute("type", "patchset");
- request.setAttribute(PACKAGE_NAME, pack.getNameEvra());
-
- request.setAttribute("readme_url",
- DownloadManager.getPatchSetReadmeDownloadPath(
- (PatchSet) pack, user));
- }
- else {
- request.setAttribute("type", "rpm");
- request.setAttribute(PACKAGE_NAME, pack.getFile());
- }
-
-
-
- request.setAttribute("packArches",
- PackageFactory.findPackagesWithDifferentArch(pack));
-
- if (DownloadManager.isFileAvailable(pack.getPath())) {
- request.setAttribute("url",
DownloadManager.getPackageDownloadPath(pack, user));
}
-
- if (DownloadManager.isFileAvailable(pack.getSourcePath())) {
- request.setAttribute("srpm_url",
- DownloadManager.getPackageSourceDownloadPath(pack, user));
- }
-
-
-
- request.setAttribute("pid", pid);
-
-
-
- return mapping.findForward("default");
-
}
-
-
-
-
-
}
+
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 5e6c881..4051cbe 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -21017,6 +21017,18 @@ given channel.</source>
<context
context-type="sourcefile">/rhn/channels/manage/errata/ErrataList.do</context>
</context-group>
</trans-unit>
+ <trans-unit id="unknown.package">
+ <source>Unknown Package</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">any package
page</context>
+ </context-group>
+ </trans-unit>
+ <trans-unit id="unknown.package.msg">
+ <source>Unfortunately, you have requested information about a package we
do not have in our database. Most likely, this is a custom package you have installed by
hand, or is from a distribution not supported by Red Hat Network.</source>
+ <context-group name="ctx">
+ <context
context-type="sourcefile">/rhn/channels/manage/errata/ErrataList.do</context>
+ </context-group>
+ </trans-unit>
</body>
</file>
</xliff>
diff --git a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
index 66347e3..6e7851c 100644
--- a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
+++ b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java
@@ -1210,7 +1210,12 @@ public class PackageManager extends BaseManager {
"Package_queries", "guestimate_package_by_channel");
DataResult dr = m.execute(params);
- return PackageFactory.lookupByIdAndOrg((Long)
((Map)dr.get(0)).get("id"), org);
+ if (dr != null && !dr.isEmpty()) {
+ return PackageFactory.lookupByIdAndOrg(
+ (Long) ((Map)dr.get(0)).get("id"), org);
+ }
+
+ return null;
}
/**
@@ -1230,19 +1235,23 @@ public class PackageManager extends BaseManager {
params.put("nameId", nameId);
params.put("evrId", evrId);
- if (archId != 0) {
+ if (archId != null && archId != 0) {
params.put("archId", archId);
m = ModeFactory.getMode(
"Package_queries",
"guestimate_package_by_system_arch");
- }
+ }
else {
m = ModeFactory.getMode(
"Package_queries",
"guestimate_package_by_system");
}
DataResult dr = m.execute(params);
+ if (dr != null && !dr.isEmpty()) {
+ return PackageFactory.lookupByIdAndOrg(
+ (Long) ((Map)dr.get(0)).get("id"), org);
+ }
- return PackageFactory.lookupByIdAndOrg((Long)
((Map)dr.get(0)).get("id"), org);
+ return null;
}
/**
diff --git a/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java
b/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java
index c772369..c697ec0 100644
--- a/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java
@@ -24,12 +24,13 @@ import com.redhat.rhn.domain.channel.test.ChannelFactoryTest;
import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.errata.ErrataFactory;
import com.redhat.rhn.domain.errata.test.ErrataFactoryTest;
+import
com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.rhnpackage.PackageCapability;
import com.redhat.rhn.domain.rhnpackage.PackageEvr;
+import com.redhat.rhn.domain.rhnpackage.PackageEvrFactory;
import com.redhat.rhn.domain.rhnpackage.PackageFactory;
import com.redhat.rhn.domain.rhnpackage.PackageName;
-import com.redhat.rhn.domain.rhnpackage.PackageEvrFactory;
import com.redhat.rhn.domain.rhnpackage.test.PackageCapabilityTest;
import com.redhat.rhn.domain.rhnpackage.test.PackageNameTest;
import com.redhat.rhn.domain.rhnpackage.test.PackageTest;
@@ -37,7 +38,6 @@ import com.redhat.rhn.domain.role.RoleFactory;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.server.test.ServerFactoryTest;
import com.redhat.rhn.domain.user.User;
-import
com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.frontend.dto.PackageListItem;
import com.redhat.rhn.frontend.dto.PackageOverview;
import com.redhat.rhn.frontend.dto.UpgradablePackageListItem;
@@ -48,19 +48,19 @@ import com.redhat.rhn.manager.kickstart.tree.BaseTreeEditOperation;
import com.redhat.rhn.manager.rhnpackage.PackageManager;
import com.redhat.rhn.testing.BaseTestCaseWithUser;
import com.redhat.rhn.testing.ChannelTestUtils;
+import com.redhat.rhn.testing.ServerTestUtils;
import com.redhat.rhn.testing.TestUtils;
import com.redhat.rhn.testing.UserTestUtils;
-import com.redhat.rhn.testing.ServerTestUtils;
import org.hibernate.Query;
import org.hibernate.Session;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.HashSet;
/**
* PackageManagerTest
@@ -93,6 +93,37 @@ public class PackageManagerTest extends BaseTestCaseWithUser {
}
}
+ public void testGuestimateChannelInvalidPackage() {
+ // guestimatePackageByChannel should return null if it
+ // can't find a package, not throw an exception.
+ try {
+ assertNull(PackageManager.guestimatePackageByChannel(
+ 10000L, 100L, 100L, null));
+ }
+ catch (Exception e) {
+ fail("method should return null");
+ }
+ }
+
+ public void testGuestimateHandlesNullArchId() throws Exception {
+ PackageListItem pli = PackageListItem.parse("10000|1000");
+ assertNull(pli.getIdThree());
+ assertNull(PackageManager.guestimatePackageBySystem(10000L, 100L, 100L,
+ pli.getIdThree(), null));
+ }
+
+ public void testGuestimateInvalidPackage() throws Exception {
+ // guestimatePackageBySystem should return null if it
+ // can't find a package, not throw an exception.
+ try {
+ assertNull(PackageManager.guestimatePackageBySystem(10000L, 100L, 100L,
+ 0L, null));
+ }
+ catch (Exception e) {
+ fail("method should return null");
+ }
+ }
+
public void testUpgradable() throws Exception {
Map info = ErrataCacheManagerTest.
createServerNeededPackageCache(user, ErrataFactory.ERRATA_TYPE_BUG);
diff --git a/java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp
b/java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp
new file mode 100644
index 0000000..950486d
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp
@@ -0,0 +1,16 @@
+<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<html:xhtml/>
+<html>
+<body>
+
+<h1>
+ <img src="/img/rhn-icon-warning.gif"
+ alt="<bean:message key='error.common.errorAlt' />" />
+ <bean:message key="unknown.package" />:
+</h1>
+
+<p><bean:message key="unknown.package.msg" /></p>
+
+</body>
+</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 9bece67..eaf1a1d 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -992,9 +992,9 @@
<exception type="com.redhat.rhn.common.security.PermissionException"
path="/WEB-INF/pages/common/errors/permission.jsp" key="date"
handler="com.redhat.rhn.common.errors.PermissionExceptionHandler"/>
- <exception
type="com.redhat.rhn.domain.user.service.UserServiceException"
- path="/WEB-INF/pages/common/errors/service.jsp" key="date"
- handler="com.redhat.rhn.common.errors.ServiceExceptionHandler"/>
+ <exception type="com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException"
+ path="/WEB-INF/pages/common/errors/nosuchpkg.jsp" key="date"
+
handler="com.redhat.rhn.common.errors.NoSuchPackageExceptionHandler"/>
</global-exceptions>
<!--
commit a6624091f6718d7d11c39f956704126ce71a8ff0
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Mar 25 20:42:03 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.38-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 54fb2a9..9d64f76 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.37
+Version: 0.5.38
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,7 +235,7 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
-* Wed Mar 25 2009 Partha Aji <paji(a)redhat.com>
+* Wed Mar 25 2009 Partha Aji <paji(a)redhat.com> 0.5.38-1
- Added code to take advantage of cobbler 1.6 perf enhancements
- if the customer has that installed.
* Wed Mar 25 2009 Mike McCune <mmccune(a)gmail.com> 0.5.37-1
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 8020a45..f699c73 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.37-1 java/
+0.5.38-1 java/
commit f2d11e23927462fe0b44c0d92f74727cd3cfbd9b
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Mar 25 20:41:53 2009 -0400
Fixed the spacewalk-java spec
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 967254b..54fb2a9 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -235,6 +235,9 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Wed Mar 25 2009 Partha Aji <paji(a)redhat.com>
+- Added code to take advantage of cobbler 1.6 perf enhancements
+- if the customer has that installed.
* Wed Mar 25 2009 Mike McCune <mmccune(a)gmail.com> 0.5.37-1
- 491978 - fixing status reporting in webui for kickstarts.
- Added resource bundle entries for admin/config/Cobbler.do
commit 6a95e8408a3b782c5579c402c2ed28346ce80e36
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Mar 25 20:37:35 2009 -0400
Modified Cobbler Distro/Profile and SysRecord creation to take advantage of the new
speeedy cobbler lookup enhancements. The logic was now changed to say if its Cobbler 1.6
do the ID lookup using find* else do the lookup the traditional way..
diff --git a/java/code/src/org/cobbler/CobblerConnection.java
b/java/code/src/org/cobbler/CobblerConnection.java
index 9822715..51d4300 100644
--- a/java/code/src/org/cobbler/CobblerConnection.java
+++ b/java/code/src/org/cobbler/CobblerConnection.java
@@ -40,7 +40,7 @@ public class CobblerConnection {
private XmlRpcClient client;
private String actualUrl;
private static Logger log = Logger.getLogger(CobblerConnection.class);
-
+ private Double version;
private String token;
protected CobblerConnection() {
@@ -178,8 +178,20 @@ public class CobblerConnection {
* Gets the cobbler version
* @return the cobbler version.
*/
- public double getVersion() {
- return (Double)invokeMethod("version");
+ private double getVersion() {
+ if (version == null) {
+ version = (Double)invokeMethod("version");
+ }
+ return version;
+ }
+
+ /**
+ * a hack to check if the api version is > 1.6
+ * for some things are different after..
+ * @return true if the client connection is 1.6 or greater.
+ */
+ public boolean is16OrGreater() {
+ return getVersion() >= COBBLER_VERSION;
}
private String adjustUrl(String urlIn) {
diff --git a/java/code/src/org/cobbler/CobblerObject.java
b/java/code/src/org/cobbler/CobblerObject.java
index 50278eb..7c0b42c 100644
--- a/java/code/src/org/cobbler/CobblerObject.java
+++ b/java/code/src/org/cobbler/CobblerObject.java
@@ -49,6 +49,63 @@ public abstract class CobblerObject {
protected Map<String, Object> dataMap = new HashMap<String, Object>();
protected CobblerConnection client;
+ /**
+ * Helper method used by all cobbler objects to
+ * return a version of themselves by UID
+ * @see org.cobbler.Distro.lookupById for example usage..
+ *
+ * @param client the Cobbler Connection
+ * @param id the UID of the distro/profile/system record
+ * @param findMethod the find xmlrpc method, eg: find_distro
+ * @param listMethod the list xmlrpc method, eg: get_distros
+ * @return true if the cobbler object was found.
+ */
+ protected static Map<String, Object> lookupDataMapById(CobblerConnection
client,
+ String id, String findMethod, String listMethod) {
+ if (id == null) {
+ return null;
+ }
+ if (client.is16OrGreater()) {
+ Map<String, String> criteria = new HashMap<String, String>();
+ criteria.put(UID, id);
+ List<Map<String, Object>> objects = (List<Map<String,
Object>>)
+ client.invokeTokenMethod(findMethod, criteria);
+ if (!objects.isEmpty()) {
+ return objects.get(0);
+ }
+ return null;
+ }
+ List<Map<String, Object>> cobblerObjects = (List<Map<String,
Object>>)
+ client.invokeMethod(listMethod);
+ for (Map <String, Object> map : cobblerObjects) {
+
+ if (id.equals(map.get(UID))) {
+ return map;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Helper method used by all cobbler objects to
+ * return a Map of themselves by name.
+ * @see org.cobbler.Distro.lookupByName for example usage..
+ * @param client the Cobbler Connection
+ * @param name the name of the cobbler object
+ * @param lookupMethod the name of the xmlrpc
+ * method to lookup: eg get_profile for profile
+ * @return the Cobbler Object Data Map or null
+ */
+ protected static Map <String, Object> lookupDataMapByName(CobblerConnection
client,
+ String name, String lookupMethod) {
+ Map <String, Object> map = (Map<String, Object>)client.
+ invokeMethod(lookupMethod, name);
+ if (map == null || map.isEmpty()) {
+ return null;
+ }
+ return map;
+ }
+
protected abstract void invokeModify(String key, Object value);
protected abstract void invokeSave();
protected abstract boolean invokeRemove();
diff --git a/java/code/src/org/cobbler/Distro.java
b/java/code/src/org/cobbler/Distro.java
index 44bf503..4e92961 100644
--- a/java/code/src/org/cobbler/Distro.java
+++ b/java/code/src/org/cobbler/Distro.java
@@ -66,14 +66,7 @@ public class Distro extends CobblerObject {
* @return the distro that maps to the name or null
*/
public static Distro lookupByName(CobblerConnection client, String name) {
- Map <String, Object> map = (Map<String, Object>)client.
- invokeMethod("get_distro", name);
- if (map == null || map.isEmpty()) {
- return null;
- }
- Distro distro = new Distro(client);
- distro.dataMap = map;
- return distro;
+ return handleLookup(client, lookupDataMapByName(client, name,
"get_distro"));
}
/**
@@ -83,21 +76,19 @@ public class Distro extends CobblerObject {
* @return the distro matching the UID
*/
public static Distro lookupById(CobblerConnection client, String id) {
- if (id == null) {
- return null;
- }
- List<Map<String, Object>> distros = (List<Map<String,
Object>>)
-
client.invokeMethod("get_distros");
- Distro distro = new Distro(client);
- for (Map <String, Object> map : distros) {
- distro.dataMap = map;
- if (id.equals(distro.getUid())) {
- return distro;
- }
+ return handleLookup(client, lookupDataMapById(client,
+ id, "find_distro",
"get_distros"));
+ }
+
+ private static Distro handleLookup(CobblerConnection client, Map distroMap) {
+ if (distroMap != null) {
+ Distro distro = new Distro(client);
+ distro.dataMap = distroMap;
+ return distro;
}
return null;
}
-
+
/**
* Returns a list of available Distros
* @param connection the cobbler connection
diff --git a/java/code/src/org/cobbler/Profile.java
b/java/code/src/org/cobbler/Profile.java
index fc1dbe9..f77e5bc 100644
--- a/java/code/src/org/cobbler/Profile.java
+++ b/java/code/src/org/cobbler/Profile.java
@@ -79,14 +79,7 @@ public class Profile extends CobblerObject {
* @return the profile that maps to the name or null
*/
public static Profile lookupByName(CobblerConnection client, String name) {
- Map <String, Object> map = (Map<String, Object>)client.
- invokeMethod("get_profile", name);
- if (map == null || map.isEmpty()) {
- return null;
- }
- Profile profile = new Profile(client);
- profile.dataMap = map;
- return profile;
+ return handleLookup(client, lookupDataMapByName(client, name,
"get_profile"));
}
/**
@@ -96,23 +89,18 @@ public class Profile extends CobblerObject {
* @return the profile matching the given uid or null
*/
public static Profile lookupById(CobblerConnection client, String id) {
- List<Map<String, Object>> profiles = (List<Map<String,
Object>>)
-
client.invokeMethod("get_profiles");
- if (id == null) {
- return null;
- }
-
- Profile profile = new Profile(client);
- for (Map <String, Object> map : profiles) {
- profile.dataMap = map;
- if (id.equals(profile.getUid())) {
- log.debug("Profile: " + profile);
- return profile;
- }
+ return handleLookup(client, lookupDataMapById(client, id,
+ "find_profile",
"get_profiles"));
+ }
+
+ private static Profile handleLookup(CobblerConnection client, Map profileMap) {
+ if (profileMap != null) {
+ Profile profile = new Profile(client);
+ profile.dataMap = profileMap;
+ return profile;
}
return null;
- }
-
+ }
/**
* Returns a list of available profiles
* @param connection the cobbler connection
diff --git a/java/code/src/org/cobbler/SystemRecord.java
b/java/code/src/org/cobbler/SystemRecord.java
index 881b2ba..4b6d292 100644
--- a/java/code/src/org/cobbler/SystemRecord.java
+++ b/java/code/src/org/cobbler/SystemRecord.java
@@ -63,14 +63,7 @@ public class SystemRecord extends CobblerObject {
* @return the system that maps to the name or null
*/
public static SystemRecord lookupByName(CobblerConnection client, String name) {
- Map <String, Object> map = (Map<String, Object>)client.
- invokeMethod("get_system", name);
- if (map == null || map.isEmpty()) {
- return null;
- }
- SystemRecord sys = new SystemRecord(client);
- sys.dataMap = map;
- return sys;
+ return handleLookup(client, lookupDataMapByName(client, name,
"get_system"));
}
/**
@@ -80,22 +73,19 @@ public class SystemRecord extends CobblerObject {
* @return the system record matching the given uid or null
*/
public static SystemRecord lookupById(CobblerConnection client, String id) {
- List<Map<String, Object>> systems = (List<Map<String,
Object>>)
-
client.invokeMethod("get_systems");
- if (id == null) {
- return null;
- }
-
- SystemRecord sys = new SystemRecord(client);
- for (Map <String, Object> map : systems) {
- sys.dataMap = map;
- if (id.equals(sys.getUid())) {
- return sys;
- }
+ return handleLookup(client,
+ lookupDataMapById(client, id, "find_system",
"get_systems"));
+ }
+
+ private static SystemRecord handleLookup(CobblerConnection client, Map sysMap) {
+ if (sysMap != null) {
+ SystemRecord sys = new SystemRecord(client);
+ sys.dataMap = sysMap;
+ return sys;
}
return null;
}
-
+
/**
* Returns a list of available systems
* @param connection the cobbler connection
@@ -104,7 +94,7 @@ public class SystemRecord extends CobblerObject {
public static List<SystemRecord> list(CobblerConnection connection) {
List <SystemRecord> systems = new LinkedList<SystemRecord>();
List <Map<String, Object >> cSystems = (List <Map<String,
Object >>)
-
connection.invokeMethod("get_profiles");
+
connection.invokeMethod("get_systems");
for (Map<String, Object> sysMap : cSystems) {
SystemRecord sys = new SystemRecord(connection);
diff --git a/java/code/src/org/cobbler/test/MockConnection.java
b/java/code/src/org/cobbler/test/MockConnection.java
index 2d85820..d25adb1 100644
--- a/java/code/src/org/cobbler/test/MockConnection.java
+++ b/java/code/src/org/cobbler/test/MockConnection.java
@@ -238,9 +238,16 @@ public class MockConnection extends CobblerConnection {
log.debug("Unhandled xmlrpc call in MockConnection: " + name);
}
return "";
-}
-
-
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean is16OrGreater() {
+ return false;
+ }
+
private Map findByName(String name, List<Map> maps) {
for (Map map : maps) {
if (name.equals(map.get("name"))) {
commit 4daa05b12d11d154b981e35bcba2ceb1ddb2b838
Author: Mike McCune <mmccune(a)gmail.com>
Date: Wed Mar 25 16:36:04 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.37-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index e3678fc..967254b 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.36
+Version: 0.5.37
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,6 +235,12 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Wed Mar 25 2009 Mike McCune <mmccune(a)gmail.com> 0.5.37-1
+- 491978 - fixing status reporting in webui for kickstarts.
+- Added resource bundle entries for admin/config/Cobbler.do
+- 467063 - Ported published and unpublished errata to new list tag to get new navigation
features
+- 446269 - fixed issue where you could not remove a package from a system
+
* Fri Mar 20 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.36-1
- bring over jta from satellite build.
- fix the jfreechart requires to be 0:1.0.9 everywhere
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index fa8549c..8020a45 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.36-1 java/
+0.5.37-1 java/
commit ce86deb1d74aaea7b2d32fee2c2cb22857b3ab56
Author: Mike McCune <mmccune(a)gmail.com>
Date: Wed Mar 25 15:35:40 2009 -0700
checkstyle
diff --git a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
index bc34d77..d27055d 100644
--- a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
@@ -28,8 +28,6 @@ import com.redhat.rhn.domain.user.User;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
import java.util.Iterator;
import java.util.List;
commit 65dfccd8a06605f89a4346e21a375f18fca67b71
Author: Mike McCune <mmccune(a)gmail.com>
Date: Wed Mar 25 15:31:29 2009 -0700
491978 - fixing status reporting in webui for kickstarts. We had an
unassigned variable that was causing an NPE. Also cleaned up
ActivationKeyFactory calls that were swallowing errors and continuing
on. This ended up changing the signature of some of the lookups.
diff --git a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
index 97128e9..bc34d77 100644
--- a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java
@@ -216,19 +216,12 @@ public class ActivationKeyFactory extends HibernateFactory {
* @return ActivationKey associated with session
*/
public static ActivationKey lookupByKickstartSession(KickstartSession sess) {
- Session session = null;
- try {
- session = HibernateFactory.getSession();
- return (ActivationKey)
session.getNamedQuery("ActivationKey.findBySession")
- .setEntity("session", sess)
- //Retrieve from cache if there
- .setCacheable(true)
- .uniqueResult();
- }
- catch (HibernateException e) {
- log.error("Hibernate exception: " + e.toString());
- }
- return null;
+ return (ActivationKey) HibernateFactory.getSession()
+
.getNamedQuery("ActivationKey.findBySession")
+ .setEntity("session", sess)
+ //Retrieve from cache if there
+ .setCacheable(true)
+ .uniqueResult();
}
/**
@@ -237,21 +230,12 @@ public class ActivationKeyFactory extends HibernateFactory {
* @param server that is associated with ActivationKey
* @return ActivationKey assocaited with session
*/
- public static ActivationKey lookupByServer(Server server) {
+ public static List lookupByServer(Server server) {
if (server == null) {
return null;
}
- Session session = null;
- try {
- session = HibernateFactory.getSession();
- return (ActivationKey)
session.getNamedQuery("ActivationKey.findByServer")
- .setEntity("server", server)
- .uniqueResult();
- }
- catch (HibernateException e) {
- log.error("Hibernate exception: " + e.toString());
- }
- return null;
+ return getSession().getNamedQuery("ActivationKey.findByServer").
+ setEntity("server", server).list();
}
/**
diff --git a/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java
b/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java
index 7c30e36..96eb85b 100644
--- a/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java
+++ b/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java
@@ -52,6 +52,8 @@ import com.redhat.rhn.testing.UserTestUtils;
import org.hibernate.NonUniqueObjectException;
+import java.util.List;
+
/**
* ActivationKeyTest
* @version $Rev$
@@ -86,13 +88,15 @@ public class ActivationKeyTest extends BaseTestCaseWithUser {
assertEquals(e.getLabel(), t2.getLabel());
// test out ActivationKeyManager.findByServer while we're here...
- ActivationKey k4 = ActivationKeyManager.getInstance().findByServer(server,
user);
+ ActivationKey k4 = (ActivationKey) ActivationKeyManager.
+ getInstance().findByServer(server, user).iterator().next();
assertNotNull(k4);
assertEquals(key, k4.getKey());
try {
- k3 = ActivationKeyManager.getInstance().findByServer(null, user);
+ k3 = (ActivationKey) ActivationKeyManager.getInstance().
+ findByServer(null, user).iterator().next();
String msg = "Permission check failed :(.." +
" Activation key should not have existed" +
" for a server of 'null' id. An exception "
+
@@ -106,7 +110,8 @@ public class ActivationKeyTest extends BaseTestCaseWithUser {
User user1 = UserTestUtils.findNewUser("testuser",
"testorg");
Server server2 = ServerFactoryTest.createTestServer(user1);
try {
- k3 = ActivationKeyManager.getInstance().findByServer(server2, user1);
+ k3 = (ActivationKey) ActivationKeyManager.getInstance().
+ findByServer(server2, user1).iterator().next();
String msg = "Permission check failed :(.." +
" Activation key should not have existed" +
" for a server of the associated id. An exception
" +
@@ -195,8 +200,11 @@ public class ActivationKeyTest extends BaseTestCaseWithUser {
public void testLookupByServer() throws Exception {
ActivationKey k = createTestActivationKey(user);
Server s = k.getServer();
-
- assertNotNull(ActivationKeyFactory.lookupByServer(s));
+ createTestActivationKey(user, s);
+ createTestActivationKey(user, s);
+ createTestActivationKey(user, s);
+ List keys = ActivationKeyFactory.lookupByServer(s);
+ assertTrue(keys.size() == 4);
}
public void testCreateNewKeys() throws Exception {
diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
index 6c771f5..539bf21 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java
@@ -302,7 +302,7 @@ public class DownloadFile extends DownloadAction {
}
else if (actualFile.exists()) {
log.debug("Looks like it is an actual file and it
exists.");
- KickstartFactory.
+ newState = KickstartFactory.
lookupSessionStateByLabel(KickstartSessionState.STARTED);
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java
index 95a094d..8b1464f 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java
@@ -26,6 +26,7 @@ import com.redhat.rhn.testing.RhnMockStrutsTestCase;
import com.redhat.rhn.testing.TestUtils;
import java.io.File;
+import java.util.Map;
/**
* TinyUrlActionTest
@@ -57,8 +58,12 @@ public class DownloadActionTest extends RhnMockStrutsTestCase {
// /ks/dist/f9-x86_64-distro/images/boot.iso
addRequestParameter("url", "/ks/dist/" + tree.getLabel() +
"/images/boot.iso");
actionPerform();
+ assertNull(getActualForward());
assertEquals("application/octet-stream",
getResponse().getContentType());
assertNotNull(request.getAttribute("params"));
+ Map params = (Map) request.getAttribute("params");
+ String filename = (String) params.get("filename");
+ assertNotNull(filename);
}
public void testKSPackageDownload() throws Exception {
@@ -85,12 +90,18 @@ public class DownloadActionTest extends RhnMockStrutsTestCase {
KickstartSession ksession =
KickstartSessionTest.createKickstartSession(ksdata, user);
TestUtils.saveAndFlush(ksession);
+ TestUtils.saveAndFlush(ksession);
String encodedSession = SessionSwap.encodeData(ksession.getId().toString());
addRequestParameter("url", "/ks/dist/session/" +
encodedSession + "/" +
tree.getLabel() + "/images/boot.iso");
actionPerform();
+ assertNull(getActualForward());
assertNotNull(request.getAttribute("params"));
+ Map params = (Map) request.getAttribute("params");
+ // //tmp/images/boot.iso
+ String filename = (String) params.get("filename");
+ assertNotNull(filename);
}
public void testDirHit() throws Exception {
@@ -100,6 +111,7 @@ public class DownloadActionTest extends RhnMockStrutsTestCase {
TestUtils.saveAndFlush(ksession);
addRequestParameter("url", "/ks/dist/" + tree.getLabel() +
"/images/");
actionPerform();
+ assertNull(getActualForward());
assertEquals("text/plain", getResponse().getContentType());
}
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java
index 0c3e147..12f162b 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java
@@ -638,12 +638,17 @@ public class KickstartScheduleCommand extends BaseSystemOperation {
log.debug("** ActivationType : Existing profile..");
if (getTargetServer() != null) {
- ActivationKey oldkey =
+ List oldkeys =
ActivationKeyFactory.lookupByServer(getTargetServer());
- if (oldkey != null) {
- log.debug("** Removing old token");
- ActivationKeyFactory.removeKey(oldkey);
+ if (oldkeys != null) {
+ log.debug("** Removing old tokens");
+ Iterator i = oldkeys.iterator();
+ while (i.hasNext()) {
+ log.debug("removing key.");
+ ActivationKey oldkey = (ActivationKey) i.next();
+ ActivationKeyFactory.removeKey(oldkey);
+ }
}
}
diff --git a/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java
b/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java
index b035904..404cb74 100644
--- a/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java
+++ b/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java
@@ -75,10 +75,14 @@ public class ActivationKeyManager {
* @param user needed for authentication
* @return Returns the activation key for the server or null if one isn't found.
*/
- public ActivationKey findByServer(Server server, User user) {
- ActivationKey key = ActivationKeyFactory.lookupByServer(server);
- validateCredentials(user, null, key);
- return key;
+ public List findByServer(Server server, User user) {
+ List keys = ActivationKeyFactory.lookupByServer(server);
+ Iterator i = keys.iterator();
+ while (i.hasNext()) {
+ ActivationKey key = (ActivationKey) i.next();
+ validateCredentials(user, null, key);
+ }
+ return keys;
}
commit 8f7a0cb3e07c497c8185dc4582cd200ed1134ea3
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Mar 25 16:29:52 2009 -0400
Added resource bundle entries for admin/config/Cobbler.do
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 9c27c69..5e6c881 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -8950,6 +8950,47 @@ Please note that some manual configuration of these scripts may
still be require
</context-group>
</trans-unit>
+
+<!-- Cobbler stuff -->
+
+ <group>
+ <context-group name="ctx">
+ <context
context-type="sourcefile">/rhn/admin/config/Cobbler.do</context>
+ </context-group>
+ <trans-unit id="cobbler.jsp.toolbar">
+ <source>Spacewalk Configuration - Cobbler.</source>
+ </trans-unit>
+ <trans-unit id="Cobbler">
+ <source>Cobbler</source>
+ </trans-unit>
+ <trans-unit id="cobbler.jsp.header2">
+ <source>Run Cobbler Sync</source>
+ </trans-unit>
+
+ <trans-unit id="cobbler.jsp.sync">
+ <source>Run Cobbler Sync</source>
+ </trans-unit>
+ <trans-unit id="cobbler.jsp.synced">
+ <source>Cobbler Sync action was successfully executed. Look at
/var/log/cobbler/*.log for more information</source>
+ </trans-unit>
+
+ <trans-unit id="cobbler.jsp.summary1">
+ <source>Setup your @@PRODUCT_NAME@@ Cobbler settings below.</source>
+ </trans-unit>
+ <trans-unit id="cobbler.jsp.summary2">
+ <source>Cobbler sync is used to repair or rebuild the contents /tftpboot or
/var/www/cobbler when manual modification of cobbler has occured.</source>
+ </trans-unit>
+ <trans-unit id="cobbler.jsp.summary3">
+ <source>For more information refer to the 'cobbler' man
page.</source>
+ </trans-unit>
+ <trans-unit id="update">
+ <source>Update</source>
+ </trans-unit>
+
+ </group>
+
+
+
<!-- TNC -->
<trans-unit id="tnc.jsp.tnc">
<source>Terms And Conditions</source>
commit 1bbb12ed6619eb802f4a61196dfed5b97f471ad9
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Wed Mar 25 15:30:12 2009 -0500
467063 - Ported published and unpublished errata to new list tag to get new navigation
features
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
index e3e3223..3edaabf 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java
@@ -14,96 +14,48 @@
*/
package com.redhat.rhn.frontend.action.errata;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.common.RhnSetAction;
-import com.redhat.rhn.frontend.struts.StrutsDelegate;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
-import org.apache.struts.action.ActionMessages;
+/** @version $Revision$ */
+public class PublishedErrataAction extends RhnAction implements Listable {
-import java.util.Map;
+ /** {@inheritDoc} */
+ public ActionForward execute(ActionMapping actionMapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+ ListRhnSetHelper helper =
+ new ListRhnSetHelper(this, request, RhnSetDecl.ERRATA_TO_DELETE);
+ helper.execute();
-/**
- * PublishedErrataAction
- * @version $Rev$
- */
-public class PublishedErrataAction extends RhnSetAction {
-
- /**
- * Archives the actions.
- * @param mapping ActionMapping
- * @param formIn ActionForm
- * @param request ServletRequest
- * @param response ServletResponse
- * @return The ActionForward to go to next.
- */
- public ActionForward deleteErrata(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RhnSet set = updateSet(request);
- Map params = makeParamMap(formIn, request);
-
- StrutsDelegate strutsDelegate = getStrutsDelegate();
-
- //if they chose no errata, return to the same page with a message
- if (set.isEmpty()) {
- ActionMessages msg = new ActionMessages();
- msg.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("errata.applynone"));
- strutsDelegate.saveMessages(request, msg);
- return strutsDelegate.forwardParams(mapping.findForward("default"),
params);
+ if (helper.isDispatched()) {
+ // Nothing to do when dispatched, there is a confirmation page displayed
next
+ // that will do the actual work
+ return actionMapping.findForward("continue");
}
-
- return strutsDelegate.forwardParams(mapping.findForward("delete"),
params);
- }
-
- /**
- * Method that returns the correct data result for a
- * particular scheduled action.
- * @param user The user in question
- * @param formIn form that was sent on the request
- * @param request HttpServletRequest
- * @return Returns the DataResult for the page.
- */
- public DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
- return ErrataManager.publishedOwnedErrata(user, null);
- }
-
- /**
- * {@inheritDoc}
- */
- protected void processMethodKeys(Map map) {
- map.put("erratalist.jsp.deleteerrata", "deleteErrata");
- }
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- // no-op
+ return actionMapping.findForward("default");
}
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ERRATA_TO_DELETE;
+ /** {@inheritDoc} */
+ public List getResult(RequestContext context) {
+ User user = context.getLoggedInUser();
+ DataResult result = ErrataManager.publishedOwnedErrata(user);
+ return result;
}
-
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java
deleted file mode 100644
index 36e289e..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListAction;
-import com.redhat.rhn.manager.errata.ErrataManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * PublishedErrataSetupAction
- * @version $Rev$
- */
-public class PublishedErrataSetupAction extends RhnListAction {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RequestContext rctx = new RequestContext(request);
- User user = rctx.getLoggedInUser();
- PageControl pc = new PageControl();
- pc.setFilterColumn("earliest");
-
- clampListBounds(pc, request, user);
-
- DataResult dr = getDataResult(user, pc);
-
- RhnSet set = RhnSetDecl.ERRATA_TO_DELETE.get(user);
-
- request.setAttribute("pageList", dr);
- request.setAttribute("user", user);
- request.setAttribute("set", set);
-
- return mapping.findForward("default");
- }
-
- /**
- * Returns the unpublished errata for the given user bounded
- * by the values of the PageControl.
- * @param user Logged in user.
- * @param pc boundary values
- * @return List of unpublished errata for the given user
- * bounded by the values of the PageControl.
- */
- protected DataResult getDataResult(User user, PageControl pc) {
- pc.setFilter(true);
- pc.setFilterColumn("advisorySynopsis");
- return ErrataManager.publishedOwnedErrata(user, pc);
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java
index a572531..7e3f6f1 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java
@@ -14,96 +14,49 @@
*/
package com.redhat.rhn.frontend.action.errata;
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.common.RhnSetAction;
-import com.redhat.rhn.frontend.struts.StrutsDelegate;
-import com.redhat.rhn.manager.errata.ErrataManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
-import org.apache.struts.action.ActionMessages;
+import org.apache.struts.action.ActionForm;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.errata.ErrataManager;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.common.db.datasource.DataResult;
-import java.util.Map;
+/** @version $Revision$ */
+public class UnpublishedErrataAction extends RhnAction implements Listable {
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+ /** {@inheritDoc} */
+ public ActionForward execute(ActionMapping actionMapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
-/**
- * ActionsAction
- * @version $Rev$
- */
-public class UnpublishedErrataAction extends RhnSetAction {
-
- /**
- * Archives the actions.
- * @param mapping ActionMapping
- * @param formIn ActionForm
- * @param request ServletRequest
- * @param response ServletResponse
- * @return The ActionForward to go to next.
- */
- public ActionForward deleteErrata(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
+ ListRhnSetHelper helper =
+ new ListRhnSetHelper(this, request, RhnSetDecl.ERRATA_TO_DELETE);
+ helper.execute();
- RhnSet set = updateSet(request);
- Map params = makeParamMap(formIn, request);
-
- StrutsDelegate strutsDelegate = getStrutsDelegate();
-
- //if they chose no errata, return to the same page with a message
- if (set.isEmpty()) {
- ActionMessages msg = new ActionMessages();
- msg.add(ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("errata.applynone"));
- strutsDelegate.saveMessages(request, msg);
- return strutsDelegate.forwardParams(mapping.findForward("default"),
params);
+ if (helper.isDispatched()) {
+ // Nothing to do when dispatched, there is a confirmation page displayed
next
+ // that will do the actual work
+ return actionMapping.findForward("continue");
}
-
- return strutsDelegate.forwardParams(mapping.findForward("delete"),
params);
- }
-
- /**
- * Method that returns the correct data result for a
- * particular scheduled action.
- * @param user The user in question
- * @param formIn form that was sent in on the request
- * @param request HttpServletRequest
- * @return Returns the DataResult for the page.
- */
- public DataResult getDataResult(User user,
- ActionForm formIn,
- HttpServletRequest request) {
- return ErrataManager.unpublishedOwnedErrata(user, null);
- }
- /**
- * {@inheritDoc}
- */
- protected void processMethodKeys(Map map) {
- map.put("erratalist.jsp.deleteerrata", "deleteErrata");
+ return actionMapping.findForward("default");
}
- /**
- * {@inheritDoc}
- */
- protected void processParamMap(ActionForm formIn,
- HttpServletRequest request,
- Map params) {
- // no-op
-
- }
-
- /**
- * {@inheritDoc}
- */
- protected RhnSetDecl getSetDecl() {
- return RhnSetDecl.ERRATA_TO_DELETE;
+ /** {@inheritDoc} */
+ public List getResult(RequestContext context) {
+ User user = context.getLoggedInUser();
+ DataResult result = ErrataManager.unpublishedOwnedErrata(user);
+ return result;
}
}
+
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java
deleted file mode 100644
index c0c97fc..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListAction;
-import com.redhat.rhn.manager.errata.ErrataManager;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * ErrataListSetupAction
- * @version $Rev$
- */
-public class UnpublishedErrataSetupAction extends RhnListAction {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
-
- RequestContext rctx = new RequestContext(request);
- User user = rctx.getLoggedInUser();
- PageControl pc = new PageControl();
- pc.setFilterColumn("earliest");
-
- clampListBounds(pc, request, user);
-
- DataResult dr = getDataResult(user, pc);
-
- RhnSet set = RhnSetDecl.ERRATA_TO_DELETE.get(user);
-
- request.setAttribute("pageList", dr);
- request.setAttribute("user", user);
- request.setAttribute("set", set);
-
- return mapping.findForward("default");
- }
-
- /**
- * Returns the unpublished errata for the given user bounded
- * by the values of the PageControl.
- * @param user Logged in user.
- * @param pc boundary values
- * @return List of unpublished errata for the given user
- * bounded by the values of the PageControl.
- */
- protected DataResult getDataResult(User user, PageControl pc) {
- pc.setFilter(true);
- pc.setFilterColumn("advisorySynopsis");
- return ErrataManager.unpublishedOwnedErrata(user, pc);
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java
index 79cf78b..0de1a41 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java
@@ -14,17 +14,13 @@
*/
package com.redhat.rhn.frontend.action.errata.test;
-import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.common.RhnSetAction;
-import com.redhat.rhn.frontend.action.errata.PublishedErrataAction;
-import com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.testing.ActionHelper;
import com.redhat.rhn.testing.RhnBaseTestCase;
-import com.redhat.rhn.testing.UserTestUtils;
import org.apache.struts.action.ActionForward;
@@ -34,25 +30,6 @@ import org.apache.struts.action.ActionForward;
*/
public abstract class BaseErrataActionTestCase extends RhnBaseTestCase {
- public void testGetDataResult() throws Exception {
- Long oid = UserTestUtils.createOrg("testOrg");
- User user = UserTestUtils.createUser("testUser", oid);
- Errata e = createErrata(user);
-
- DataResult dr;
- if (getAction() instanceof UnpublishedErrataAction) {
- dr = ((UnpublishedErrataAction)getAction())
- .getDataResult(user, null, null);
- }
- else {
- dr = ((PublishedErrataAction)getAction())
- .getDataResult(user, null, null);
- }
-
- assertNotNull(e.getAdvisory());
- assertTrue(e.getAdvisory().startsWith("JAVA Test"));
- }
-
/**
* Make sure when the delete button is hit we go to the proper
* place. No DB action occurs.
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java
deleted file mode 100644
index ce82edb..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import com.redhat.rhn.domain.errata.Errata;
-import com.redhat.rhn.domain.errata.test.ErrataFactoryTest;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.common.RhnSetAction;
-import com.redhat.rhn.frontend.action.errata.PublishedErrataAction;
-
-/**
- * PublishedErrataActionTest
- * @version $Rev$
- */
-public class PublishedErrataActionTest extends BaseErrataActionTestCase {
-
- private PublishedErrataAction action;
-
- public void setUp() {
- action = new PublishedErrataAction();
- }
-
- protected RhnSetAction getAction() {
- return action;
- }
-
- protected Errata createErrata(User user) throws Exception {
- return ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId());
- }
-
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java
deleted file mode 100644
index b3cc4e9..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import com.redhat.rhn.domain.errata.Errata;
-import com.redhat.rhn.domain.errata.test.ErrataFactoryTest;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.common.RhnSetAction;
-import com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction;
-
-/**
- * UnpublishedErrataActionTest
- * @version $Rev$
- */
-public class UnpublishedErrataActionTest extends BaseErrataActionTestCase {
- private UnpublishedErrataAction action;
-
- public void setUp() {
- action = new UnpublishedErrataAction();
- }
-
- protected RhnSetAction getAction() {
- return action;
- }
-
- protected Errata createErrata(User user) throws Exception {
- return ErrataFactoryTest.createTestUnpublishedErrata(user.getOrg().getId());
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java
deleted file mode 100644
index 6c101fa..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.errata.UnpublishedErrataSetupAction;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
-import com.redhat.rhn.testing.RhnMockHttpServletRequest;
-
-/**
- * UnpublishedErrataSetupActionTest
- * @version $Rev$
- */
-public class UnpublishedErrataSetupActionTest extends RhnBaseTestCase {
- private UnpublishedErrataSetupAction action;
-
- public void setUp() {
- action = new UnpublishedErrataSetupAction();
- }
-
- public void testExecute() throws Exception {
- ActionHelper sah = new ActionHelper();
- sah.setUpAction(action);
- sah.setupClampListBounds();
- sah.getRequest().setupAddParameter("newset", (String)null);
- sah.getRequest().setupAddParameter("returnvisit", (String) null);
- sah.executeAction();
-
-
- RhnMockHttpServletRequest request = sah.getRequest();
- User user = new RequestContext(request).getLoggedInUser();
- RhnSet set = (RhnSet) request.getAttribute("set");
-
- assertNotNull(request.getAttribute("pageList"));
- assertEquals(user, request.getAttribute("user"));
- assertNotNull(set);
- assertEquals("errata_to_delete", set.getLabel());
- }
-}
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index eb08882..523d866 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -328,11 +328,10 @@ public class ErrataManager extends BaseManager {
/**
* Returns all of the unpublished errata.
* @param user Currently logged in user.
- * @param pc PageControl
* @return all of the errata.
*/
- public static DataResult unpublishedOwnedErrata(User user, PageControl pc) {
- return ownedErrata(user, pc, "unpublished_owned_errata");
+ public static DataResult unpublishedOwnedErrata(User user) {
+ return ownedErrata(user, "unpublished_owned_errata");
}
/**
@@ -349,13 +348,12 @@ public class ErrataManager extends BaseManager {
/**
* Returns all of the published errata.
* @param user Currently logged in user.
- * @param pc PageControl
* @return all of the errata.
*/
- public static DataResult publishedOwnedErrata(User user, PageControl pc) {
- return ownedErrata(user, pc, "published_owned_errata");
+ public static DataResult publishedOwnedErrata(User user) {
+ return ownedErrata(user, "published_owned_errata");
}
-
+
/**
* Returns all of the published errata.
* @param user Currently logged in user.
@@ -414,6 +412,13 @@ public class ErrataManager extends BaseManager {
return dr;
}
+ private static DataResult ownedErrata(User user, String mode) {
+ SelectMode m = ModeFactory.getMode("Errata_queries", mode);
+ Map params = new HashMap();
+ params.put("org_id", user.getOrg().getId());
+ return makeDataResult(params, new HashMap(), null, m);
+ }
+
/**
* Helper method to get the unpublished/published errata in the set
* @param user Currently logged in user
diff --git a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
index cf58c53..35e721f 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
@@ -199,10 +199,7 @@ public class ErrataManagerTest extends RhnBaseTestCase {
public void testUnpublishedErrata() {
User user = UserTestUtils.findNewUser("testUser",
"testOrg");
- PageControl pc = new PageControl();
- pc.setStart(1);
- pc.setPageSize(20);
- DataResult errata = ErrataManager.unpublishedOwnedErrata(user, pc);
+ DataResult errata = ErrataManager.unpublishedOwnedErrata(user);
assertNotNull(errata);
assertTrue(errata.size() <= 20);
}
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
index 78f1e57..d3c1440 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf
@@ -1,31 +1,51 @@
+<rl:listset name="groupSet" legend="errata">
- <rhn:listdisplay set="${requestScope.set}"
hiddenvars="${requestScope.newset}"
- button="erratalist.jsp.deleteerrata"
filterBy="erratalist.jsp.synopsis">
- <rhn:set value="${current.id}" />
- <rhn:column header="erratalist.jsp.type">
- <c:if test="${current.securityAdvisory}">
- <img src="/img/wrh-security.gif"
- alt="<bean:message
key='erratalist.jsp.securityadvisory'/>"
- title="<bean:message
key='erratalist.jsp.securityadvisory'/>" />
- </c:if>
- <c:if test="${current.bugFix}">
- <img src="/img/wrh-bug.gif"
- alt="<bean:message
key='erratalist.jsp.bugadvisory'/>"
- title="<bean:message
key='erratalist.jsp.bugadvisory'/>" />
- </c:if>
- <c:if test="${current.productEnhancement}">
- <img src="/img/wrh-product.gif"
- alt="<bean:message
key='erratalist.jsp.productenhancementadvisory'/>"
- title="<bean:message
key='erratalist.jsp.productenhancementadvisory'/>" />
- </c:if>
- </rhn:column>
- <rhn:column header="erratalist.jsp.advisory">
- <a
href="/rhn/errata/manage/Edit.do?eid=${current.id}">${current.advisoryName}</a>
- </rhn:column>
- <rhn:column header="erratalist.jsp.synopsis">
- ${current.synopsis}
- </rhn:column>
- <rhn:column header="erratalist.jsp.updated">
- ${current.updateDate}
- </rhn:column>
- </rhn:listdisplay>
+ <rl:list emptykey="erratalist.jsp.deleteerrata">
+
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="SelectableDecorator"/>
+
+ <rl:selectablecolumn value="${current.selectionKey}"
+ selected="${current.selected}"
+ disabled="${not current.selectable}"
+ styleclass="first-column"/>
+
+ <rl:column headerkey="erratalist.jsp.type">
+ <c:if test="${current.securityAdvisory}">
+ <img src="/img/wrh-security.gif"
+ alt="<bean:message
key='erratalist.jsp.securityadvisory'/>"
+ title="<bean:message
key='erratalist.jsp.securityadvisory'/>"/>
+ </c:if>
+ <c:if test="${current.bugFix}">
+ <img src="/img/wrh-bug.gif"
+ alt="<bean:message
key='erratalist.jsp.bugadvisory'/>"
+ title="<bean:message
key='erratalist.jsp.bugadvisory'/>"/>
+ </c:if>
+ <c:if test="${current.productEnhancement}">
+ <img src="/img/wrh-product.gif"
+ alt="<bean:message
key='erratalist.jsp.productenhancementadvisory'/>"
+ title="<bean:message
key='erratalist.jsp.productenhancementadvisory'/>"/>
+ </c:if>
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.advisory"
+ filterattr="advisorySynopsis">
+ <a
href="/rhn/errata/manage/Edit.do?eid=${current.id}">${current.advisoryName}</a>
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.synopsis">
+ ${current.synopsis}
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.updated">
+ ${current.updateDate}
+ </rl:column>
+
+ </rl:list>
+
+ <div align="right">
+ <rhn:submitted/>
+ <hr/>
+ <input type="submit"
+ name="dispatch"
+ value='<bean:message
key="erratalist.jsp.deleteerrata"/>'/>
+ </div>
+
+</rl:listset>
diff --git a/java/code/webapp/WEB-INF/pages/errata/published.jsp
b/java/code/webapp/WEB-INF/pages/errata/published.jsp
index 2640e9d..67cfba7 100644
--- a/java/code/webapp/WEB-INF/pages/errata/published.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/published.jsp
@@ -1,4 +1,5 @@
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
@@ -25,11 +26,8 @@
<bean:message key="erratalist.jsp.ownederratapagesummary"/>
</div>
<c:set var="pageList" value="${requestScope.pageList}" />
-<form method="post" name="rhn_list"
action="/rhn/errata/manage/PublishedErrataSubmit.do">
- <rhn:list pageList="${requestScope.pageList}"
noDataText="erratalist.jsp.nopublishederrata"
- legend="errata">
- <%@ include
file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %>
- </rhn:list>
-</form>
+
+<%@ include
file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %>
+
</body>
</html:html>
diff --git a/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp
b/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp
index b197fae..0a2bc6b 100644
--- a/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp
@@ -1,4 +1,5 @@
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
@@ -25,13 +26,9 @@
<bean:message key="erratalist.jsp.ownederratapagesummary"/>
</div>
<c:set var="pageList" value="${requestScope.pageList}" />
-<form method="post" name="rhn_list"
action="/rhn/errata/manage/UnpublishedErrataSubmit.do">
- <rhn:list pageList="${requestScope.pageList}"
noDataText="erratalist.jsp.nounpublishederrata"
- legend="errata">
- <%@ include
file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %>
- </rhn:list>
-</form>
+
+<%@ include
file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %>
+
</body>
</html:html>
-
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index d335ea5..9bece67 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1814,48 +1814,26 @@
<action path="/errata/manage/UnpublishedErrata"
scope="request"
input="/WEB-INF/pages/errata/unpublished.jsp"
-
type="com.redhat.rhn.frontend.action.errata.UnpublishedErrataSetupAction"
+ type="com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls"
value="user_role(channel_admin)"/>
<forward name="default"
path="/WEB-INF/pages/errata/unpublished.jsp" />
+ <forward name="continue"
+ path="/errata/manage/UnpublishedDeleteConfirm.do"
redirect="true"/>
</action>
- <action path="/errata/manage/UnpublishedErrataSubmit"
- scope="request"
- input="/WEB-INF/pages/errata/unpublished.jsp"
- type="com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction"
- parameter="dispatch"
- className="com.redhat.rhn.frontend.struts.RhnActionMapping">
- <set-property property="acls"
value="user_role(channel_admin)"/>
- <forward name="default"
- path="/errata/manage/UnpublishedErrata.do"
redirect="true"/>
- <forward name="delete"
- path="/errata/manage/UnpublishedDeleteConfirm.do"
redirect="true"/>
- </action>
-
- <action path="/errata/manage/PublishedErrata"
+ <action path="/errata/manage/PublishedErrata"
scope="request"
input="/WEB-INF/pages/errata/published.jsp"
-
type="com.redhat.rhn.frontend.action.errata.PublishedErrataSetupAction"
+ type="com.redhat.rhn.frontend.action.errata.PublishedErrataAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls"
value="user_role(channel_admin)"/>
<forward name="default"
path="/WEB-INF/pages/errata/published.jsp" />
- </action>
-
- <action path="/errata/manage/PublishedErrataSubmit"
- scope="request"
- input="/WEB-INF/pages/errata/unpublished.jsp"
- type="com.redhat.rhn.frontend.action.errata.PublishedErrataAction"
- parameter="dispatch"
- className="com.redhat.rhn.frontend.struts.RhnActionMapping">
- <set-property property="acls"
value="user_role(channel_admin)"/>
- <forward name="default"
- path="/errata/manage/PublishedErrata.do"
redirect="true"/>
- <forward name="delete"
- path="/errata/manage/PublishedDeleteConfirm.do"
redirect="true"/>
- </action>
+ <forward name="continue"
+ path="/errata/manage/PublishedDeleteConfirm.do"
redirect="true"/>
+ </action>
<action path="/errata/manage/CloneErrata"
scope="request"
commit 80f273a1c6511637611e586711b58b5f94462e96
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Wed Mar 25 15:30:16 2009 -0400
446269 - fixed issue where you could not remove a package from a system if the package
was not in one of the systems subscribed channels
diff --git a/backend/server/action/packages.py b/backend/server/action/packages.py
index 7ebc961..1d872cc 100644
--- a/backend/server/action/packages.py
+++ b/backend/server/action/packages.py
@@ -70,11 +70,8 @@ def verify(serverId, actionId):
return packages
-def update(serverId, actionId):
+def handle_action(serverId, actionId, packagesIn):
log_debug(3, serverId, actionId)
- h = rhnSQL.prepare(_packageStatement)
- h.execute(serverid=serverId, actionid=actionId)
- tmppackages = h.fetchall_dict()
client_caps = rhnCapability.get_client_capabilities()
log_debug(3,"Client Capabilities", client_caps)
@@ -83,12 +80,12 @@ def update(serverId, actionId):
cap_info = client_caps['packages.update']
if cap_info['version'] > 1:
multiarch = 1
- if not tmppackages:
- raise InvalidAction("invalid action %s for server %s" %
+ if not packagesIn:
+ raise InvalidAction("Packages scheduled in action %s for server %s could not
be found." %
(actionId, serverId))
packages = []
- for package in tmppackages:
+ for package in packagesIn:
# Fix the epoch
if package['epoch'] is None:
package['epoch'] = ""
@@ -106,8 +103,17 @@ def update(serverId, actionId):
return packages
-# remove is exactly the same as update
-remove = update
+def remove(serverId, actionId):
+ h = rhnSQL.prepare(_packageStatement_remove)
+ h.execute(actionid=actionId)
+ tmppackages = h.fetchall_dict()
+ return handle_action(serverId, actionId, tmppackages)
+
+def update(serverId, actionId):
+ h = rhnSQL.prepare(_packageStatement_update)
+ h.execute(serverid=serverId, actionid=actionId)
+ tmppackages = h.fetchall_dict()
+ return handle_action(serverId, actionId, tmppackages)
def refresh_list(serverId, actionId):
@@ -188,7 +194,7 @@ def runTransaction(server_id, action_id):
return { 'packages' : result }
# SQL statements -- used by update()
-_packageStatement = """
+_packageStatement_update = """
select distinct
pn.name name,
pe.epoch epoch,
@@ -233,3 +239,44 @@ _packageStatement = """
and p.id = cp.package_id
and cp.channel_id = sc.channel_id
and sc.server_id = :serverid"""
+
+_packageStatement_remove = """
+ select distinct
+ pn.name name,
+ pe.epoch epoch,
+ pe.version version,
+ pe.release release,
+ pa.label arch
+ from rhnActionPackage ap,
+ rhnPackage p,
+ rhnPackageName pn,
+ rhnPackageEVR pe,
+ rhnPackageArch pa,
+ rhnChannelPackage cp
+ where ap.action_id = :actionid
+ and ap.evr_id is not null
+ and ap.evr_id = p.evr_id
+ and ap.evr_id = pe.id
+ and ap.name_id = p.name_id
+ and ap.name_id = pn.id
+ and ap.package_arch_id = pa.id(+)
+ and p.id = cp.package_id
+ union
+ select distinct
+ pn.name name,
+ null version,
+ null release,
+ null epoch,
+ pa.label arch
+ from rhnActionPackage ap,
+ rhnPackage p,
+ rhnPackageName pn,
+ rhnPackageArch pa,
+ rhnChannelPackage cp
+ where ap.action_id = :actionid
+ and ap.evr_id is null
+ and ap.name_id = p.name_id
+ and p.name_id = pn.id
+ and ap.package_arch_id = pa.id(+)
+ and p.id = cp.package_id"""
+
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
index e2c0e31..d6d41fe 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
@@ -1474,5 +1474,32 @@ DELETE FROM rhnSatelliteChannelFamily WHERE server_id = :sid
</query>
</mode>
+<mode name="has_package_available">
+ <query params="server_id, nid, eid, aid">
+ SELECT P.id
+ from rhnPackage P inner join
+ rhnChannelPackage CP on CP.package_id = P.id inner join
+ rhnServerChannel SC on SC.channel_id = CP.channel_id
+ where SC.server_id = :server_id
+ AND P.name_id = :nid
+ AND P.package_arch_id = :aid
+ AND P.evr_id = :eid
+ </query>
+</mode>
+
+<mode name="has_package_available_no_arch">
+ <query params="server_id, nid, eid">
+ SELECT P.id
+ from rhnPackage P inner join
+ rhnChannelPackage CP on CP.package_id = P.id inner join
+ rhnServerChannel SC on SC.channel_id = CP.channel_id
+ where SC.server_id = :server_id
+ AND P.name_id = :nid
+ AND P.evr_id = :eid
+ </query>
+</mode>
+
+
+
</datasource_modes>
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java
b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java
index 5732c7f..ec21b96 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java
@@ -26,6 +26,7 @@ import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.SessionSetHelper;
import com.redhat.rhn.frontend.struts.StrutsDelegate;
import com.redhat.rhn.frontend.taglibs.list.ListTagHelper;
+import com.redhat.rhn.manager.entitlement.EntitlementManager;
import com.redhat.rhn.manager.system.SystemManager;
import org.apache.commons.lang.StringUtils;
@@ -80,6 +81,27 @@ public abstract class BaseSystemPackagesConfirmAction extends RhnAction
{
Server server = requestContext.lookupAndBindServer();
+ /*
+ * If we are removing a package that is not in a channel the server is
+ * subscribed to, then the rollback will not work, lets give the user
+ * a message telling them that.
+ */
+ if (this.getRemoteMode().equals(RemoveConfirmSetupAction.PACKAGE_REMOVE)
&&
+ server.hasEntitlement(EntitlementManager.PROVISIONING))
{
+ for (PackageListItem item : items) {
+ Map<String, Long> map = item.getKeyMap();
+ if (!SystemManager.hasPackageAvailable(server,
map.get("name_id"),
+ map.get("arch_id"),
map.get("evr_id"))) {
+ ActionMessages msgs = new ActionMessages();
+ msgs.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("package.remove.cant.rollback"));
+ getStrutsDelegate().saveMessages(request, msgs);
+ break;
+ }
+
+ }
+ }
+
DynaActionForm dynaForm = (DynaActionForm) formIn;
DatePicker picker = getStrutsDelegate().prepopulateDatePicker(request, dynaForm,
"date", DatePicker.YEAR_RANGE_POSITIVE);
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java
index 9569881..02e9a96 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java
@@ -31,7 +31,7 @@ import java.util.Map;
public class RemoveConfirmSetupAction extends BaseSystemPackagesConfirmAction {
private static final PackageListSetupAction DECL_ACTION = new
PackageListSetupAction();
- private static final String PACKAGE_REMOVE = "remove";
+ protected static final String PACKAGE_REMOVE = "remove";
@Override
protected String getRemoteMode() {
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index a34a5cf..9d49dfd 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -7978,6 +7978,12 @@ Follow this url to see the full list of inactive systems:
<source>Label</source>
</trans-unit>
+ <trans-unit id="package.remove.cant.rollback">
+ <source>One or more of the packages you have selected for removal below are
not contained in
+ a software channel that this system is subscribed to. If you choose to continue with
the removal
+ you will not be able to rollback this system to this snapshot or any prior
snapshot.</source>
+ </trans-unit>
+
<trans-unit id="list.filter.iprange">
<source>Single Ip Address</source>
</trans-unit>
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
index 4a072c3..bd8ab9f 100644
--- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
+++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
@@ -2362,4 +2362,34 @@ public class SystemManager extends BaseManager {
server.getNotes().clear();
}
+
+ /**
+ * Is the package with nameId, archId, and evrId available in the
+ * provided server's subscribed channels
+ * @param server the server
+ * @param nameId the name id
+ * @param archId the arch id
+ * @param evrId the evr id
+ * @return true if available, false otherwise
+ */
+ public static boolean hasPackageAvailable(Server server, Long nameId,
+ Long archId, Long evrId) {
+ Map params = new HashMap();
+ params.put("server_id", server.getId());
+ params.put("eid", evrId);
+ params.put("nid", nameId);
+
+ String mode = "has_package_available";
+ if (archId == null) {
+ mode = "has_package_available_no_arch";
+ }
+ else {
+ params.put("aid", archId);
+ }
+ SelectMode m =
+ ModeFactory.getMode("System_queries", mode);
+ DataResult toReturn = m.execute(params);
+ return toReturn.size() > 0;
+
+ }
}
diff --git a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
index c75f012..d37fefd 100644
--- a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
@@ -1244,4 +1244,30 @@ public class SystemManagerTest extends RhnBaseTestCase {
assertEquals(0, sizeAfterDelete);
}
+
+
+ public void testHasPackageAvailable() throws Exception {
+ User admin = UserTestUtils.findNewUser("testUser",
"testOrg");
+ Server server = ServerTestUtils.createTestSystem(admin);
+
+ Package pack = PackageTest.createTestPackage(admin.getOrg());
+ assertFalse(SystemManager.hasPackageAvailable(server,
+ pack.getPackageName().getId(), pack.getPackageArch().getId(),
+ pack.getPackageEvr().getId()));
+
+ assertFalse(SystemManager.hasPackageAvailable(server,
+ pack.getPackageName().getId(), null,
+ pack.getPackageEvr().getId()));
+
+ server.getBaseChannel().addPackage(pack);
+ TestUtils.saveAndFlush(pack);
+ assertTrue(SystemManager.hasPackageAvailable(server,
+ pack.getPackageName().getId(), pack.getPackageArch().getId(),
+ pack.getPackageEvr().getId()));
+ assertTrue(SystemManager.hasPackageAvailable(server,
+ pack.getPackageName().getId(), null,
+ pack.getPackageEvr().getId()));
+
+ }
+
}
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp
b/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp
index 160dcaa..be6a601 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp
@@ -8,9 +8,6 @@
<html>
<body>
-<html:messages id="message" message="true">
- <rhn:messages><c:out escapeXml="false"
value="${message}" /></rhn:messages>
-</html:messages>
<%@ include
file="/WEB-INF/pages/common/fragments/systems/system-header.jspf" %>
<h2>
commit 1e2fad3293b836a96ce3c1c71ddb626cc14ca6b2
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Mar 25 15:01:57 2009 -0400
Oops adding a forgotten cobbler.jsp file ...... bbuckingham++
diff --git a/java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp
b/java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp
new file mode 100644
index 0000000..4490b02
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp
@@ -0,0 +1,53 @@
+<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
+<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
+<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
+
+<html:html xhtml="true">
+
+<body>
+
+<html:errors />
+<html:messages id="message" message="true">
+ <rhn:messages><c:out escapeXml="false" value="${message}"
/></rhn:messages>
+</html:messages>
+
+<rhn:toolbar base="h1" img="/img/rhn-icon-info.gif"
imgAlt="info.alt.img">
+ <bean:message key="cobbler.jsp.toolbar"/>
+</rhn:toolbar>
+
+<div class="page-summary">
+ <p>
+ <bean:message key="cobbler.jsp.summary1"/>
+ </p>
+ <p>
+ <bean:message key="cobbler.jsp.summary2"/>
+ </p>
+ <p>
+ <bean:message key="cobbler.jsp.summary3"/>
+ </p>
+</div>
+<rhn:dialogmenu mindepth="0" maxdepth="1"
definition="/WEB-INF/nav/sat_config.xml"
renderer="com.redhat.rhn.frontend.nav.DialognavRenderer" />
+
+<h2><bean:message key="cobbler.jsp.header2"/></h2>
+
+<div>
+<form action="/rhn/admin/config/Cobbler.do">
+ <table class="details">
+ <tr>
+ <th>
+ <bean:message key="cobbler.jsp.sync"/>
+ </th>
+ <td>
+ <input type="submit" name="cobbler_sync"
value="${rhn:localize('update')}" />
+ </td>
+ </tr>
+ </table>
+ <hr/>
+<rhn:submitted/>
+</form>
+</div>
+
+</body>
+</html:html>
+
commit 1d885c4a2e4a0c3d8b4d8f12bbe0bd20f3dac6e5
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Wed Mar 25 14:38:14 2009 -0400
491762 - ProfileManagerTest - adding a test for profile comparisons with varying epoch
values
diff --git a/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java
b/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java
index e98569f..2823871 100644
--- a/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java
@@ -279,7 +279,6 @@ public class ProfileManagerTest extends RhnBaseTestCase {
pli.setVersion("2.4.22");
pli.setEpoch(null);
a.add(pli);
-
List b = new ArrayList();
pli = new PackageListItem();
@@ -315,7 +314,6 @@ public class ProfileManagerTest extends RhnBaseTestCase {
pli.setVersion("2.4.22");
pli.setEpoch(null);
b.add(pli);
-
List a = new ArrayList();
pli = new PackageListItem();
@@ -339,6 +337,55 @@ public class ProfileManagerTest extends RhnBaseTestCase {
assertEquals("kernel-2.4.21-27.EL", pm.getOther().getEvr());
}
+ public void testDifferingEpochsofSamePackage() {
+ // this test will perform a package comparison between 2 packages where
+ // the epochs in those packages vary, including null values
+
+ String[] pkg1Epochs = {null, "0", null, "0"};
+ String[] pkg2Epochs = {null, null, "0", "0"};
+
+ List<PackageListItem> a = new ArrayList<PackageListItem>();
+ PackageListItem pli1 = new PackageListItem();
+ pli1.setIdCombo("500000341|000000");
+ pli1.setEvrId(new Long(000000));
+ pli1.setName("kernel");
+ pli1.setRelease("27.EL-bretm");
+ pli1.setNameId(new Long(500000341));
+ pli1.setEvr("kernel-2.4.22-27.EL-bretm");
+ pli1.setVersion("2.4.22");
+
+ List<PackageListItem> b = new ArrayList<PackageListItem>();
+ PackageListItem pli2 = new PackageListItem();
+ pli2.setIdCombo("500000341|258204");
+ pli2.setEvrId(new Long(258204));
+ pli2.setName("kernel");
+ pli2.setRelease("27.EL");
+ pli2.setNameId(new Long(500000341));
+ pli2.setEvr("kernel-2.4.21-27.EL");
+ pli2.setVersion("2.4.21");
+
+ for (int i = 0; i < pkg1Epochs.length; i++) {
+ pli1.setEpoch(pkg1Epochs[i]);
+ pli2.setEpoch(pkg2Epochs[i]);
+
+ a.clear();
+ a.add(pli1);
+ b.clear();
+ b.add(pli2);
+
+ List diff = ProfileManager.comparePackageLists(
+ new DataResult(a), new DataResult(b), "foo");
+ assertEquals(1, diff.size());
+ PackageMetadata pm = (PackageMetadata) diff.get(0);
+ assertNotNull(pm);
+ assertEquals(PackageMetadata.KEY_OTHER_NEWER, pm.getComparisonAsInt());
+ assertEquals("kernel-2.4.22-27.EL-bretm", pm.getOther().getEvr());
+ assertEquals(pkg1Epochs[i], pm.getOther().getEpoch());
+ assertEquals("kernel-2.4.21-27.EL", pm.getSystem().getEvr());
+ assertEquals(pkg2Epochs[i], pm.getSystem().getEpoch());
+ }
+ }
+
public static PackageListItem createItem(String evrString, int nameId) {
PackageListItem pli = new PackageListItem();
String[] evr = StringUtils.split(evrString, "-");
commit a93b8779a4638fc9f45a960e866d1b9f4e3e3bd3
Author: Partha Aji <paji(a)redhat.com>
Date: Wed Mar 25 14:34:59 2009 -0400
Fixed a unit test w.r.t deactivateProxy
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java
index 90c31eb..794aac6 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java
@@ -35,8 +35,7 @@ public class ProxyHandlerTest extends RhnBaseTestCase {
user.addRole(RoleFactory.ORG_ADMIN);
Server server = ServerFactoryTest.createTestProxyServer(user, true);
assertTrue(server.isProxy());
- SystemManager.deactivateProxy(server);
- server = (Server) reload(server);
+ server = SystemManager.deactivateProxy(server);
assertFalse(server.isProxy());
}
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
index 53eae72..4a072c3 100644
--- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
+++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
@@ -1261,9 +1261,12 @@ public class SystemManager extends BaseManager {
/**
* Deactivates the given proxy.
+ * Make sure you either reload the server after this call,,
+ * or use the returned Server object
* @param server ProxyServer to be deactivated.
+ * @return deproxified server.
*/
- public static void deactivateProxy(Server server) {
+ public static Server deactivateProxy(Server server) {
Long sid = server.getId();
Set channels = server.getChannels();
@@ -1287,10 +1290,13 @@ public class SystemManager extends BaseManager {
executeWriteMode("Monitoring_queries",
"delete_sat_cluster_for_server", params);
- // freakin hibernate can't do a simple bulk delete statement unless
- // it uses HQL!
+ // At this point we have the deletes happening
+ // in write mode. So our server which is a hibernate
+ // object is NOT in sync and so we have to reload
+ // for it to work....
server = (Server) HibernateFactory.reload(server);
ServerFactory.deproxify(server);
+ return server;
}
private static int executeWriteMode(String catalog, String mode, Map params) {
diff --git a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
index c816b90..c75f012 100644
--- a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java
@@ -898,7 +898,7 @@ public class SystemManagerTest extends RhnBaseTestCase {
user.addRole(RoleFactory.ORG_ADMIN);
Server server = ServerFactoryTest.createTestProxyServer(user, true);
assertTrue(server.isProxy());
- SystemManager.deactivateProxy(server);
+ server = SystemManager.deactivateProxy(server);
ServerFactory.save(server);
server = (Server) reload(server);
assertFalse(server.isProxy());
commit 48197d2e8cd92756b41d45b3dad387dc62282f9b
Author: Mike McCune <mmccune(a)gmail.com>
Date: Wed Mar 25 10:29:57 2009 -0700
Automatic commit of package [spacewalk-schema] release [0.5.20-1].
diff --git a/rel-eng/packages/spacewalk-schema b/rel-eng/packages/spacewalk-schema
index 5b78f57..61397bb 100644
--- a/rel-eng/packages/spacewalk-schema
+++ b/rel-eng/packages/spacewalk-schema
@@ -1 +1 @@
-0.5.19-1 schema/spacewalk/
+0.5.20-1 schema/spacewalk/
diff --git a/schema/spacewalk/spacewalk-schema.spec
b/schema/spacewalk/spacewalk-schema.spec
index ecd30e4..8f0ba0b 100644
--- a/schema/spacewalk/spacewalk-schema.spec
+++ b/schema/spacewalk/spacewalk-schema.spec
@@ -2,7 +2,7 @@ Name: spacewalk-schema
Group: Applications/Internet
Summary: Oracle SQL schema for Spacewalk server
-Version: 0.5.19
+Version: 0.5.20
Release: 1%{?dist}
Source0: %{name}-%{version}.tar.gz
@@ -52,6 +52,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/spacewalk-schema-upgrade*
%changelog
+* Wed Mar 25 2009 Mike McCune <mmccune(a)gmail.com> 0.5.20-1
+- 472595 - forgot the index in the table definition. was in the upgrade area only
+
* Thu Mar 19 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.19-1
- 487316 - disallows multiple eus channels to be considered the most recent
- 472595 - fixes for kickstart performance, start porting ks downloads to java
commit 7b974a41d4ec7f7ea0bc02257ee5d90941b71ccb
Author: Mike McCune <mmccune(a)gmail.com>
Date: Wed Mar 25 10:26:29 2009 -0700
472595 - forgot the index in the table definition. was in the upgrade
area only.
diff --git a/schema/spacewalk/rhnsat/tables/rhnPackage.sql
b/schema/spacewalk/rhnsat/tables/rhnPackage.sql
index 042d02b..625307f 100644
--- a/schema/spacewalk/rhnsat/tables/rhnPackage.sql
+++ b/schema/spacewalk/rhnsat/tables/rhnPackage.sql
@@ -105,6 +105,11 @@ create index rhn_package_nid_id_idx
tablespace [[2m_tbs]]
nologging;
+create index rhn_package_path_idx
+ on rhnPackage(id, path)
+ tablespace [[2m_tbs]]
+ nologging;
+
create or replace trigger
rhn_package_mod_trig
before insert or update on rhnPackage
commit 9f8d0f9172786012a8b7ff70d7653ac6580e7556
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Mar 25 18:10:43 2009 +0100
Automatic commit of package [spacewalk-admin] release [0.5.15-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin
index 0e8c4dc..e05ad36 100644
--- a/rel-eng/packages/spacewalk-admin
+++ b/rel-eng/packages/spacewalk-admin
@@ -1 +1 @@
-0.5.14-1 spacewalk/admin/
+0.5.15-1 spacewalk/admin/
diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec
index 24ff29e..8f146d5 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: 0.5.14
+Version: 0.5.15
Release: 1%{?dist}
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
License: GPLv2
@@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/validate-sat-cert.3.gz
%changelog
+* Wed Mar 25 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.15-1
+- rhn-satellite restarts oracle service rather than rhn-database
+
* Wed Mar 25 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.14-1
- some jabberd installs use jabberd, while others use jabber, check for both.
commit 143e0ef7181ffa4b1bae119e2a0b9d467d7f94f1
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Mar 25 18:07:37 2009 +0100
on satellite the db service is no longer called rhn-satellite
diff --git a/spacewalk/admin/rhn-satellite b/spacewalk/admin/rhn-satellite
index ab105fb..8d21d79 100755
--- a/spacewalk/admin/rhn-satellite
+++ b/spacewalk/admin/rhn-satellite
@@ -22,8 +22,8 @@
-if [ -x /etc/init.d/rhn-database ]; then
- DB_SERVICE="rhn-database"
+if [ -x /etc/init.d/oracle ]; then
+ DB_SERVICE="oracle"
fi
if [ -x /etc/init.d/oracle-xe ]; then
commit 602b64e6aada86a7821dc8543d1304ae163565c5
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Wed Mar 25 13:01:42 2009 -0400
Automatic commit of package [spacewalk-admin] release [0.5.14-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin
index d532de3..0e8c4dc 100644
--- a/rel-eng/packages/spacewalk-admin
+++ b/rel-eng/packages/spacewalk-admin
@@ -1 +1 @@
-0.5.13-1 spacewalk/admin/
+0.5.14-1 spacewalk/admin/
diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec
index cf42406..24ff29e 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: 0.5.13
+Version: 0.5.14
Release: 1%{?dist}
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
License: GPLv2
@@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/validate-sat-cert.3.gz
%changelog
+* Wed Mar 25 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.14-1
+- some jabberd installs use jabberd, while others use jabber, check for both.
+
* Wed Mar 25 2009 Jan Pazdziora 0.5.13-1
- 491687 - wrapper around sudo rhn-load-ssl-cert.pl, to change SELinux domain
commit 6ff2e4c035239140e85089bab690ff63add38303
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Wed Mar 25 13:00:09 2009 -0400
some jabberd installs use jabberd, while others use jabber, check for both.
diff --git a/spacewalk/admin/rhn-generate-pem.pl b/spacewalk/admin/rhn-generate-pem.pl
index 95675f5..3399e11 100644
--- a/spacewalk/admin/rhn-generate-pem.pl
+++ b/spacewalk/admin/rhn-generate-pem.pl
@@ -71,7 +71,15 @@ if ($out_file) {
chmod(0600, $out_file); # rw by current user (probably root) only
my ($uid, $gid) = lookup_user_ids('jabberd');
- chown($uid, $gid, $out_file);
+
+ # some installs of jabber use jabberd user, while others use jabber
+ if (not $uid) {
+ ($uid, $gid) = lookup_user_ids('jabber');
+ }
+
+ if($uid) {
+ chown($uid, $gid, $out_file);
+ }
}
else {
print @content;
commit a21c4aeabb59a2c996102adc9a1acd61c8e1ae0d
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Wed Mar 25 11:59:11 2009 -0400
pass in --nowait as a default to make build
diff --git a/rel-eng/lib/spacewalk/releng/builder.py
b/rel-eng/lib/spacewalk/releng/builder.py
index ec6f9ea..9c9887b 100644
--- a/rel-eng/lib/spacewalk/releng/builder.py
+++ b/rel-eng/lib/spacewalk/releng/builder.py
@@ -466,7 +466,7 @@ class Builder(object):
branch_dir = os.path.join(self.cvs_workdir, self.project_name,
branch)
os.chdir(branch_dir)
- output = run_command("make build")
+ output = run_command("BUILD_FLAGS=--nowait make build")
print(output)
def _can_build_in_cvs(self):
commit 74096f50eb42a207c6d1b5de6d68d21bc1d35333
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Mar 25 16:24:45 2009 +0100
Automatic commit of package [spacewalk-setup] release [0.5.25-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup
index 1176ba9..2385830 100644
--- a/rel-eng/packages/spacewalk-setup
+++ b/rel-eng/packages/spacewalk-setup
@@ -1 +1 @@
-0.5.24-1 spacewalk/setup/
+0.5.25-1 spacewalk/setup/
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec
index 9f52866..8efbd9c 100644
--- a/spacewalk/setup/spacewalk-setup.spec
+++ b/spacewalk/setup/spacewalk-setup.spec
@@ -1,5 +1,5 @@
Name: spacewalk-setup
-Version: 0.5.24
+Version: 0.5.25
Release: 1%{?dist}
Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,6 +94,9 @@ rm -rf %{buildroot}
%dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog
+* Wed Mar 25 2009 Milan Zazrivec <mzazrivec(a)redhat.com> 0.5.25-1
+- 491091 - don't match lines in ssl.conf that are commented out
+
* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us> 0.5.24-1
- write jabberd server.pem to /etc/pki/spacewalk/jabberd
commit 24036df754c467d75c84ae8447a2b88a3d9a07aa
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Mar 25 16:20:13 2009 +0100
491091 - service httpd start fails: Multiple RSA server certificates not allowed
diff --git a/spacewalk/setup/share/ssl.conf.1 b/spacewalk/setup/share/ssl.conf.1
index 5a969a1..af3452b 100644
--- a/spacewalk/setup/share/ssl.conf.1
+++ b/spacewalk/setup/share/ssl.conf.1
@@ -1,2 +1,2 @@
-^#*[ \t]*RewriteEngine.*\n
+^[ \t]*RewriteEngine.*\n
RewriteEngine on
diff --git a/spacewalk/setup/share/ssl.conf.2 b/spacewalk/setup/share/ssl.conf.2
index 39e65ad..2d86729 100644
--- a/spacewalk/setup/share/ssl.conf.2
+++ b/spacewalk/setup/share/ssl.conf.2
@@ -1,2 +1,2 @@
-^#*[ \t]*RewriteOptions.*\n
+^[ \t]*RewriteOptions.*\n
RewriteOptions inherit
diff --git a/spacewalk/setup/share/ssl.conf.3 b/spacewalk/setup/share/ssl.conf.3
index 297c4ca..ecff629 100644
--- a/spacewalk/setup/share/ssl.conf.3
+++ b/spacewalk/setup/share/ssl.conf.3
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLProxyEngine.*\n
+^[ \t]*SSLProxyEngine.*\n
SSLProxyEngine on
diff --git a/spacewalk/setup/share/ssl.conf.4 b/spacewalk/setup/share/ssl.conf.4
index 92a7fb8..f2f08a3 100644
--- a/spacewalk/setup/share/ssl.conf.4
+++ b/spacewalk/setup/share/ssl.conf.4
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLCertificateFile.*\n
+^[ \t]*SSLCertificateFile.*\n
SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt
diff --git a/spacewalk/setup/share/ssl.conf.5 b/spacewalk/setup/share/ssl.conf.5
index 2513d0a..f584246 100644
--- a/spacewalk/setup/share/ssl.conf.5
+++ b/spacewalk/setup/share/ssl.conf.5
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLCertificateKeyFile.*\n
+^[ \t]*SSLCertificateKeyFile.*\n
SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
commit 6009e4b08e0a923d69b6418736b28bef04038653
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Wed Mar 25 16:01:59 2009 +0100
Revert "491091 - splitting out the rhel4 vs rhel5 ssl.conf regexes. Each
RHEL"
This reverts commit 70f65e75d87eb0f0a835841fd63c1436dd2fc12c.
It's sufficient to remove #* from ssl.conf[1-5] to avoid this problem.
diff --git a/spacewalk/setup/share/ssl.conf.4 b/spacewalk/setup/share/ssl.conf.4
index 9a437de..92a7fb8 100644
--- a/spacewalk/setup/share/ssl.conf.4
+++ b/spacewalk/setup/share/ssl.conf.4
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt*\n
+^#*[ \t]*SSLCertificateFile.*\n
SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt
diff --git a/spacewalk/setup/share/ssl.conf.5 b/spacewalk/setup/share/ssl.conf.5
index e20680b..2513d0a 100644
--- a/spacewalk/setup/share/ssl.conf.5
+++ b/spacewalk/setup/share/ssl.conf.5
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key*\n
+^#*[ \t]*SSLCertificateKeyFile.*\n
SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
diff --git a/spacewalk/setup/share/ssl.conf.6 b/spacewalk/setup/share/ssl.conf.6
deleted file mode 100644
index ad2ff40..0000000
--- a/spacewalk/setup/share/ssl.conf.6
+++ /dev/null
@@ -1,2 +0,0 @@
-^#*[ \t]*SSLCertificateFile /etc/pki/tls/certs/localhost.crt*\n
-SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt
diff --git a/spacewalk/setup/share/ssl.conf.7 b/spacewalk/setup/share/ssl.conf.7
deleted file mode 100644
index 54faea1..0000000
--- a/spacewalk/setup/share/ssl.conf.7
+++ /dev/null
@@ -1,2 +0,0 @@
-^#*[ \t]*SSLCertificateKeyFile /etc/pki/tls/private/localhost.key*\n
-SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
commit 873db893f752b6de24ed952fd53fb67f5dd09f64
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Wed Mar 25 10:57:18 2009 -0300
Automatic commit of package [spacewalk-backend] release [0.5.26-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec
index 6c2eefb..e6472f1 100644
--- a/backend/spacewalk-backend.spec
+++ b/backend/spacewalk-backend.spec
@@ -7,7 +7,7 @@ Name: spacewalk-backend
Summary: Common programs needed to be installed on the Spacewalk servers/proxies
Group: Applications/Internet
License: GPLv2
-Version: 0.5.25
+Version: 0.5.26
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -561,6 +561,14 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$
%changelog
+* Wed Mar 25 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.5.26-1
+- 487621 - Fix segfaults rhnpush has been causing server-side on Fedora 10.
+- Fix Oracle exception handling in procedure calls.
+- 485529 - Fix to handle empty or missing ip_addr on a disabled interface.
+- 482830 - Fix rpm fetch to include the xml-dump-version in httpd headers during GET
requests.
+- 483811 - Fix orgid based sync logic.
+- 480252 - Raise meaningful exception instead of traceback on Oracle column size error.
+
* Thu Mar 19 2009 Pradeep Kilambi <pkilambi(a)redhat.com> 0.5.25-1
- 468686 - restricts deactivated accounts from registering systems and managing systems.
- 485532 - Adding the overriding config values for apachec process sizelimit issue
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend
index 8977632..fb5b620 100644
--- a/rel-eng/packages/spacewalk-backend
+++ b/rel-eng/packages/spacewalk-backend
@@ -1 +1 @@
-0.5.25-1 backend/
+0.5.26-1 backend/
commit c6ea3346a64ec46877ad591670cbeaf5531e82e4
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 25 14:50:51 2009 +0100
Automatic commit of package [nocpulse-common] release [2.1.8-1].
diff --git a/monitoring/nocpulse-common/nocpulse-common.spec
b/monitoring/nocpulse-common/nocpulse-common.spec
index 0acfae7..78d5982 100644
--- a/monitoring/nocpulse-common/nocpulse-common.spec
+++ b/monitoring/nocpulse-common/nocpulse-common.spec
@@ -1,5 +1,5 @@
Name: nocpulse-common
-Version: 2.1.7
+Version: 2.1.8
Release: 1%{?dist}
Summary: NOCpulse common
License: GPLv2
@@ -101,7 +101,7 @@ fi
rm -rf $RPM_BUILD_ROOT
%changelog
-* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com>
+* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com> 2.1.8-1
- be sure that nocpulse home is correct after upgrade
* Thu Mar 5 2009 Miroslav Suchý <msuchy(a)redhat.com> 2.1.7-1
diff --git a/rel-eng/packages/nocpulse-common b/rel-eng/packages/nocpulse-common
index 2417cd2..408e14d 100644
--- a/rel-eng/packages/nocpulse-common
+++ b/rel-eng/packages/nocpulse-common
@@ -1 +1 @@
-2.1.7-1 monitoring/nocpulse-common/
+2.1.8-1 monitoring/nocpulse-common/
commit 3a49492398b93f0a94628f08f7bf158c24bdf1f8
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 25 14:50:36 2009 +0100
Automatic commit of package [spacewalk-proxy-monitoring] release [0.4.4-1].
diff --git a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
index d167cc7..fff645d 100644
--- a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
+++ b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
@@ -2,7 +2,7 @@
Summary: Meta-package that pulls in all of the Spacewalk monitoring packages
Name: spacewalk-proxy-monitoring
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
-Version: 0.4.3
+Version: 0.4.4
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
License: GPLv2
@@ -78,7 +78,7 @@ rm -rf $RPM_BUILD_ROOT
%doc README
%changelog
-* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com>
+* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.4.4-1
- be sure that nocpulse home is correct
* Thu Mar 12 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.4.3-1
diff --git a/rel-eng/packages/spacewalk-proxy-monitoring
b/rel-eng/packages/spacewalk-proxy-monitoring
index 09ec70f..965a5e6 100644
--- a/rel-eng/packages/spacewalk-proxy-monitoring
+++ b/rel-eng/packages/spacewalk-proxy-monitoring
@@ -1 +1 @@
-0.4.3-1 monitoring/spacewalk-proxy-monitoring/
+0.4.4-1 monitoring/spacewalk-proxy-monitoring/
commit d2ab32bae6abf700721e086a668f995aa0c37865
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 25 14:50:27 2009 +0100
Automatic commit of package [spacewalk-monitoring] release [0.5.4-1].
diff --git a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
index 2ef2860..9605f14 100644
--- a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
+++ b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
@@ -1,7 +1,7 @@
Summary: Spacewalk monitoring
Name: spacewalk-monitoring
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
-Version: 0.5.3
+Version: 0.5.4
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
License: GPLv2
@@ -106,7 +106,7 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE
%changelog
-* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com>
+* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.4-1
- be sure that nocpulse home is correct
* Wed Mar 18 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.3-1
diff --git a/rel-eng/packages/spacewalk-monitoring
b/rel-eng/packages/spacewalk-monitoring
index e77efa1..2959661 100644
--- a/rel-eng/packages/spacewalk-monitoring
+++ b/rel-eng/packages/spacewalk-monitoring
@@ -1 +1 @@
-0.5.3-1 monitoring/spacewalk-monitoring/
+0.5.4-1 monitoring/spacewalk-monitoring/
commit 473ee9cf42efab7acf2f0879e1de0da814d60125
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Mar 25 14:48:32 2009 +0100
be sure that nocpulse home is correct after upgrade
diff --git a/monitoring/nocpulse-common/nocpulse-common.spec
b/monitoring/nocpulse-common/nocpulse-common.spec
index 9350045..0acfae7 100644
--- a/monitoring/nocpulse-common/nocpulse-common.spec
+++ b/monitoring/nocpulse-common/nocpulse-common.spec
@@ -69,6 +69,13 @@ if [ $1 -eq 1 ] ; then
/usr/bin/passwd -l %{package_name} >/dev/null
exit 0
fi
+# Old NOCpulse packages has home in /home/nocpulse.
+# We need to migrate them to new place.
+if getent passwd %{package_name} >/dev/null && [ -d /home/nocpulse ]; then
+ /usr/sbin/usermod -d %{_var}/lib/%{package_name} -m nocpulse
+ rm -rf %{_var}/lib/nocpulse/bin
+ rm -rf %{_var}/lib/nocpulse/var
+fi
%post
if [ ! -f %{identity} ]
@@ -94,6 +101,9 @@ fi
rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com>
+- be sure that nocpulse home is correct after upgrade
+
* Thu Mar 5 2009 Miroslav Suchý <msuchy(a)redhat.com> 2.1.7-1
- keep last 5 logs in logrotate
diff --git a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
index e9f5963..2ef2860 100644
--- a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
+++ b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec
@@ -13,12 +13,14 @@ BuildArch: noarch
#Requires: perl-CGI-mp20
# Monitoring packages
+#we need to be sure that nocpulse home is correct
+Requires(pre): nocpulse-common
+
Requires: nocpulse-db-perl
Requires: eventReceivers
Requires: MessageQueue
Requires: NOCpulsePlugins
Requires: NPalert
-Requires: nocpulse-common
Requires: perl-NOCpulse-CLAC
Requires: perl-NOCpulse-Debug
Requires: perl-NOCpulse-Gritch
@@ -104,6 +106,9 @@ rm -rf $RPM_BUILD_ROOT
%doc LICENSE
%changelog
+* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com>
+- be sure that nocpulse home is correct
+
* Wed Mar 18 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.5.3-1
- 489573 - we do not conflict with rhnmd any more
diff --git a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
index 6070546..d167cc7 100644
--- a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
+++ b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec
@@ -10,12 +10,14 @@ Group: Applications/System
BuildArch: noarch
Obsoletes: rhns-proxy-monitoring < 5.3.0
Provides: rhns-proxy-monitoring
+#we need to be sure that nocpulse home is correct
+Requires(pre): nocpulse-common
+
Requires: nocpulse-db-perl
Requires: eventReceivers
Requires: MessageQueue
Requires: NOCpulsePlugins
Requires: NPalert
-Requires: nocpulse-common
Requires: perl-NOCpulse-CLAC
Requires: perl-NOCpulse-Debug
Requires: perl-NOCpulse-Gritch
@@ -76,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT
%doc README
%changelog
+* Wed Mar 25 2009 Miroslav Suchý <msuchy(a)redhat.com>
+- be sure that nocpulse home is correct
+
* Thu Mar 12 2009 Miroslav Suchý <msuchy(a)redhat.com> 0.4.3-1
- 489573 - rhnmd do not conflict with monitoring anymore
commit 150b5765a14856fb46ce56428840bc63dcbffa35
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Mar 24 13:53:08 2009 +0100
491670 - add rhn-proxy-branding to list of package to remove in 5.3
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
index ccb254a..2271ef8 100644
--- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
@@ -848,7 +848,7 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html
spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer
spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend
spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker
spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common
nocpulse-db-perl jabberd-selinux; do
+rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html
spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer
spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend
spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker
spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common
nocpulse-db-perl jabberd-selinux rhn-proxy-branding; do
rpm -q $package >/dev/null && echo $package; done`
</script>
</run-script>
commit 12dac0fed153fe79093f6a2f46da99d07687e176
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Mar 24 12:22:58 2009 +0100
491670 - sort packages and add spacewalk-proxy-installer widget
diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
index d076ed7..b5a8610 100644
--- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
@@ -32,6 +32,7 @@
<package>httpd</package>
<package>httpd-suexec</package>
<package>jabberd</package>
+ <package>jabberd-selinux</package>
<package>libapreq2</package>
<package>libidn</package>
<package>LongLegs</package>
@@ -40,6 +41,8 @@
<package>mod_perl</package>
<package>mod_python</package>
<package>mod_ssl</package>
+ <package>nocpulse-common</package>
+ <package>nocpulse-db-perl</package>
<package>NOCpulsePlugins</package>
<package>NPalert</package>
<package>np-config</package>
@@ -57,8 +60,8 @@
<package>perl-Crypt-DES</package>
<package>perl-Crypt-GeneratePassword</package>
<package>perl-Crypt-SSLeay</package>
- <package>perl-DateTime</package>
<package>perl-DateTime-Locale</package>
+ <package>perl-DateTime</package>
<package>perl-DateTime-TimeZone</package>
<package>perl-DBD-Oracle</package>
<package>perl-Devel-Symdump</package>
@@ -96,9 +99,10 @@
<package>rhn-modperl</package>
<package>rhn-modpython</package>
<package>rhn-modssl</package>
- <package>rhns</package>
+ <package>rhn-proxy-branding</package>
<package>rhns-auth-daemon</package>
<package>rhns-certs-tools</package>
+ <package>rhns</package>
<package>rhns-proxy-broker</package>
<package>rhns-proxy-docs</package>
<package>rhns-proxy-management</package>
@@ -117,33 +121,29 @@
<package>SatConfig-generator</package>
<package>SatConfig-installer</package>
<package>SatConfig-spread</package>
- <package>scdb</package>
<package>scdb_accessor_perl</package>
+ <package>scdb</package>
<package>SNMPAlerts</package>
+ <package>spacewalk-backend</package>
+ <package>spacewalk-base-minimal</package>
+ <package>spacewalk-certs-tools</package>
+ <package>spacewalk-proxy-broker</package>
+ <package>spacewalk-proxy-common</package>
+ <package>spacewalk-proxy-docs</package>
+ <package>spacewalk-proxy-html</package>
+ <package>spacewalk-proxy-installer</package>
+ <package>spacewalk-proxy-management</package>
+ <package>spacewalk-proxy-monitoring</package>
+ <package>spacewalk-proxy-package-manager</package>
+ <package>spacewalk-proxy-redirect</package>
+ <package>spacewalk-ssl-cert-check</package>
<package>SputLite-client</package>
<package>SputLite-server</package>
<package>ssl_bridge</package>
<package>status_log_acceptor</package>
<package>Time-System</package>
- <package>tsdb</package>
<package>tsdb_accessor_perl</package>
- <package>spacewalk-proxy-html</package>
- <package>spacewalk-ssl-cert-check</package>
- <package>spacewalk-proxy-common</package>
- <package>spacewalk-proxy-installer</package>
- <package>spacewalk-proxy-docs</package>
- <package>spacewalk-proxy-monitoring</package>
- <package>spacewalk-backend</package>
- <package>spacewalk-proxy-package-manager</package>
- <package>spacewalk-certs-tools</package>
- <package>spacewalk-proxy-broker</package>
- <package>spacewalk-proxy-management</package>
- <package>spacewalk-base-minimal</package>
- <package>spacewalk-proxy-redirect</package>
- <package>nocpulse-common</package>
- <package>nocpulse-db-perl</package>
- <package>jabberd-selinux</package>
- <package>rhn-proxy-branding</package>
+ <package>tsdb</package>
<alias>proxy</alias>
</method-call>
</activity>
@@ -166,13 +166,14 @@ Would you like to enable Monitoring Proxy functionality on this
system?
</header>
<rhn-form name="Remove Conflicting Packages"
label="remove_packages">
- <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
+ <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
<widget type="literal"
label="ConfigPusher-general"
default="${session.have_package_ConfigPusher_general}"
acl="session_data_true(have_package_ConfigPusher_general)" />
<widget type="literal" label="eventReceivers"
default="${session.have_package_eventReceivers}"
acl="session_data_true(have_package_eventReceivers)" />
<widget type="literal" label="FcntlLock"
default="${session.have_package_FcntlLock}"
acl="session_data_true(have_package_FcntlLock)" />
<widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
<widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
@@ -181,6 +182,8 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="mod_perl"
default="${session.have_package_mod_perl}"
acl="session_data_true(have_package_mod_perl)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
<widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="NOCpulsePlugins"
default="${session.have_package_NOCpulsePlugins}"
acl="session_data_true(have_package_NOCpulsePlugins)" />
<widget type="literal" label="NPalert"
default="${session.have_package_NPalert}"
acl="session_data_true(have_package_NPalert)" />
<widget type="literal" label="np-config"
default="${session.have_package_np_config}"
acl="session_data_true(have_package_np_config)" />
@@ -237,9 +240,10 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="rhn-modperl"
default="${session.have_package_rhn_modperl}"
acl="session_data_true(have_package_rhn_modperl)" />
<widget type="literal" label="rhn-modpython"
default="${session.have_package_rhn_modpython}"
acl="session_data_true(have_package_rhn_modpython)" />
<widget type="literal" label="rhn-modssl"
default="${session.have_package_rhn_modssl}"
acl="session_data_true(have_package_rhn_modssl)" />
- <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="rhns-auth-daemon"
default="${session.have_package_rhns_auth_daemon}"
acl="session_data_true(have_package_rhns_auth_daemon)" />
<widget type="literal" label="rhns-certs-tools"
default="${session.have_package_rhns_certs_tools}"
acl="session_data_true(have_package_rhns_certs_tools)" />
+ <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
<widget type="literal" label="rhns-proxy-broker"
default="${session.have_package_rhns_proxy_broker}"
acl="session_data_true(have_package_rhns_proxy_broker)" />
<widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
<widget type="literal"
label="rhns-proxy-management"
default="${session.have_package_rhns_proxy_management}"
acl="session_data_true(have_package_rhns_proxy_management)" />
@@ -258,32 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="SatConfig-generator"
default="${session.have_package_SatConfig_generator}"
acl="session_data_true(have_package_SatConfig_generator)" />
<widget type="literal" label="SatConfig-installer"
default="${session.have_package_SatConfig_installer}"
acl="session_data_true(have_package_SatConfig_installer)" />
<widget type="literal" label="SatConfig-spread"
default="${session.have_package_SatConfig_spread}"
acl="session_data_true(have_package_SatConfig_spread)" />
- <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="scdb_accessor_perl"
default="${session.have_package_scdb_accessor_perl}"
acl="session_data_true(have_package_scdb_accessor_perl)" />
+ <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="SNMPAlerts"
default="${session.have_package_SNMPAlerts}"
acl="session_data_true(have_package_SNMPAlerts)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-proxy-installer"
default="${session.have_package_spacewalk_installer}"
acl="session_data_true(have_package_spacewalk_proxy_installer)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
<widget type="literal" label="SputLite-client"
default="${session.have_package_SputLite_client}"
acl="session_data_true(have_package_SputLite_client)" />
<widget type="literal" label="SputLite-server"
default="${session.have_package_SputLite_server}"
acl="session_data_true(have_package_SputLite_server)" />
<widget type="literal" label="ssl_bridge"
default="${session.have_package_ssl_bridge}"
acl="session_data_true(have_package_ssl_bridge)" />
<widget type="literal" label="status_log_acceptor"
default="${session.have_package_status_log_acceptor}"
acl="session_data_true(have_package_status_log_acceptor)" />
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
- <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
- <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
- <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
- <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
- <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
- <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
- <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
- <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
- <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
- <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
- <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
- <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
- <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
- <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
- <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
- <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
- <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
+ <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
index fa73aa2..b0b399f 100644
--- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
@@ -32,6 +32,7 @@
<package>httpd</package>
<package>httpd-suexec</package>
<package>jabberd</package>
+ <package>jabberd-selinux</package>
<package>libapreq2</package>
<package>libidn</package>
<package>LongLegs</package>
@@ -40,6 +41,8 @@
<package>mod_perl</package>
<package>mod_python</package>
<package>mod_ssl</package>
+ <package>nocpulse-common</package>
+ <package>nocpulse-db-perl</package>
<package>NOCpulsePlugins</package>
<package>NPalert</package>
<package>np-config</package>
@@ -57,8 +60,8 @@
<package>perl-Crypt-DES</package>
<package>perl-Crypt-GeneratePassword</package>
<package>perl-Crypt-SSLeay</package>
- <package>perl-DateTime</package>
<package>perl-DateTime-Locale</package>
+ <package>perl-DateTime</package>
<package>perl-DateTime-TimeZone</package>
<package>perl-DBD-Oracle</package>
<package>perl-Devel-Symdump</package>
@@ -96,9 +99,10 @@
<package>rhn-modperl</package>
<package>rhn-modpython</package>
<package>rhn-modssl</package>
- <package>rhns</package>
+ <package>rhn-proxy-branding</package>
<package>rhns-auth-daemon</package>
<package>rhns-certs-tools</package>
+ <package>rhns</package>
<package>rhns-proxy-broker</package>
<package>rhns-proxy-docs</package>
<package>rhns-proxy-management</package>
@@ -117,33 +121,29 @@
<package>SatConfig-generator</package>
<package>SatConfig-installer</package>
<package>SatConfig-spread</package>
- <package>scdb</package>
<package>scdb_accessor_perl</package>
+ <package>scdb</package>
<package>SNMPAlerts</package>
+ <package>spacewalk-backend</package>
+ <package>spacewalk-base-minimal</package>
+ <package>spacewalk-certs-tools</package>
+ <package>spacewalk-proxy-broker</package>
+ <package>spacewalk-proxy-common</package>
+ <package>spacewalk-proxy-docs</package>
+ <package>spacewalk-proxy-html</package>
+ <package>spacewalk-proxy-installer</package>
+ <package>spacewalk-proxy-management</package>
+ <package>spacewalk-proxy-monitoring</package>
+ <package>spacewalk-proxy-package-manager</package>
+ <package>spacewalk-proxy-redirect</package>
+ <package>spacewalk-ssl-cert-check</package>
<package>SputLite-client</package>
<package>SputLite-server</package>
<package>ssl_bridge</package>
<package>status_log_acceptor</package>
<package>Time-System</package>
- <package>tsdb</package>
<package>tsdb_accessor_perl</package>
- <package>spacewalk-proxy-html</package>
- <package>spacewalk-ssl-cert-check</package>
- <package>spacewalk-proxy-common</package>
- <package>spacewalk-proxy-installer</package>
- <package>spacewalk-proxy-docs</package>
- <package>spacewalk-proxy-monitoring</package>
- <package>spacewalk-backend</package>
- <package>spacewalk-proxy-package-manager</package>
- <package>spacewalk-certs-tools</package>
- <package>spacewalk-proxy-broker</package>
- <package>spacewalk-proxy-management</package>
- <package>spacewalk-base-minimal</package>
- <package>spacewalk-proxy-redirect</package>
- <package>nocpulse-common</package>
- <package>nocpulse-db-perl</package>
- <package>jabberd-selinux</package>
- <package>rhn-proxy-branding</package>
+ <package>tsdb</package>
<alias>proxy</alias>
</method-call>
</activity>
@@ -166,13 +166,14 @@ Would you like to enable Monitoring Proxy functionality on this
system?
</header>
<rhn-form name="Remove Conflicting Packages"
label="remove_packages">
- <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
+ <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
<widget type="literal"
label="ConfigPusher-general"
default="${session.have_package_ConfigPusher_general}"
acl="session_data_true(have_package_ConfigPusher_general)" />
<widget type="literal" label="eventReceivers"
default="${session.have_package_eventReceivers}"
acl="session_data_true(have_package_eventReceivers)" />
<widget type="literal" label="FcntlLock"
default="${session.have_package_FcntlLock}"
acl="session_data_true(have_package_FcntlLock)" />
<widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
<widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
@@ -181,6 +182,8 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="mod_perl"
default="${session.have_package_mod_perl}"
acl="session_data_true(have_package_mod_perl)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
<widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="NOCpulsePlugins"
default="${session.have_package_NOCpulsePlugins}"
acl="session_data_true(have_package_NOCpulsePlugins)" />
<widget type="literal" label="NPalert"
default="${session.have_package_NPalert}"
acl="session_data_true(have_package_NPalert)" />
<widget type="literal" label="np-config"
default="${session.have_package_np_config}"
acl="session_data_true(have_package_np_config)" />
@@ -237,9 +240,10 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="rhn-modperl"
default="${session.have_package_rhn_modperl}"
acl="session_data_true(have_package_rhn_modperl)" />
<widget type="literal" label="rhn-modpython"
default="${session.have_package_rhn_modpython}"
acl="session_data_true(have_package_rhn_modpython)" />
<widget type="literal" label="rhn-modssl"
default="${session.have_package_rhn_modssl}"
acl="session_data_true(have_package_rhn_modssl)" />
- <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="rhns-auth-daemon"
default="${session.have_package_rhns_auth_daemon}"
acl="session_data_true(have_package_rhns_auth_daemon)" />
<widget type="literal" label="rhns-certs-tools"
default="${session.have_package_rhns_certs_tools}"
acl="session_data_true(have_package_rhns_certs_tools)" />
+ <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
<widget type="literal" label="rhns-proxy-broker"
default="${session.have_package_rhns_proxy_broker}"
acl="session_data_true(have_package_rhns_proxy_broker)" />
<widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
<widget type="literal"
label="rhns-proxy-management"
default="${session.have_package_rhns_proxy_management}"
acl="session_data_true(have_package_rhns_proxy_management)" />
@@ -258,32 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="SatConfig-generator"
default="${session.have_package_SatConfig_generator}"
acl="session_data_true(have_package_SatConfig_generator)" />
<widget type="literal" label="SatConfig-installer"
default="${session.have_package_SatConfig_installer}"
acl="session_data_true(have_package_SatConfig_installer)" />
<widget type="literal" label="SatConfig-spread"
default="${session.have_package_SatConfig_spread}"
acl="session_data_true(have_package_SatConfig_spread)" />
- <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="scdb_accessor_perl"
default="${session.have_package_scdb_accessor_perl}"
acl="session_data_true(have_package_scdb_accessor_perl)" />
+ <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="SNMPAlerts"
default="${session.have_package_SNMPAlerts}"
acl="session_data_true(have_package_SNMPAlerts)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-proxy-installer"
default="${session.have_package_spacewalk_installer}"
acl="session_data_true(have_package_spacewalk_proxy_installer)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
<widget type="literal" label="SputLite-client"
default="${session.have_package_SputLite_client}"
acl="session_data_true(have_package_SputLite_client)" />
<widget type="literal" label="SputLite-server"
default="${session.have_package_SputLite_server}"
acl="session_data_true(have_package_SputLite_server)" />
<widget type="literal" label="ssl_bridge"
default="${session.have_package_ssl_bridge}"
acl="session_data_true(have_package_ssl_bridge)" />
<widget type="literal" label="status_log_acceptor"
default="${session.have_package_status_log_acceptor}"
acl="session_data_true(have_package_status_log_acceptor)" />
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
- <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
- <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
- <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
- <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
- <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
- <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
- <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
- <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
- <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
- <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
- <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
- <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
- <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
- <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
- <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
- <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
- <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)"
+ <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
index 48024b0..99b86ac 100644
--- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
@@ -32,6 +32,7 @@
<package>httpd</package>
<package>httpd-suexec</package>
<package>jabberd</package>
+ <package>jabberd-selinux</package>
<package>libapreq2</package>
<package>libidn</package>
<package>LongLegs</package>
@@ -40,6 +41,8 @@
<package>mod_perl</package>
<package>mod_python</package>
<package>mod_ssl</package>
+ <package>nocpulse-common</package>
+ <package>nocpulse-db-perl</package>
<package>NOCpulsePlugins</package>
<package>NPalert</package>
<package>np-config</package>
@@ -57,8 +60,8 @@
<package>perl-Crypt-DES</package>
<package>perl-Crypt-GeneratePassword</package>
<package>perl-Crypt-SSLeay</package>
- <package>perl-DateTime</package>
<package>perl-DateTime-Locale</package>
+ <package>perl-DateTime</package>
<package>perl-DateTime-TimeZone</package>
<package>perl-DBD-Oracle</package>
<package>perl-Devel-Symdump</package>
@@ -96,9 +99,10 @@
<package>rhn-modperl</package>
<package>rhn-modpython</package>
<package>rhn-modssl</package>
- <package>rhns</package>
+ <package>rhn-proxy-branding</package>
<package>rhns-auth-daemon</package>
<package>rhns-certs-tools</package>
+ <package>rhns</package>
<package>rhns-proxy-broker</package>
<package>rhns-proxy-docs</package>
<package>rhns-proxy-management</package>
@@ -117,33 +121,29 @@
<package>SatConfig-generator</package>
<package>SatConfig-installer</package>
<package>SatConfig-spread</package>
- <package>scdb</package>
<package>scdb_accessor_perl</package>
+ <package>scdb</package>
<package>SNMPAlerts</package>
+ <package>spacewalk-backend</package>
+ <package>spacewalk-base-minimal</package>
+ <package>spacewalk-certs-tools</package>
+ <package>spacewalk-proxy-broker</package>
+ <package>spacewalk-proxy-common</package>
+ <package>spacewalk-proxy-docs</package>
+ <package>spacewalk-proxy-html</package>
+ <package>spacewalk-proxy-installer</package>
+ <package>spacewalk-proxy-management</package>
+ <package>spacewalk-proxy-monitoring</package>
+ <package>spacewalk-proxy-package-manager</package>
+ <package>spacewalk-proxy-redirect</package>
+ <package>spacewalk-ssl-cert-check</package>
<package>SputLite-client</package>
<package>SputLite-server</package>
<package>ssl_bridge</package>
<package>status_log_acceptor</package>
<package>Time-System</package>
- <package>tsdb</package>
<package>tsdb_accessor_perl</package>
- <package>spacewalk-proxy-html</package>
- <package>spacewalk-ssl-cert-check</package>
- <package>spacewalk-proxy-common</package>
- <package>spacewalk-proxy-installer</package>
- <package>spacewalk-proxy-docs</package>
- <package>spacewalk-proxy-monitoring</package>
- <package>spacewalk-backend</package>
- <package>spacewalk-proxy-package-manager</package>
- <package>spacewalk-certs-tools</package>
- <package>spacewalk-proxy-broker</package>
- <package>spacewalk-proxy-management</package>
- <package>spacewalk-base-minimal</package>
- <package>spacewalk-proxy-redirect</package>
- <package>nocpulse-common</package>
- <package>nocpulse-db-perl</package>
- <package>jabberd-selinux</package>
- <package>rhn-proxy-branding</package>
+ <package>tsdb</package>
<alias>proxy</alias>
</method-call>
</activity>
@@ -166,13 +166,14 @@ Would you like to enable Monitoring Proxy functionality on this
system?
</header>
<rhn-form name="Remove Conflicting Packages"
label="remove_packages">
- <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
+ <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
<widget type="literal"
label="ConfigPusher-general"
default="${session.have_package_ConfigPusher_general}"
acl="session_data_true(have_package_ConfigPusher_general)" />
<widget type="literal" label="eventReceivers"
default="${session.have_package_eventReceivers}"
acl="session_data_true(have_package_eventReceivers)" />
<widget type="literal" label="FcntlLock"
default="${session.have_package_FcntlLock}"
acl="session_data_true(have_package_FcntlLock)" />
<widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
<widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
@@ -181,6 +182,8 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="mod_perl"
default="${session.have_package_mod_perl}"
acl="session_data_true(have_package_mod_perl)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
<widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="NOCpulsePlugins"
default="${session.have_package_NOCpulsePlugins}"
acl="session_data_true(have_package_NOCpulsePlugins)" />
<widget type="literal" label="NPalert"
default="${session.have_package_NPalert}"
acl="session_data_true(have_package_NPalert)" />
<widget type="literal" label="np-config"
default="${session.have_package_np_config}"
acl="session_data_true(have_package_np_config)" />
@@ -237,9 +240,10 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="rhn-modperl"
default="${session.have_package_rhn_modperl}"
acl="session_data_true(have_package_rhn_modperl)" />
<widget type="literal" label="rhn-modpython"
default="${session.have_package_rhn_modpython}"
acl="session_data_true(have_package_rhn_modpython)" />
<widget type="literal" label="rhn-modssl"
default="${session.have_package_rhn_modssl}"
acl="session_data_true(have_package_rhn_modssl)" />
- <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="rhns-auth-daemon"
default="${session.have_package_rhns_auth_daemon}"
acl="session_data_true(have_package_rhns_auth_daemon)" />
<widget type="literal" label="rhns-certs-tools"
default="${session.have_package_rhns_certs_tools}"
acl="session_data_true(have_package_rhns_certs_tools)" />
+ <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
<widget type="literal" label="rhns-proxy-broker"
default="${session.have_package_rhns_proxy_broker}"
acl="session_data_true(have_package_rhns_proxy_broker)" />
<widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
<widget type="literal"
label="rhns-proxy-management"
default="${session.have_package_rhns_proxy_management}"
acl="session_data_true(have_package_rhns_proxy_management)" />
@@ -258,34 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="SatConfig-generator"
default="${session.have_package_SatConfig_generator}"
acl="session_data_true(have_package_SatConfig_generator)" />
<widget type="literal" label="SatConfig-installer"
default="${session.have_package_SatConfig_installer}"
acl="session_data_true(have_package_SatConfig_installer)" />
<widget type="literal" label="SatConfig-spread"
default="${session.have_package_SatConfig_spread}"
acl="session_data_true(have_package_SatConfig_spread)" />
- <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="scdb_accessor_perl"
default="${session.have_package_scdb_accessor_perl}"
acl="session_data_true(have_package_scdb_accessor_perl)" />
+ <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="SNMPAlerts"
default="${session.have_package_SNMPAlerts}"
acl="session_data_true(have_package_SNMPAlerts)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-proxy-installer"
default="${session.have_package_spacewalk_installer}"
acl="session_data_true(have_package_spacewalk_proxy_installer)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
<widget type="literal" label="SputLite-client"
default="${session.have_package_SputLite_client}"
acl="session_data_true(have_package_SputLite_client)" />
<widget type="literal" label="SputLite-server"
default="${session.have_package_SputLite_server}"
acl="session_data_true(have_package_SputLite_server)" />
<widget type="literal" label="ssl_bridge"
default="${session.have_package_ssl_bridge}"
acl="session_data_true(have_package_ssl_bridge)" />
<widget type="literal" label="status_log_acceptor"
default="${session.have_package_status_log_acceptor}"
acl="session_data_true(have_package_status_log_acceptor)" />
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
- <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
- <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
- <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
- <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
- <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
- <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
- <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
- <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
- <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
- <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
- <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
- <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
- <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
- <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
- <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
- <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
- <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
- <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
- <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
+ <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
index c4dd76f..42a65fe 100644
--- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
@@ -31,14 +31,18 @@
<package>FcntlLock</package>
<package>httpd</package>
<package>httpd-suexec</package>
- <package>mod_python</package>
- <package>mod_ssl</package>
<package>jabberd</package>
+ <package>jabberd-selinux</package>
<package>libapreq2</package>
+ <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
<package>mod_perl</package>
+ <package>mod_python</package>
+ <package>mod_ssl</package>
+ <package>nocpulse-common</package>
+ <package>nocpulse-db-perl</package>
<package>NOCpulsePlugins</package>
<package>NPalert</package>
<package>np-config</package>
@@ -56,8 +60,8 @@
<package>perl-Crypt-DES</package>
<package>perl-Crypt-GeneratePassword</package>
<package>perl-Crypt-SSLeay</package>
- <package>perl-DateTime</package>
<package>perl-DateTime-Locale</package>
+ <package>perl-DateTime</package>
<package>perl-DateTime-TimeZone</package>
<package>perl-DBD-Oracle</package>
<package>perl-Devel-Symdump</package>
@@ -95,10 +99,10 @@
<package>rhn-modperl</package>
<package>rhn-modpython</package>
<package>rhn-modssl</package>
- <package>rhns</package>
+ <package>rhn-proxy-branding</package>
<package>rhns-auth-daemon</package>
<package>rhns-certs-tools</package>
- <package>rhns-proxy-common</package>
+ <package>rhns</package>
<package>rhns-proxy-broker</package>
<package>rhns-proxy-docs</package>
<package>rhns-proxy-management</package>
@@ -117,33 +121,29 @@
<package>SatConfig-generator</package>
<package>SatConfig-installer</package>
<package>SatConfig-spread</package>
- <package>scdb</package>
<package>scdb_accessor_perl</package>
+ <package>scdb</package>
<package>SNMPAlerts</package>
+ <package>spacewalk-backend</package>
+ <package>spacewalk-base-minimal</package>
+ <package>spacewalk-certs-tools</package>
+ <package>spacewalk-proxy-broker</package>
+ <package>spacewalk-proxy-common</package>
+ <package>spacewalk-proxy-docs</package>
+ <package>spacewalk-proxy-html</package>
+ <package>spacewalk-proxy-installer</package>
+ <package>spacewalk-proxy-management</package>
+ <package>spacewalk-proxy-monitoring</package>
+ <package>spacewalk-proxy-package-manager</package>
+ <package>spacewalk-proxy-redirect</package>
+ <package>spacewalk-ssl-cert-check</package>
<package>SputLite-client</package>
<package>SputLite-server</package>
<package>ssl_bridge</package>
<package>status_log_acceptor</package>
<package>Time-System</package>
- <package>tsdb</package>
<package>tsdb_accessor_perl</package>
- <package>spacewalk-proxy-html</package>
- <package>spacewalk-ssl-cert-check</package>
- <package>spacewalk-proxy-common</package>
- <package>spacewalk-proxy-installer</package>
- <package>spacewalk-proxy-docs</package>
- <package>spacewalk-proxy-monitoring</package>
- <package>spacewalk-backend</package>
- <package>spacewalk-proxy-package-manager</package>
- <package>spacewalk-certs-tools</package>
- <package>spacewalk-proxy-broker</package>
- <package>spacewalk-proxy-management</package>
- <package>spacewalk-base-minimal</package>
- <package>spacewalk-proxy-redirect</package>
- <package>nocpulse-common</package>
- <package>nocpulse-db-perl</package>
- <package>jabberd-selinux</package>
- <package>rhn-proxy-branding</package>
+ <package>tsdb</package>
<alias>proxy</alias>
</method-call>
</activity>
@@ -166,17 +166,24 @@ Would you like to enable Monitoring Proxy functionality on this
system?
</header>
<rhn-form name="Remove Conflicting Packages"
label="remove_packages">
- <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
+ <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
<widget type="literal"
label="ConfigPusher-general"
default="${session.have_package_ConfigPusher_general}"
acl="session_data_true(have_package_ConfigPusher_general)" />
<widget type="literal" label="eventReceivers"
default="${session.have_package_eventReceivers}"
acl="session_data_true(have_package_eventReceivers)" />
<widget type="literal" label="FcntlLock"
default="${session.have_package_FcntlLock}"
acl="session_data_true(have_package_FcntlLock)" />
+ <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
+ <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
<widget type="literal" label="mod_perl"
default="${session.have_package_mod_perl}"
acl="session_data_true(have_package_mod_perl)" />
+ <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
+ <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="NOCpulsePlugins"
default="${session.have_package_NOCpulsePlugins}"
acl="session_data_true(have_package_NOCpulsePlugins)" />
<widget type="literal" label="NPalert"
default="${session.have_package_NPalert}"
acl="session_data_true(have_package_NPalert)" />
<widget type="literal" label="np-config"
default="${session.have_package_np_config}"
acl="session_data_true(have_package_np_config)" />
@@ -233,12 +240,12 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="rhn-modperl"
default="${session.have_package_rhn_modperl}"
acl="session_data_true(have_package_rhn_modperl)" />
<widget type="literal" label="rhn-modpython"
default="${session.have_package_rhn_modpython}"
acl="session_data_true(have_package_rhn_modpython)" />
<widget type="literal" label="rhn-modssl"
default="${session.have_package_rhn_modssl}"
acl="session_data_true(have_package_rhn_modssl)" />
- <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="rhns-auth-daemon"
default="${session.have_package_rhns_auth_daemon}"
acl="session_data_true(have_package_rhns_auth_daemon)" />
<widget type="literal" label="rhns-certs-tools"
default="${session.have_package_rhns_certs_tools}"
acl="session_data_true(have_package_rhns_certs_tools)" />
+ <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
<widget type="literal" label="rhns-proxy-broker"
default="${session.have_package_rhns_proxy_broker}"
acl="session_data_true(have_package_rhns_proxy_broker)" />
- <widget type="literal" label="rhns-proxy-common"
default="${session.have_package_rhns_proxy_common}"
acl="session_data_true(have_package_rhns_proxy_common)" />
- <widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
+ <widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
<widget type="literal"
label="rhns-proxy-management"
default="${session.have_package_rhns_proxy_management}"
acl="session_data_true(have_package_rhns_proxy_management)" />
<widget type="literal"
label="rhns-proxy-monitoring"
default="${session.have_package_rhns_proxy_monitoring}"
acl="session_data_true(have_package_rhns_proxy_monitoring)" />
<widget type="literal"
label="rhns-proxy-package-manager"
default="${session.have_package_rhns_proxy_package_manager}"
acl="session_data_true(have_package_rhns_proxy_package_manager)" />
@@ -255,36 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="SatConfig-generator"
default="${session.have_package_SatConfig_generator}"
acl="session_data_true(have_package_SatConfig_generator)" />
<widget type="literal" label="SatConfig-installer"
default="${session.have_package_SatConfig_installer}"
acl="session_data_true(have_package_SatConfig_installer)" />
<widget type="literal" label="SatConfig-spread"
default="${session.have_package_SatConfig_spread}"
acl="session_data_true(have_package_SatConfig_spread)" />
- <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="scdb_accessor_perl"
default="${session.have_package_scdb_accessor_perl}"
acl="session_data_true(have_package_scdb_accessor_perl)" />
+ <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="SNMPAlerts"
default="${session.have_package_SNMPAlerts}"
acl="session_data_true(have_package_SNMPAlerts)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-proxy-installer"
default="${session.have_package_spacewalk_installer}"
acl="session_data_true(have_package_spacewalk_proxy_installer)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
<widget type="literal" label="SputLite-client"
default="${session.have_package_SputLite_client}"
acl="session_data_true(have_package_SputLite_client)" />
<widget type="literal" label="SputLite-server"
default="${session.have_package_SputLite_server}"
acl="session_data_true(have_package_SputLite_server)" />
<widget type="literal" label="ssl_bridge"
default="${session.have_package_ssl_bridge}"
acl="session_data_true(have_package_ssl_bridge)" />
<widget type="literal" label="status_log_acceptor"
default="${session.have_package_status_log_acceptor}"
acl="session_data_true(have_package_status_log_acceptor)" />
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
- <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
- <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
- <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
- <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
- <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
- <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
- <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
- <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
- <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
- <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
- <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
- <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
- <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
- <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
- <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
- <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
- <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
- <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
- <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
- <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
-
+ <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
index c7983a4..ccb254a 100644
--- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
@@ -31,14 +31,18 @@
<package>FcntlLock</package>
<package>httpd</package>
<package>httpd-suexec</package>
- <package>mod_python</package>
- <package>mod_ssl</package>
<package>jabberd</package>
+ <package>jabberd-selinux</package>
<package>libapreq2</package>
+ <package>libidn</package>
<package>LongLegs</package>
<package>MessageQueue</package>
<package>mm</package>
<package>mod_perl</package>
+ <package>mod_python</package>
+ <package>mod_ssl</package>
+ <package>nocpulse-common</package>
+ <package>nocpulse-db-perl</package>
<package>NOCpulsePlugins</package>
<package>NPalert</package>
<package>np-config</package>
@@ -56,8 +60,8 @@
<package>perl-Crypt-DES</package>
<package>perl-Crypt-GeneratePassword</package>
<package>perl-Crypt-SSLeay</package>
- <package>perl-DateTime</package>
<package>perl-DateTime-Locale</package>
+ <package>perl-DateTime</package>
<package>perl-DateTime-TimeZone</package>
<package>perl-DBD-Oracle</package>
<package>perl-Devel-Symdump</package>
@@ -95,10 +99,10 @@
<package>rhn-modperl</package>
<package>rhn-modpython</package>
<package>rhn-modssl</package>
- <package>rhns</package>
+ <package>rhn-proxy-branding</package>
<package>rhns-auth-daemon</package>
<package>rhns-certs-tools</package>
- <package>rhns-proxy-common</package>
+ <package>rhns</package>
<package>rhns-proxy-broker</package>
<package>rhns-proxy-docs</package>
<package>rhns-proxy-management</package>
@@ -117,33 +121,29 @@
<package>SatConfig-generator</package>
<package>SatConfig-installer</package>
<package>SatConfig-spread</package>
- <package>scdb</package>
<package>scdb_accessor_perl</package>
+ <package>scdb</package>
<package>SNMPAlerts</package>
+ <package>spacewalk-backend</package>
+ <package>spacewalk-base-minimal</package>
+ <package>spacewalk-certs-tools</package>
+ <package>spacewalk-proxy-broker</package>
+ <package>spacewalk-proxy-common</package>
+ <package>spacewalk-proxy-docs</package>
+ <package>spacewalk-proxy-html</package>
+ <package>spacewalk-proxy-installer</package>
+ <package>spacewalk-proxy-management</package>
+ <package>spacewalk-proxy-monitoring</package>
+ <package>spacewalk-proxy-package-manager</package>
+ <package>spacewalk-proxy-redirect</package>
+ <package>spacewalk-ssl-cert-check</package>
<package>SputLite-client</package>
<package>SputLite-server</package>
<package>ssl_bridge</package>
<package>status_log_acceptor</package>
<package>Time-System</package>
- <package>tsdb</package>
<package>tsdb_accessor_perl</package>
- <package>spacewalk-proxy-html</package>
- <package>spacewalk-ssl-cert-check</package>
- <package>spacewalk-proxy-common</package>
- <package>spacewalk-proxy-installer</package>
- <package>spacewalk-proxy-docs</package>
- <package>spacewalk-proxy-monitoring</package>
- <package>spacewalk-backend</package>
- <package>spacewalk-proxy-package-manager</package>
- <package>spacewalk-certs-tools</package>
- <package>spacewalk-proxy-broker</package>
- <package>spacewalk-proxy-management</package>
- <package>spacewalk-base-minimal</package>
- <package>spacewalk-proxy-redirect</package>
- <package>nocpulse-common</package>
- <package>nocpulse-db-perl</package>
- <package>jabberd-selinux</package>
- <package>rhn-proxy-branding</package>
+ <package>tsdb</package>
<alias>proxy</alias>
</method-call>
</activity>
@@ -166,17 +166,24 @@ Would you like to enable Monitoring Proxy functionality on this
system?
</header>
<rhn-form name="Remove Conflicting Packages"
label="remove_packages">
- <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
+ <widget type="literal" label="bdb_perl"
default="${session.have_package_bdb_perl}"
acl="session_data_true(have_package_bdb_perl)" />
<widget type="literal"
label="ConfigPusher-general"
default="${session.have_package_ConfigPusher_general}"
acl="session_data_true(have_package_ConfigPusher_general)" />
<widget type="literal" label="eventReceivers"
default="${session.have_package_eventReceivers}"
acl="session_data_true(have_package_eventReceivers)" />
<widget type="literal" label="FcntlLock"
default="${session.have_package_FcntlLock}"
acl="session_data_true(have_package_FcntlLock)" />
+ <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="httpd-suexec"
default="${session.have_package_httpd_suexec}"
acl="session_data_true(have_package_httpd_suexec)" />
<widget type="literal" label="jabberd"
default="${session.have_package_jabberd}"
acl="session_data_true(have_package_jabberd)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
<widget type="literal" label="libapreq2"
default="${session.have_package_libapreq2}"
acl="session_data_true(have_package_libapreq2)" />
+ <widget type="literal" label="libidn"
default="${session.have_package_libidn}"
acl="session_data_true(have_package_libidn)" />
<widget type="literal" label="LongLegs"
default="${session.have_package_LongLegs}"
acl="session_data_true(have_package_LongLegs)" />
<widget type="literal" label="MessageQueue"
default="${session.have_package_MessageQueue}"
acl="session_data_true(have_package_MessageQueue)" />
<widget type="literal" label="mm"
default="${session.have_package_mm}"
acl="session_data_true(have_package_mm)" />
<widget type="literal" label="mod_perl"
default="${session.have_package_mod_perl}"
acl="session_data_true(have_package_mod_perl)" />
+ <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
+ <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="NOCpulsePlugins"
default="${session.have_package_NOCpulsePlugins}"
acl="session_data_true(have_package_NOCpulsePlugins)" />
<widget type="literal" label="NPalert"
default="${session.have_package_NPalert}"
acl="session_data_true(have_package_NPalert)" />
<widget type="literal" label="np-config"
default="${session.have_package_np_config}"
acl="session_data_true(have_package_np_config)" />
@@ -233,12 +240,12 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="rhn-modperl"
default="${session.have_package_rhn_modperl}"
acl="session_data_true(have_package_rhn_modperl)" />
<widget type="literal" label="rhn-modpython"
default="${session.have_package_rhn_modpython}"
acl="session_data_true(have_package_rhn_modpython)" />
<widget type="literal" label="rhn-modssl"
default="${session.have_package_rhn_modssl}"
acl="session_data_true(have_package_rhn_modssl)" />
- <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="rhns-auth-daemon"
default="${session.have_package_rhns_auth_daemon}"
acl="session_data_true(have_package_rhns_auth_daemon)" />
<widget type="literal" label="rhns-certs-tools"
default="${session.have_package_rhns_certs_tools}"
acl="session_data_true(have_package_rhns_certs_tools)" />
+ <widget type="literal" label="rhns"
default="${session.have_package_rhns}"
acl="session_data_true(have_package_rhns)" />
<widget type="literal" label="rhns-proxy-broker"
default="${session.have_package_rhns_proxy_broker}"
acl="session_data_true(have_package_rhns_proxy_broker)" />
- <widget type="literal" label="rhns-proxy-common"
default="${session.have_package_rhns_proxy_common}"
acl="session_data_true(have_package_rhns_proxy_common)" />
- <widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
+ <widget type="literal" label="rhns-proxy-docs"
default="${session.have_package_rhns_proxy_docs}"
acl="session_data_true(have_package_rhns_proxy_docs)" />
<widget type="literal"
label="rhns-proxy-management"
default="${session.have_package_rhns_proxy_management}"
acl="session_data_true(have_package_rhns_proxy_management)" />
<widget type="literal"
label="rhns-proxy-monitoring"
default="${session.have_package_rhns_proxy_monitoring}"
acl="session_data_true(have_package_rhns_proxy_monitoring)" />
<widget type="literal"
label="rhns-proxy-package-manager"
default="${session.have_package_rhns_proxy_package_manager}"
acl="session_data_true(have_package_rhns_proxy_package_manager)" />
@@ -255,35 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="SatConfig-generator"
default="${session.have_package_SatConfig_generator}"
acl="session_data_true(have_package_SatConfig_generator)" />
<widget type="literal" label="SatConfig-installer"
default="${session.have_package_SatConfig_installer}"
acl="session_data_true(have_package_SatConfig_installer)" />
<widget type="literal" label="SatConfig-spread"
default="${session.have_package_SatConfig_spread}"
acl="session_data_true(have_package_SatConfig_spread)" />
- <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="scdb_accessor_perl"
default="${session.have_package_scdb_accessor_perl}"
acl="session_data_true(have_package_scdb_accessor_perl)" />
+ <widget type="literal" label="scdb"
default="${session.have_package_scdb}"
acl="session_data_true(have_package_scdb)" />
<widget type="literal" label="SNMPAlerts"
default="${session.have_package_SNMPAlerts}"
acl="session_data_true(have_package_SNMPAlerts)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-proxy-installer"
default="${session.have_package_spacewalk_installer}"
acl="session_data_true(have_package_spacewalk_proxy_installer)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
<widget type="literal" label="SputLite-client"
default="${session.have_package_SputLite_client}"
acl="session_data_true(have_package_SputLite_client)" />
<widget type="literal" label="SputLite-server"
default="${session.have_package_SputLite_server}"
acl="session_data_true(have_package_SputLite_server)" />
<widget type="literal" label="ssl_bridge"
default="${session.have_package_ssl_bridge}"
acl="session_data_true(have_package_ssl_bridge)" />
<widget type="literal" label="status_log_acceptor"
default="${session.have_package_status_log_acceptor}"
acl="session_data_true(have_package_status_log_acceptor)" />
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
- <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
- <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
- <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
- <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
- <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
- <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
- <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
- <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
- <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
- <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
- <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
- <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
- <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
- <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
- <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
- <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
- <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
- <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
- <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
- <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
</rhn-form>
</collect-data>
commit 7806888cec9a4100ee0e78cb93549056b8d2f6fd
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Mar 24 11:46:29 2009 +0100
491670 - add missing widget so packages are really removed
diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
index 532ac56..d076ed7 100644
--- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml
@@ -268,6 +268,22 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
<widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
index fcd83b3..fa73aa2 100644
--- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml
@@ -268,6 +268,22 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
<widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)"
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
index 0fe49f5..48024b0 100644
--- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
@@ -268,6 +268,24 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
<widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
+ <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
+ <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
</rhn-form>
</collect-data>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
index a4186e6..c4dd76f 100644
--- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
@@ -265,7 +265,22 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
<widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
-
+ <widget type="literal"
label="spacewalk-proxy-html"
default="${session.have_package_spacewalk_proxy_html}"
acl="session_data_true(have_package_spacewalk_proxy_html)" />
+ <widget type="literal"
label="spacewalk-ssl-cert-check"
default="${session.have_package_spacewalk_ssl_cert_check}"
acl="session_data_true(have_package_spacewalk_ssl_cert_check)" />
+ <widget type="literal"
label="spacewalk-proxy-common"
default="${session.have_package_spacewalk_proxy_common}"
acl="session_data_true(have_package_spacewalk_proxy_common)" />
+ <widget type="literal"
label="spacewalk-proxy-docs"
default="${session.have_package_spacewalk_proxy_docs}"
acl="session_data_true(have_package_spacewalk_proxy_docs)" />
+ <widget type="literal"
label="spacewalk-proxy-monitoring"
default="${session.have_package_spacewalk_proxy_monitoring}"
acl="session_data_true(have_package_spacewalk_proxy_monitoring)" />
+ <widget type="literal" label="spacewalk-backend"
default="${session.have_package_spacewalk_backend}"
acl="session_data_true(have_package_spacewalk_backend)" />
+ <widget type="literal"
label="spacewalk-proxy-package-manager"
default="${session.have_package_spacewalk_proxy_package_manager}"
acl="session_data_true(have_package_spacewalk_proxy_package_manager)" />
+ <widget type="literal"
label="spacewalk-certs-tools"
default="${session.have_package_spacewalk_certs_tools}"
acl="session_data_true(have_package_spacewalk_certs_tools)" />
+ <widget type="literal"
label="spacewalk-proxy-broker"
default="${session.have_package_spacewalk_proxy_broker}"
acl="session_data_true(have_package_spacewalk_proxy_broker)" />
+ <widget type="literal"
label="spacewalk-proxy-management"
default="${session.have_package_spacewalk_proxy_management}"
acl="session_data_true(have_package_spacewalk_proxy_management)" />
+ <widget type="literal"
label="spacewalk-base-minimal"
default="${session.have_package_spacewalk_base_minimal}"
acl="session_data_true(have_package_spacewalk_base_minimal)" />
+ <widget type="literal"
label="spacewalk-proxy-redirect"
default="${session.have_package_spacewalk_proxy_redirect}"
acl="session_data_true(have_package_spacewalk_proxy_redirect)" />
+ <widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
+ <widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
+ <widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
<widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
index db51230..c7983a4 100644
--- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
@@ -280,6 +280,7 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
<widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
+ <widget type="literal" label="rhn-proxy-branding"
default="${session.have_package_rhn_proxy_branding}"
acl="session_data_true(have_package_rhn_proxy_branding)" />
<widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
<widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
<widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
commit e8db4f087e18a32cefecbc301680ac87388c39d8
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Mon Mar 23 16:49:49 2009 +0100
491670 - add conflicting package from older proxy versions
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
index 9f977cb..0fe49f5 100644
--- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml
@@ -789,7 +789,7 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl mod_ssl httpd-suexec; do
+rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do
rpm -q $package >/dev/null && echo $package; done`
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
index 1f08010..a4186e6 100644
--- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml
@@ -29,7 +29,10 @@
<package>ConfigPusher-general</package>
<package>eventReceivers</package>
<package>FcntlLock</package>
+ <package>httpd</package>
<package>httpd-suexec</package>
+ <package>mod_python</package>
+ <package>mod_ssl</package>
<package>jabberd</package>
<package>libapreq2</package>
<package>LongLegs</package>
@@ -262,6 +265,11 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="Time-System"
default="${session.have_package_Time_System}"
acl="session_data_true(have_package_Time_System)" />
<widget type="literal" label="tsdb"
default="${session.have_package_tsdb}"
acl="session_data_true(have_package_tsdb)" />
<widget type="literal" label="tsdb_accessor_perl"
default="${session.have_package_tsdb_accessor_perl}"
acl="session_data_true(have_package_tsdb_accessor_perl)" />
+
+ <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
+ <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
+ <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
+
</rhn-form>
</collect-data>
@@ -789,7 +797,7 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot
SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch
SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb
scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge
status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl mod_ssl
httpd-suexec; do
+rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring
rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot
SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch
SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb
scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge
status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl
httpd-suexec; do
rpm -q $package >/dev/null && echo $package; done`
</script>
</run-script>
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
index f7023ee..db51230 100644
--- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
+++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml
@@ -29,7 +29,10 @@
<package>ConfigPusher-general</package>
<package>eventReceivers</package>
<package>FcntlLock</package>
+ <package>httpd</package>
<package>httpd-suexec</package>
+ <package>mod_python</package>
+ <package>mod_ssl</package>
<package>jabberd</package>
<package>libapreq2</package>
<package>LongLegs</package>
@@ -277,6 +280,9 @@ Would you like to enable Monitoring Proxy functionality on this
system?
<widget type="literal" label="nocpulse-common"
default="${session.have_package_nocpulse_common}"
acl="session_data_true(have_package_nocpulse_common)" />
<widget type="literal" label="nocpulse-db-perl"
default="${session.have_package_nocpulse_db_perl}"
acl="session_data_true(have_package_nocpulse_db_perl)" />
<widget type="literal" label="jabberd-selinux"
default="${session.have_package_jabberd_selinux}"
acl="session_data_true(have_package_jabberd_selinux)" />
+ <widget type="literal" label="httpd"
default="${session.have_package_httpd}"
acl="session_data_true(have_package_httpd)" />
+ <widget type="literal" label="mod_python"
default="${session.have_package_mod_python}"
acl="session_data_true(have_package_mod_python)" />
+ <widget type="literal" label="mod_ssl"
default="${session.have_package_mod_ssl}"
acl="session_data_true(have_package_mod_ssl)" />
</rhn-form>
</collect-data>
@@ -840,7 +846,7 @@ proxy will need to be reconfigured to use a different Satellite
server.
<action-name>Remove proxy packages</action-name>
<script>
#!/bin/sh
-rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl mod_ssl httpd-suexec spacewalk-proxy-html
spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer
spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend
spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker
spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common
nocpulse-db-perl jabberd-selinux; do
+rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd
libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs
oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB
perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles
perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime
perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error
perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy
perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP
perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug
perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB
perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool
perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate
perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal
rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker
rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager
rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap
SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general
SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl
SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb
tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html
spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer
spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend
spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker
spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common
nocpulse-db-perl jabberd-selinux; do
rpm -q $package >/dev/null && echo $package; done`
</script>
</run-script>
commit 102e84ce436e686f28ad7d5cf591e24961600b48
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Wed Mar 25 09:28:23 2009 -0500
Oops, I messed up in git and accidentally reverted this change. Fixing.
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
index 52e1c34..21f4d61 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
@@ -137,8 +137,8 @@ public class NewChannelHelper {
// then attempt to clone a channel (e.g. using API). In that case,
// it is possible the family doesn't yet exist when this method is
called.
OrgManager.createChannelFamily(user.getOrg());
+ family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
}
- family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
family.getChannels().add(cloned);
cloned.setChannelFamily(family);
commit a62a2fbd1fa403e667dd6c8b99427aaaae86a6c3
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Wed Mar 25 09:25:58 2009 -0500
Updated docs
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
index d1747f4..4e5b788 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
@@ -29,13 +29,18 @@ import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.errata.ErrataManager;
/**
- * AddressesAction Setup the Addresses on the Request so
- * the AddressTag will be able to render
+ * Base action for all pages that display an errata list. Subclasses simply implement
+ * the {@link #getErrataFilter()} method to indicate what data to return.
*
* @version $Rev$
*/
public abstract class ErrataListBaseAction extends RhnAction implements Listable {
+ /**
+ * Indicates the specific erratum returned by a particular subclass.
+ *
+ * @return cannot be <code>null</code>
+ */
protected abstract ErrataFilter getErrataFilter();
/** {@inheritDoc} */
commit 7e28399747af69ae15ba6cdd3f0fc04790e12d0b
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Wed Mar 25 09:22:36 2009 -0500
467063 - Ported all errata page to use new list tag
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
index 21f4d61..52e1c34 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
@@ -137,8 +137,8 @@ public class NewChannelHelper {
// then attempt to clone a channel (e.g. using API). In that case,
// it is possible the family doesn't yet exist when this method is
called.
OrgManager.createChannelFamily(user.getOrg());
- family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
}
+ family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
family.getChannels().add(cloned);
cloned.setChannelFamily(family);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java
deleted file mode 100644
index bb4dc0f..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.frontend.action.BaseFilterAction;
-
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * AddressesAction Setup the Addresses on the Request so
- * the AddressTag will be able to render
- * @version $Rev$
- */
-public class ErrataListAction extends BaseFilterAction {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
- HttpServletRequest request,
- HttpServletResponse response) {
- Map params = makeParamMap(request);
- processFilterParameters(params, request);
- return
getStrutsDelegate().forwardParams(mapping.findForward("default"), params);
- }
-}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java
new file mode 100644
index 0000000..4741bfc
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2009 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.action.errata;
+
+/**
+ * @version $Revision$
+ */
+public class ErrataListAllAction extends ErrataListBaseAction {
+
+ protected ErrataFilter getErrataFilter() {
+ return ErrataFilter.ALL;
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
new file mode 100644
index 0000000..d1747f4
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) 2009 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.action.errata;
+
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.errata.ErrataManager;
+
+/**
+ * AddressesAction Setup the Addresses on the Request so
+ * the AddressTag will be able to render
+ *
+ * @version $Rev$
+ */
+public abstract class ErrataListBaseAction extends RhnAction implements Listable {
+
+ protected abstract ErrataFilter getErrataFilter();
+
+ /** {@inheritDoc} */
+ public ActionForward execute(ActionMapping actionMapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
+
+ ListHelper helper = new ListHelper(this, request);
+ helper.execute();
+
+ return actionMapping.findForward("default");
+ }
+
+ /** {@inheritDoc} */
+ public List getResult(RequestContext context) {
+
+ User user = context.getLoggedInUser();
+ DataResult result;
+
+ switch (getErrataFilter()) {
+ case ALL:
+ result = ErrataManager.allErrata(user);
+ break;
+
+ case RELEVANT:
+ result = ErrataManager.relevantErrata(user);
+ break;
+
+ default:
+ throw new IllegalStateException("Subclass did not return a valid
errata " +
+ "filter");
+ }
+
+ return result;
+ }
+
+ /**
+ * Used by subclasses to dictate the data that is displayed.
+ */
+ protected enum ErrataFilter {
+ ALL, RELEVANT
+ }
+}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
index 5aaaa70..7fd756c 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
@@ -14,45 +14,15 @@
*/
package com.redhat.rhn.frontend.action.errata;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnAction;
-import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
-import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
-import com.redhat.rhn.manager.errata.ErrataManager;
-
/**
* Loads the data for the relevant errata. This action is written to comply with the
* "new" list tag.
*
* @version $Revision$
*/
-public class ErrataListRelevantAction extends RhnAction implements Listable {
-
- /** {@inheritDoc} */
- public ActionForward execute(ActionMapping actionMapping,
- ActionForm actionForm,
- HttpServletRequest request,
- HttpServletResponse response)
- throws Exception {
-
- ListHelper helper = new ListHelper(this, request);
- helper.execute();
-
- return actionMapping.findForward("default");
- }
+public class ErrataListRelevantAction extends ErrataListBaseAction {
- /** {@inheritDoc} */
- public List getResult(RequestContext context) {
- User user = context.getLoggedInUser();
- DataResult result = ErrataManager.relevantErrata(user);
- return result;
+ protected ErrataFilter getErrataFilter() {
+ return ErrataFilter.RELEVANT;
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java
deleted file mode 100644
index f6bb82f..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.manager.errata.ErrataManager;
-
-/**
- * ErrataListSetupAction
- * @version $Rev$
- */
-public class ErrataListSetupAction extends BaseErrataListSetupAction {
-
- /**
- * {@inheritDoc}
- */
- protected DataResult getDataResult(User user, PageControl pc) {
- pc.setFilter(true);
- pc.setFilterColumn("advisorySynopsis");
- return ErrataManager.allErrata(user, pc);
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java
deleted file mode 100644
index 1f213e6..0000000
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import com.redhat.rhn.frontend.action.errata.ErrataListAction;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
-
-import org.apache.struts.action.ActionForward;
-
-/**
- * ErrataListRelevantActionTest
- * @version $Rev$
- */
-public class ErrataListActionTest extends RhnBaseTestCase {
-
- public ErrataListActionTest(String name) {
- super(name);
- }
-
- public void testExecute() throws Exception {
- ErrataListAction action = new ErrataListAction();
- ActionHelper ah = new ActionHelper();
-
- ah.setUpAction(action);
- ah.setupProcessPagination();
- ah.getRequest().setupAddParameter(RequestContext.FILTER_STRING,
"zzzz");
- ah.getRequest().setupAddParameter(RequestContext.PREVIOUS_FILTER_STRING,
"zzzz");
- ActionForward forward = ah.executeAction();
-
- assertTrue(forward.getPath().indexOf("zzzz") >= 0);
- }
-
-}
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 04c0c37..eb08882 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -246,18 +246,18 @@ public class ErrataManager extends BaseManager {
/**
* Returns all of the errata.
* @param user Currently logged in user.
- * @param pc PageControl
* @return all of the errata.
*/
- public static DataResult allErrata(User user, PageControl pc) {
+ public static DataResult allErrata(User user) {
SelectMode m = ModeFactory.getMode("Errata_queries",
"all_errata");
Map params = new HashMap();
params.put("org_id", user.getOrg().getId());
Map elabParams = new HashMap();
elabParams.put("user_id", user.getId());
- return makeDataResult(params, elabParams, pc, m);
+ DataResult result = makeDataResult(params, elabParams, null, m);
+ return result;
}
-
+
/**
* Returns all of the errata in a channel
* @param cid the channel id
diff --git a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
index ab68312..cf58c53 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
@@ -170,10 +170,7 @@ public class ErrataManagerTest extends RhnBaseTestCase {
public void testAllErrataList() {
User user = UserTestUtils.findNewUser("testUser",
"testOrg");
- PageControl pc = new PageControl();
- pc.setStart(1);
- pc.setPageSize(20);
- DataResult errata = ErrataManager.allErrata(user, pc);
+ DataResult errata = ErrataManager.allErrata(user);
assertNotNull(errata);
assertTrue(errata.size() <= 20);
}
diff --git a/java/code/webapp/WEB-INF/pages/errata/all.jsp
b/java/code/webapp/WEB-INF/pages/errata/all.jsp
index adf3fde..91cd452 100644
--- a/java/code/webapp/WEB-INF/pages/errata/all.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/all.jsp
@@ -1,4 +1,5 @@
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
@@ -9,6 +10,7 @@
<meta name="page-decorator" content="none" />
</head>
<body>
+
<html:messages id="message" message="true">
<rhn:messages><c:out escapeXml="false"
value="${message}" /></rhn:messages>
</html:messages>
@@ -18,44 +20,7 @@
<bean:message key="erratalist.jsp.allerrata"/>
</rhn:toolbar>
-<form method="POST" name="rhn_list"
action="/rhn/errata/AllErrataSubmit.do">
-<rhn:list pageList="${requestScope.pageList}"
noDataText="erratalist.jsp.noerrata"
- legend="errata">
- <rhn:listdisplay filterBy="erratalist.jsp.synopsis">
- <rhn:column header="erratalist.jsp.type" style="text-align:
center;">
- <c:if test="${current.securityAdvisory}">
- <img src="/img/wrh-security.gif"
- alt="<bean:message key='erratalist.jsp.securityadvisory'
/>"
- title="<bean:message
key='erratalist.jsp.securityadvisory' />" />
- </c:if>
- <c:if test="${current.bugFix}">
- <img src="/img/wrh-bug.gif"
- alt="<bean:message key='erratalist.jsp.bugadvisory'
/>"
- title="<bean:message key='erratalist.jsp.bugadvisory'
/>" />
- </c:if>
- <c:if test="${current.productEnhancement}">
- <img src="/img/wrh-product.gif"
- alt="<bean:message
key='erratalist.jsp.productenhancementadvisory' />"
- title="<bean:message
key='erratalist.jsp.productenhancementadvisory' />" />
- </c:if>
- </rhn:column>
- <rhn:column header="erratalist.jsp.advisory"
- url="/rhn/errata/details/Details.do?eid=${current.id}">
- ${current.advisoryName}
- </rhn:column>
- <rhn:column header="erratalist.jsp.synopsis">
- ${current.advisorySynopsis}
- </rhn:column>
- <rhn:column header="erratalist.jsp.systems" style="text-align:
center;"
- url="/rhn/errata/details/SystemsAffected.do?eid=${current.id}"
- renderUrl="${current.affectedSystemCount > 0}">
- ${current.affectedSystemCount}
- </rhn:column>
- <rhn:column header="erratalist.jsp.updated" style="text-align:
center;">
- ${current.updateDate}
- </rhn:column>
- </rhn:listdisplay>
-</rhn:list>
-</form>
+<%@ include
file="/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf" %>
+
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index a458c58..d335ea5 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1730,19 +1730,11 @@
<action path="/errata/AllErrata"
scope="request"
input="/WEB-INF/pages/errata/all.jsp"
- type="com.redhat.rhn.frontend.action.errata.ErrataListSetupAction">
+ type="com.redhat.rhn.frontend.action.errata.ErrataListAllAction">
<forward name="default"
path="/WEB-INF/pages/errata/all.jsp" />
</action>
- <action path="/errata/AllErrataSubmit"
- scope="request"
- input="/WEB-INF/pages/errata/all.jsp"
- type="com.redhat.rhn.frontend.action.errata.ErrataListAction">
- <forward name="default"
- path="/errata/AllErrata.do" redirect="true"/>
- </action>
-
<action path="/errata/Overview"
scope="request"
input="/WEB-INF/pages/errata/overview.jsp"
commit 4c9aed9b69c21ad7922507ab0a59ae3fe1d0f1a1
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 12:22:30 2009 +0100
Automatic commit of package [spacewalk-web] release [0.5.20-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index e84712b..25b0a41 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-0.5.19-1 web/
+0.5.20-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index cdde26a..ab55e76 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.19
+Version: 0.5.20
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -318,6 +318,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Wed Mar 25 2009 Jan Pazdziora 0.5.20-1
+- 491687 - call wrapper around sudo invocations, to change SELinux domain
+
* Fri Mar 20 2009 Mike McCune <mmccune(a)gmail.com> 0.5.19-1
- space05 - bumping release footer/config for 0.5 release
commit 924938ee47bd8ab28490f1193c4f5857338763cd
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 12:21:34 2009 +0100
Automatic commit of package [spacewalk-selinux] release [0.5.3-1].
diff --git a/rel-eng/packages/spacewalk-selinux b/rel-eng/packages/spacewalk-selinux
index 9f55c47..097ccdb 100644
--- a/rel-eng/packages/spacewalk-selinux
+++ b/rel-eng/packages/spacewalk-selinux
@@ -1 +1 @@
-0.5.2-1 selinux/spacewalk-selinux/
+0.5.3-1 selinux/spacewalk-selinux/
diff --git a/selinux/spacewalk-selinux/spacewalk-selinux.spec
b/selinux/spacewalk-selinux/spacewalk-selinux.spec
index d9d7abb..c026ed6 100644
--- a/selinux/spacewalk-selinux/spacewalk-selinux.spec
+++ b/selinux/spacewalk-selinux/spacewalk-selinux.spec
@@ -7,7 +7,7 @@
%define modulename spacewalk
Name: spacewalk-selinux
-Version: 0.5.2
+Version: 0.5.3
Release: 1%{?dist}
Summary: SELinux policy module supporting Spacewalk Server
@@ -119,6 +119,9 @@ fi
%{_datadir}/selinux/devel/include/%{moduletype}/%{modulename}.if
%changelog
+* Wed Mar 25 2009 Jan Pazdziora 0.5.3-1
+- 491687 - label the sudo wrappers with httpd_unconfined_script_exec_t
+
* Mon Feb 9 2009 Jan Pazdziora 0.5.2-1
- spacewalk-selinux: allow satidmap.pl to do network connections
commit 862a0c6d731cce1e9e42ee58c06f1c21635c2717
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 12:20:07 2009 +0100
Automatic commit of package [spacewalk-admin] release [0.5.13-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin
index a3950cd..d532de3 100644
--- a/rel-eng/packages/spacewalk-admin
+++ b/rel-eng/packages/spacewalk-admin
@@ -1 +1 @@
-0.5.12-1 spacewalk/admin/
+0.5.13-1 spacewalk/admin/
diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec
index 13a7866..cf42406 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: 0.5.12
+Version: 0.5.13
Release: 1%{?dist}
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
License: GPLv2
@@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/validate-sat-cert.3.gz
%changelog
+* Wed Mar 25 2009 Jan Pazdziora 0.5.13-1
+- 491687 - wrapper around sudo rhn-load-ssl-cert.pl, to change SELinux domain
+
* Fri Mar 13 2009 Jan Pazdziora 0.5.12-1
- 486738 - change to root's home directory before running sqlplus
commit 1982f293a495f0a3866c39990ffa41d3f8e761cb
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 12:18:21 2009 +0100
Automatic commit of package [spacewalk-certs-tools] release [0.5.4-1].
diff --git a/rel-eng/packages/spacewalk-certs-tools
b/rel-eng/packages/spacewalk-certs-tools
index 37ae6ca..b0df5d4 100644
--- a/rel-eng/packages/spacewalk-certs-tools
+++ b/rel-eng/packages/spacewalk-certs-tools
@@ -1 +1 @@
-0.5.3-1 spacewalk/certs-tools/
+0.5.4-1 spacewalk/certs-tools/
diff --git a/spacewalk/certs-tools/spacewalk-certs-tools.spec
b/spacewalk/certs-tools/spacewalk-certs-tools.spec
index d38880d..e0f6a29 100644
--- a/spacewalk/certs-tools/spacewalk-certs-tools.spec
+++ b/spacewalk/certs-tools/spacewalk-certs-tools.spec
@@ -2,7 +2,7 @@ Name: spacewalk-certs-tools
Summary: Spacewalk SSL Key/Cert Tool
Group: Applications/Internet
License: GPLv2
-Version: 0.5.3
+Version: 0.5.4
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -50,6 +50,9 @@ rm -rf $RPM_BUILD_ROOT
%{_var}/www/html/pub/bootstrap/client_config_update.py*
%changelog
+* Wed Mar 25 2009 Jan Pazdziora 0.5.4-1
+- 491687 - wrapper around sudo /usr/bin/rhn-ssl-tool, to change SELinux domain
+
* Fri Mar 13 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.3-1
- put Provides to satisfy older Proxies
commit 69062132d20311a94893e7f5fef43e7a7166d274
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 10:29:30 2009 +0100
491687 - label the /usr/bin/rhn-sudo-load-ssl-cert wrapper with
httpd_unconfined_script_exec_t.
diff --git a/selinux/spacewalk-selinux/spacewalk-selinux.spec
b/selinux/spacewalk-selinux/spacewalk-selinux.spec
index 0eb0c7b..d9d7abb 100644
--- a/selinux/spacewalk-selinux/spacewalk-selinux.spec
+++ b/selinux/spacewalk-selinux/spacewalk-selinux.spec
@@ -92,7 +92,8 @@ for selinuxvariant in %{selinux_variants}
/usr/sbin/semanage port -a -t cobbler_port_t -p tcp 25152 || :
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn
%{_bindir}/rhn-sudo-ssl-tool
+/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn \
+ %{_bindir}/rhn-sudo-ssl-tool %{_bindir}/rhn-sudo-load-ssl-cert
/usr/sbin/setsebool -P httpd_enable_cgi 1
/usr/sbin/setsebool -P httpd_can_network_connect 1
@@ -108,7 +109,8 @@ if [ $1 -eq 0 ]; then
/usr/sbin/semanage port -d -t cobbler_port_t -p tcp 25152 || :
fi
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn
%{_bindir}/rhn-sudo-ssl-tool
+/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn \
+ %{_bindir}/rhn-sudo-ssl-tool %{_bindir}/rhn-sudo-load-ssl-cert
%files
%defattr(-,root,root,0755)
diff --git a/selinux/spacewalk-selinux/spacewalk.fc
b/selinux/spacewalk-selinux/spacewalk.fc
index 785fbaa..a087e2f 100644
--- a/selinux/spacewalk-selinux/spacewalk.fc
+++ b/selinux/spacewalk-selinux/spacewalk.fc
@@ -15,3 +15,4 @@
/var/cache/rhn/satsync(/.*)? gen_context(system_u:object_r:var_t,s0)
/usr/bin/rhn-sudo-ssl-tool
gen_context(system_u:object_r:httpd_unconfined_script_exec_t,s0)
+/usr/bin/rhn-sudo-load-ssl-cert
gen_context(system_u:object_r:httpd_unconfined_script_exec_t,s0)
commit daf056a14b59f58a73f54b03e6d4a7954b8854ca
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 10:23:38 2009 +0100
491687 - call wrapper around sudo /usr/bin/rhn-load-ssl-cert.pl, to be able to change
SELinux domain.
diff --git a/web/modules/rhn/RHN/ProxyInstall.pm b/web/modules/rhn/RHN/ProxyInstall.pm
index d06a514..4079add 100644
--- a/web/modules/rhn/RHN/ProxyInstall.pm
+++ b/web/modules/rhn/RHN/ProxyInstall.pm
@@ -117,7 +117,7 @@ sub generate_ssl_cert {
PXT::Utils->untaint(\$opt);
}
- my $command = '/usr/bin/sudo /usr/bin/rhn-load-ssl-cert.pl ' . join('
', @opts);
+ my $command = '/usr/bin/rhn-sudo-load-ssl-cert ' . join(' ', @opts);
my ($ca_chain, $ca_rpm) = `$command`;
commit ba393642f4dd97cf31341179c78c3f7c979d5991
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Wed Mar 25 10:23:08 2009 +0100
491687 - need wrapper around sudo, to change SELinux domain before calling sudo.
diff --git a/spacewalk/admin/Makefile.admin b/spacewalk/admin/Makefile.admin
index b02915d..ff02224 100644
--- a/spacewalk/admin/Makefile.admin
+++ b/spacewalk/admin/Makefile.admin
@@ -37,6 +37,7 @@ PERL_SCRIPTS = rhn-config-satellite.pl \
rhn-populate-database.pl \
rhn-generate-pem.pl \
rhn-load-ssl-cert.pl \
+ rhn-sudo-load-ssl-cert \
validate-sat-cert.pl
SBIN_SCRIPTS = rhn-sat-restart-silent rhn-satellite
diff --git a/spacewalk/admin/rhn-sudo-load-ssl-cert
b/spacewalk/admin/rhn-sudo-load-ssl-cert
new file mode 100755
index 0000000..5d6f292
--- /dev/null
+++ b/spacewalk/admin/rhn-sudo-load-ssl-cert
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+/usr/bin/sudo /usr/bin/rhn-load-ssl-cert.pl "$@"
+
diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec
index c52beaf..13a7866 100644
--- a/spacewalk/admin/spacewalk-admin.spec
+++ b/spacewalk/admin/spacewalk-admin.spec
@@ -49,6 +49,7 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/rhn-config-tnsnames.pl
%{_bindir}/rhn-populate-database.pl
%{_bindir}/rhn-generate-pem.pl
+%{_bindir}/rhn-sudo-load-ssl-cert
%{_bindir}/rhn-load-ssl-cert.pl
%{_bindir}/rhn-deploy-ca-cert.pl
%{_bindir}/rhn-install-ssl-cert.pl
commit fbecb755d385feac8bfe934d9790b5f10978e2b9
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 24 16:56:00 2009 +0100
491687 - label the /usr/bin/rhn-sudo-ssl-tool wrapper with
httpd_unconfined_script_exec_t.
diff --git a/selinux/spacewalk-selinux/spacewalk-selinux.spec
b/selinux/spacewalk-selinux/spacewalk-selinux.spec
index df4ff6c..0eb0c7b 100644
--- a/selinux/spacewalk-selinux/spacewalk-selinux.spec
+++ b/selinux/spacewalk-selinux/spacewalk-selinux.spec
@@ -34,6 +34,7 @@ Requires: spacewalk-config
Requires: spacewalk-admin
Requires: spacewalk-backend
Requires: spacewalk-backend-server
+Requires: spacewalk-certs-tools
Requires: oracle-instantclient-selinux
%description
@@ -91,7 +92,7 @@ for selinuxvariant in %{selinux_variants}
/usr/sbin/semanage port -a -t cobbler_port_t -p tcp 25152 || :
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn
+/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn
%{_bindir}/rhn-sudo-ssl-tool
/usr/sbin/setsebool -P httpd_enable_cgi 1
/usr/sbin/setsebool -P httpd_can_network_connect 1
@@ -107,7 +108,7 @@ if [ $1 -eq 0 ]; then
/usr/sbin/semanage port -d -t cobbler_port_t -p tcp 25152 || :
fi
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn
+/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl
%{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn
%{_bindir}/rhn-sudo-ssl-tool
%files
%defattr(-,root,root,0755)
diff --git a/selinux/spacewalk-selinux/spacewalk.fc
b/selinux/spacewalk-selinux/spacewalk.fc
index 81c3730..785fbaa 100644
--- a/selinux/spacewalk-selinux/spacewalk.fc
+++ b/selinux/spacewalk-selinux/spacewalk.fc
@@ -13,3 +13,5 @@
/var/cache/rhn(/.*)? gen_context(system_u:object_r:spacewalk_cache_t,s0)
/var/cache/rhn/satsync(/.*)? gen_context(system_u:object_r:var_t,s0)
+
+/usr/bin/rhn-sudo-ssl-tool
gen_context(system_u:object_r:httpd_unconfined_script_exec_t,s0)
commit de07027905e47a83b25a8c9f2667452ccbbd56c2
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 24 16:52:22 2009 +0100
491687 - call wrapper around sudo /usr/bin/rhn-ssl-tool, to be able to change SELinux
domain.
diff --git a/web/modules/rhn/RHN/SatInstall.pm b/web/modules/rhn/RHN/SatInstall.pm
index 776334b..d2885fe 100644
--- a/web/modules/rhn/RHN/SatInstall.pm
+++ b/web/modules/rhn/RHN/SatInstall.pm
@@ -241,7 +241,7 @@ sub generate_ca_cert {
push @opts, qq(--$name=$params{$name});
}
- my @command = ('/usr/bin/sudo', '/usr/bin/rhn-ssl-tool', @opts);
+ my @command = ('/usr/bin/rhn-sudo-ssl-tool', @opts);
my $ret = system(@command);
@@ -278,7 +278,7 @@ sub generate_server_cert {
push @opts, qq(--$name=$params{$name});
}
- my @command = ('/usr/bin/sudo', '/usr/bin/rhn-ssl-tool', @opts,
'-q');
+ my @command = ('/usr/bin/rhn-sudo-ssl-tool', @opts, '-q');
my $ret = system(@command);
commit 507b3d7245508195c207a18414d8e0c644cf9989
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 24 16:37:38 2009 +0100
491687 - need wrapper around sudo, to change SELinux domain before calling sudo.
diff --git a/spacewalk/certs-tools/Makefile.certs b/spacewalk/certs-tools/Makefile.certs
index 2d0c5c9..59299d2 100644
--- a/spacewalk/certs-tools/Makefile.certs
+++ b/spacewalk/certs-tools/Makefile.certs
@@ -38,7 +38,7 @@ EXTRA_DIRS = $(MANDIR)/man$(MANSECT) $(BINDIR) $(PUB_BOOTSTRAP_DIR)
# now include some Macros
include Makefile.defs
-BINFILES = rhn-ssl-tool rhn-bootstrap
+BINFILES = rhn-sudo-ssl-tool rhn-ssl-tool rhn-bootstrap
install :: $(addsuffix .inst,$(BINFILES)) $(MANS) $(PREFIX)/$(MANDIR)
$(INSTALL_DATA) $(MANS) $(PREFIX)$(MANDIR)/man$(MANSECT)
diff --git a/spacewalk/certs-tools/rhn-sudo-ssl-tool
b/spacewalk/certs-tools/rhn-sudo-ssl-tool
new file mode 100755
index 0000000..abd3640
--- /dev/null
+++ b/spacewalk/certs-tools/rhn-sudo-ssl-tool
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+/usr/bin/sudo /usr/bin/rhn-ssl-tool "$@"
+
diff --git a/spacewalk/certs-tools/spacewalk-certs-tools.spec
b/spacewalk/certs-tools/spacewalk-certs-tools.spec
index 878be33..d38880d 100644
--- a/spacewalk/certs-tools/spacewalk-certs-tools.spec
+++ b/spacewalk/certs-tools/spacewalk-certs-tools.spec
@@ -43,6 +43,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{rhnroot}/certs/*.py*
%attr(755,root,root) %{rhnroot}/certs/sign.sh
%attr(755,root,root) %{rhnroot}/certs/gen-rpm.sh
+%attr(755,root,root) %{_bindir}/rhn-sudo-ssl-tool
%attr(755,root,root) %{_bindir}/rhn-ssl-tool
%attr(755,root,root) %{_bindir}/rhn-bootstrap
%doc %{_mandir}/man1/rhn-*.1*
commit 507657f5d8b7095e440bd5bbeec45924b56bdbda
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Mar 24 19:28:31 2009 -0400
489395 - Had to reorder the statements in executeWriteMode to get hibernate to
correctly interact with writemode queries....
Signed-off-by: Partha Aji <paji(a)redhat.com>
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
index da2eeea..53eae72 100644
--- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
+++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java
@@ -1278,9 +1278,6 @@ public class SystemManager extends BaseManager {
Map params = new HashMap();
params.put("server_id", sid);
- // freakin hibernate can't do a simple bulk delete statement unless
- // it uses HQL!
- ServerFactory.deproxify(server);
executeWriteMode("Monitoring_queries",
"delete_probe_states_from_server", params);
executeWriteMode("Monitoring_queries",
@@ -1289,6 +1286,11 @@ public class SystemManager extends BaseManager {
"delete_probes_from_server", params);
executeWriteMode("Monitoring_queries",
"delete_sat_cluster_for_server", params);
+
+ // freakin hibernate can't do a simple bulk delete statement unless
+ // it uses HQL!
+ server = (Server) HibernateFactory.reload(server);
+ ServerFactory.deproxify(server);
}
private static int executeWriteMode(String catalog, String mode, Map params) {
commit 0440a3a6962251aae09121fc64053e5e84e8ea61
Author: Mike McCune <mmccune(a)gmail.com>
Date: Tue Mar 24 16:35:27 2009 -0700
250134 - fixing length checking in validator.
491186 - fixing unit test to reflect code changes
diff --git a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
index 56c2719..4ee4cdc 100644
--- a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
+++ b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
@@ -56,7 +56,7 @@ public class StringConstraint extends RequiredIfConstraint {
private boolean lengthLessThan(String str, Number length) {
try {
- return str.getBytes("UTF8").length < length.intValue();
+ return str.getBytes("UTF8").length <= length.intValue();
}
catch (UnsupportedEncodingException use) {
log.warn("Couldn;t convert to UTF8-> [" + str + "]");
@@ -89,7 +89,8 @@ public class StringConstraint extends RequiredIfConstraint {
if (hasMaxLength()) {
log.debug("HasMaxlength ..");
if (!(lengthLessThan(strValue, getMaxLength()))) {
- log.debug("Above max length: " + strValue.length() + "
data: " + strValue);
+ log.debug("Above max length: " + strValue.length() + "
data: " + strValue +
+ "max length: " + getMaxLength());
Object[] args = new Object[2];
args[0] = localizedIdentifier;
args[1] = getMaxLength();
diff --git a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java
b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java
index 9f823bb..f325edb 100644
--- a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java
+++ b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java
@@ -34,6 +34,23 @@ public class TestObject {
private String asciiString;
private String usernameString;
private String posixString;
+ private String twoCharField;
+
+
+ /**
+ * @return the twoCharField
+ */
+ public String getTwoCharField() {
+ return twoCharField;
+ }
+
+
+ /**
+ * @param twoCharFieldIn the twoCharField to set
+ */
+ public void setTwoCharField(String twoCharFieldIn) {
+ this.twoCharField = twoCharFieldIn;
+ }
public String getSecondStringField() {
return secondStringField;
diff --git a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd
b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd
index 1e3649f..6212d28 100644
--- a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd
+++ b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd
@@ -15,6 +15,13 @@
</simpleType>
</attribute>
+ <attribute name="twoCharField">
+ <simpleType baseType="string">
+ <maxLength value="2"/>
+ <isRequired value="false"/>
+ </simpleType>
+ </attribute>
+
<attribute name="dateField">
<simpleType baseType="date"/>
</attribute>
@@ -75,5 +82,7 @@
<posix/>
</simpleType>
</attribute>
+
+
</schema>
diff --git a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java
b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java
index fa80d62..043eeec 100644
--- a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java
+++ b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java
@@ -79,6 +79,8 @@ public class ValidatorTest extends TestCase {
assertNotNull(validator.isValid("stringField", to));
to.setStringField(" ");
assertNotNull(validator.isValid("stringField", to));
+ to.setTwoCharField("it");
+ assertNull(validator.isValid("twoCharField", to));
}
public void testASCIIString() throws Exception {
diff --git
a/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java
b/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java
index 2b96286..05f110c 100644
---
a/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java
@@ -108,8 +108,7 @@ public class PxtAuthenticationServiceTest extends
AuthenticationServiceTest {
isA(HttpServletRequest.class)).will(returnValue(false));
mockRequest.stubs().method("getRequestURI").will(returnValue("/rhn/Login"));
-
- runValidateSucceedsTest();
+ assertTrue(service.validate(getRequest(), getResponse()));
}
public final void testValidateSucceeds() {
commit fc7cc04acf54e490de3242807e934b34db9aa504
Author: Mike McCune <mmccune(a)gmail.com>
Date: Tue Mar 24 09:10:02 2009 -0700
474774 - updating deps for jfree
diff --git a/java/ivy.xml b/java/ivy.xml
index 7d8c9fc..f0d764d 100644
--- a/java/ivy.xml
+++ b/java/ivy.xml
@@ -34,9 +34,9 @@
<dependency org="redhat" name="jaf" rev="1.0.2"
/>
<dependency org="redhat" name="jasper5-compiler"
rev="5.0.19" />
<dependency org="redhat" name="jasper5-runtime"
rev="5.0.19" />
- <dependency org="redhat" name="jcommon"
rev="0.9.7" />
+ <dependency org="redhat" name="jcommon"
rev="1.0.12" />
<dependency org="redhat" name="jdom" rev="1.0"
/>
- <dependency org="redhat" name="jfreechart"
rev="0.9.21" />
+ <dependency org="redhat" name="jfreechart"
rev="1.0.9" />
<dependency org="redhat" name="jmock"
rev="1.2.0" />
<dependency org="redhat" name="jmock-cglib"
rev="1.2.0" />
<dependency org="redhat" name="jpam" rev="0.4"
/>
commit 294f2d237e1e549548b27d69b8411cebcb0a93a9
Author: Mike McCune <mmccune(a)gmail.com>
Date: Mon Mar 23 14:27:14 2009 -0700
484659 - switching to proper case for variables
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
index 0b0854c..5afbf75 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
@@ -43,8 +43,8 @@ import redstone.xmlrpc.XmlRpcFault;
public class CobblerSyncTask extends SingleThreadedTestableTask {
private static final AtomicLong LAST_UPDATED = new AtomicLong();
- private long ERROR_COUNT;
- private long DISTRO_WARN_COUNT;
+ private long errorCount;
+ private long distroWarnCount;
/**
* Used to log stats in the RHNDAEMONSTATE table
@@ -57,8 +57,8 @@ public class CobblerSyncTask extends SingleThreadedTestableTask {
* Default constructor
*/
public CobblerSyncTask() {
- ERROR_COUNT = 0;
- DISTRO_WARN_COUNT = 0;
+ errorCount = 0;
+ distroWarnCount = 0;
}
/**
@@ -82,9 +82,9 @@ public class CobblerSyncTask extends SingleThreadedTestableTask {
CobblerDistroSyncCommand distSync = new CobblerDistroSyncCommand();
ValidatorError ve = distSync.syncNullDistros();
- if (ve != null && DISTRO_WARN_COUNT < 1) {
+ if (ve != null && distroWarnCount < 1) {
TaskHelper.sendErrorEmail(log, ve.getMessage());
- DISTRO_WARN_COUNT++;
+ distroWarnCount++;
}
@@ -118,8 +118,8 @@ public class CobblerSyncTask extends SingleThreadedTestableTask {
re.getMessage(), re);
// Only throw up one error. Otherwise if say cobblerd is shutoff you can
// possibly generate 1 stacktrace email per minute which is quite spammy.
- if (ERROR_COUNT < 1) {
- ERROR_COUNT++;
+ if (errorCount < 1) {
+ errorCount++;
log.error("re-throwing exception since we havent yet.");
throw re;
}
commit 867dd2b4c5cdf9043a3d5e87fd7d802fe45bbfd6
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 16:15:56 2009 -0500
Automatic commit of package [spacewalk-setup] release [0.5.24-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup
index fce99db..1176ba9 100644
--- a/rel-eng/packages/spacewalk-setup
+++ b/rel-eng/packages/spacewalk-setup
@@ -1 +1 @@
-0.5.23-1 spacewalk/setup/
+0.5.24-1 spacewalk/setup/
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec
index ce2fed6..9f52866 100644
--- a/spacewalk/setup/spacewalk-setup.spec
+++ b/spacewalk/setup/spacewalk-setup.spec
@@ -1,5 +1,5 @@
Name: spacewalk-setup
-Version: 0.5.23
+Version: 0.5.24
Release: 1%{?dist}
Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,7 +94,7 @@ rm -rf %{buildroot}
%dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog
-* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us>
+* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us> 0.5.24-1
- write jabberd server.pem to /etc/pki/spacewalk/jabberd
* Wed Mar 18 2009 Mike McCune <mmccune(a)gmail.com> 0.5.23-1
commit 8c705dcac69fbf854c99b20632b7dc4b4eb0e14e
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 16:13:07 2009 -0500
Automatic commit of package [spacewalk-config] release [0.5.8-1].
diff --git a/rel-eng/packages/spacewalk-config b/rel-eng/packages/spacewalk-config
index 7f03d09..a2e7042 100644
--- a/rel-eng/packages/spacewalk-config
+++ b/rel-eng/packages/spacewalk-config
@@ -1 +1 @@
-0.5.7-1 spacewalk/config/
+0.5.8-1 spacewalk/config/
diff --git a/spacewalk/config/spacewalk-config.spec
b/spacewalk/config/spacewalk-config.spec
index 1477ae7..4729849 100644
--- a/spacewalk/config/spacewalk-config.spec
+++ b/spacewalk/config/spacewalk-config.spec
@@ -2,7 +2,7 @@
Name: spacewalk-config
Summary: Spacewalk Configuration
-Version: 0.5.7
+Version: 0.5.8
Release: 1%{?dist}
URL:
http://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -115,7 +115,7 @@ fi
%changelog
-* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us>
+* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us> 0.5.8-1
- Requires(pre) jabberd so we can set the password in %%post
* Fri Mar 20 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.7-1
commit 0c7b8d77390a2505395feca4f10f26b4bc7f3fdf
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 15:23:41 2009 -0500
remove unneeded pushd
fix up rpm macros add missing _
diff --git a/spacewalk/config/spacewalk-config.spec
b/spacewalk/config/spacewalk-config.spec
index 5255762..1477ae7 100644
--- a/spacewalk/config/spacewalk-config.spec
+++ b/spacewalk/config/spacewalk-config.spec
@@ -101,11 +101,10 @@ if [ "$1" -eq "1" ]; then
#replace default passwords, yes its kinda hackish
export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
| sha1sum | awk '{print $1}' )
- pushd %{sysconfdir}/jabberd/
- %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END
+ %{__sed} -i -f- %{_sysconfdir}/jabberd/*.xml <<END
s,<secret>.*</secret>,<secret>$NEWPASS</secret>,g
END
- %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END
+ %{__sed} -i -f- %{_sysconfdir}/jabberd/*.xml <<END
s,<pass>.*</pass>,<pass>$NEWPASS</pass>,g
END
%{__sed} -i -f- %{_sysconfdir}/sysconfig/rhn-satellite-prep/etc/jabberd/*.xml
<<END
commit f3c277f05b0bd36428da319652cf6f1f4055bc9c
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 15:19:03 2009 -0500
Requires(pre) jabberd
we need to default passwords in %post on new installs.
they need to be consistent across all jabber configs
diff --git a/spacewalk/config/spacewalk-config.spec
b/spacewalk/config/spacewalk-config.spec
index 115e4a9..5255762 100644
--- a/spacewalk/config/spacewalk-config.spec
+++ b/spacewalk/config/spacewalk-config.spec
@@ -18,6 +18,8 @@ Requires(post): chkconfig
Requires(preun): chkconfig
# This is for /sbin/service
Requires(preun): initscripts
+# this is so we can set the password consistently across all jabberd configs
+Requires(pre): jabberd
%define prepdir %{_sysconfdir}/sysconfig/rhn-satellite-prep
@@ -95,7 +97,28 @@ export ORACLE_HOME=/opt/oracle
export NLS_LANG=english.AL32UTF8
EOF
+if [ "$1" -eq "1" ]; then
+ #replace default passwords, yes its kinda hackish
+ export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
+ | sha1sum | awk '{print $1}' )
+ pushd %{sysconfdir}/jabberd/
+ %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END
+s,<secret>.*</secret>,<secret>$NEWPASS</secret>,g
+END
+ %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END
+s,<pass>.*</pass>,<pass>$NEWPASS</pass>,g
+END
+ %{__sed} -i -f- %{_sysconfdir}/sysconfig/rhn-satellite-prep/etc/jabberd/*.xml
<<END
+s,<pass>@@pass@@</pass>,<pass>$NEWPASS</pass>,g
+END
+
+fi
+
+
%changelog
+* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us>
+- Requires(pre) jabberd so we can set the password in %%post
+
* Fri Mar 20 2009 Miroslav Suchy <msuchy(a)redhat.com> 0.5.7-1
- edit the spec for Fedora
commit 7aa107431836e3451c865700ad3225b56226dfcb
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 15:01:04 2009 -0500
do not hardcode a default password in the jabber xml files. we will
generate one on the fly in %%post in the rpm. this matches jabberd's
behaviour and will make sure all configs have consitent passwords and
jabberd will run out of the box. each installation will have different
passwords.
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
index ca666af..09eff11 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
@@ -15,7 +15,7 @@
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
- <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!--
default: secret -->
+ <pass>@@pass@@</pass> <!-- default: secret -->
<!-- File containing an SSL certificate and private key to use when
setting up an encrypted channel with the router. From
@@ -121,7 +121,7 @@
still be useful to allow clients to change their password. If
you want this, add this attribute when you disable registration.
-->
- <id realm='' require-starttls='true'
pemfile='/etc/pki/spacewalk/jabberd/server.pem'>@@jabberDOThostname@@</id>
+ <id realm='' register-enable='true'
require-starttls='false'
pemfile='/etc/pki/spacewalk/jabberd/server.pem'>@@jabberDOThostname@@</id>
<!-- or
<id realm='company.int'
pemfile='/etc/pki/spacewalk/jabberd/server.pem'
@@ -321,7 +321,7 @@
<path>/usr/lib/jabberd</path>
<!-- Backend module to use -->
- <module>pam</module>
+ <module>sqlite</module>
<!-- Available authentication mechanisms -->
<mechanisms>
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
index 9cd2ab1..1a05ae3 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
@@ -16,7 +16,7 @@
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
- <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!--
default: secret -->
+ <pass>@@pass@@</pass> <!-- default: secret -->
<!-- The router will only allow one component to be the default
route (ie the component that receives packets destined for
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
index 4354301..5959539 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
@@ -17,7 +17,7 @@
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
- <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!--
default: secret -->
+ <pass>@@pass@@</pass> <!-- default: secret -->
<!-- File containing an SSL certificate and private key to use when
setting up an encrypted channel with the router. From
@@ -71,8 +71,8 @@
<!-- Dynamic storage modules path -->
<path>/usr/lib/jabberd</path>
- <!-- By default, we use the MySQL driver for all storage -->
- <driver>db</driver>
+ <!-- By default, we use the sqlite driver for all storage -->
+ <driver>sqlite</driver>
<!-- Its also possible to explicitly list alternate drivers for
specific data types. -->
@@ -109,7 +109,7 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
+ <pass>@@pass@@</pass>
<!-- Transacation support. If this is commented out, transactions
will be disabled. This might make database accesses faster,
@@ -140,7 +140,7 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
+ <pass>@@pass@@</pass>
<!-- Transacation support. If this is commented out, transactions
will be disabled. This might make database accesses faster,
@@ -172,7 +172,7 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
+ <pass>@@pass@@</pass>
</oracle>
<!-- SQLite driver configuration -->
commit 4c6745758a93ae519cc3857c67703a313bf8140e
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 13:11:42 2009 -0500
add missing pki for paths for jabberd ssl cert
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec
index d9e71d9..ce2fed6 100644
--- a/spacewalk/setup/spacewalk-setup.spec
+++ b/spacewalk/setup/spacewalk-setup.spec
@@ -65,7 +65,7 @@ install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/
install -m 0644 share/defaults.d/defaults.conf
%{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/
# jabberd ssl cert location
-install -d -m 755 %{buildroot}/%{_sysconfdir}/spacewalk/jabberd
+install -d -m 755 %{buildroot}/%{_sysconfdir}/pki/spacewalk/jabberd
# Oracle specific stuff, possible candidate for sub-package down the road:
install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/oracle/
@@ -90,8 +90,8 @@ rm -rf %{buildroot}
%{_bindir}/cobbler-setup
%{_mandir}/man[13]/*.[13]*
%{_datadir}/spacewalk/*
-%dir %{_sysconfdir}/spacewalk
-%dir %{_sysconfdir}/spacewalk/jabberd
+%dir %{_sysconfdir}/pki/spacewalk
+%dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog
* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us>
commit 4a285c8c76a4b8e1960306c8a4c6cb7bd2697904
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 13:07:14 2009 -0500
make directory for jabberd ssl cert
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec
index fe71e29..d9e71d9 100644
--- a/spacewalk/setup/spacewalk-setup.spec
+++ b/spacewalk/setup/spacewalk-setup.spec
@@ -64,6 +64,9 @@ install -m 0644 share/ssl.conf.5
%{buildroot}/%{_datadir}/spacewalk/setup/
install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/
install -m 0644 share/defaults.d/defaults.conf
%{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/
+# jabberd ssl cert location
+install -d -m 755 %{buildroot}/%{_sysconfdir}/spacewalk/jabberd
+
# Oracle specific stuff, possible candidate for sub-package down the road:
install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/oracle/
install -m 0755 share/oracle/install-db.sh
%{buildroot}/%{_datadir}/spacewalk/setup/oracle
@@ -87,9 +90,13 @@ rm -rf %{buildroot}
%{_bindir}/cobbler-setup
%{_mandir}/man[13]/*.[13]*
%{_datadir}/spacewalk/*
-
+%dir %{_sysconfdir}/spacewalk
+%dir %{_sysconfdir}/spacewalk/jabberd
%changelog
+* Tue Mar 24 2009 Dennis Gilmore <dennis(a)ausil.us>
+- write jabberd server.pem to /etc/pki/spacewalk/jabberd
+
* Wed Mar 18 2009 Mike McCune <mmccune(a)gmail.com> 0.5.23-1
- 486186 - Update spacewalk spec files to require cobbler >= 1.4.3
commit be9ecccc30a57e2ac099f8ee9ceaec70f508b42d
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Mar 24 12:38:09 2009 -0500
update jabberd configs for 2.2
write spacewalk jabber to /etc/pki/spacewalk/jabberd
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
index d47a762..ca666af 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml
@@ -3,10 +3,9 @@
<!-- Our ID on the network (default: c2s) -->
<id>c2s</id>
- <!-- The process ID file. comment this out if you don't need to know
- to know the process ID from outside the process (eg for control
- scripts) -->
- <pidfile>/var/run/jabberd/jabberd-c2s.pid</pidfile>
+ <!-- The process ID file. Comment this out if you don't need to know
+ the process ID from outside the process (eg for control scripts) -->
+ <pidfile>/var/lib/jabberd/pid/c2s.pid</pidfile>
<!-- Router connection configuration -->
<router>
@@ -16,14 +15,19 @@
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
-
- <!-- File containing a SSL certificate and private key to use when
- setting up an encrypted channel with the router. If this is
- commented out, or the file can't be read, no attempt will be
- made to establish an encrypted channel with the router. -->
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!--
default: secret -->
+
+ <!-- File containing an SSL certificate and private key to use when
+ setting up an encrypted channel with the router. From
+ SSL_CTX_use_certificate_chain_file(3): "The certificates must be
+ in PEM format and must be sorted starting with the subject's
+ certificate (actual client or server certificate), followed
+ by intermediate CA certificates if applicable, and ending
+ at the highest level (root) CA" (the latter one being optional).
+ If this is commented out, or the file can't be read, no attempt
+ will be made to establish an encrypted channel with the router. -->
<!--
- <pemfile>/etc/jabberd/server.pem</pemfile>
+ <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile>
-->
<!-- Router connection retry -->
@@ -56,7 +60,7 @@
<!-- If logging to file, this is the filename of the logfile -->
<!--
- <file>/var/log/jabberd/c2s.log</file>
+ <file>/var/lib/jabberd/log/c2s.log</file>
-->
</log>
@@ -66,16 +70,70 @@
ID (host) that the session manager thinks it is. You can
specify more than one to support virtual hosts, as long as you
have additional session manager instances on the network to
- handle those hosts. The realm attribute specifies the auth/reg
- or SASL authentication realm for the host. If the attribute is
- not specified, the realm will be selected by the SASL
- mechanism, or will be the same as the ID itself. Be aware that
- users are assigned to a realm, not a host, so two hosts in the
- same realm will have the same users.
- If no realm is specified, it will be set to be the same as the
- ID. -->
- <id>@@jabberDOThostname@@</id>
- <!-- <id realm='company'>localhost</id> -->
+ handle those hosts.
+
+ You may leave the content of the <id/> empty to setup default
+ virtual host setup, that will be used for all present but not
+ configured otherwise SM domains.
+
+ realm
+ attribute specifies the auth/reg or SASL authentication realm
+ for the host. If the attribute is not specified, the realm will
+ be selected by the SASL mechanism, or will be the same as the ID
+ itself. Be aware that users are assigned to a realm, not a host,
+ so two hosts in the same realm will have the same users. If no
+ realm is specified, it will be set to be the same as the ID.
+ If empty "" realm is specified, the PAM backend wil authenticate
+ using plain usernames, not JIDs.
+
+ pemfile
+ attribute specifies the file containing a SSL certificate and
+ private key for client connections. If this is non existant,
+ clients will not be offered the STARTTLS stream extension
+ From SSL_CTX_use_certificate_chain_file(3):
+ "The certificates must be in PEM format and must be sorted
+ starting with the subject's certificate (actual client or server
+ certificate), followed by intermediate CA certificates if
+ applicable, and ending at the highest level (root) CA"
+ (the latter one being optional).
+
+ verify-mode
+ SSL verify mode - see SSL_CTX_set_verify(3), mode parameter
+
+ require-starttls
+ If this is enabled, clients must do STARTTLS
+ before they can authenticate. Until the stream is encrypted,
+ all packets will be dropped.
+
+ register-enable
+ Remove this attribute to disable account registrations.
+
+ instructions
+ Human-readable instructions to be returned to client when
+ registration is requested.
+
+ register-oob
+ URL to be attached as an alternative, out-of-band registration
+ method. Usually web-based http:// URL.
+
+ password-change
+ Password change only. When registration is disabled, it may
+ still be useful to allow clients to change their password. If
+ you want this, add this attribute when you disable registration.
+ -->
+ <id realm='' require-starttls='true'
pemfile='/etc/pki/spacewalk/jabberd/server.pem'>@@jabberDOThostname@@</id>
+ <!-- or
+ <id realm='company.int'
+ pemfile='/etc/pki/spacewalk/jabberd/server.pem'
+ verify-mode='7'
+ require-starttls='true'
+ register-enable='true'
+ instructions='Enter a username and password to register with this
server.'
+
register-oob='http://example.org/register'
+ password-change='true'
+ >example.net</id> -->
+ <!-- or the default host
+ <id password-change='true' /> -->
<!-- IP address to bind to (default: 0.0.0.0) -->
<ip>0.0.0.0</ip>
@@ -84,18 +142,6 @@
server (default: 5222) -->
<port>5222</port>
- <!-- File containing a SSL certificate and private key for client
- connections. If this is commented out, clients will not be
- offered the STARTTLS stream extension -->
- <pemfile>/etc/jabberd/server.pem</pemfile>
-
- <!-- Require STARTTLS. If this is enabled, clients must do STARTTLS
- before they can authenticate. Until the stream is encrypted,
- all packets will be dropped. -->
- <!--
- <require-starttls/>
- -->
-
<!-- Older versions of jabberd support encrypted client connections
via an additional listening socket on port 5223. If you want
this (required to allow pre-STARTTLS clients to do SSL),
@@ -103,15 +149,53 @@
<!--
<ssl-port>5223</ssl-port>
-->
+
+ <!-- File containing an SSL certificate and private key for client
+ connections. From SSL_CTX_use_certificate_chain_file(3):
+ "The certificates must be in PEM format and must be sorted
+ starting with the subject's certificate (actual client or server
+ certificate), followed by intermediate CA certificates if
+ applicable, and ending at the highest level (root) CA"
+ (the latter one being optional).
+
+ Note: This certificate is ONLY used for old style SSL
+ connections on port 5223 (pre-STARTTLS). If you want to
+ use STARTTLS over the standard XMPP port 5222 then you
+ MUST specify the pemfile in the 'id' tag above. -->
+ <!--
+ <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile>
+ -->
+
+ <!-- SSL verify mode - see SSL_CTX_set_verify(3), mode parameter -->
+ <!--
+ <verify-mode>7</verify-mode>
+ -->
+
+ <!-- Forward incoming HTTP clients to a real HTTP server -->
+ <!--
+ <httpforward>http://www.jabber.org/</httpforward>
+ -->
</local>
<!-- Input/output settings -->
<io>
- <!-- Maximum number of file descriptors. Note that the number of
- possible connections will be slightly less than this, because
- c2s itself can use up five on its own, and auth/reg modules may
- need a few also. If the supply of file descriptors is
- exhausted, new incoming connections will be denied.
+ <!-- Maximum number of file descriptors. This value sets an upper
+ limit on the number of users who may be logged in to this
+ server at a given time. Each user consumers one file
+ descriptor.
+
+ Note that the number of possible connections will be slightly
+ less than this, because c2s itself can use up five on its own,
+ and auth/reg modules may need a few also. If the supply of
+ file descriptors is exhausted, new incoming connections will
+ be denied.
+
+ Also note that this value only affects how many file descriptors
+ jabberd is able to handle internally. You may also need to
+ tell your operating system to allow jabberd to use more file
+ descriptors. On Linux this can be done using ulimit -n or by
+ changing the value of /proc/sys/fd/file-max.
+
(default: 1024) -->
<max_fds>1024</max_fds>
@@ -126,6 +210,15 @@
Default Y is 1, default Z is 5. set X to 0 to disable. -->
<bytes>0</bytes>
+ <!-- Maximum number of stanzas per second - if more than X stanzas
+ are sent in Y seconds, connection is throttled for Z seconds.
+ The format is:
+
+ <stanzas seconds='Y' throttle='Z'>X</stanzas>
+
+ Default Y 1, default Z is 5. Set X to 0 to disable -->
+ <stanzas>1000</stanzas>
+
<!-- Maximum connects per second - if more than X connects are
attempted from a single IP in Y seconds, that IP is throttled
for Z seconds. The format is:
@@ -134,8 +227,21 @@
Default Y is 5, default Z is 5. set X to 0 to disable. -->
<connects>0</connects>
+
+ <!-- Maximum stanza size - if more than given number of bytes
+ are read in one incoming stanza, the stream is closed
+ with policy-violation error.
+
+ Set to 0 to disable.
+ Values less than 16384 might not work. -->
+ <stanzasize>65535</stanzasize>
</limits>
+ <!-- Enable XEP-0138: Stream Compression -->
+ <!--
+ <compression/>
+ -->
+
<!-- IP-based access controls. If a connection IP matches an allow
rule, the connection will be accepted. If a connecting IP
matches a deny rule, the connection will be refused. If the
@@ -177,7 +283,7 @@
the following checks applied.
0 disables all checks. (default: 0) -->
- <interval>60</interval>
+ <interval>0</interval>
<!-- Idle connection checks.
@@ -195,35 +301,27 @@
disconnected without us knowing about it.
0 disables keepalives. (default: 0) -->
- <keepalive>60</keepalive>
+ <keepalive>0</keepalive>
</check>
</io>
+ <!-- Statistics -->
+ <stats>
+ <!-- file containing count of packets that went through -->
+ <!--
+ <packet>/var/lib/jabberd/stats/c2s.packets</packet>
+ -->
+ </stats>
+
<!-- Authentication/registration database configuration -->
<authreg>
+ <!-- Dynamic authreg modules path -->
+ <path>/usr/lib/jabberd</path>
+
<!-- Backend module to use -->
- <module>db</module>
-
- <!-- Registration configuration -->
- <register>
- <!-- Account registration is enabled by default (provided the
- auth/reg module in use supports it). Comment this out to
- disable. -->
- <enable/>
-
- <!-- Human-readable instructions to be returned to client when
- registration is requested. -->
- <instructions>Enter a username and password to register with this
server.</instructions>
-
- <!-- Password change only. When registration is disabled, it may
- still be useful to allow clients to change their password. If
- you want this, uncomment this when you disable registration. -->
- <!--
- <password/>
- -->
- </register>
+ <module>pam</module>
<!-- Available authentication mechanisms -->
<mechanisms>
@@ -232,14 +330,10 @@
Comment out any that you don't want to be offered to clients.
Note that if the auth/reg module does not support one of
these mechanisms, then it will not be offered regardless of
- whether or not it is enabled here.
-
- Similarly, if <zerok/> is disabled, then zero-knowledge data
- will not be created when a user is registered. -->
+ whether or not it is enabled here. -->
<traditional>
<plain/>
<digest/>
- <zerok/>
</traditional>
<!-- SASL authentication mechanisms. Comment out any that you
@@ -251,11 +345,29 @@
<digest-md5/>
<!--
<anonymous/>
+ <gssapi/>
-->
</sasl>
</mechanisms>
+ <!-- Additional mechanisms that are also available when the
+ connection is encrypted. Ie. when START-TLS had been
+ negotiated, or user connected on SSL-wrapped port. -->
+ <ssl-mechanisms>
+
+ <!-- it's advisable that you disable plain in the above
+ <mechanisms/> section -->
+ <traditional>
+ <plain/>
+ </traditional>
+
+ <sasl>
+ <plain/>
+ </sasl>
+
+ </ssl-mechanisms>
+
<!-- MySQL module configuration -->
<mysql>
<!-- Database server host and port -->
@@ -267,11 +379,32 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>secret</pass>
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
+
+ <!-- Passwords in DB may be stored in plain or hashed format -->
+ <!-- NOTE: If you are using hashed passwords, the only auth
+ method that will work is PLAIN.
+ Make sure that you disabled others in 'mechanisms'
+ sections of the config file. -->
+ <password_type>
+ <!-- only one may be enabled here -->
+ <plaintext/>
+ <!-- use crypt(3)ed passwords
+ <crypt/>
+ -->
+ </password_type>
</mysql>
<!-- PostgreSQL module configuration -->
<pgsql>
+ <!-- PostgreSQL connection info.
+ For the rest of the options see
+
http://www.postgresql.org/docs/8.0/interactive/libpq.html -->
+ <conninfo>dbname=jabberd2 user=jabberd2 password=secret</conninfo>
+
+ <!-- Alternatively you may set connection settings separately.
+ These are used only in absence of 'conninfo' -->
+
<!-- Database server host and port -->
<host>localhost</host>
<port>5432</port>
@@ -281,13 +414,41 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>secret</pass>
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
</pgsql>
+ <!-- Oracle driver configuration -->
+ <oracle>
+ <!-- Database server host and port. -->
+ <host>localhost</host>
+ <port>1521</port>
+
+ <!-- Database name -->
+ <dbname>jabberd2</dbname>
+
+ <!-- Database username and password -->
+ <user>jabberd2</user>
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
+ </oracle>
+
+ <!-- SQLite driver configuration -->
+ <sqlite>
+ <!-- Database name -->
+ <dbname>/var/lib/jabberd/db/sqlite.db</dbname>
+
+ <!-- Transacation support. If this is commented out, transactions
+ will be disabled. This might make database accesses faster,
+ but data may be lost if jabberd crashes. -->
+ <transactions/>
+
+ <!-- SQLite busy-timeout in milliseconds. -->
+ <busy-timeout>2000</busy-timeout>
+ </sqlite>
+
<!-- Berkeley DB module configuration -->
<db>
<!-- Directory to store database files under -->
- <path>/var/lib/jabberd</path>
+ <path>/var/lib/jabberd/db</path>
<!-- Synchronize the database to disk after each write. If you
disable this, database accesses may be faster, but data may
@@ -295,7 +456,57 @@
<sync/>
</db>
+ <!-- LDAPFULL module configuration -->
+ <ldapfull>
+ <!-- LDAP server host and port (default: 389) -->
+ <uri>ldap://localhost/
ldaps://ldap.example.com/</uri>
+
+ <!-- DN to bind as for searches. If unspecified, the searches
+ will be done anonymously. -->
+ <!--
+ <binddn>cn=Directory Manager</binddn>
+ <bindpw>secret</bindpw>
+ -->
+
+ <!-- Type of LDAP server. Currently "ad" for active directory and
"ldap"
+ for other ldap servers. If not specified, then it is ldap. -->
+ <!--
+ <type>ad</type>
+ -->
+
+ <!-- LDAP attribute that holds the user ID (default: uid) -->
+ <uidattr>uid</uidattr>
+ <objectclass>posixAccount</objectclass>
+ <pwattr>userPassword</pwattr>
+ <!-- if you use included jabberd.schema use this:
+ <uidattr>jid</uidattr>
+ <objectclass>jabberUser</objectclass>
+ <pwattr>jabberPassword</pwattr>
+ -->
+
+ <!-- Attribute that holds jabber account status. Must be TRUE for AD,
+ and 1 for other LDAP server.
+ If not specified, then it will not be used. -->
+ <!--
+ <validattr>valid</validattr>
+ -->
+ <fulluid/>
+ <!-- If pwscheme is not defined, then passwords are stored in clear
+ text and digest authentication may be done.
+ If passwords are hashed, then you cannot use digest authentication
+ and should use plain text authentication.
+ For now, sha, ssha and plain may be specified -->
+ <!-- <pwscheme>ssha</pwscheme> -->
+
+ <!-- base DN of the tree. You should specify a DN for each
+ authentication realm declared in the <local/> section above,
+ by using the realm attribute. -->
+ <basedn realm='company'>o=Company.com</basedn>
+ <basedn>o=Example Corp.</basedn>
+ </ldapfull>
+
<!-- LDAP module configuration -->
+ <!-- Remember that you need to use PLAIN auth with LDAP backend -->
<ldap>
<!-- LDAP server host and port (default: 389) -->
<host>ldap.example.com</host>
@@ -330,12 +541,37 @@
<!-- LDAP attribute that holds the user ID (default: uid) -->
<uidattr>uid</uidattr>
+ <!-- Enable the append-realm element if you want to append
+ realm value (usernam@realm) to the uidattr value
+ <append-realm/>
+ -->
+
+ <!-- Alternatively to <uidattr/> and <append-realm/> you may
+ specify full LDAP search <query/> that will be used to
+ get user objects from directory.
+
+ The following replacements take place:
+ %u is replaced by user login name
+ %r is replaced by user login realm
+
+ When <query/> is specified, <uidattr/> and <append-realm/>
+ are unused and take no effect. -->
+ <!--
+ <query>(&(mail=%u@%r)(objectClass=inetOrgPerson))</query>
+ -->
+
<!-- base DN of the tree. You should specify a DN for each
authentication realm declared in the <local/> section above,
by using the realm attribute. -->
<basedn realm='company'>o=Company.com</basedn>
<basedn>o=Example Corp.</basedn>
</ldap>
+ <!-- if you want to configure more than one LDAP server
+ create ldap1, ldap2 etc. sections
+ <ldap1>
+
+ </ldap1>
+ -->
<!-- Pipe module configuration -->
<pipe>
@@ -346,3 +582,6 @@
</authreg>
</c2s>
+<!--
+ vim: syntax=xml
+-->
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
index ecd4ff6..9cd2ab1 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml
@@ -6,7 +6,7 @@
<!-- The process ID file. comment this out if you don't need to know
to know the process ID from outside the process (eg for control
scripts) -->
- <pidfile>/var/run/jabberd/jabberd-s2s.pid</pidfile>
+ <pidfile>/var/lib/jabberd/pid/s2s.pid</pidfile>
<!-- Router connection configuration -->
<router>
@@ -16,7 +16,7 @@
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!--
default: secret -->
<!-- The router will only allow one component to be the default
route (ie the component that receives packets destined for
@@ -33,7 +33,7 @@
commented out, or the file can't be read, no attempt will be
made to establish an encrypted channel with the router. -->
<!--
- <pemfile>/etc/jabberd/server.pem</pemfile>
+ <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile>
-->
<!-- Router connection retry -->
@@ -89,43 +89,120 @@
<!--
<secret>secret</secret>
-->
+
+ <!-- File containing an SSL certificate and private key to use when setting
+ up encrypted s2s connections with other servers (STARTTLS + Dialback).
+ From SSL_CTX_use_certificate_chain_file(3): "The certificates must be
+ in PEM format and must be sorted starting with the subject's
+ certificate (actual client or server certificate), followed
+ by intermediate CA certificates if applicable, and ending
+ at the highest level (root) CA" (the latter one being optional).
+ If this is commented out, or the file can't be read, no attempt will be
+ made to establish encrypted connections with other servers. -->
+ <!--
+ <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile>
+ -->
+
+ <!-- SSL verify mode - see SSL_CTX_set_verify(3), mode parameter -->
+ <!--
+ <verify-mode>7</verify-mode>
+ -->
+
+ <!-- File containing an optional SSL certificate chain file for SSL
+ connections. -->
+ <!--
+ <cachain>/etc/pki/spacewalk/jabberd/cachain.pem</cachain>
+ -->
+
</local>
+ <!-- input/output settings -->
+ <io>
+ <!-- Maximum number of file descriptors. Note that the number of
+ possible connections will be slightly less than this, because
+ s2s itself can use some on its own. If the supply of file
+ descriptors is exhausted, new incoming connections will be
+ denied.
+
+ These connections are mainly consumed when we make a
+ connection to an external jabber server, or an external jabber
+ server connects to us. If you don't have a lot of users then
+ there's probably no need for s2s to establish connections to
+ external jabber servers and the default value here is probably
+ fine. On the other hand, if you have lots of users with lots
+ of remote buddies in their buddylist then s2s will need to have
+ lots of open connections with other jabber servers and you may
+ need to increase this value.
+
+ Note that this value only affects how many file descriptors
+ jabberd is able to handle internally. You may also need to
+ tell your operating system to allow jabberd to use more file
+ descriptors. On Linux this can be done using ulimit -n or by
+ changing the value of /proc/sys/fd/file-max.
+
+ (default: 1024) -->
+ <max_fds>1024</max_fds>
+
+ <!-- Rate limiting -->
+ <limits>
+ <!-- Maximum stanza size - if more than given number of bytes
+ are read in one incoming stanza, the stream is closed
+ with policy-violation error.
+
+ Set to 0 to disable.
+ Values less than 16384 might not work. -->
+ <stanzasize>65535</stanzasize>
+ </limits>
+
+ </io>
+
<!-- Timed checks -->
<check>
<!-- Interval between checks.
Checks will be run every n seconds.
- 0 disables all checks. (default: 0) -->
+ 0 disables all checks. (default: 60) -->
<interval>3</interval>
- <!-- Queue expiry.
+ <!-- Queue expiry and connection timeout.
While a connection is being established and dialback is in
progress, packets are queued. If a valid connection has not
been established within this many seconds, the connection
process will be aborted and the queued packets will be
- bounced.
+ bounced. Timeout checks are made for three phases of
+ setting up a route authenticated through dialback:
+ 1. Connection establishment to exchange of stream headers
+ 2. Initiating dialback (incoming connections)
+ 3. Completing dialback (incoming and outgoing)
+
+ If stage 1 connection establishment fails and there are
+ alternative hosts for this route that have not failed
+ recently, they will be tried too before finally giving up.
+
+ 0 disables queue expiry. (default: 60) -->
+ <queue>60</queue>
+
+ <!-- Queue retry timeout.
+
+ If the queue is older than this timeout, the connection
+ will not be retried even if there are alternative hosts
+ that have not failed recently.
- 0 disables queue expiry. (default: 0) -->
- <queue>0</queue>
+ 0 disables retry expiry. (default: 300) -->
+ <retry>300</retry>
- <!-- Invalid route expiry.
+ <!-- Idle connection checks.
- If the dialback process for a route (local/remote), then that
- route is marked as invalid, and no packets can be sent via the
- route. Any routes that are marked invalid when this check runs
- will have their invalid status cleared, and dialback will be
- attempted for this route the next time a packet is sent via it.
- If this is disabled, then an invalid route will stay invalid
- until s2s is restarted.
+ Connections that have not sent data for longer than this many
+ seconds will be dropped.
- 0 disables invalid route expiry. (default: 0) -->
- <invalid>0</invalid>
+ 0 disables idle timeouts. (default: 86400) -->
+ <idle>86400</idle>
<!-- Keepalives.
-
+
Outgoing connections that have not been used for longer than
this many seconds will have a single whitespace character sent
to them. This will force the TCP connection to be closed if
@@ -134,6 +211,71 @@
0 disables keepalives. (default: 0) -->
<keepalive>0</keepalive>
+ <!-- Interval between DNS result/bad host expiry.
+
+ 0 disables expiry checks. (default: 300) -->
+ <dnscache>300</dnscache>
</check>
+ <!-- Statistics -->
+ <stats>
+ <!-- file containing count of packets that went through -->
+ <!--
+ <packet>/var/lib/jabberd/stats/s2s.packets</packet>
+ -->
+ </stats>
+
+ <lookup>
+ <!-- SRV TCP services will be resolved in the following order. The first
+ one that returns something will be used (ie dereferenced via an
+ A/AAAA lookup). If no SRV records are found, resolver will
+ fallback to a straight A/AAAA lookup. -->
+
+ <!-- xmpp-server is mandated by the XMPP spec -->
+ <srv>xmpp-server</srv>
+
+ <!-- traditionally, jabber has been used -->
+ <srv>jabber</srv>
+
+
+ <!-- If this is enabled, the resolver will look up AAAA records as well
+ as A records. This is needed if you want s2s to use IPv6.
+ Connection attempts will be made to all IPv6 hosts before trying
+ IPv4 (see bad host timeout below). -->
+ <!--
+ <resolve-ipv6/>
+ -->
+
+ <!-- Minimum time that DNS lookup results are cached (overrides max below).
-->
+ <min-ttl>30</min-ttl>
+
+ <!-- Maximum time that DNS lookup results are cached. -->
+ <max-ttl>86400</max-ttl>
+
+ <!-- Minimum time to wait before using hosts that we have failed to
+ establish a connection to (unless there are no alternatives).
+ Do not set this too low - it is required to detect permanent
+ problems like broken IPv6 connectivity in order to attempt IPv4.
+
+ 0 disables bad host caching. (default: 3600) -->
+ <bad-host-timeout>3600</bad-host-timeout>
+
+ <!-- Disable the DNS cache (negative caching will still be done).
+ This is likely to negatively impact performance while saving
+ a small amount of memory since multiple DNS requests must
+ then be made for every re-connection. -->
+ <!--
+ <no-cache/>
+ -->
+ </lookup>
+
+ <!-- If this is enabled, domains which share the same host will re-use
+ existing outgoing connections. This is a potential security risk
+ as the SSL connection from the first domain will be re-used too. -->
+ <out-reuse-conn/>
+
</s2s>
+<!--
+ vim: syntax=xml
+-->
+
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
index f2e0e47..4354301 100644
--- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
+++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml
@@ -2,14 +2,12 @@
<sm>
<!-- Our ID on the network. Users will have this as the domain part of
their JID. If you want your server to be accessible from other
- Jabber servers, this ID must be resolvable by DNS.s
- (default: localhost) -->
+ Jabber servers, this ID must be FQDN resolvable by DNSes -->
<id>@@jabberDOThostname@@</id>
- <!-- The process ID file. comment this out if you don't need to know
- to know the process ID from outside the process (eg for control
- scripts) -->
- <pidfile>/var/run/jabberd/jabberd-sm.pid</pidfile>
+ <!-- The process ID file. Comment this out if you don't need to know
+ the process ID from outside the process (eg for control scripts) -->
+ <pidfile>/var/lib/jabberd/pid/sm.pid</pidfile>
<!-- Router connection configuration -->
<router>
@@ -19,14 +17,19 @@
<!-- Username/password to authenticate as -->
<user>jabberd</user> <!-- default: jabberd -->
- <pass>secret</pass> <!-- default: secret -->
-
- <!-- File containing a SSL certificate and private key to use when
- setting up an encrypted channel with the router. If this is
- commented out, or the file can't be read, no attempt will be
- made to establish an encrypted channel with the router. -->
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!--
default: secret -->
+
+ <!-- File containing an SSL certificate and private key to use when
+ setting up an encrypted channel with the router. From
+ SSL_CTX_use_certificate_chain_file(3): "The certificates must be
+ in PEM format and must be sorted starting with the subject's
+ certificate (actual client or server certificate), followed
+ by intermediate CA certificates if applicable, and ending
+ at the highest level (root) CA" (the latter one being optional).
+ If this is commented out, or the file can't be read, no attempt
+ will be made to establish an encrypted channel with the router. -->
<!--
- <pemfile>/etc/jabberd/server.pem</pemfile>
+ <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile>
-->
<!-- Router connection retry -->
@@ -59,20 +62,40 @@
<!-- If logging to file, this is the filename of the logfile -->
<!--
- <file>/var/log/jabberd/sm.log</file>
+ <file>/var/lib/jabberd/log/sm.log</file>
-->
</log>
<!-- Storage database configuration -->
<storage>
+ <!-- Dynamic storage modules path -->
+ <path>/usr/lib/jabberd</path>
+
<!-- By default, we use the MySQL driver for all storage -->
<driver>db</driver>
<!-- Its also possible to explicitly list alternate drivers for
specific data types. -->
- <!-- Store vcards in a PostgreSQL database instead -->
+
+ <!-- Store vcards in a ldapvcard database instead -->
+ <!--
+ <driver type='vcard'>ldapvcard</driver>
+ -->
+
+ <!-- Read mapping for group id <-> group name from ldap.
+ Used by mod_published_roster.
+ See ldapvcard section for options.
+ When resolving group id to group name, it searches for
+ groupsobjectclass objects at groupsdn base using group id
+ (in groupsidattr) as key and returns the first value of
+ groupattr of first found entry.
+ E.g.. in general case, if group id is "some-dep", and groupsdn
+ is o=org, and class is jabberGroup, it searches for
+ (&(objectClass=jabberGroup)(cn=some-dep)) and returns value of
+ jabberPublishedItem attribute, which may contain textual description.
+ -->
<!--
- <driver type='vcard'>pgsql</driver>
+ <driver type='published-roster-groups'>ldapvcard</driver>
-->
<!-- MySQL driver configuration -->
@@ -86,7 +109,7 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>secret</pass>
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
<!-- Transacation support. If this is commented out, transactions
will be disabled. This might make database accesses faster,
@@ -100,6 +123,14 @@
<!-- PostgreSQL driver configuration -->
<pgsql>
+ <!-- PostgreSQL connection info.
+ For the rest of the options see
+
http://www.postgresql.org/docs/8.0/interactive/libpq.html -->
+ <conninfo>dbname=jabberd2 user=jabberd2 password=secret</conninfo>
+
+ <!-- Alternatively you may set connection settings separately.
+ These are used only in absence of 'conninfo' -->
+
<!-- Database server host and port -->
<host>localhost</host>
<port>5432</port>
@@ -109,7 +140,7 @@
<!-- Database username and password -->
<user>jabberd2</user>
- <pass>secret</pass>
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
<!-- Transacation support. If this is commented out, transactions
will be disabled. This might make database accesses faster,
@@ -117,16 +148,134 @@
<transactions/>
</pgsql>
- <!-- Berkeley DB driver configuration -->
+ <!-- Berkeley DB driver configuration. This does not support roster
+ maxitems or offline userquota (because the mod_roster
+ implementation does not implement the 'count' callback). -->
<db>
<!-- Directory to store database files under -->
- <path>/var/lib/jabberd</path>
+ <path>/var/lib/jabberd/db</path>
<!-- Synchronize the database to disk after each write. If you
disable this, database accesses may be faster, but data may
be lost if jabberd crashes. -->
<sync/>
</db>
+
+ <!-- Oracle driver configuration -->
+ <oracle>
+ <!-- Database server host and port. -->
+ <host>localhost</host>
+ <port>1521</port>
+
+ <!-- Database name -->
+ <dbname>jabberd2</dbname>
+
+ <!-- Database username and password -->
+ <user>jabberd2</user>
+ <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
+ </oracle>
+
+ <!-- SQLite driver configuration -->
+ <sqlite>
+ <!-- Database name -->
+ <dbname>/var/lib/jabberd/db/sqlite.db</dbname>
+
+ <!-- Transacation support. If this is commented out, transactions
+ will be disabled. This might make database accesses faster,
+ but data may be lost if jabberd crashes. -->
+ <transactions/>
+
+ <!-- SQLite busy-timeout in milliseconds. -->
+ <busy-timeout>2000</busy-timeout>
+ </sqlite>
+
+ <!-- Filesystem driver configuration -->
+ <fs>
+ <!-- Directory to store database files under. -->
+ <path>/var/lib/lib/jabberd2/fs</path>
+ </fs>
+
+ <!-- LDAPVCARD driver configuration -->
+ <ldapvcard>
+ <!-- LDAP server host and port (default: 389) -->
+ <uri>ldap://localhost/
ldaps://ldap.example.com/</uri>
+
+ <!-- DN to bind as for searches. If unspecified, the searches
+ will be done anonymously. -->
+ <!--
+ <binddn>cn=Directory Manager</binddn>
+ <bindpw>secret</bindpw>
+ -->
+
+ <!-- see authreg.ldapfull int c2s.xml for description. -->
+ <!--
+ <type>ad</type>
+ -->
+
+ <!-- LDAP attribute that holds the user ID (default: uid) -->
+ <uidattr>uid</uidattr>
+ <objectclass>posixAccount</objectclass>
+ <pwattr>userPassword</pwattr>
+ <!-- if you use included jabberd.schema use this:
+ <uidattr>jid</uidattr>
+ <objectclass>jabberUser</objectclass>
+ <pwattr>jabberPassword</pwattr>
+ -->
+
+ <!-- see authreg.ldapfull int c2s.xml for description. -->
+ <!--
+ <validattr>valid</validattr>
+ -->
+
+ <!-- base DN of the tree. You should specify a DN for each
+ authentication realm declared in the <local/> section above,
+ by using the realm attribute. -->
+ <basedn>o=Example Corp.</basedn>
+
+ <!-- attribute that holds published group name or id,
+ jabberPublishedGroup if not set -->
+ <!--
+ <groupattr>jabberPublishedGroup</groupattr>
+ -->
+
+ <!-- boolean attribute that tells, publish or not this user
+ jabberPublishedItem by default -->
+ <!--
+ <publishedattr>jabberPublishedItem</publishedattr>
+ -->
+
+ <!-- If value specified, then keep cache of "published-roster"
+ database. Cache is renewed when kept more seconds than value
+ specified. Setting this value increases perfomance of publishing
+ roster. If not specified, then we don't keep cache. -->
+ <publishedcachettl>60</publishedcachettl>
+
+ <mapped-groups>
+ <!-- If turned on, then reading mapping of group ids to names with
+ LDAP will works. -->
+ <!--
+ <map-groups/>
+ -->
+
+ <!-- base for searches for group id to group name mappings -->
+ <basedn>ou=jabbergroups, o=Example Corp.</basedn>
+
+ <!-- what objectclass to search, jabberGroup by default -->
+ <!--
+ <objectclass>jabberGroup</objectclass>
+ -->
+
+ <!-- what attribute to search, cn by default -->
+ <!--
+ <idattr>cn</idattr>
+ -->
+
+ <!-- attribute with text group name, description by default -->
+ <!--
+ <nameattr>description</nameattr>
+ -->
+ </mapped-groups>
+ </ldapvcard>
</storage>
<!-- Access control information -->
@@ -134,14 +283,14 @@
<!-- The JIDs listed here will get access to all restricted
functions, regardless of restrictions further down -->
<acl type='all'>
- <jid>admin@localhost</jid>
+ <jid>admin(a)localhost.localdomain</jid>
</acl>
<!-- These JIDs can send broadcast messages (announce, motd) -->
<!--
<acl type='broadcast'>
- <jid>nocstaff1@localhost</jid>
- <jid>nocstaff2@localhost</jid>
+ <jid>nocstaff1(a)localhost.localdomain</jid>
+ <jid>nocstaff2(a)localhost.localdomain</jid>
</acl>
-->
@@ -149,14 +298,14 @@
(help requestes and such) -->
<!--
<acl type='messages'>
- <jid>support@localhost</jid>
+ <jid>support(a)localhost.localdomain</jid>
</acl>
-->
<!-- These JIDs can discover active user/session information -->
<!--
<acl type='disco'>
- <jid>webstatus@localhost</jid>
+ <jid>webstatus(a)localhost.localdomain</jid>
</acl>
-->
</aci>
@@ -176,16 +325,21 @@
this may cause strange behaviour. Make sure you know what you're
doing. -->
<modules>
+ <!-- Dynamic sm modules path -->
+ <path>/usr/lib/jabberd</path>
<!-- sess-start. The modules in this chain are called when a session
is first started (usually on request by c2s as part of the
authentication process). This is normally used to load
per-session data. -->
- <chain id='sess-start'/>
+ <chain id='sess-start'>
+ <module>status</module> <!-- record status information
-->
+ </chain>
<!-- sess-end. The modules in this chain are called just before a
session is destroyed (after the client has disconnected). -->
<chain id='sess-end'>
+ <module>status</module> <!-- update status information
-->
<module>iq-last</module> <!-- update logout time -->
</chain>
@@ -195,12 +349,15 @@
this is usually handled by the "deliver" module. -->
<chain id='in-sess'>
<module>validate</module> <!-- validate packet type -->
+ <module>status</module> <!-- update status information
-->
<module>privacy</module> <!-- manage privacy lists -->
<module>roster</module> <!-- handle roster get/sets and
s10ns -->
<module>vacation</module> <!-- manage vacation settings
-->
<module>iq-vcard</module> <!-- store and retrieve the
user's vcard -->
+ <module>iq-ping</module> <!-- return the server ping
-->
<module>iq-private</module> <!-- manage the user's private
data store -->
<module>disco</module> <!-- respond to agents requests
from sessions -->
+ <module>amp</module> <!-- advanced message processing
-->
<module>offline</module> <!-- if we're coming online
for the first time, deliver queued messages -->
<module>announce</module> <!-- deliver motd -->
<module>presence</module> <!-- process and distribute
presence updates -->
@@ -236,12 +393,16 @@
session-manager-wide services (like service discovery). -->
<chain id='pkt-sm'>
<module>iq-last</module> <!-- return the server uptime
-->
+ <module>iq-ping</module> <!-- return the server ping
-->
<module>iq-time</module> <!-- return the current server
time -->
<module>iq-version</module> <!-- return the server name and
version -->
+ <module>amp</module> <!-- advanced message processing
-->
<module>disco</module> <!-- build the disco list; respond
to disco queries -->
<module>announce</module> <!-- send broadcast messages
(announce, motd, etc) -->
<module>help</module> <!-- resend sm messages to
administrators -->
<module>echo</module> <!-- echo messages sent to /echo
-->
+ <module>status</module> <!-- track status information
-->
+ <module>presence</module> <!-- proces server presence
subscriptions -->
</chain>
<!-- pkt-user. The modules in this chain are called when a packet
@@ -253,6 +414,7 @@
<module>roster</module> <!-- handle s10n responses -->
<module>presence</module> <!-- process and distribute
incoming presence from external entities -->
<module>iq-vcard</module> <!-- grab user vcards -->
+ <module>amp</module> <!-- advanced message processing
-->
<module>deliver</module> <!-- deliver the packet to an
active session if we can -->
<module>vacation</module> <!-- send vacation messages
-->
<module>offline</module> <!-- save messages and s10ns for
later -->
@@ -264,7 +426,7 @@
special-purpose packet arrives from the router (eg domain
advertisements). -->
<chain id='pkt-router'>
- <module>session</module> <!-- take sessions offline their
c2s disappears -->
+ <module>session</module> <!-- take sessions offline if
their c2s disappears -->
<module>disco</module> <!-- query new components for
service information -->
</chain>
@@ -274,6 +436,7 @@
<chain id='user-load'>
<module>active</module> <!-- get active status -->
<module>roster</module> <!-- load the roster and trust
list -->
+ <module>roster-publish</module> <!-- load the published roster
-->
<module>privacy</module> <!-- load privacy lists -->
<module>disco-publish</module> <!-- load published information
-->
<module>vacation</module> <!-- load vacation settings
-->
@@ -300,11 +463,21 @@
<module>privacy</module> <!-- delete privacy lists -->
<module>roster</module> <!-- delete roster -->
<module>vacation</module> <!-- delete vacation settings
-->
+ <module>status</module> <!-- delete status information
-->
<module>iq-last</module> <!-- delete last logout time
-->
<module>iq-private</module> <!-- delete private data -->
<module>iq-vcard</module> <!-- delete vcard -->
</chain>
+ <!-- disco-extend. The modules in this chain are called when a disco
+ info request is send to session manager. It implements XEP-0128
+ Service Discovery Extensions mechanizm to add additional
+ information to disco#info reply. -->
+ <chain id='disco-extend'>
+ <module>iq-version</module> <!-- add XEP-xxxx Software
Information -->
+ <module>help</module> <!-- add XEP-0157 Contact
Addresses -->
+ </chain>
+
</modules>
<!-- Service discovery configuration -->
@@ -327,7 +500,7 @@
<!-- Static service list.
The discover module can discover disco-capable services
- automatically as they come online. Most legacy services,
+ automatically as they come online. Most XEP-0114 components,
however, will not support discovery. In order to get them to
appear in disco/agents lists returned to the client, they
should be listed here.
@@ -353,6 +526,29 @@
</items>
+ <!-- Server information added to server discovery information
+ in
http://jabber.org/network/serverinfo jabber:x:data form. (XEP-0157)
+
+ May contain many values per item -->
+ <!--
+ <serverinfo>
+ <admin-addresses>
+ <value>mailto:xmpp@localhost.localdomain</value>
+ <value>xmpp:admins@localhost.localdomain</value>
+ </admin-addresses>
+ <abuse-addresses>
+ <value>mailto:abuse@localhost.localdomain</value>
+ <value>xmpp:abuse@localhost.localdomain</value>
+ </abuse-addresses>
+ <feedback-addresses>
+ <
value>http://example.org/feedback.php</value>
+ </feedback-addresses>
+ <sales-addresses/>
+ <security-addresses/>
+ <support-addresses/>
+ </serverinfo>
+ -->
+
</discovery>
<!-- User options -->
@@ -371,10 +567,153 @@
<!-- Templates. If defined, the contents of these files will be
stored in the users data store when they are created. -->
<template>
+ <!-- Uncomment <publish> if you wish to forcely publish
+ roster template from ldap on each user login -->
+ <!--
+ <publish>
+ -->
+ <!-- If <check-remove-domain> given, then published contact checked
+ against sm user database and if user is unknown to sm, contact
+ will be deleted from user's roster (if it is in roster). -->
+ <!--
+ <check-remove-domain>jabber.example.com</check-remove-domain>
+ -->
+ <!-- Keep cache of "active" database specified number of seconds.
+ This will significantly speed up publishing of roster.
+ If unspecified or 0, no cache is used. -->
+ <active-cache-ttl>60</active-cache-ttl>
+ <!-- If <fix-subscriptions/> is not commented, set subscriptions of
+ user's contacts to subscriptions of corresponding published
+ contacts. As for now, "both". -->
+ <!--
+ <fix-subscriptions/>
+ -->
+ <!-- If <override-names/> is not commented, then displayed names of
+ contacts in user's roster will be updated accordingly to
+ published roster (if they differ). If commented, then user can
+ rename contacs in roster -->
+ <!--
+ <override-names/>
+ -->
+ <!-- when mapped-groups is on (<map-groups/> is uncommented, the actual
+ group names for published contacts are read from
+ published-roster-groups storage type, which in turn may be mapped
+ to ldapvcard driver. The key for searching is published user's
+ group, and returned value is used as group name. So you can assign
+ textual group IDs to users rather then group names.
+ group-cache-ttl keeps cache of mapping group id <-> group name for
+ specified number of seconds. If unspecified or 0, no cache is used.
+ -->
+ <!--
+ <mapped-groups/>
+ <map-groups/>
+ <group-cache-ttl>120</group-cache-ttl>
+ </mapped-groups>
+ -->
+ <!-- If <force-groups> is commented out, published roster's contact
+ added to user's roster only when user does not have this contact.
+ If <force-groups> is not commented out, then these checks performed
+ against roster item when publishing roster item that already in
+ user's roster:
+ If user already has added his roster's contact to group of
+ published contact, no changes are made with this group (note
+ that contact may be in more than one group).
+ If <prefix> given, then prefix of each group of user's compared
+ whith given prefix, and if it matches, user's contact removed from
+ matched group (see below).
+ Same for <suffix>.
+ After that, user's contact added to a group of published roster's
+ contact.
+ In other words, all groups of updated contact, that match prefix
+ or suffix, replaced with group of published contact.
+ This is done because there is no way to determine that group was
+ published or greated by user. -->
+ <!--
+ <force-groups>
+ <prefix>MyOrg.</prefix>
+ <suffix>(MyOrg)</suffix>
+ </force-groups>
+ -->
+ <!--
+ </publish>
+ -->
+
+ <!-- If you defined publish, you should comment <roster> -->
<!--
<roster>/etc/jabberd/templates/roster.xml</roster>
-->
</template>
</user>
+ <!-- Advanced Message Processing module configuration -->
+ <amp>
+ <!-- You can disable some actions -->
+ <!--
+ <disableactions>
+ <drop/>
+ <error/>
+ <alert/>
+ <notify/>
+ </disableactions>
+ -->
+
+ <!-- You can disable some conditions -->
+ <!--
+ <disableconditions>
+ <expireat/>
+ <matchresource/>
+ <deliver/>
+ </disableconditions>
+ -->
+
+ <!-- You need to enable this if your server has offline storage disabled -->
+ <!--
+ <offlinestoragedisabled/>
+ -->
+ </amp>
+
+ <!-- Offline module configuration -->
+ <offline>
+ <!-- Do not store messages in offline store -->
+ <!--
+ <dropmessages/>
+ -->
+
+ <!-- Store headline messages in offline store -->
+ <!--
+ <storeheadlines/>
+ -->
+
+ <!-- Do not store subscription requests in offline store -->
+ <!--
+ <dropsubscriptions/>
+ -->
+
+ <!-- Offline storage message quota.
+ Specifies how many messages will be stored in user offline store -->
+ <!--
+ <userquota>500</userquota>
+ -->
+ </offline>
+
+ <!-- roster module configuration -->
+ <roster>
+ <!-- maximum items per user roster -->
+ <!--
+ <maxitems>100</maxitems>
+ -->
+ </roster>
+
+ <!-- status module configuration -->
+ <status>
+ <!-- presence service resource
+ disabled when commented out -->
+ <!--
+ <resource>webstatus</resource>
+ -->
+ </status>
+
</sm>
+<!--
+ vim: syntax=xml
+-->
diff --git a/spacewalk/setup/bin/spacewalk-setup b/spacewalk/setup/bin/spacewalk-setup
index 00a3690..5f9496d 100644
--- a/spacewalk/setup/bin/spacewalk-setup
+++ b/spacewalk/setup/bin/spacewalk-setup
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
-# Copyright (c) 2008 Red Hat, Inc.
+# Copyright (c) 2008,2009 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
@@ -603,7 +603,7 @@ sub setup_ssl_certs {
Spacewalk::Setup::generate_server_pem(-ssl_dir => $answers->{'ssl-dir'},
-system => $system_name,
- -out_file => '/etc/jabberd/server.pem');
+ -out_file => '/etc/pki/spacewalk/jabberd/server.pem');
store_ssl_cert(-ssl_dir => $answers->{'ssl-dir'});
}
commit 7e6ee620da928d15e3d50bd752f51183213a352f
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Tue Mar 24 14:37:04 2009 -0400
489616 - update NewChannelHelper to avoid duplicate query...
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
index 52e1c34..21f4d61 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
@@ -137,8 +137,8 @@ public class NewChannelHelper {
// then attempt to clone a channel (e.g. using API). In that case,
// it is possible the family doesn't yet exist when this method is
called.
OrgManager.createChannelFamily(user.getOrg());
+ family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
}
- family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
family.getChannels().add(cloned);
cloned.setChannelFamily(family);
commit 1aad37f79cfc242aa4a3752f46b0d70f4a1bef4c
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Tue Mar 24 14:21:49 2009 -0400
491762 - ProfileManager.epochcmp incorrectly handling null epoch value
If the second epoch (e2) being evaluated was null, it would generate ISE due
to an incorrect comparison.
diff --git a/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java
b/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java
index 5e5ace6..11840fc 100644
--- a/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java
+++ b/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java
@@ -1211,7 +1211,7 @@ public class ProfileManager extends BaseManager {
if (e1 != null) {
epoch1 = Integer.parseInt(e1);
}
- if (e1 != null) {
+ if (e2 != null) {
epoch2 = Integer.parseInt(e2);
}
commit f811e59d177e6922c54eea65123d9782b324bac7
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Tue Mar 24 12:58:07 2009 -0400
489616 - update NewChannelHelper.clone to create channel family, if none exists
In most cases, a private channel family will exist before a channel is
cloned. For example, recent changes were introduced to ensure that a private
channel family is created for scenarios like initial activation of the server,
syncing of channels as well as creation of organizations; however, there is an
edge case that is not covered.
The edge case involves earlier installations (e.g. 0.1) that are upgraded to
the latest release (e.g. 0.5). For example, if a user has Spacewalk 0.1
installed and they sync a channel, no private family is created.
If the user then upgrades to the latest release that contains the other
improvements, there still will not exist a private channel family.
As a result, if the user then attempts to clone the channel that they
synced in 0.1 using the API (channel.software.clone) a null pointer
exception will be generated.
This commit is to address this edge case...
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
index 6a882ca..52e1c34 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
@@ -16,6 +16,7 @@ package com.redhat.rhn.domain.channel;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.manager.channel.ChannelManager;
+import com.redhat.rhn.manager.org.OrgManager;
import com.redhat.rhn.manager.user.UserManager;
import java.util.Date;
@@ -31,7 +32,6 @@ import java.util.regex.Pattern;
* @version $Rev$
*/
public class NewChannelHelper {
-
//required
private String name;
@@ -39,7 +39,6 @@ public class NewChannelHelper {
private ChannelArch arch;
private String summary;
private User user;
-
//optional
private Channel parent;
@@ -48,8 +47,6 @@ public class NewChannelHelper {
private String gpgFingerprint;
private String description;
-
-
/**
* Creates a cloned channel based off the info contained within this object
* and the packages in the toClone
@@ -102,7 +99,6 @@ public class NewChannelHelper {
cloned.setOrg(user.getOrg());
cloned.setBaseDir("/dev/null"); //this is how the perl code did it
cloned.setOriginal(toClone);
-
if (parent != null) {
cloned.setParentChannel(parent);
@@ -130,8 +126,21 @@ public class NewChannelHelper {
}
//adopt the channel into the org's channelfamily
- ChannelFamilyFactory.lookupByOrg(user.getOrg()).getChannels().add(cloned);
- cloned.setChannelFamily(ChannelFamilyFactory.lookupByOrg(user.getOrg()));
+ ChannelFamily family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
+ if (family == null) {
+ // In most scenarios, the channel family will not be null. Changes
+ // were made to ensure that the family is created at org creation (486018)
+ // as well as during satellite-sync (446289); however, there is still
+ // an edge case where a customer may have an earlier Satellite (e.g. 511)
+ // with a configuration that doesn't have a channel family created yet,
+ // they upgrade to the version that has these improvements (e.g. 530) and
+ // then attempt to clone a channel (e.g. using API). In that case,
+ // it is possible the family doesn't yet exist when this method is
called.
+ OrgManager.createChannelFamily(user.getOrg());
+ }
+ family = ChannelFamilyFactory.lookupByOrg(user.getOrg());
+ family.getChannels().add(cloned);
+ cloned.setChannelFamily(family);
// Mark the affected channel to have it's metadata evaluated, where
necessary
// (RHEL5+, mostly)
commit 722a4e08b464a4e9bb1c59c180b764578a32e0d1
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Mar 24 12:17:32 2009 -0400
491206 - fixed ISE upon errata deletion
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 2681205..04c0c37 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -470,7 +470,7 @@ public class ErrataManager extends BaseManager {
oe.getId().longValue(), user.getOrg().getId(), null);
for (Iterator chanItr = channels.iterator(); chanItr.hasNext();) {
Map chan = (Map)chanItr.next();
- String lbl = chan.get("channel_label").toString();
+ String lbl = chan.get("label").toString();
ChannelManager.queueChannelChange(lbl,
"java::deleteErrata", oe.getAdvisory());
}
commit 401c24f7c6dddf71aee78723511252c8aa57180e
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Tue Mar 24 11:21:10 2009 -0500
467063 - Ported errata overview and relevant errata over to new list tag to provide
page size control
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
index 7757640..5aaaa70 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java
@@ -14,31 +14,45 @@
*/
package com.redhat.rhn.frontend.action.errata;
-import com.redhat.rhn.frontend.action.BaseFilterAction;
-
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.errata.ErrataManager;
/**
- * ErrataListRelevantAction
- * @version $Rev$
+ * Loads the data for the relevant errata. This action is written to comply with the
+ * "new" list tag.
+ *
+ * @version $Revision$
*/
-public class ErrataListRelevantAction extends BaseFilterAction {
+public class ErrataListRelevantAction extends RhnAction implements Listable {
/** {@inheritDoc} */
- public ActionForward execute(ActionMapping mapping,
- ActionForm formIn,
+ public ActionForward execute(ActionMapping actionMapping,
+ ActionForm actionForm,
HttpServletRequest request,
- HttpServletResponse response) {
- Map params = makeParamMap(request);
- processFilterParameters(params, request);
-
- return
getStrutsDelegate().forwardParams(mapping.findForward("default"), params);
+ HttpServletResponse response)
+ throws Exception {
+
+ ListHelper helper = new ListHelper(this, request);
+ helper.execute();
+
+ return actionMapping.findForward("default");
+ }
+
+ /** {@inheritDoc} */
+ public List getResult(RequestContext context) {
+ User user = context.getLoggedInUser();
+ DataResult result = ErrataManager.relevantErrata(user);
+ return result;
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java
deleted file mode 100644
index eb363ff..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata;
-
-import com.redhat.rhn.common.db.datasource.DataResult;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.listview.PageControl;
-import com.redhat.rhn.manager.errata.ErrataManager;
-
-/**
- * ErrataListRelevantSetupAction
- * @version $Rev$
- */
-public class ErrataListRelevantSetupAction extends BaseErrataListSetupAction {
-
- /**
- * {@inheritDoc}
- */
- protected DataResult getDataResult(User user, PageControl pc) {
- pc.setFilter(true);
- pc.setFilterColumn("advisorySynopsis");
- return ErrataManager.relevantErrata(user, pc);
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java
deleted file mode 100644
index c73f08e..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
-
-/**
- * ErrataListRelevantActionTest
- * @version $Rev$
- */
-public class ErrataListRelevantActionTest extends RhnBaseTestCase {
-
- public ErrataListRelevantActionTest(String name) {
- super(name);
- }
-
- public void testExecute() throws Exception {
- ErrataListRelevantSetupAction action = new ErrataListRelevantSetupAction();
- ActionHelper ah = new ActionHelper();
-
- ah.setUpAction(action);
- ah.setupClampListBounds();
- ah.executeAction();
- }
-}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java
deleted file mode 100644
index 00f3ccf..0000000
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Copyright (c) 2009 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.action.errata.test;
-
-import com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction;
-import com.redhat.rhn.testing.ActionHelper;
-import com.redhat.rhn.testing.RhnBaseTestCase;
-
-/**
- * ErrataListRelevantSetupActionTest
- * @version $Rev$
- */
-public class ErrataListRelevantSetupActionTest extends RhnBaseTestCase {
-
- public ErrataListRelevantSetupActionTest(String name) {
- super(name);
- }
-
- public void testExecute() throws Exception {
- ErrataListRelevantSetupAction action = new ErrataListRelevantSetupAction();
- ActionHelper ah = new ActionHelper();
-
- ah.setUpAction(action);
- ah.setupClampListBounds();
-
- ah.executeAction();
-
- assertNotNull(ah.getRequest().getAttribute("pageList"));
- }
-}
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index d76b41e..2681205 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -295,16 +295,15 @@ public class ErrataManager extends BaseManager {
/**
* Returns the relevant errata.
* @param user Currently logged in user.
- * @param pc PageControl
* @return relevant errata.
*/
- public static DataResult relevantErrata(User user, PageControl pc) {
+ public static DataResult relevantErrata(User user) {
SelectMode m = ModeFactory.getMode("Errata_queries",
"relevant_errata");
Map params = new HashMap();
params.put("user_id", user.getId());
Map elabParams = new HashMap();
elabParams.put("user_id", user.getId());
- return makeDataResult(params, elabParams, pc, m);
+ return makeDataResult(params, elabParams, null, m);
}
/**
diff --git a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
index e291be9..ab68312 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java
@@ -182,10 +182,7 @@ public class ErrataManagerTest extends RhnBaseTestCase {
User user = UserTestUtils.findNewUser("testUser",
"testOrg");
ErrataCacheManagerTest.createServerNeededPackageCache(user,
ErrataFactory.ERRATA_TYPE_BUG);
- PageControl pc = new PageControl();
- pc.setStart(1);
- pc.setPageSize(20);
- DataResult errata = ErrataManager.relevantErrata(user, pc);
+ DataResult errata = ErrataManager.relevantErrata(user);
assertNotNull(errata);
assertTrue(errata.size() >= 1);
}
diff --git
a/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf
b/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf
index 733434f..2078084 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf
@@ -1,36 +1,41 @@
-<c:set var="pageList" value="${requestScope.pageList}" />
-<rhn:list pageList="${requestScope.pageList}"
noDataText="erratalist.jsp.norelevanterrata"
- legend="errata">
- <rhn:listdisplay filterBy="erratalist.jsp.synopsis">
- <rhn:column header="erratalist.jsp.type" style="text-align:
left;">
- <c:if test="${current.securityAdvisory}">
- <img src="/img/wrh-security.gif"
- alt="<bean:message
key="erratalist.jsp.securityadvisory"/>" />
- </c:if>
- <c:if test="${current.bugFix}">
- <img src="/img/wrh-bug.gif"
- alt="<bean:message
key="erratalist.jsp.bugadvisory"/>" />
- </c:if>
- <c:if test="${current.productEnhancement}">
- <img src="/img/wrh-product.gif"
- alt="<bean:message
key="erratalist.jsp.productenhancementadvisory"/>" />
- </c:if>
- </rhn:column>
- <rhn:column header="erratalist.jsp.advisory"
- url="/rhn/errata/details/Details.do?eid=${current.id}"
- sortProperty="advisory">
- ${current.advisoryName}
- </rhn:column>
- <rhn:column header="erratalist.jsp.synopsis"
sortProperty="advisorySynopsis">
- ${current.advisorySynopsis}
- </rhn:column>
- <rhn:column header="erratalist.jsp.systems" style="text-align:
center;"
- url="/rhn/errata/details/SystemsAffected.do?eid=${current.id}"
- sortProperty="affectedSystemCount">
- ${current.affectedSystemCount}
- </rhn:column>
- <rhn:column header="erratalist.jsp.updated" style="text-align:
center;">
- ${current.updateDate}
- </rhn:column>
- </rhn:listdisplay>
-</rhn:list>
+<rl:listset name="groupSet" legend="errata">
+
+ <rl:list>
+
+ <rl:decorator name="PageSizeDecorator"/>
+ <rl:decorator name="ElaborationDecorator"/>
+
+ <rl:column headerkey="erratalist.jsp.type"
styleclass="text-align: left;">
+ <c:if test="${current.securityAdvisory}">
+ <img src="/img/wrh-security.gif"
+ alt="<bean:message
key="erratalist.jsp.securityadvisory"/>"/>
+ </c:if>
+ <c:if test="${current.bugFix}">
+ <img src="/img/wrh-bug.gif"
+ alt="<bean:message
key="erratalist.jsp.bugadvisory"/>"/>
+ </c:if>
+ <c:if test="${current.productEnhancement}">
+ <img src="/img/wrh-product.gif"
+ alt="<bean:message
key="erratalist.jsp.productenhancementadvisory"/>"/>
+ </c:if>
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.advisory">
+ <a
href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a>
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.synopsis"
+ sortable="true"
+ sortattr="advisorySynopsis"
+ filterattr="advisorySynopsis">
+ ${current.advisorySynopsis}
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.systems"
+ styleclass="text-align: center;">
+ <a
href="/rhn/errata/details/SystemsAffected.do?eid=${current.id}">${current.affectedSystemCount}</a>
+ </rl:column>
+ <rl:column headerkey="erratalist.jsp.updated"
styleclass="text-align: center;">
+ ${current.updateDate}
+ </rl:column>
+
+ </rl:list>
+
+</rl:listset>
diff --git a/java/code/webapp/WEB-INF/pages/errata/overview.jsp
b/java/code/webapp/WEB-INF/pages/errata/overview.jsp
index 0ceb1dd..f37fec6 100644
--- a/java/code/webapp/WEB-INF/pages/errata/overview.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/overview.jsp
@@ -1,4 +1,5 @@
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
@@ -22,8 +23,8 @@
<p><bean:message key="errata.overview.jsp.summary"/></p>
<h2><bean:message key="errata.jsp.header"/></h2>
-<form method="post" name="rhn_list"
action="/rhn/errata/OverviewSubmit.do">
+
<%@ include
file="/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf" %>
-</form>
+
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/errata/relevant.jsp
b/java/code/webapp/WEB-INF/pages/errata/relevant.jsp
index 5d15734..1dc9466 100644
--- a/java/code/webapp/WEB-INF/pages/errata/relevant.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/relevant.jsp
@@ -1,4 +1,5 @@
<%@ taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@ taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl"
%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-html"
prefix="html" %>
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
@@ -18,8 +19,8 @@
helpUrl="/rhn/help/reference/en/s2-sm-applicable-errata.jsp">
<bean:message key="erratalist.jsp.relevanterrata"/>
</rhn:toolbar>
-<form method="POST" name="rhn_list"
action="/rhn/errata/RelevantErrataSubmit.do">
+
<%@ include
file="/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf" %>
-</form>
+
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 3d57a57..a458c58 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -1746,35 +1746,19 @@
<action path="/errata/Overview"
scope="request"
input="/WEB-INF/pages/errata/overview.jsp"
-
type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction">
+
type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction">
<forward name="default"
path="/WEB-INF/pages/errata/overview.jsp"/>
</action>
- <action path="/errata/OverviewSubmit"
- scope="request"
- input="/WEB-INF/pages/errata/overview.jsp"
-
type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction">
- <forward name="default"
- path="/errata/Overview.do" redirect="true"/>
- </action>
-
- <action path="/errata/RelevantErrata"
+ <action path="/errata/RelevantErrata"
scope="request"
input="/WEB-INF/pages/errata/relevant.jsp"
-
type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction">
+
type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction">
<forward name="default"
path="/WEB-INF/pages/errata/relevant.jsp" />
</action>
- <action path="/errata/RelevantErrataSubmit"
- scope="request"
- input="/WEB-INF/pages/errata/relevant.jsp"
-
type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction">
- <forward name="default"
- path="/errata/RelevantErrata.do"
redirect="true"/>
- </action>
-
<action path="/errata/details/Details"
scope="request"
input="/WEB-INF/pages/errata/details.jsp"
commit a6df9de78711cd78f0dbb62af1a2b7f39c9b9bf9
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 24 14:52:18 2009 +0100
Automatic commit of package [oracle-instantclient-selinux] minor release [10.2-8].
diff --git a/rel-eng/packages/oracle-instantclient-selinux
b/rel-eng/packages/oracle-instantclient-selinux
index a05f88d..c3f8284 100644
--- a/rel-eng/packages/oracle-instantclient-selinux
+++ b/rel-eng/packages/oracle-instantclient-selinux
@@ -1 +1 @@
-10.2-7 selinux/oracle-instantclient-selinux/
+10.2-8 selinux/oracle-instantclient-selinux/
diff --git a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
index a4fbe70..96654fa 100644
--- a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
+++ b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
@@ -1,7 +1,7 @@
Name: oracle-instantclient-selinux
Version: 10.2
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: SELinux support for Oracle Instant Client
Group: System Environment/Base
License: GPLv2+
@@ -56,6 +56,10 @@ fi
%files
%changelog
+* Tue Mar 24 2009 Jan Pazdziora 10.2-8
+- make the package noarch since we use wildcards in path
+- 491849 - losen the version specification of the Oracle InstantClient
+
* Mon Feb 9 2009 Jan Pazdziora 10.2-7
- add texrel_shlib_t to libsqlplus.so
commit a0d633103f21c976b5b877c8407f53e0b6a9e700
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 24 14:35:58 2009 +0100
oracle-instantclient-selinux: since we use wildcard in path for version, we can use it
for client/client64 and make the package noarch.
diff --git a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
index c7e3b16..a4fbe70 100644
--- a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
+++ b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
@@ -12,6 +12,7 @@ License: GPLv2+
# make srpm TAG=%{name}-%{version}-%{release}
URL:
http://fedorahosted.org/spacewalk
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildArch: noarch
Requires(post): /usr/sbin/semanage, /sbin/restorecon, /usr/bin/execstack
Requires(postun): /usr/sbin/semanage, /sbin/restorecon, /usr/bin/execstack
@@ -32,30 +33,24 @@ install -d $RPM_BUILD_ROOT/%{rhnroot}
%clean
rm -rf $RPM_BUILD_ROOT
-%ifarch x86_64 s390x
-%define clientdir client64
-%else
-%define clientdir client
-%endif
-
%define used_libs libocci.so.10.1 libclntsh.so.10.1 libnnz10.so libociei.so
libsqlplus.so
%post
-/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/bin/sqlplus'
+/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\..*/client.*/bin/sqlplus'
for i in %used_libs ; do
- /usr/sbin/semanage fcontext -a -t textrel_shlib_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/lib/'${i//./\\.}
- /usr/bin/execstack -c /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i
+ /usr/sbin/semanage fcontext -a -t textrel_shlib_t
'/usr/lib/oracle/10\.2\..*/client.*/lib/'${i//./\\.}
+ /usr/bin/execstack -c /usr/lib/oracle/10.2.*/client*/lib/$i
done
-/sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || :
+/sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/client* || :
%postun
if [ $1 -eq 0 ]; then
- /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/bin/sqlplus'
+ /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\..*/client.*/bin/sqlplus'
for i in %used_libs ; do
- /usr/sbin/semanage fcontext -d -t textrel_shlib_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/lib/'${i//./\\.}
- /usr/bin/execstack -s /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i
+ /usr/sbin/semanage fcontext -d -t textrel_shlib_t
'/usr/lib/oracle/10\.2\..*/client.*/lib/'${i//./\\.}
+ /usr/bin/execstack -s /usr/lib/oracle/10.2.*/client*/lib/$i
done
- /sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || :
+ /sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/client* || :
fi
%files
commit be478a62aa586c71de0a83eeb77918de0e95e55a
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 24 14:21:49 2009 +0100
491849 - losen the version specification of the Oracle InstantClient as there are
different versions on different arches.
diff --git a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
index 1704eef..c7e3b16 100644
--- a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
+++ b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec
@@ -41,21 +41,21 @@ rm -rf $RPM_BUILD_ROOT
%define used_libs libocci.so.10.1 libclntsh.so.10.1 libnnz10.so libociei.so
libsqlplus.so
%post
-/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\.0\.4/%{clientdir}/bin/sqlplus'
+/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/bin/sqlplus'
for i in %used_libs ; do
- /usr/sbin/semanage fcontext -a -t textrel_shlib_t
'/usr/lib/oracle/10\.2\.0\.4/%{clientdir}/lib/'${i//./\\.}
- /usr/bin/execstack -c /usr/lib/oracle/10.2.0.4/%{clientdir}/lib/$i
+ /usr/sbin/semanage fcontext -a -t textrel_shlib_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/lib/'${i//./\\.}
+ /usr/bin/execstack -c /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i
done
-/sbin/restorecon -Rvv /usr/lib/oracle/10.2.0.4/%{clientdir} || :
+/sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || :
%postun
if [ $1 -eq 0 ]; then
- /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\.0\.4/%{clientdir}/bin/sqlplus'
+ /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/bin/sqlplus'
for i in %used_libs ; do
- /usr/sbin/semanage fcontext -d -t textrel_shlib_t
'/usr/lib/oracle/10\.2\.0\.4/%{clientdir}/lib/'${i//./\\.}
- /usr/bin/execstack -s /usr/lib/oracle/10.2.0.4/%{clientdir}/lib/$i
+ /usr/sbin/semanage fcontext -d -t textrel_shlib_t
'/usr/lib/oracle/10\.2\..*/%{clientdir}/lib/'${i//./\\.}
+ /usr/bin/execstack -s /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i
done
- /sbin/restorecon -Rvv /usr/lib/oracle/10.2.0.4/%{clientdir} || :
+ /sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || :
fi
%files
commit c7d6fc215e9874b3defc6f8f83b428002b9f6e0e
Author: Milan Zazrivec <mzazrivec(a)redhat.com>
Date: Tue Mar 24 12:06:56 2009 +0100
466747 - On s390x, stty: standard input: Bad file descriptor
oracle-instantclient on s390x sets FD_CLOEXEC on stdin, which causes
stty (called from within perl) to error out when doing stty -echo
diff --git a/spacewalk/setup/bin/spacewalk-setup b/spacewalk/setup/bin/spacewalk-setup
index d987ac9..00a3690 100644
--- a/spacewalk/setup/bin/spacewalk-setup
+++ b/spacewalk/setup/bin/spacewalk-setup
@@ -37,6 +37,7 @@ use DateTime;
use Sys::Hostname;
use Getopt::Long;
use Spacewalk::Setup;
+use Fcntl qw(F_GETFD F_SETFD FD_CLOEXEC);
use RHN::SatInstall;
use RHN::SatCluster;
@@ -1120,6 +1121,14 @@ sub setup_monitoring {
my $scout_shared_key = RHN::SatCluster->fetch_key($scout->recid);
write_config({ monitoringDOTscout_shared_key => $scout_shared_key },
Spacewalk::Setup::DEFAULT_SATCON_DICT);
+
+ # Bugzilla 466747: On s390x, stty: standard input: Bad file descriptor
+ # For some reason DBI mistakenly sets FD_CLOEXEC on a stdin file descriptor
+ # here. This made it impossible for us to succesfully call `stty -echo`
+ # later in the code. Following two lines work around the problem.
+
+ my $flags = fcntl(STDIN, F_GETFD, 0);
+ fcntl(STDIN, F_SETFD, $flags & ~FD_CLOEXEC);
return 1;
}
commit ec07456b8dd7c87d4ab2ca3c32f18e0a3360e21f
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 18:05:32 2009 -0400
491186 - fixing issue where viewing a kickstart (or any non-authenticated page) over
http would invalidate your session, by refreshing your pxt cookie
diff --git a/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java
b/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java
index a81d1f3..400a1d8 100644
--- a/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java
+++ b/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java
@@ -91,13 +91,18 @@ public class PxtAuthenticationService extends
BaseAuthenticationService {
* {@inheritDoc}
*/
public boolean validate(HttpServletRequest request, HttpServletResponse response) {
-
+ //is authentication needed (i.e. is our session valid, and does the url
+ // we are hitting require auth)
if (isAuthenticationRequired(request)) {
invalidate(request, response);
return false;
}
-
- pxtDelegate.refreshPxtSession(request, response);
+ //if we are authenticated, and our URL requires auth, refresh
+ // The session. If the url doesn't require auth
+ // Don't refresh it, because that may invalidate our old session
+ if (requestURIRequiresAuthentication(request)) {
+ pxtDelegate.refreshPxtSession(request, response);
+ }
return true;
}
commit 3b1be048609b72a91f0a38051af178f87bc1af3e
Author: Brad Buckingham <bbuckingham(a)redhat.com>
Date: Mon Mar 23 16:04:17 2009 -0400
491021 - api - ensure that repomd regeneration is triggered by APIs
When APIs are invoked that alter the packages contained within a channel,
repomd needs to be triggered. This is accomplished by invoking the
ChannelManager.queueChannelChange API that was added as part of bz 468781.
While investigating bz 491021, I found that modifications have already been
made that will enable this to be triggered for various APIs; therefore, this
commit is much smaller than initially expected... :)
Below is a quick summary:
mespace packages:
- removePackage - uses PackageManager.schedulePackageRemoval which already
invokes ChannelManager.queueChannelChange
namespace channel.software:
- addPackages - uses ChannelEditor addPackages->changePackages which already
invokes ChannelManager.queueChannelChange
- clone - updated NewChannelHelper.clone to queueChannelChange for the newly
cloned channel
- create - n/a, since no packages associated at channel creation time..
- delete - uses ChannelManager.deleteChannel which already invokes
ChannelManager.queueChannelChange
- mergePackages - updated ChannelSoftwareHandler.mergePackages to invoke
queueChannelChange
- removePackages - uses ChannelEditor removePackages->changePackages which
already invokes ChannelManager.queueChannelChange
namespace errata:
- There aren't any changes needed at this time to the current errata APIs.
The reason being the APIs for errata do not alter the content
of a channel (ie. no package adds/removes)
Also, updated ErrataFactory.publishErrataPackagesToChannel to invoke
ChannelManager.queueChannelChange. This is used when a package is added to
a channel as a result of associating the package with Errata.
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
index a242baa..6a882ca 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java
@@ -15,6 +15,7 @@
package com.redhat.rhn.domain.channel;
import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.manager.channel.ChannelManager;
import com.redhat.rhn.manager.user.UserManager;
import java.util.Date;
@@ -132,7 +133,10 @@ public class NewChannelHelper {
ChannelFamilyFactory.lookupByOrg(user.getOrg()).getChannels().add(cloned);
cloned.setChannelFamily(ChannelFamilyFactory.lookupByOrg(user.getOrg()));
-
+ // Mark the affected channel to have it's metadata evaluated, where
necessary
+ // (RHEL5+, mostly)
+ ChannelManager.queueChannelChange(label, "java::cloneChannel", null);
+
return cloned;
}
diff --git a/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java
b/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java
index ac04303..319c48a 100644
--- a/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java
@@ -309,20 +309,20 @@ public class ErrataFactory extends HibernateFactory {
ChannelFactory.save(chan);
-
List chanList = new ArrayList();
chanList.add(chan.getId());
//ErrataCacheManager.updateErrataCacheForChannelsAsync(chanList, user.getOrg());
ErrataCacheManager.insertCacheForChannelErrataAsync(chanList, errata);
ChannelManager.refreshWithNewestPackages(chan, "web.errata_push");
- return errata;
+ // Mark the affected channel to have it's metadata evaluated, where
necessary
+ // (RHEL5+, mostly)
+ ChannelManager.queueChannelChange(chan.getLabel(),
+ "java::publishErrataPackagesToChannel", user.getLogin());
+ return errata;
}
-
-
-
/**
* @param org Org performing the cloning
* @param e Errata to be cloned
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java
index c58286f..0193d00 100644
---
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java
+++
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java
@@ -1764,6 +1764,12 @@ public class ChannelSoftwareHandler extends BaseHandler {
mergeTo.getPackages().addAll(differentPackages);
ChannelFactory.save(mergeTo);
ChannelManager.refreshWithNewestPackages(mergeTo, "api");
+
+ // Mark the affected channel to have it's metadata evaluated, where
necessary
+ // (RHEL5+, mostly)
+ ChannelManager.queueChannelChange(mergeTo.getLabel(),
"java::mergePackages",
+ loggedInUser.getLogin());
+
return differentPackages.toArray();
}
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
index d1520a2..376c6d7 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java
@@ -989,11 +989,11 @@ public class ErrataHandler extends BaseHandler {
for (Iterator itr = channelsLabels.iterator(); itr.hasNext();) {
String channelLabel = (String) itr.next();
Channel channel = ChannelFactory.lookupByLabelAndUser(channelLabel, user);
- ChannelManager.verifyChannelAdmin(user, channel.getId());
if (channel == null) {
throw new InvalidChannelLabelException();
}
else {
+ ChannelManager.verifyChannelAdmin(user, channel.getId());
resolvedList.add(channel);
}
}
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index 6ccb038..0047711 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -809,7 +809,7 @@ public class ChannelManager extends BaseManager {
"api.channel.delete.haschild"));
}
ChannelManager.queueChannelChange(label,
- "java::deleteChannel", user.getLogin());
+ user.getLogin(), "java::deleteChannel");
ChannelFactory.remove(toRemove);
}
}
commit 7b5a156fb43b149c22632d5078c7b0a8b89443d4
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 15:26:55 2009 -0400
248017 - adding config to apache to not display version in error pages or in HEAD
requests
diff --git a/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf
b/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf
index 481cdef..8322c39 100644
--- a/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf
+++ b/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf
@@ -70,6 +70,9 @@ RedirectMatch ^/index\.html$ /rhn/Login.do
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
+ServerTokens Prod
+ServerSignature Off
+
# This rule handles incoming kickstart file requests from
# machines actually performing a kickstart. This rule
# processes the incoming URL and converts it into something
commit 066f3d0a981ae2c43c021bf63825a56119605fe9
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 14:55:01 2009 -0400
491642 - fixing null pointer exception that occurs when trying to select everything on
a page where everything is already selected
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java
b/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java
index f04eb1f..3fdef7d 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java
@@ -69,6 +69,10 @@ public class SetItemSelectionAction extends RhnAction {
String checked = req.getParameter(CHECKED);
boolean isOn = checked.equals("on");
+ if (which == null) {
+ return null;
+ }
+
if (SessionSetHelper.exists(req, setLabel)) {
Set<String> set = SessionSetHelper.lookupAndBind(req, setLabel);
commit 83c67218217b5653fc60684678dc030636203016
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Mon Mar 23 14:52:48 2009 -0400
More documentation of the new list tag components
diff --git
a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
index 264832e..abb7e45 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
@@ -36,9 +36,13 @@ import com.redhat.rhn.manager.rhnset.RhnSetManager;
* the items selected in the page are stored. For more information, see
* {@link #setup(RhnSetDecl)} and <a
href="https://fedorahosted.org/spacewalk/wiki/ListTag">
* the Spacewalk wiki.</a>
+ * <p/>
+ * If the user selected items should be stored in a session rather than the database,
+ * use {@link ListSessionSetHelper} instead.
*
* @author paji
* @version $Rev$
+ * @see ListSessionSetHelper
*/
public class ListRhnSetHelper extends ListSetHelper {
diff --git
a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java
index b256c47..0eeff83 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java
@@ -15,114 +15,130 @@
package com.redhat.rhn.frontend.taglibs.list.helper;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.SessionSetHelper;
-
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
-
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.SessionSetHelper;
/**
+ * Used in creating web session backed actions that tie into the "new" list tag
(i.e. in the
+ *
http://rhn.redhat.com/tags/list taglib namespace).
+ * <p/>
+ * If the user selected items need to be more persistant than simply the session, use
+ * {@link ListRhnSetHelper} instead.
+ *
* @author paji
- * ListSessionSetHelper.java
* @version $Rev$
+ * @see ListRhnSetHelper
*/
public class ListSessionSetHelper extends ListSetHelper {
- private Set set;
+
+ /** Holds on to the user selected items. */
+ private Set<String> set;
+
+ /**
+ * Helper instance, keyed to the request at instantiation, used for working with
+ * the list itself.
+ */
private SessionSetHelper helper;
+
+ /** Effectively the name of the data set, used to keep different sets of data unique.
*/
private String decl;
-
+
/**
- * constructor
- * @param inp listable
- * @param req the servlet request
- * @param params the parameter map for this request
- * @param declPrefix the declaration prefix
- * needed to make this set declaration unique.
+ * Creates a new <code>ListSessionSetHelper</code> that will use the
given prefix
+ * as the uniqueness indicator for tracking the set data.
+ * <p/>
+ * It is important that if the value chosen for the prefix is unique across all
actions
+ * to prevent a conflict in storing user selected values.
+ *
+ * @param inp listable
+ * @param req the servlet request
+ * @param params the parameter map for this request
+ * @param declPrefix the declaration prefix needed to make this set declaration
unique
*/
- public ListSessionSetHelper(Listable inp, HttpServletRequest req,
- Map params, String declPrefix) {
+ public ListSessionSetHelper(Listable inp, HttpServletRequest req,
+ Map params, String declPrefix) {
super(inp, req, params);
setup(declPrefix);
-
}
-
/**
- * constructor
- * @param inp listable
- * @param req the servlet request
+ * Creates a new <code>ListSessionSetHelper</code> that will attempt to
generate
+ * its own unique name for the set combined with the values of the request
parameters.
+ * <p/>
+ * Using a combination of a standard prefix (determined by the
<code>Listable</code>
+ * parameter value) and parameters helps to scope this instance for a dynamic page.
+ * For instance, if the page is scoped to a particular channel, having the channel
ID
+ * in this parameter map will allow the user to work with in the same section of two
+ * different channels without the selections in each list interfering with each
other.
+ *
+ * @param inp listable
+ * @param req the servlet request
* @param params the parameter map for this request
*/
public ListSessionSetHelper(Listable inp, HttpServletRequest req, Map params) {
- this (inp, req, params, inp.getClass().getName());
+ this(inp, req, params, inp.getClass().getName());
}
/**
- * constructor
+ * Creates a new <code>ListSessionSetHelper</code> that will attempt to
generate
+ * its own unique name for the set. This call is suitable when there are no request
+ * parameters of interest for the page.
+ *
* @param inp listable
* @param req the servlet request
*/
public ListSessionSetHelper(Listable inp, HttpServletRequest req) {
this(inp, req, Collections.EMPTY_MAP);
}
-
- @Override
- protected void clear() {
- set.clear();
- }
-
- /**
- * Objliterates the set from the session
- */
- @Override
- public void destroy() {
- SessionSetHelper.obliterate(getContext().getRequest(), getDecl());
+
+ /** {@inheritDoc} */
+ public void destroy() {
+ SessionSetHelper.obliterate(getContext().getRequest(), getDecl());
}
- @Override
- protected void execute(List dataSet) {
- helper.execute(set, getListName(), dataSet);
+ /** {@inheritDoc} */
+ public String getDecl() {
+ return decl;
}
-
- private void setup(String prefix) {
- RequestContext context = getContext();
- helper = new SessionSetHelper(context.getRequest());
-
- if (StringUtils.isBlank(prefix)) {
- prefix = getListable().getClass().getName();
- }
- decl = prefix;
-
- Map params = getParamMap();
- if (!params.isEmpty()) {
- decl = decl + params.hashCode();
- }
-
- set = SessionSetHelper.lookupAndBind(context.getRequest(),
- decl);
+ /** {@inheritDoc} */
+ public Collection getAddedKeys() {
+ Set preSelected = getPreSelected();
+ Collection result = CollectionUtils.subtract(preSelected, set);
+ return result;
}
/** {@inheritDoc} */
- @Override
- public String getDecl() {
- return decl;
+ public Collection getRemovedKeys() {
+ Set preSelected = getPreSelected();
+ Collection result = CollectionUtils.subtract(set, preSelected);
+ return result;
+ }
+
+ /**
+ * Returns the set that was used to store user selected items. This is the actual
set
+ * itself; a copy should be made before attempting to manipulate the contents.
+ *
+ * @return will not be <code>null</code>
+ */
+ public Set<String> getSet() {
+ return set;
}
-
- @Override
+
+ /** {@inheritDoc} */
protected Map getSelections() {
- Map selections = new HashMap<Long, Long>();
+ Map<Long, Long> selections = new HashMap<Long, Long>();
for (Object id : set) {
Long item = Long.valueOf(id.toString());
selections.put(item, item);
@@ -130,45 +146,59 @@ public class ListSessionSetHelper extends ListSetHelper {
return selections;
}
- @Override
+ /** {@inheritDoc} */
protected int size() {
return set.size();
}
- @Override
+ /** {@inheritDoc} */
protected void syncSelections(List dataSet) {
helper.syncSelections(set, dataSet);
}
- @Override
+ /** {@inheritDoc} */
protected void update() {
helper.updateSet(set, getListName());
}
- /**
- * @return returns the set assoctiated to this class
- */
- public Set <String> getSet() {
- return set;
- }
-
- @Override
+
+ /** {@inheritDoc} */
protected void add(Set c) {
set.addAll(c);
}
-
+
+ /** {@inheritDoc} */
+ protected void clear() {
+ set.clear();
+ }
+
+ /** {@inheritDoc} */
+ protected void execute(List dataSet) {
+ helper.execute(set, getListName(), dataSet);
+ }
+
/**
- * {@inheritDoc}
+ * Initializes this instance, determining the name of the set that will be used
+ * and instantiating it.
+ *
+ * @param prefix basis for the generation of a unique set name
*/
- @Override
- public Collection getAddedKeys() {
- return CollectionUtils.subtract(getPreSelected(), set);
+ private void setup(String prefix) {
+ RequestContext context = getContext();
+ helper = new SessionSetHelper(context.getRequest());
+
+ if (StringUtils.isBlank(prefix)) {
+ prefix = getListable().getClass().getName();
+ }
+ decl = prefix;
+
+ Map params = getParamMap();
+ if (!params.isEmpty()) {
+ decl = decl + params.hashCode();
+ }
+
+ set = SessionSetHelper.lookupAndBind(context.getRequest(),
+ decl);
+
}
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection getRemovedKeys() {
- return CollectionUtils.subtract(set, getPreSelected());
- }
}
commit 3466909ff9eca28ef7425fea5eef6498e543606c
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Mon Mar 23 14:22:53 2009 -0400
Documenting pieces of the new list tag
diff --git
a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
index 0cb5f12..264832e 100644
--- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
+++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java
@@ -14,147 +14,190 @@
*/
package com.redhat.rhn.frontend.taglibs.list.helper;
-import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.frontend.struts.RequestContext;
-import com.redhat.rhn.frontend.struts.RhnListSetHelper;
-import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import com.redhat.rhn.manager.rhnset.RhnSetManager;
-
-import org.apache.commons.collections.CollectionUtils;
-
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.collections.CollectionUtils;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnListSetHelper;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
/**
+ * Used in creating rhnSet backed actions that tie into the "new" list tag
(i.e. in the
+ *
http://rhn.redhat.com/tags/list taglib namespace).
+ * <p/>
+ * It is important to note that the exact set specified at instantiation may not be
where
+ * the items selected in the page are stored. For more information, see
+ * {@link #setup(RhnSetDecl)} and <a
href="https://fedorahosted.org/spacewalk/wiki/ListTag">
+ * the Spacewalk wiki.</a>
+ *
* @author paji
* @version $Rev$
*/
public class ListRhnSetHelper extends ListSetHelper {
+
+ /**
+ * The actual set that will store the user selected entries in the list. This set
+ * is created from the {@link #decl} attribute of the instance.
+ */
private RhnSet set;
- private RhnListSetHelper helper;
+
+ /**
+ * Declaration of the set used to store user selected entries. See
+ * {@link #setup(RhnSetDecl)} for details on how this declaration is determined.
+ */
private RhnSetDecl decl;
-
+
+ /**
+ * Helper instance, keyed to the request at instantiation, used for working with
+ * the list itself.
+ */
+ private RhnListSetHelper helper;
+
/**
- * Contructor
- * @param inp the listable
+ * Creates a new <code>ListRhnSetHelper</code> that will store its
selected items
+ * in a custom <code>RhnSet</code> determined by the given
<code>RhnSetDecl</code>
+ * plus the parameters in <code>params</code>
+ * <p/>
+ * Using a combination of the <code>RhnSetDecl</code> and parameters
helps to scope
+ * this instance for a dynamic page. For instance, if the page is scoped to a
particular
+ * channel, having the channel ID in this parameter map will allow the user to work
+ * with in the same section of two different channels without the selections in each
+ * list interfering with each other.
+ *
+ * @param inp the listable
* @param request the servlet request
- * @param declIn declaration
- * @param params the parameter map for this request
+ * @param declIn declaration
+ * @param params the parameter map for this request
*/
public ListRhnSetHelper(Listable inp, HttpServletRequest request,
- RhnSetDecl declIn, Map params) {
+ RhnSetDecl declIn, Map params) {
super(inp, request, params);
setup(declIn);
}
-
-
+
+
/**
- * Contructor
- * @param inp the listable
+ * Creates a new <code>ListRhnSetHelper</code> that will store its
selected items
+ * in an <code>RhnSet</code> retrieved from the given
<code>RhnSetDecl</code>. Care
+ * should be taken in using this call to ensure there will only be one set of data
+ * in this list at a time (see
+ * {@link #ListRhnSetHelper(Listable, HttpServletRequest, RhnSetDecl, Map)} for a
+ * use case in which this constructor would not be applicable).
+ *
+ * @param inp the listable
* @param request the servlet request
- * @param declIn declaration
+ * @param declIn declaration
*/
public ListRhnSetHelper(Listable inp, HttpServletRequest request,
- RhnSetDecl declIn) {
+ RhnSetDecl declIn) {
this(inp, request, declIn, Collections.EMPTY_MAP);
- }
- @Override
- protected void clear() {
- set.clear();
- RhnSetManager.store(set);
}
- private void setup(RhnSetDecl declIn) {
- RequestContext context = getContext();
- Map params = getParamMap();
- if (params.isEmpty()) {
- decl = declIn;
- }
- else {
- decl = declIn.createCustom(params.entrySet().toArray());
- }
-
- set = decl.get(context.getLoggedInUser());
- helper = new RhnListSetHelper(context.getRequest());
- }
/**
- * clears the set
- * */
- @Override
- public void destroy() {
- clear();
+ * Returns the actual <code>RhnSet</code> that was used to persist the
user
+ * selected items.
+ *
+ * @return will not be <code>null</code>
+ */
+ public RhnSet getSet() {
+ return set;
}
- @Override
- protected void execute(List dataSet) {
- helper.execute(set, getListName(), dataSet);
+
+ /** {@inheritDoc} */
+ public void destroy() {
+ clear();
}
/** {@inheritDoc} */
- @Override
public String getDecl() {
return decl.getLabel();
}
- @Override
+ /** {@inheritDoc} */
+ public Collection getAddedKeys() {
+ Set preSelectedValues = getPreSelected();
+ Set setValues = set.getElementValues();
+ Collection result = CollectionUtils.subtract(preSelectedValues, setValues);
+ return result;
+ }
+
+ /** {@inheritDoc} */
+ public Collection getRemovedKeys() {
+ Set setValues = set.getElementValues();
+ Set preSelectedValues = getPreSelected();
+ Collection result = CollectionUtils.subtract(setValues, preSelectedValues);
+ return result;
+ }
+
+ /** {@inheritDoc} */
+ protected void execute(List dataSet) {
+ helper.execute(set, getListName(), dataSet);
+ }
+
+ /** {@inheritDoc} */
protected Map getSelections() {
- Map <Long, Long> selections = new HashMap<Long, Long>();
+ Map<Long, Long> selections = new HashMap<Long, Long>();
for (Long id : set.getElementValues()) {
selections.put(id, id);
}
return selections;
}
- @Override
+ /** {@inheritDoc} */
protected int size() {
return set.size();
}
- @Override
+ /** {@inheritDoc} */
protected void syncSelections(List dataSet) {
helper.syncSelections(set, dataSet);
-
+
}
- @Override
+ /** {@inheritDoc} */
protected void update() {
helper.updateSet(set, getListName());
}
-
- /**
- *
- * @return returns the rhnset associated to set
- */
- public RhnSet getSet() {
- return set;
- }
- @Override
+ /** {@inheritDoc} */
protected void add(Set c) {
- for (Object elem : c) {
- set.addElement((Long)elem);
+ for (Object elem : c) {
+ set.addElement((Long) elem);
}
RhnSetManager.store(set);
}
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection getAddedKeys() {
- return CollectionUtils.subtract(getPreSelected(), set.getElementValues());
+
+ /** {@inheritDoc} */
+ protected void clear() {
+ set.clear();
+ RhnSetManager.store(set);
}
-
+
/**
- * {@inheritDoc}
+ * Initializes this instance, determining the name of the set that will be used and
+ * loading it.
+ *
+ * @param declIn basis for the set used to store user selections
*/
- @Override
- public Collection getRemovedKeys() {
- return CollectionUtils.subtract(set.getElementValues(), getPreSelected());
+ private void setup(RhnSetDecl declIn) {
+ RequestContext context = getContext();
+ Map params = getParamMap();
+ if (params.isEmpty()) {
+ decl = declIn;
+ }
+ else {
+ decl = declIn.createCustom(params.entrySet().toArray());
+ }
+
+ set = decl.get(context.getLoggedInUser());
+ helper = new RhnListSetHelper(context.getRequest());
}
+
}
commit dd7fd8e6b221a46d1892eca6fb9b4f4ae1d3442c
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 13:48:49 2009 -0400
having kickstart generation use $redhat_management_key instead of @@http_server@@
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index 23fc674..7f664b0 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -146,6 +146,7 @@ public class KickstartFormatter {
//wregglej, 9/22/06 Temporary workarounds for a broken wget.
private static final String CHDIR_OPT_RPMS = "cd /tmp/rhn_rpms/optional ";
private static final String CHDIR_RPMS = "cd /tmp/rhn_rpms";
+ private static final String REDHAT_MGMT_SERVER =
"$redhat_management_server";
private boolean seenNoChroot = false;
private KickstartData ksdata;
@@ -579,8 +580,8 @@ public class KickstartFormatter {
this.ksHost + "] indexof: " +
this.ksHost.indexOf(XMLRPC_HOST));
}
-
- String up2datehost = this.ksHost;
+
+ String up2datehost = REDHAT_MGMT_SERVER;
//check if server going through RHN Proxy, if so, register through proxy instead
if (this.session != null &&
this.session.getSystemRhnHost() != null &&
commit 3e1bc16744a3d816dbedd7d91939ab75618c5de1
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Mon Mar 23 12:38:06 2009 -0400
487621 - applying jbowe's patch to fix seg faults rhnpush has been causing
server-side on F10
diff --git a/backend/common/rhn_rpm.py b/backend/common/rhn_rpm.py
index a7a9baf..93b87d5 100644
--- a/backend/common/rhn_rpm.py
+++ b/backend/common/rhn_rpm.py
@@ -189,6 +189,57 @@ class RPM_Header:
'signature' : ret,
})
+def get_header_byte_range(package_file):
+ """
+ Return the start and end bytes of the rpm header object.
+
+ For details of the rpm file format, see:
+
http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html
+ """
+
+ lead_size = 96
+
+ # Move past the rpm lead
+ package_file.seek(lead_size)
+
+ sig_size = get_header_struct_size(package_file)
+
+ # Now we can find the start of the actual header.
+ header_start = lead_size + sig_size
+
+ package_file.seek(header_start)
+
+ header_size = get_header_struct_size(package_file)
+
+ header_end = header_start + header_size
+
+ return (header_start, header_end)
+
+def get_header_struct_size(package_file):
+ """
+ Compute the size in bytes of the rpm header struct starting at the current
+ position in package_file.
+ """
+ # Move past the header preamble
+ package_file.seek(8, 1)
+
+ # Read the number of index entries
+ header_index = package_file.read(4)
+ (header_index_value, ) = struct.unpack('>I', header_index)
+
+ # Read the the size of the header data store
+ header_store = package_file.read(4)
+ (header_store_value, ) = struct.unpack('>I', header_store)
+
+ # The total size of the header. Each index entry is 16 bytes long.
+ header_size = 8 + 4 + 4 + header_index_value * 16 + header_store_value
+
+ # Headers end on an 8-byte boundary. Round out the extra data.
+ round_out = header_size % 8
+ if round_out != 0:
+ header_size = header_size + (8 - round_out)
+
+ return header_size
# Loads the package header from a file / stream / file descriptor
# Raises rpm.error if an error is found, or InvalidPacageError if package is
@@ -217,12 +268,10 @@ def get_package_header(filename=None, file=None, fd=None):
if hdr is None:
raise InvalidPackageError
else:
- ts = RPMReadOnlyTransaction()
- nomd5 = getattr(rpm, 'RPMVSF_NOMD5')
- needpayload = getattr(rpm, 'RPMVSF_NEEDPAYLOAD')
- ts.pushVSFlags(~(nomd5 | needpayload))
- hdr = RPMReadOnlyTransaction().hdrFromFdno(file_desc)
- ts.popVSFlags()
+ header_start, header_end = \
+ get_header_byte_range(os.fdopen(os.dup(file_desc)))
+ os.lseek(file_desc, header_start, 0)
+ hdr, offset = rpm.readHeaderFromFD(file_desc)
if hdr is None:
raise InvalidPackageError
is_source = hdr[getattr(rpm, 'RPMTAG_SOURCEPACKAGE')]
diff --git a/backend/satellite_tools/satComputePkgHeaders.py
b/backend/satellite_tools/satComputePkgHeaders.py
index 7aca36d..1e50779 100644
--- a/backend/satellite_tools/satComputePkgHeaders.py
+++ b/backend/satellite_tools/satComputePkgHeaders.py
@@ -55,7 +55,7 @@ sys.modules["_apache"] = sys.modules["__main__"]
from server import rhnSQL
-from server import rhnPackageUpload
+from common import rhn_rpm
options_table = [
Option("-v", "--verbose", action="count",
@@ -205,7 +205,7 @@ class Runner:
continue
try:
- (header_start, header_end) =
rhnPackageUpload.get_header_byte_range(p_file);
+ (header_start, header_end) = rhn_rpm.get_header_byte_range(p_file);
except Exception, e:
print "Error reading header size from file %s: %s" % (path, e)
diff --git a/backend/server/rhnPackageUpload.py b/backend/server/rhnPackageUpload.py
index b81e98d..92599d7 100644
--- a/backend/server/rhnPackageUpload.py
+++ b/backend/server/rhnPackageUpload.py
@@ -16,11 +16,11 @@
# $Id$
import os
-import struct
import tempfile
from mod_python import apache
from common import CFG, log_debug, rhnFault, rhn_mpm, rhnLib, UserDictCase
+from common.rhn_rpm import get_header_byte_range
from server import rhnSQL
from server.importlib import importLib, userAuth, mpmSource, backendOracle, \
@@ -376,59 +376,6 @@ def load_package(package_stream):
return header, payload_stream, md5sum, header_start, header_end
-def get_header_byte_range(package_file):
- """
- Return the start and end bytes of the rpm header object.
-
- For details of the rpm file format, see:
-
http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html
- """
-
- lead_size = 96
-
- # Move past the rpm lead
- package_file.seek(lead_size)
-
- sig_size = get_header_struct_size(package_file)
-
- # Now we can find the start of the actual header.
- header_start = lead_size + sig_size
-
- package_file.seek(header_start)
-
- header_size = get_header_struct_size(package_file)
-
- header_end = header_start + header_size
-
- return (header_start, header_end)
-
-def get_header_struct_size(package_file):
- """
- Compute the size in bytes of the rpm header struct starting at the current
- position in package_file.
- """
- # Move past the header preamble
- package_file.seek(8, 1)
-
- # Read the number of index entries
- header_index = package_file.read(4)
- (header_index_value, ) = struct.unpack('>I', header_index)
-
- # Read the the size of the header data store
- header_store = package_file.read(4)
- (header_store_value, ) = struct.unpack('>I', header_store)
-
- # The total size of the header. Each index entry is 16 bytes long.
- header_size = 8 + 4 + 4 + header_index_value * 16 + header_store_value
-
- # Headers end on an 8-byte boundary. Round out the extra data.
- round_out = header_size % 8
- if round_out != 0:
- header_size = header_size + (8 - round_out)
-
- return header_size
-
-
class AlreadyUploadedError(Exception):
pass
commit 7b3475dac930f1ab624e2a123b7afbbaf2dd0e1c
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 12:30:08 2009 -0400
adding java doc to EnforcementDoclet
diff --git a/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java
b/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java
index dbba278..4b7140c 100644
--- a/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java
+++ b/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java
@@ -28,7 +28,13 @@ import java.util.List;
/**
*
- * TestDoclet
+ * EnforcementDoclet
+ *
+ * This doclet checks to make sure that we do not have any non static or final member
+ * variables in our Actions
+ *
+ * Exceptions can be added in initializeExceptions()
+ *
* @version $Rev$
*/
public class EnforcementDoclet {
commit b74f29746aa5f6fd1977e19c029dfbe40bc3c932
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 12:12:45 2009 -0400
checkstyle fix
diff --git a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
index c7fc40c..0377146 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
@@ -345,7 +345,8 @@ public class ErrataCacheManager extends HibernateFactory {
count = m.executeUpdate(params, pids);
}
if (log.isDebugEnabled()) {
- log.debug("updateCacheForChannelErrata : " + "cache entries
inserted: " + count);
+ log.debug("updateCacheForChannelErrata : " + "cache entries
inserted: " +
+ count);
}
}
commit 878d471ae9825cf2ec24edfe6046347f4af5d072
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Mon Mar 23 12:07:04 2009 -0400
adding isDebugEnabled() to debug statements
diff --git a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
index 78789cb..c7fc40c 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java
@@ -344,7 +344,9 @@ public class ErrataCacheManager extends HibernateFactory {
"insert_new_cache_entries_by_packages");
count = m.executeUpdate(params, pids);
}
- log.debug("updateCacheForChannelErrata : " + "cache entries
inserted: " + count);
+ if (log.isDebugEnabled()) {
+ log.debug("updateCacheForChannelErrata : " + "cache entries
inserted: " + count);
+ }
}
@@ -366,7 +368,9 @@ public class ErrataCacheManager extends HibernateFactory {
Map params = new HashMap();
params.put("channel_id", cid);
count = m.executeUpdate(params, eids);
- log.debug("updateCacheForChannelErrata : " + "cache entries
deleted: " + count);
+ if (log.isDebugEnabled()) {
+ log.debug("updateCacheForChannelErrata : " + "cache entries
deleted: " + count);
+ }
}
/**
@@ -385,7 +389,9 @@ public class ErrataCacheManager extends HibernateFactory {
Map params = new HashMap();
params.put("errata_id", eid);
count = m.executeUpdate(params, pids);
- log.debug("updateCacheForChannelErrata : " + "cache entries
deleted: " + count);
+ if (log.isDebugEnabled()) {
+ log.debug("updateCacheForChannelErrata : " + "cache entries
deleted: " + count);
+ }
}
@@ -404,8 +410,10 @@ public class ErrataCacheManager extends HibernateFactory {
Map params = new HashMap();
params.put("channel_id", cid);
int count = m.executeUpdate(params);
- log.debug("updateErrataAndPackageCacheForChannel : " +
"package_cache deleted: " +
- count);
+ if (log.isDebugEnabled()) {
+ log.debug("updateErrataAndPackageCacheForChannel : " +
+ "package_cache deleted: " + count);
+ }
// Insert into rhnServerNeededPackageCache
m = ModeFactory.getWriteMode("ErrataCache_queries",
@@ -413,8 +421,10 @@ public class ErrataCacheManager extends HibernateFactory {
params = new HashMap();
params.put("channel_id", cid);
count = m.executeUpdate(params);
- log.debug("updateErrataAndPackageCacheForChannel : " +
"package_cache inserted: " +
- count);
+ if (log.isDebugEnabled()) {
+ log.debug("updateErrataAndPackageCacheForChannel : " +
+ "package_cache inserted: " + count);
+ }
}
@@ -431,8 +441,10 @@ public class ErrataCacheManager extends HibernateFactory {
Map params = new HashMap();
params.put("channel_id", cid);
int count = m.executeUpdate(params, pids);
- log.debug("delete_needed_cache_for_channel_packages : " +
+ if (log.isDebugEnabled()) {
+ log.debug("delete_needed_cache_for_channel_packages : " +
"package_cache deleted: " + count);
+ }
}
commit 56d1294157020f6407cf4c2dede286ac8d07cd97
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Mon Mar 23 11:32:34 2009 -0400
Removed unnecessary usage of rhnServer table in the subselect
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
index fc81538..00d22be 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
@@ -286,13 +286,11 @@ INNER JOIN rhnClientCapabilityName CCN on CC.capability_name_id =
CCN.id
WHERE USP.user_id = :user_id
AND CCN.name LIKE 'configfiles%'
AND S.id in (
- SELECT SS.id
- FROM rhnServer SS,
- rhnServerGroupMembers MM,
+ SELECT MM.server_id
+ FROM rhnServerGroupMembers MM,
rhnServerGroup GG,
rhnServerGroupType TT
- WHERE SS.id = MM.server_id
- AND MM.server_group_id = GG.id
+ WHERE MM.server_group_id = GG.id
AND GG.group_type = TT.id
AND TT.label = 'provisioning_entitled'
)
commit 2dfde55fc85657de8af6f0479f3f1781e09d24cd
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Mon Mar 23 09:49:30 2009 -0400
487316 - Forgot to add the constraint to the initial create scripts
diff --git a/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql
b/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql
index 471373b..bb950df 100644
--- a/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql
+++ b/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql
@@ -39,3 +39,8 @@ create index rhn_rcm_prod_ver_rel_caid_idx
tablespace [[64k_tbs]]
;
+alter table rhnReleaseChannelMap
+add constraint rhn_rcm_pva_def_uniq
+unique (product, version, channel_arch_id, is_default)
+;
+
commit 86f980c55552c7402d9d8a508ce367b3d9b3257b
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:53:55 2009 -0300
Automatic commit of package [smartpm] release [0.2-1].
diff --git a/client/solaris/smartpm/smartpm.spec b/client/solaris/smartpm/smartpm.spec
index 7f636b1..615ad2c 100644
--- a/client/solaris/smartpm/smartpm.spec
+++ b/client/solaris/smartpm/smartpm.spec
@@ -9,8 +9,8 @@
Summary: Next generation package handling tool
Name: smartpm
Source0: smartpm-%{version}.tar.gz
-Version: 0.1
-Release: 0
+Version: 0.2
+Release: 1
License: GPLv2
Group: Applications/System
URL:
http://www.smartpm.org/
@@ -59,7 +59,7 @@ env %{__python} setup.py build
%{python_sitearch}/rhn/actions/solarispkgs.py*
%changelog
-* Mon Mar 23 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.1-0
+* Mon Mar 23 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.2-1
- Rebuild from Spacewalk git.
* Mon Jun 23 2005 Joel Martin <jmartin(a)redhat.com> - 4.0.0-6
diff --git a/rel-eng/packages/smartpm b/rel-eng/packages/smartpm
index 527cb18..45ef377 100644
--- a/rel-eng/packages/smartpm
+++ b/rel-eng/packages/smartpm
@@ -1 +1 @@
-0.1-0 client/solaris/smartpm/
+0.2-1 client/solaris/smartpm/
commit f3ca7b1b6be4cfe7b36c329dbfc5c3bfca299aa8
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:52:46 2009 -0300
Automatic commit of package [rhnclient] release [0.3-1].
diff --git a/client/solaris/rhnclient/rhnclient.spec
b/client/solaris/rhnclient/rhnclient.spec
index 5c87524..17b5a5d 100644
--- a/client/solaris/rhnclient/rhnclient.spec
+++ b/client/solaris/rhnclient/rhnclient.spec
@@ -5,7 +5,7 @@
Summary: Red Hat Network Client Utilities and Libraries
Name: rhnclient
Source0: %{name}-%{version}.tar.gz
-Version: 0.2
+Version: 0.3
Release: 1
License: GPLv2
Group: Development/Libraries
@@ -65,7 +65,7 @@ rm -rf $RPM_BUILD_ROOT
#%doc ChangeLog COPYING README TODO
%changelog
-* Mon Mar 23 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.2-1
+* Mon Mar 23 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.3-1
- Rebuild from spacewalk.git.
* Fri Jul 01 2005 Joel Martin <jmartin(a)redhat.com> 4.0.0-8
diff --git a/rel-eng/packages/rhnclient b/rel-eng/packages/rhnclient
index 6365e9f..97d5278 100644
--- a/rel-eng/packages/rhnclient
+++ b/rel-eng/packages/rhnclient
@@ -1 +1 @@
-0.2-1 client/solaris/rhnclient/
+0.3-1 client/solaris/rhnclient/
commit 9505cde673dbef7304f52626c22a045c09cef57c
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:52:23 2009 -0300
Remove rhnclient and smartpm version files.
diff --git a/client/solaris/rhnclient/version b/client/solaris/rhnclient/version
deleted file mode 100644
index b5befbc..0000000
--- a/client/solaris/rhnclient/version
+++ /dev/null
@@ -1 +0,0 @@
-0.1 0
diff --git a/client/solaris/smartpm/version b/client/solaris/smartpm/version
deleted file mode 100644
index b5befbc..0000000
--- a/client/solaris/smartpm/version
+++ /dev/null
@@ -1 +0,0 @@
-0.1 0
commit 80f29f7f97d982267df6fd3100696c3f9ab1ea3c
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:51:18 2009 -0300
Remove use of version file in spec.
diff --git a/client/solaris/smartpm/smartpm.spec b/client/solaris/smartpm/smartpm.spec
index b9f9421..7f636b1 100644
--- a/client/solaris/smartpm/smartpm.spec
+++ b/client/solaris/smartpm/smartpm.spec
@@ -9,9 +9,8 @@
Summary: Next generation package handling tool
Name: smartpm
Source0: smartpm-%{version}.tar.gz
-Source1: version
-Version: %(echo `awk '{ print $1 }' %{SOURCE1}`)
-Release: %(echo `awk '{ print $2 }' %{SOURCE1}`)
+Version: 0.1
+Release: 0
License: GPLv2
Group: Applications/System
URL:
http://www.smartpm.org/
commit 981acb2b45e3650270e60d218bf442650f638092
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:50:23 2009 -0300
Automatic commit of package [smartpm] release [0.1-0].
diff --git a/client/solaris/smartpm/smartpm.spec b/client/solaris/smartpm/smartpm.spec
index f6334d4..b9f9421 100644
--- a/client/solaris/smartpm/smartpm.spec
+++ b/client/solaris/smartpm/smartpm.spec
@@ -60,6 +60,9 @@ env %{__python} setup.py build
%{python_sitearch}/rhn/actions/solarispkgs.py*
%changelog
+* Mon Mar 23 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.1-0
+- Rebuild from Spacewalk git.
+
* Mon Jun 23 2005 Joel Martin <jmartin(a)redhat.com> - 4.0.0-6
- Fix Solaris patch db bug
diff --git a/rel-eng/packages/smartpm b/rel-eng/packages/smartpm
new file mode 100644
index 0000000..527cb18
--- /dev/null
+++ b/rel-eng/packages/smartpm
@@ -0,0 +1 @@
+0.1-0 client/solaris/smartpm/
commit e0683850a664fce11c9b9d1c27503fff2a78597f
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:46:37 2009 -0300
Fix rhnclient use of "version" file.
diff --git a/client/solaris/rhnclient/Makefile b/client/solaris/rhnclient/Makefile
index 7264afb..97a2af4 100644
--- a/client/solaris/rhnclient/Makefile
+++ b/client/solaris/rhnclient/Makefile
@@ -74,9 +74,6 @@ DESTPID_DIR = $(DESTPREFIX)/var/run/
PID_FILE = $(DESTPID_DIR)/rhnsd.pid
-# Handy defines
-VERSION = $(shell echo `awk '{ print $$1 }' version`)
-
# Compilation stuff
CC = gcc
DEFINES = -DRHN_SYSID=\"$(RHN_SYSID)\"
-DRHN_CHECK=\"$(DEST_RHN_CHECK_PATH)\" -DPATH_RHNDPID=\"$(PID_FILE)\"
diff --git a/client/solaris/rhnclient/rhnclient.spec
b/client/solaris/rhnclient/rhnclient.spec
index 2249967..5c87524 100644
--- a/client/solaris/rhnclient/rhnclient.spec
+++ b/client/solaris/rhnclient/rhnclient.spec
@@ -5,7 +5,6 @@
Summary: Red Hat Network Client Utilities and Libraries
Name: rhnclient
Source0: %{name}-%{version}.tar.gz
-Source1: version
Version: 0.2
Release: 1
License: GPLv2
commit 3ae7ff2f4a21f98f899f4494ccac678d9aac09fb
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Mar 23 09:45:13 2009 -0300
Automatic commit of package [rhnclient] release [0.2-1].
diff --git a/client/solaris/rhnclient/rhnclient.spec
b/client/solaris/rhnclient/rhnclient.spec
index 6140635..2249967 100644
--- a/client/solaris/rhnclient/rhnclient.spec
+++ b/client/solaris/rhnclient/rhnclient.spec
@@ -6,8 +6,8 @@ Summary: Red Hat Network Client Utilities and Libraries
Name: rhnclient
Source0: %{name}-%{version}.tar.gz
Source1: version
-Version: %(echo `awk '{ print $1 }' %{SOURCE1}`)
-Release: %(echo `awk '{ print $2 }' %{SOURCE1}`)
+Version: 0.2
+Release: 1
License: GPLv2
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-buildroot
@@ -66,6 +66,9 @@ rm -rf $RPM_BUILD_ROOT
#%doc ChangeLog COPYING README TODO
%changelog
+* Mon Mar 23 2009 Devan Goodwin <dgoodwin(a)redhat.com> 0.2-1
+- Rebuild from spacewalk.git.
+
* Fri Jul 01 2005 Joel Martin <jmartin(a)redhat.com> 4.0.0-8
- Allow building on Solaris systems without getopt.h. Use local
getopt.h on Solaris.
diff --git a/rel-eng/packages/rhnclient b/rel-eng/packages/rhnclient
new file mode 100644
index 0000000..6365e9f
--- /dev/null
+++ b/rel-eng/packages/rhnclient
@@ -0,0 +1 @@
+0.2-1 client/solaris/rhnclient/
commit fb66c0dcc377f8d789a31e829eeeea7de97b7120
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Sun Mar 22 12:46:53 2009 -0500
489590 - Updated query to retrieve configuration managed systems to check that the
systems returned have provisioning entitlements.
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
index 562b540..fc81538 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml
@@ -275,19 +275,28 @@ to the SDC View/Modify files page -->
</elaborator>
</mode>
-
-
<mode name="config_managed_systems"
class="com.redhat.rhn.frontend.dto.ConfigSystemDto">
<query name="available_to_user_and_config_managed"
params="user_id">
-SELECT DISTINCT S.id,
- S.name
- FROM rhnServer S
- inner join rhnUserServerPerms USP on S.id = USP.server_id
- inner join rhnClientCapability CC on S.id = CC.server_id
- inner join rhnClientCapabilityName CCN on CC.capability_name_id = CCN.id
- WHERE USP.user_id = :user_id AND
- CCN.name LIKE 'configfiles%'
-ORDER BY UPPER(NVL(S.name, '(none)')), S.id
+SELECT DISTINCT S.id,
+ S.name
+ FROM rhnServer S
+INNER JOIN rhnUserServerPerms USP on S.id = USP.server_id
+INNER JOIN rhnClientCapability CC on S.id = CC.server_id
+INNER JOIN rhnClientCapabilityName CCN on CC.capability_name_id = CCN.id
+ WHERE USP.user_id = :user_id
+ AND CCN.name LIKE 'configfiles%'
+ AND S.id in (
+ SELECT SS.id
+ FROM rhnServer SS,
+ rhnServerGroupMembers MM,
+ rhnServerGroup GG,
+ rhnServerGroupType TT
+ WHERE SS.id = MM.server_id
+ AND MM.server_group_id = GG.id
+ AND GG.group_type = TT.id
+ AND TT.label = 'provisioning_entitled'
+ )
+ ORDER BY UPPER(NVL(S.name, '(none)')), S.id
</query>
<elaborator>
SELECT S.id,
commit 4046b57065154f56250815c05db82966998c0dde
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 20 19:43:52 2009 -0400
Automatic commit of package [oracle-server-scripts] minor release [10.2.0-26].
diff --git a/projects/oracle-server-scripts/oracle-server-scripts.spec
b/projects/oracle-server-scripts/oracle-server-scripts.spec
index 8db08fa..2941245 100644
--- a/projects/oracle-server-scripts/oracle-server-scripts.spec
+++ b/projects/oracle-server-scripts/oracle-server-scripts.spec
@@ -9,7 +9,7 @@
Summary: Oracle 10g Database Server Enterprise Edition scripts
Name: oracle-server-scripts
Version: 10.2.0
-Release: 25%{?dist}
+Release: 26%{?dist}
Source0: oracle-home.sh
Source1: init-params.ora
Source2: create-db.sh
@@ -94,6 +94,9 @@ exit 0
%{oracle_scripts}
%changelog
+* Fri Mar 20 2009 jesus m. rodriguez <jesusr(a)redhat.com> 10.2.0-26
+- define oracle_base_version
+
* Fri Mar 20 2009 Michael Mraka <michael.mraka(a)redhat.com> 10.2.0-25
- 491320 - extended default size of SYSAUX
- rebuilt in new build environment
diff --git a/rel-eng/packages/oracle-server-scripts
b/rel-eng/packages/oracle-server-scripts
index cb04161..fe6b049 100644
--- a/rel-eng/packages/oracle-server-scripts
+++ b/rel-eng/packages/oracle-server-scripts
@@ -1 +1 @@
-10.2.0-25 projects/oracle-server-scripts/
+10.2.0-26 projects/oracle-server-scripts/
commit 7dae8a92b85e0d6d8e755f83652bb66032254397
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 20 19:42:01 2009 -0400
fix oracle_base_version not being defined.
diff --git a/projects/oracle-server-scripts/oracle-server-scripts.spec
b/projects/oracle-server-scripts/oracle-server-scripts.spec
index 8ab3da3..8db08fa 100644
--- a/projects/oracle-server-scripts/oracle-server-scripts.spec
+++ b/projects/oracle-server-scripts/oracle-server-scripts.spec
@@ -1,4 +1,5 @@
%define oracle_base /opt/apps/oracle
+%define oracle_base_version %{version}
%define oracle_home %{oracle_base}/web/product/%{oracle_base_version}/db_1
%define oracle_admin %{oracle_base}/admin/%{oracle_base_version}
%define oracle_config %{oracle_base}/config/%{oracle_base_version}
commit 12b130c84e5cff84347fdc445778ff14201554e8
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Fri Mar 20 17:23:13 2009 -0400
430885 - gracefuly ignore dir diffs instead of treating em as missing files
diff --git a/client/tools/rhncfg/actions/configfiles.py
b/client/tools/rhncfg/actions/configfiles.py
index 25d040c..ecbc1bf 100755
--- a/client/tools/rhncfg/actions/configfiles.py
+++ b/client/tools/rhncfg/actions/configfiles.py
@@ -310,9 +310,12 @@ def diff(params):
diffs = {}
for file in files:
path = file['path']
- if not os.path.isfile(path):
+ if not os.path.exists(path):
missing_files.append(path)
continue
+ if os.path.isdir(path):
+ # We dont support dir diffs, ignore
+ continue
diff = fp.diff(file)
diffs[path] = diff
commit ee70c66522c5ffdc0abcaa66306176f6a9f2709a
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 20 16:42:48 2009 -0400
429093 - adding distincts to remove duplicate entries
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index 9f3191b..ea286e7 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@ -679,7 +679,7 @@ ORDER BY E.update_date DESC, E.id
<mode name="clonable_errata_list_all"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="org_id">
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@ -699,14 +699,14 @@ ORDER BY E.update_date DESC, E.id
WHERE C.org_id = :org_id
AND CC.id = C.id
AND CC.original_id = CE.channel_id)
-ORDER BY E.update_date DESC, E.id
+ORDER BY update_date DESC, E.id
</query>
<elaborator name="related_channels_owned_by_org"/>
</mode>
<mode name="clonable_errata_list_uncloned"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="org_id">
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@ -736,14 +736,14 @@ ORDER BY E.update_date DESC, E.id
WHERE ET.org_id = :org_id
AND EC2.id = ET.id
AND EC2.original_id = E.id)), 0) = 0)
-ORDER BY E.update_date DESC, E.id
+ORDER BY update_date DESC, E.id
</query>
<elaborator name="related_channels_owned_by_org"/>
</mode>
<mode name="clonable_errata_for_channel_all"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="channel_id, org_id">
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@ -764,14 +764,14 @@ ORDER BY E.update_date DESC, E.id
WHERE C.id = :channel_id
AND CC.id = C.id
AND CC.original_id = CE.channel_id)
-ORDER BY E.update_date DESC, E.id
+ORDER BY update_date DESC, E.id
</query>
<elaborator name="related_channels_owned_by_org"/>
</mode>
<mode name="clonable_errata_for_channel_uncloned"
class="com.redhat.rhn.frontend.dto.ClonableErrataDto">
<query params="channel_id, org_id">
- SELECT E.id, E.advisory, E.advisory_type, E.advisory_name,
+ SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name,
E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date,
NVL(((SELECT 1
FROM rhnErrata E2, rhnErrataCloned EC
@@ -802,7 +802,7 @@ ORDER BY E.update_date DESC, E.id
WHERE ET.org_id = :org_id
AND EC2.id = ET.id
AND EC2.original_id = E.id)), 0) = 0)
-ORDER BY E.update_date DESC, E.id
+ORDER BY update_date DESC, E.id
</query>
<elaborator name="related_channels_owned_by_org"/>
</mode>
commit 3db2c4792ebc18034751a7f3b3710aeb9e56f934
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 20 15:23:47 2009 -0400
changing the kickstart session page to not refresh after a kickstart has completed or
failed
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp
b/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp
index 3cf1d2c..99d5026 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp
@@ -11,7 +11,9 @@
<style type="text/css">
.details td, .details th { white-space: nowrap; }
</style>
- <script type="text/javascript"
src="/javascript/rememberScroll.js"> </script>
+ <c:if test="${not failed and not complete}">
+ <script type="text/javascript"
src="/javascript/rememberScroll.js"> </script>
+ </c:if>
</head>
<body>
commit 2865f46984d0dd4d4d6f7d7614c4a8c97a03bc17
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 20 15:20:14 2009 -0400
fixing issue where spacewalk would create network interfaces in cobbler that shouldnt
have been, like the loopback
diff --git
a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
index d73e0cb..cbc5462 100644
---
a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
+++
b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java
@@ -121,10 +121,8 @@ public class CobblerSystemCreateCommand extends CobblerCommand {
private Map getSystemMapByMac() {
// Build up list of mac addrs
- Iterator i = server.getNetworkInterfaces().iterator();
List macs = new LinkedList();
- while (i.hasNext()) {
- NetworkInterface n = (NetworkInterface) i.next();
+ for (NetworkInterface n : server.getNetworkInterfaces()) {
macs.add(n.getHwaddr().toLowerCase());
}
@@ -236,11 +234,11 @@ public class CobblerSystemCreateCommand extends CobblerCommand {
protected void processNetworkInterfaces(String handleIn,
String xmlRpcTokenIn,
Server serverIn) {
- Iterator i = serverIn.getNetworkInterfaces().iterator();
Map inet = new HashMap();
- while (i.hasNext()) {
- NetworkInterface n = (NetworkInterface) i.next();
- inet.put("macaddress-" + n.getName(), n.getHwaddr());
+ for (NetworkInterface n : serverIn.getNetworkInterfaces()) {
+ if (!n.getHwaddr().equals("00:00:00:00:00:00")) {
+ inet.put("macaddress-" + n.getName(), n.getHwaddr());
+ }
}
log.debug("Networks: " + inet);
commit f5376cb97e47c0a917b2234636013a5d96f99cfb
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Thu Mar 19 17:46:02 2009 -0400
adding better support for kickstart cent, whereby we install/udpate the client
packages on all distros and not just RHEL-2,3,4
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index 5842e58..f0d00b9 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@ -999,6 +999,21 @@ SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
</query>
</mode>
+<mode name="latest_package_equal_in_tree">
+ <query params="cid, name">
+SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id
+ FROM rhnPackageName PN inner join
+ rhnChannelNewestPackage CP on CP.name_id = PN.id inner join
+ rhnChannel C on C.id = Cp.channel_id inner join
+ rhnPackage P on P.id = CP.package_id inner join
+ rhnPackageEvr EVR on P.evr_id = EVR.id
+ WHERE ( C.id = :cid or C.parent_channel = :cid)
+ AND PN.name = :name
+ order by EVR.evr DESC
+ </query>
+</mode>
+
+
<mode name="latest_package_like">
<query params="cid, name">
SELECT CP.package_id, CP.name_id, CP.evr_id
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index 1d02a15..6ccb038 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -1283,6 +1283,29 @@ public class ChannelManager extends BaseManager {
}
/**
+ * Get the id of latest packages located in the channel tree
+ * where channelId is a parent
+ *
+ * @param channelId to lookup package against
+ * @param packageName to check
+ * @return List containing Maps of "CP.package_id, CP.name_id, CP.evr_id"
+ */
+ public static Long getLatestPackageEqualInTree(Long channelId, String packageName) {
+ SelectMode m = ModeFactory.getMode("Channel_queries",
+ "latest_package_equal_in_tree");
+ Map params = new HashMap();
+ params.put("cid", channelId);
+ params.put("name", packageName);
+ List results = m.execute(params);
+ if (results != null && results.size() > 0) {
+ Map row = (Map) results.get(0);
+ return (Long) row.get("package_id");
+ }
+ return null;
+ }
+
+
+ /**
* List the latest packages equal in the passed in Channel and name
*
* @param channelId to lookup package against
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index bb37fc9..23fc674 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -97,13 +97,15 @@ public class KickstartFormatter {
NEWLINE;
public static final String[] UPDATE_PKG_NAMES =
{"pyOpenSSL", "rhnlib", "libxml2-python"};
+ public static final String[] FRESH_PKG_NAMES_RHEL5 =
+ {"rhn-setup", "yum-rhn-plugin", "rhnsd",
"rhn-client-tools", "rhnlib", "rhn-check"};
public static final String[] FRESH_PKG_NAMES_RHEL34 =
{"up2date", "up2date-gnome"};
public static final String[] FRESH_PKG_NAMES_RHEL2 =
{"rhn_register", "up2date", "rhn_register-gnome",
"up2date-gnome"};
private static final String UPDATE_OPT_PATH = "/tmp/rhn_rpms/optional/";
private static final String UPDATE_CMD = "rpm -Uvh --replacepkgs --replacefiles
";
- private static final String FRESH_CMD = "rpm -Fvh /tmp/rhn_rpms/*rpm";
+ private static final String FRESH_CMD = "rpm -Uvh /tmp/rhn_rpms/*rpm";
private static final String IMPORT_RHN_KEY5 =
"rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release";
private static final String IMPORT_RHN_KEY34 =
@@ -802,9 +804,12 @@ public class KickstartFormatter {
else if (ksdata.isRhel3() || ksdata.isRhel4()) {
pkglist = FRESH_PKG_NAMES_RHEL34;
}
+ else {
+ pkglist = FRESH_PKG_NAMES_RHEL5;
+ }
HashSet retval = new HashSet();
for (int i = 0; i < pkglist.length; i++) {
- Long packageId = ChannelManager.getLatestPackageEqual(c.getId(),
+ Long packageId = ChannelManager.getLatestPackageEqualInTree(c.getId(),
pkglist[i]);
if (packageId != null) {
Package p = PackageFactory.lookupByIdAndUser(packageId, user);
commit 10133e8951eb8ff61bdbac8b1d0ecb31cf08752a
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Thu Mar 19 11:24:32 2009 -0400
removing satellite-debug link that was not intended for spacewalk
diff --git a/branding/spacewalk-branding.spec b/branding/spacewalk-branding.spec
index f5870b6..547ea52 100644
--- a/branding/spacewalk-branding.spec
+++ b/branding/spacewalk-branding.spec
@@ -44,7 +44,6 @@ cp -R setup %{buildroot}%{_datadir}/spacewalk/
cp -R java-branding.jar %{buildroot}%{_datadir}/rhn/lib/
ln -s %{_datadir}/rhn/lib/java-branding.jar
%{buildroot}%{_var}/lib/tomcat5/webapps/rhn/WEB-INF/lib/java-branding.jar
cp conf/rhn_docs.conf %{buildroot}/%{_sysconfdir}/rhn/default/rhn_docs.conf
-ln -s %{_bindir}/spacewalk-debug %{_bindir}/satellite-debug
%clean
rm -rf %{buildroot}
commit fca6841a3fcbecb88c1740f8a387e867cc89bd38
Author: Mike McCune <mmccune(a)gmail.com>
Date: Fri Mar 20 12:33:03 2009 -0700
Automatic commit of package [spacewalk-web] release [0.5.19-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index 2c4e1d6..e84712b 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-0.5.18-1 web/
+0.5.19-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index d6edaf9..cdde26a 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.18
+Version: 0.5.19
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -318,6 +318,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Fri Mar 20 2009 Mike McCune <mmccune(a)gmail.com> 0.5.19-1
+- space05 - bumping release footer/config for 0.5 release
+
* Thu Mar 19 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.18-1
- 472595 - fixes for kickstart performance, start of porting ks downloads to java
- 490726 - minor updates to about.pxt
commit 7f24f0625e4c1bad09f048e033a15d6567cdcca4
Author: Mike McCune <mmccune(a)gmail.com>
Date: Fri Mar 20 12:31:30 2009 -0700
space05 - bumping for 0.5 release
diff --git a/web/conf/rhn_web.conf b/web/conf/rhn_web.conf
index 0d8f235..cff7879 100644
--- a/web/conf/rhn_web.conf
+++ b/web/conf/rhn_web.conf
@@ -225,7 +225,7 @@ web.config_delim_start = {|
web.config_delim_end = |}
# the version of this RHN install as a whole
-web.version = 0.4
+web.version = 0.5
# the version of API
web.apiversion = 10.0
commit 1f54401391e02180f3e06abb6f524889efe866f2
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Fri Mar 20 15:25:58 2009 -0500
489601 - Added hook to clear the set when first entering the Deploy Files workflow,
which will get rid of any left over packages from an aborted deploy in the past (for this
user).
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java
index cd80806..acb7d0e 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java
@@ -17,12 +17,14 @@ package com.redhat.rhn.frontend.action.configuration.sdc;
import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.frontend.action.systems.sdc.SdcHelper;
import com.redhat.rhn.frontend.listview.PageControl;
import com.redhat.rhn.frontend.struts.BaseSetListAction;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.manager.configuration.ConfigurationManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
/**
@@ -58,6 +60,12 @@ public class FileListSetupAction extends BaseSetListAction {
User user = rctxIn.getLoggedInUser();
Server server = rctxIn.lookupAndBindServer();
SdcHelper.ssmCheck(rctxIn.getRequest(), server.getId(), user);
+
+ if (!rctxIn.isSubmitted()) {
+ RhnSet set = getSetDecl().get(rctxIn.getLoggedInUser());
+ set.clear();
+ RhnSetManager.store(set);
+ }
}
}
commit ffa3f5367efc9d5ea5a884ae844d920c66efe6a4
Author: Mike McCune <mmccune(a)gmail.com>
Date: Fri Mar 20 12:25:38 2009 -0700
484659 - better spam control.
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
index cabeb54..0b0854c 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java
@@ -43,7 +43,8 @@ import redstone.xmlrpc.XmlRpcFault;
public class CobblerSyncTask extends SingleThreadedTestableTask {
private static final AtomicLong LAST_UPDATED = new AtomicLong();
- private long WARN_COUNT;
+ private long ERROR_COUNT;
+ private long DISTRO_WARN_COUNT;
/**
* Used to log stats in the RHNDAEMONSTATE table
@@ -56,7 +57,8 @@ public class CobblerSyncTask extends SingleThreadedTestableTask {
* Default constructor
*/
public CobblerSyncTask() {
- WARN_COUNT = 0;
+ ERROR_COUNT = 0;
+ DISTRO_WARN_COUNT = 0;
}
/**
@@ -65,52 +67,66 @@ public class CobblerSyncTask extends SingleThreadedTestableTask {
public void execute(JobExecutionContext ctxIn, boolean testContextIn)
throws JobExecutionException {
- XMLRPCInvoker invoker = (XMLRPCInvoker)
- MethodUtil.getClassFromConfig(CobblerXMLRPCHelper.class.getName());
-
- Double mtime = null;
try {
- mtime = (Double) invoker.invokeMethod("last_modified_time", new
ArrayList());
- }
- catch (XmlRpcFault e) {
- log.error("Error calling cobbler.", e);
- }
-
-
-
- CobblerDistroSyncCommand distSync = new CobblerDistroSyncCommand();
- ValidatorError ve = distSync.syncNullDistros();
- if (ve != null && WARN_COUNT < 1) {
- TaskHelper.sendErrorEmail(log, ve.getMessage());
- WARN_COUNT++;
- }
-
+ XMLRPCInvoker invoker = (XMLRPCInvoker)
+ MethodUtil.getClassFromConfig(CobblerXMLRPCHelper.class.getName());
- log.debug("mtime: " + mtime.longValue() + ", last modified: "
+
- LAST_UPDATED.get());
- //If we got an mtime from cobbler and that mtime is before our last update
- // Then don't update anything
- if (mtime != null && mtime.longValue() <
CobblerSyncTask.LAST_UPDATED.get()) {
- log.debug("Cobbler mtime is less than last change, skipping");
- return;
- }
- else {
- log.debug("Syncing distros and profiles.");
+ Double mtime = null;
+ try {
+ mtime = (Double) invoker.invokeMethod("last_modified_time",
+ new ArrayList());
+ }
+ catch (XmlRpcFault e) {
+ log.error("Error calling cobbler.", e);
+ }
- ve = distSync.store();
- if (ve != null) {
+ CobblerDistroSyncCommand distSync = new CobblerDistroSyncCommand();
+ ValidatorError ve = distSync.syncNullDistros();
+ if (ve != null && DISTRO_WARN_COUNT < 1) {
TaskHelper.sendErrorEmail(log, ve.getMessage());
+ DISTRO_WARN_COUNT++;
}
- CobblerProfileSyncCommand profSync = new CobblerProfileSyncCommand();
- profSync.store();
- CobblerSystemSyncCommand systemSync = new CobblerSystemSyncCommand();
- systemSync.store();
+ log.debug("mtime: " + mtime.longValue() + ", last modified:
" +
+ LAST_UPDATED.get());
+ //If we got an mtime from cobbler and that mtime is before our last update
+ // Then don't update anything
+ if (mtime != null && mtime.longValue() <
CobblerSyncTask.LAST_UPDATED.get()) {
+ log.debug("Cobbler mtime is less than last change, skipping");
+ return;
+ }
+ else {
+ log.debug("Syncing distros and profiles.");
+
+ ve = distSync.store();
+ if (ve != null) {
+ TaskHelper.sendErrorEmail(log, ve.getMessage());
+ }
+
+ CobblerProfileSyncCommand profSync = new CobblerProfileSyncCommand();
+ profSync.store();
+
+ CobblerSystemSyncCommand systemSync = new CobblerSystemSyncCommand();
+ systemSync.store();
+ }
+
+ LAST_UPDATED.set((new Date()).getTime() / 1000 + 1);
+ }
+ catch (RuntimeException re) {
+ log.error("RuntimeExceptioneError trying to sync to cobbler: " +
+ re.getMessage(), re);
+ // Only throw up one error. Otherwise if say cobblerd is shutoff you can
+ // possibly generate 1 stacktrace email per minute which is quite spammy.
+ if (ERROR_COUNT < 1) {
+ ERROR_COUNT++;
+ log.error("re-throwing exception since we havent yet.");
+ throw re;
+ }
+ else {
+ log.error("Not re-throwing any more errors.");
+ }
}
-
- LAST_UPDATED.set((new Date()).getTime() / 1000 + 1);
-
}
commit be28fa1194d6ec071dd826360d09954caadb7388
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Fri Mar 20 14:21:25 2009 -0400
none - fixing busted exception handling for procedure calls
diff --git a/backend/server/rhnSQL/driver_cx_Oracle.py
b/backend/server/rhnSQL/driver_cx_Oracle.py
index b83ddd8..903fdde 100644
--- a/backend/server/rhnSQL/driver_cx_Oracle.py
+++ b/backend/server/rhnSQL/driver_cx_Oracle.py
@@ -264,7 +264,7 @@ class Procedure(sql_base.Procedure):
elif 20000 <= e[0].code <= 20999: # error codes we know we raise as
schema errors
raise apply(sql_base.SQLSchemaError, [e[0].code, str(e[0])])
- raise apply(sql_base.SQLError, tuple(e.args))
+ raise apply(sql_base.SQLError, [e[0].code, str(e[0])])
except cx_Oracle.NotSupportedError, error:
raise apply(sql_base.SQLError, error.args)
return retval
commit 376e0035e09003a9918db3f1aa8e542bf639f605
Author: Partha Aji <paji(a)redhat.com>
Date: Fri Mar 20 14:00:39 2009 -0400
250134:Added code to do a check on multibyte chars for max lenght in the validation
rhnvalidationhelper...
diff --git a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
index da2aa85..56c2719 100644
--- a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
+++ b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java
@@ -18,6 +18,7 @@ import com.redhat.rhn.common.localization.LocalizationService;
import org.apache.log4j.Logger;
+import java.io.UnsupportedEncodingException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -51,7 +52,27 @@ public class StringConstraint extends RequiredIfConstraint {
*/
public StringConstraint(String identifierIn) {
super(identifierIn);
- }
+ }
+
+ private boolean lengthLessThan(String str, Number length) {
+ try {
+ return str.getBytes("UTF8").length < length.intValue();
+ }
+ catch (UnsupportedEncodingException use) {
+ log.warn("Couldn;t convert to UTF8-> [" + str + "]");
+ return str.length() < length.intValue();
+ }
+ }
+
+ private boolean lengthGreaterThan(String str, Number length) {
+ try {
+ return str.getBytes("UTF8").length >= length.intValue();
+ }
+ catch (UnsupportedEncodingException use) {
+ log.warn("Couldn;t convert to UTF8-> [" + str + "]");
+ return str.length() >= length.intValue();
+ }
+ }
/** {@inheritDoc} */
public ValidatorError checkConstraint(Object value) {
@@ -67,7 +88,7 @@ public class StringConstraint extends RequiredIfConstraint {
// Validate String length
if (hasMaxLength()) {
log.debug("HasMaxlength ..");
- if (strValue.length() > getMaxLength().doubleValue()) {
+ if (!(lengthLessThan(strValue, getMaxLength()))) {
log.debug("Above max length: " + strValue.length() + "
data: " + strValue);
Object[] args = new Object[2];
args[0] = localizedIdentifier;
@@ -82,8 +103,8 @@ public class StringConstraint extends RequiredIfConstraint {
Object[] args = new Object[1];
args[0] = localizedIdentifier;
return new ValidatorError("errors.required", args);
- }
- if (strValue.length() < getMinLength().doubleValue()) {
+ }
+ if (!(lengthGreaterThan(strValue, getMinLength()))) {
log.debug("Below min length: " + strValue.length() + "
data: " + strValue);
Object[] args = new Object[2];
args[0] = localizedIdentifier;
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index f8300c9..9c27c69 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -185,7 +185,7 @@
</context-group>
</trans-unit>
<trans-unit id="errors.maxlength">
-<source>{0} cannot be greater than {1} characters.</source>
+<source>{0} cannot be greater than {1} characters (Note: double byte chars are not
supported).</source>
<context-group name="ctx">
<context context-type="sourcefile">Any page that has required
length fields</context>
<context context-type="paramnotes">Email cannot be greater than
4 characters</context>
commit 1acedc80c264c14e89803af456aba7c3fa5b3a19
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Fri Mar 20 13:14:28 2009 -0400
485529 - If the ip_addr for a disabled interface is not returned or empty, jus insert
an empty string into db instead of 0
diff --git a/backend/server/rhnServer/server_hardware.py
b/backend/server/rhnServer/server_hardware.py
index cddec1a..8f33f8d 100644
--- a/backend/server/rhnServer/server_hardware.py
+++ b/backend/server/rhnServer/server_hardware.py
@@ -160,6 +160,9 @@ def cleanse_ip_addr(ip_addr):
return None
# Make sure it's a string
ip_addr = str(ip_addr)
+ # If the ipaddr is empty, jus return empty str
+ if not len(ip_addr):
+ return ''
arr = ip_addr.split('.')
# lstrip will remove all leading zeros; if multiple zeros are present, it
# would remove too much, hence the or '0' here.
commit 65c8964a14bd176a9141df0af0d86e654f73e690
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 20 12:37:00 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.36-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 90136c6..e3678fc 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.35
+Version: 0.5.36
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -235,7 +235,7 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
-* Fri Mar 20 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.35-1
+* Fri Mar 20 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.36-1
- bring over jta from satellite build.
- fix the jfreechart requires to be 0:1.0.9 everywhere
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index fa51f53..fa8549c 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.35-1 java/
+0.5.36-1 java/
commit 4714e5393c40165a5fa39af1e9086843efb6150a
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Fri Mar 20 12:36:10 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.35-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index d4ff7ca..90136c6 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -10,7 +10,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.5.34
+Version: 0.5.35
Release: 1%{?dist}
URL:
https://fedorahosted.org/spacewalk
Source0:
https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -35,6 +35,7 @@ Requires: jasper5
Requires: jcommon
Requires: jfreechart >= 1.0.9
Requires: jpam
+Requires: jta
Requires: log4j
Requires: redstone-xmlrpc
Requires: oscache
@@ -82,7 +83,8 @@ BuildRequires: jakarta-taglibs-standard
BuildRequires: jasper5
BuildRequires: jcommon
BuildRequires: jdom
-BuildRequires: jfreechart >= 0:0.9.21
+BuildRequires: jfreechart >= 0:1.0.9
+BuildRequires: jta
BuildRequires: redstone-xmlrpc
BuildRequires: oscache
BuildRequires: quartz
@@ -139,7 +141,7 @@ Requires: jakarta-commons-configuration
Requires: jakarta-commons-logging
Requires: jakarta-taglibs-standard
Requires: jcommon
-Requires: jfreechart >= 0:0.9.21
+Requires: jfreechart >= 0:1.0.9
Requires: jpam
Requires: log4j
Requires: oscache
@@ -233,6 +235,10 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Fri Mar 20 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.35-1
+- bring over jta from satellite build.
+- fix the jfreechart requires to be 0:1.0.9 everywhere
+
* Thu Mar 19 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.5.34-1
- ServerFactory - fix wording in method header
- 486212 - api - added system.deleteCustomValues
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index 69c950f..fa51f53 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.5.34-1 java/
+0.5.35-1 java/
commit e27e2452fb4c7df15781e2c098756ea703c6feb5
Merge: 75fe209... 70f65e7...
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Fri Mar 20 12:34:41 2009 -0400
Merge branch 'master' of ssh://pkilambi@git.fedorahosted.org/git/spacewalk
commit 75fe209c6a0ba7fb0686acdd5cadc01ec20d1cf9
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Fri Mar 20 12:34:28 2009 -0400
482830 - fixing the rpm fetch to include the xml-dump-version in httpd headers during
GET requests
diff --git a/backend/rhn-conf/rhn_server_iss.conf b/backend/rhn-conf/rhn_server_iss.conf
index 08cdf56..b8df96a 100644
--- a/backend/rhn-conf/rhn_server_iss.conf
+++ b/backend/rhn-conf/rhn_server_iss.conf
@@ -5,7 +5,7 @@
# between Satellite and hosted.
# 2.2 -> 2.3 for satellite 3.6
-xml_dump_version = 3.1
+xml_dump_version = 3.3
use_database_cache = 0
diff --git a/backend/rhn-conf/rhn_server_satellite.conf
b/backend/rhn-conf/rhn_server_satellite.conf
index 84f1908..3e8fc93 100644
--- a/backend/rhn-conf/rhn_server_satellite.conf
+++ b/backend/rhn-conf/rhn_server_satellite.conf
@@ -28,3 +28,5 @@ cache_refresh_level = 2
# max number of satellite-sync's before a full cache refresh occurs (level 6)
cache_refresh_count_max = 5
+# dump version
+xml_dump_version = 3.3
diff --git a/backend/satellite_tools/connection.py
b/backend/satellite_tools/connection.py
index 6a9bed8..3e26a62 100644
--- a/backend/satellite_tools/connection.py
+++ b/backend/satellite_tools/connection.py
@@ -89,7 +89,7 @@ class _Server(rpclib.Server):
class StreamConnection(_Server):
def __init__(self, uri, proxy=None, username=None, password=None,
- refreshCallback=None, xml_dump_version="3.1"):
+ refreshCallback=None, xml_dump_version="3.3"):
_Server.__init__(self, uri, proxy=proxy, username=username,
password=password, refreshCallback=refreshCallback)
self.add_header("X-RHN-Satellite-XML-Dump-Version", xml_dump_version)
diff --git a/backend/satellite_tools/satellite-sync.sgml
b/backend/satellite_tools/satellite-sync.sgml
index 4a58d63..23ee69e 100644
--- a/backend/satellite_tools/satellite-sync.sgml
+++ b/backend/satellite_tools/satellite-sync.sgml
@@ -7,7 +7,7 @@
<RefMeta>
<RefEntryTitle>satellite-sync</RefEntryTitle><manvolnum>8</manvolnum>
-<RefMiscInfo>Version 3.1.0</RefMiscInfo>
+<RefMiscInfo>Version 3.3.0</RefMiscInfo>
</RefMeta>
<RefNameDiv>
diff --git a/backend/satellite_tools/xmlWireSource.py
b/backend/satellite_tools/xmlWireSource.py
index 33727ee..13b3dde 100644
--- a/backend/satellite_tools/xmlWireSource.py
+++ b/backend/satellite_tools/xmlWireSource.py
@@ -400,6 +400,9 @@ class RPCGetWireSource(BaseWireSource):
# Force a login otherwise
self._set_login_token(self._login())
url = self.url + self.handler
+ # include xml-dump-version in the header
+ self.login_token['X-RHN-Satellite-XML-Dump-Version'] = \
+ CFG.XML_DUMP_VERSION
get_server_obj = rpclib.GETServer(url, proxy=CFG.HTTP_PROXY,
username=CFG.HTTP_PROXY_USERNAME, password=CFG.HTTP_PROXY_PASSWORD,
headers=self.login_token)
commit 70f65e75d87eb0f0a835841fd63c1436dd2fc12c
Author: Mike McCune <mmccune(a)gmail.com>
Date: Thu Mar 19 20:18:28 2009 -0700
491091 - splitting out the rhel4 vs rhel5 ssl.conf regexes. Each RHEL
has a different spot for the cert/key files.
diff --git a/spacewalk/setup/share/ssl.conf.4 b/spacewalk/setup/share/ssl.conf.4
index 92a7fb8..9a437de 100644
--- a/spacewalk/setup/share/ssl.conf.4
+++ b/spacewalk/setup/share/ssl.conf.4
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLCertificateFile.*\n
+^#*[ \t]*SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt*\n
SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt
diff --git a/spacewalk/setup/share/ssl.conf.5 b/spacewalk/setup/share/ssl.conf.5
index 2513d0a..e20680b 100644
--- a/spacewalk/setup/share/ssl.conf.5
+++ b/spacewalk/setup/share/ssl.conf.5
@@ -1,2 +1,2 @@
-^#*[ \t]*SSLCertificateKeyFile.*\n
+^#*[ \t]*SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key*\n
SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
diff --git a/spacewalk/setup/share/ssl.conf.6 b/spacewalk/setup/share/ssl.conf.6
new file mode 100644
index 0000000..ad2ff40
--- /dev/null
+++ b/spacewalk/setup/share/ssl.conf.6
@@ -0,0 +1,2 @@
+^#*[ \t]*SSLCertificateFile /etc/pki/tls/certs/localhost.crt*\n
+SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt
diff --git a/spacewalk/setup/share/ssl.conf.7 b/spacewalk/setup/share/ssl.conf.7
new file mode 100644
index 0000000..54faea1
--- /dev/null
+++ b/spacewalk/setup/share/ssl.conf.7
@@ -0,0 +1,2 @@
+^#*[ \t]*SSLCertificateKeyFile /etc/pki/tls/private/localhost.key*\n
+SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
commit b5ee825abcf99fe9aabcad2418f45443ad7a9fd7
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Fri Mar 20 11:04:12 2009 -0400
483811 - fixing the orgid based sync logic to:
1. Validate given orgid at the args set time
2. fix the org id and channel family replace to be more simpler
diff --git a/backend/satellite_tools/satsync.py b/backend/satellite_tools/satsync.py
index 7337899..e7dff9e 100644
--- a/backend/satellite_tools/satsync.py
+++ b/backend/satellite_tools/satsync.py
@@ -2172,6 +2172,14 @@ def processCommandline():
sys.exit(0)
+ if OPTIONS.orgid:
+ # verify if its a valid org
+ orgs = map(lambda a: a['id'], satCerts.get_all_orgs())
+ if int(OPTIONS.orgid) not in orgs:
+ msg = "ERROR: Unable to lookup Org Id %s" % OPTIONS.orgid
+ log2stderr(-1, msg, cleanYN=1)
+ sys.exit(27)
+
# the action dictionary used throughout
actionDict = {
'blacklists' : 0,
@@ -2331,7 +2339,8 @@ def processCommandline():
" 23 - error: --rhn-cert requires --mount-point",
" 24 - no such file",
" 25 - no such directory",
- " 26 - mount_point does not exist"]
+ " 26 - mount_point does not exist",
+ " 27 - No such org",]
log(-1, msg, 1,1,sys.stderr)
sys.exit(0)
diff --git a/backend/satellite_tools/sync_handlers.py
b/backend/satellite_tools/sync_handlers.py
index 51dbcaf..bcaf31c 100644
--- a/backend/satellite_tools/sync_handlers.py
+++ b/backend/satellite_tools/sync_handlers.py
@@ -22,7 +22,6 @@ import string
from server import rhnSQL
from server.importlib import channelImport, packageImport, errataImport, \
kickstartImport, importLib
-from satCerts import get_all_orgs, NoOrgIdError
import diskImportLib
import xmlSource
import syncCache
@@ -184,8 +183,6 @@ def import_channels(channels, orgid=None):
collection = ChannelCollection()
batch = []
- orgs = get_all_orgs()
-
for c in channels:
try:
timestamp = collection.get_channel_timestamp(c)
@@ -195,15 +192,15 @@ def import_channels(channels, orgid=None):
if c_obj is None:
raise Exception, "Channel not found in cache: %s" % c
- if orgid is not None and c_obj['org_id'] is not None:
+ # Check to see if we're asked to sync to an orgid,
+ # make sure the org from the export is not null org,
+ # finally if the orgs differ so we might wanna use
+ # requested org's channel-family.
+ if orgid is not None and c_obj['org_id'] is not None and \
+ c_obj['org_id'] != orgid:
c_obj['org_id'] = orgid
- if c_obj['org_id'] not in orgs:
- raise NoOrgIdError("Error: Unable to lookup Org Id %s " \
- % c_obj['org_id'])
for family in c_obj['families']:
- if str(c_obj['org_id']) != \
- family['label'].split('-')[-1]:
- family['label'] = 'private-channel-family-' +
str(c_obj['org_id'])
+ family['label'] = 'private-channel-family-' +
c_obj['org_id']
batch.append(c_obj)