java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 5 +++++
1 file changed, 5 insertions(+)
New commits:
commit e879a8130ec46c411d6d314df65c20c67ab05b22
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Wed Aug 19 19:20:30 2009 -0400
518342 - adding workaround for RHEL5u4 bug failing to register when dbus and hal are not running
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 b19e112..dc94a64 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -682,6 +682,11 @@ public class KickstartFormatter {
retval.append(KSTREE);
retval.append(NEWLINE);
+ //RHEL 5u4 hack for bz 495680
+ if (ksdata.isRhel5()) {
+ retval.append("/etc/init.d/messagebus restart" + NEWLINE);
+ retval.append("/etc/init.d/haldaemon restart" + NEWLINE);
+ }
retval.append("# begin cobbler snippet" + NEWLINE);
retval.append("$SNIPPET('redhat_register')" + NEWLINE);
retval.append("# end cobbler snippet" + NEWLINE);
14 years, 8 months
Changes to 'refs/tags/spacewalk-java-0.6.44-1'
by Jesus M. Rodriguez
Tag 'spacewalk-java-0.6.44-1' created by jesus m. rodriguez <jesusr(a)redhat.com> at 2009-08-19 21:00 +0000
Tagging package [spacewalk-java] version [0.6.44-1] in directory [java/].
Changes since spacewalk-koan-0.1.18-1:
Justin Sherrill (2):
adding support for child channel repos during kickstart
adding config option for disabling the ability to access child channel repo through kickstart
jesus m. rodriguez (1):
Automatic commit of package [spacewalk-java] release [0.6.44-1].
---
java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java | 2
java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java | 50 +++++++++-
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 11 ++
java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java | 15 +++
java/spacewalk-java.spec | 7 +
rel-eng/packages/spacewalk-java | 2
6 files changed, 82 insertions(+), 5 deletions(-)
---
14 years, 8 months
Branch 'SPACEWALK-0.6' - java/spacewalk-java.spec rel-eng/packages
by Jesus M. Rodriguez
java/spacewalk-java.spec | 7 ++++++-
rel-eng/packages/spacewalk-java | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
New commits:
commit 02f451f4e78a0f37daa47e8f079cd5dc307f8a4b
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Wed Aug 19 17:00:00 2009 -0400
Automatic commit of package [spacewalk-java] release [0.6.44-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec
index 3fda2a0..8c3bd38 100644
--- a/java/spacewalk-java.spec
+++ b/java/spacewalk-java.spec
@@ -12,7 +12,7 @@ Name: spacewalk-java
Summary: Spacewalk Java site packages
Group: Applications/Internet
License: GPLv2
-Version: 0.6.43
+Version: 0.6.44
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -257,6 +257,11 @@ fi
%attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog
+* Wed Aug 19 2009 jesus m. rodriguez <jesusr(a)redhat.com> 0.6.44-1
+- adding config option for disabling the ability to access child channel repo
+ through kickstart (jsherril(a)redhat.com)
+- adding support for child channel repos during kickstart (jsherril(a)redhat.com)
+
* Thu Aug 13 2009 Pradeep Kilambi <pkilambi(a)redhat.com> 0.6.43-1
- fixing the cloned channel creation to use the original channels checksum type
and set to db. Once the cloned logic is converted from perl to java we can do
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java
index ee692cf..5cd6bb7 100644
--- a/rel-eng/packages/spacewalk-java
+++ b/rel-eng/packages/spacewalk-java
@@ -1 +1 @@
-0.6.43-1 java/
+0.6.44-1 java/
14 years, 8 months
java/code
by jdob
java/code/src/com/redhat/rhn/common/util/MD5Sum.java | 2 --
1 file changed, 2 deletions(-)
New commits:
commit c3d33b189f671b2030ae81a776b82ece787180cd
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Wed Aug 19 14:49:04 2009 -0400
Checkstyle fix
diff --git a/java/code/src/com/redhat/rhn/common/util/MD5Sum.java b/java/code/src/com/redhat/rhn/common/util/MD5Sum.java
index 01abe50..709088d 100644
--- a/java/code/src/com/redhat/rhn/common/util/MD5Sum.java
+++ b/java/code/src/com/redhat/rhn/common/util/MD5Sum.java
@@ -14,9 +14,7 @@
*/
package com.redhat.rhn.common.util;
-import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
14 years, 8 months
java/code
by jdob
java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushSetupAction.java | 10 ++++++----
java/code/webapp/WEB-INF/pages/errata/addpackagepackagepush.jsp | 1 +
java/code/webapp/WEB-INF/pages/errata/packagepush.jsp | 1 +
java/code/webapp/WEB-INF/struts-config.xml | 4 ++--
4 files changed, 10 insertions(+), 6 deletions(-)
New commits:
commit 2726ca31970b36b97977e866ce37f63067a58367
Author: Jason Dobies <jason.dobies(a)redhat.com>
Date: Wed Aug 19 14:36:13 2009 -0400
518262 - Fixed select all buttons when selecting erratum packages to push to a channel.
The issue was two fold:
- The non-setup pages were configured to redirect back to the setup pages.
- The setup pages always cleared the sets; they needed to not clear if it was a submitted page leading into it.
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushSetupAction.java
index 078a28c..0496703 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushSetupAction.java
@@ -41,11 +41,9 @@ import javax.servlet.http.HttpServletResponse;
/**
* PackagePushSetupAction
- * @version $Rev$
*/
public class PackagePushSetupAction extends RhnListAction {
-
/**
* {@inheritDoc}
*/
@@ -53,6 +51,7 @@ public class PackagePushSetupAction extends RhnListAction {
ActionForm formIn,
HttpServletRequest request,
HttpServletResponse response) {
+
RequestContext rctx = new RequestContext(request);
User user = rctx.getLoggedInUser();
@@ -79,8 +78,11 @@ public class PackagePushSetupAction extends RhnListAction {
Iterator i = set.iterator();
RhnSet packageSet = RhnSetDecl.PACKAGES_TO_PUSH.get(user);
- packageSet.clear();
- RhnSetManager.store(packageSet);
+
+ if (!rctx.isSubmitted()) {
+ packageSet.clear();
+ RhnSetManager.store(packageSet);
+ }
/* Here we loop through the set of channels the user just selected
* and prompt them if they would like to push the packages in
diff --git a/java/code/webapp/WEB-INF/pages/errata/addpackagepackagepush.jsp b/java/code/webapp/WEB-INF/pages/errata/addpackagepackagepush.jsp
index 527ac47..bb37094 100644
--- a/java/code/webapp/WEB-INF/pages/errata/addpackagepackagepush.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/addpackagepackagepush.jsp
@@ -18,6 +18,7 @@
<c:set var="pageList" value="${requestScope.pageList}" />
<html:form action="/errata/manage/AddPackagePackagePushSubmit">
<%@ include file="/WEB-INF/pages/common/fragments/errata/packagepush.jspf" %>
+<rhn:submitted/>
</html:form>
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/pages/errata/packagepush.jsp b/java/code/webapp/WEB-INF/pages/errata/packagepush.jsp
index b5e394e..31527b1 100644
--- a/java/code/webapp/WEB-INF/pages/errata/packagepush.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/packagepush.jsp
@@ -18,6 +18,7 @@
<c:set var="pageList" value="${requestScope.pageList}" />
<html:form action="/errata/manage/PackagePushSubmit">
<%@ include file="/WEB-INF/pages/common/fragments/errata/packagepush.jspf" %>
+<rhn:submitted/>
</html:form>
</body>
</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml
index 47d0372..3b90c2e 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -2024,7 +2024,7 @@
parameter="dispatch"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls" value="user_role(channel_admin)"/>
- <forward name="default" path="/errata/manage/PackagePush.do" redirect="true"/>
+ <forward name="default" path="/errata/manage/PackagePush.do"/>
<forward name="defaultWithoutRedirect" path="/errata/manage/PackagePush.do" />
</action>
@@ -2137,7 +2137,7 @@
parameter="dispatch"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls" value="user_role(channel_admin)"/>
- <forward name="default" path="/errata/manage/AddPackagePackagePush.do" redirect="true"/>
+ <forward name="default" path="/errata/manage/AddPackagePackagePush.do"/>
<forward name="defaultWithoutRedirect" path="/errata/manage/AddPackagePackagePush.do" />
</action>
14 years, 8 months
java/code
by Devan Goodwin
java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit d82b5cf194497b00f6d45c0f276bf6c770ec5e40
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Wed Aug 19 12:21:55 2009 -0300
516863 - Fix Schedule page date sorting.
Was using alphabetical string sort, not an actual date sort, and based
on the string format in use you could get some wildly innacurate
results.
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
index dd8fe3a..9c60ff5 100644
--- 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
@@ -25,7 +25,7 @@
<rl:column sortable="true"
bound="false"
headerkey="actions.jsp.earliest"
- sortattr="earliest"
+ sortattr="earliestDate"
defaultsort="desc"
>
<c:out value="${current.earliest}" />
14 years, 8 months
monitoring/NPalert
by Miroslav Suchý
monitoring/NPalert/scripts/notif-launcher | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit 5286fd61ef01a96061519db20835986f239411e3
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Aug 19 14:33:34 2009 +0200
avoid deadlock when we have problem after acquiring lock
diff --git a/monitoring/NPalert/scripts/notif-launcher b/monitoring/NPalert/scripts/notif-launcher
index 4d248be..bc04626 100755
--- a/monitoring/NPalert/scripts/notif-launcher
+++ b/monitoring/NPalert/scripts/notif-launcher
@@ -189,6 +189,7 @@ while (1) {
my $msg = $@ || "No alert id";
$Log->log(1,"ERROR: Skipping $filename. Escalator Interface error: $@");
$AlertQ->skip;
+ $alert_file->close_file;
next;
}
$alert->alert_id($alert_id);
@@ -213,6 +214,7 @@ while (1) {
if ($@ || !@send_ids) {
$Log->log(1,"ERROR: Cannot create sends $filename. Skipping alert. Escalator Interface error: $@");
$AlertQ->skip;
+ $alert_file->close_file;
next;
}
14 years, 8 months
2 commits - java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java | 2
java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java | 50 +++++++++-
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 11 ++
java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java | 15 +++
4 files changed, 75 insertions(+), 3 deletions(-)
New commits:
commit 4aecc9039c8ede9d3157d0d99e36fa8493f876f6
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Aug 18 16:28:38 2009 -0400
adding config option for disabling the ability to access child channel repo through kickstart
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 86a440d..f57ccc6 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
@@ -231,7 +231,8 @@ public class DownloadFile extends DownloadAction {
}
- if (map.containsKey("child")) {
+ if (map.containsKey("child") &&
+ !Config.get().getBoolean("ks_restrict_child_channels")) {
Channel child = ChannelFactory.lookupByLabel(map.get("child"));
if (child == null || !child.getParentChannel().equals(tree.getChannel())) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
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 59cad99..b19e112 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -311,8 +311,9 @@ public class KickstartFormatter {
}
}
}
-
- if (ksdata.isRhel5OrGreater()) {
+
+ if (ksdata.isRhel5OrGreater() &&
+ !Config.get().getBoolean("ks_restrict_child_channels")) {
for (Channel child : ksdata.getChildChannels()) {
KickstartUrlHelper helper = new KickstartUrlHelper(ksdata);
commands.append(String.format("repo --name=%s --baseurl=%s",
commit 837beaef6b0b907b656a9963b30cde9dee426c99
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Aug 18 16:10:50 2009 -0400
adding support for child channel repos during kickstart
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
index 3324e5c..d61b29a 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
@@ -335,7 +335,7 @@ public class KickstartData {
/**
* @return the childChannels
*/
- public Set getChildChannels() {
+ public Set<Channel> getChildChannels() {
return childChannels;
}
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 d1a88a3..86a440d 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
@@ -82,6 +82,7 @@ public class DownloadFile extends DownloadAction {
private static final String USERID = "userid";
private static final String FILEID = "fileid";
private static final String FILENAME = "filename";
+ private static final String CHILD = "child";
private static final String TREE = "tree";
private static final String PATH = "path";
private static final String SESSION = "session";
@@ -139,6 +140,7 @@ public class DownloadFile extends DownloadAction {
* /ks/dist/tree-label/path/to/file.rpm
* /ks/dist/org/#/tree-label/path/to/file
* /ks/dist/session/HEX/tree-label/path/to/file.rpm
+ * /ks/dist/tree-label/child/child-chan-label/path/to/file.rpm
*
* @param url the url to parse
* @return a map with the following params:
@@ -146,6 +148,7 @@ public class DownloadFile extends DownloadAction {
* path (req)
* session (opt)
* orgId (opt)
+ * child (opt)
*/
public static Map<String, String> parseDistUrl(String url) {
Map<String, String> ret = new HashMap<String, String>();
@@ -165,6 +168,11 @@ public class DownloadFile extends DownloadAction {
ret.put("session", split[3]);
labelPos = 4;
}
+ else if (split[2].equals("child")) {
+ ret.put("child", split[3]);
+ labelPos = 4;
+ }
+
ret.put("label", split[labelPos]);
String path = "";
for (int i = labelPos + 1; i < split.length; i++) {
@@ -223,6 +231,25 @@ public class DownloadFile extends DownloadAction {
}
+ if (map.containsKey("child")) {
+ Channel child = ChannelFactory.lookupByLabel(map.get("child"));
+ if (child == null || !child.getParentChannel().equals(tree.getChannel())) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return mapping.findForward("error");
+ }
+ else {
+ HashMap params = new HashMap();
+ params.put(TYPE, DownloadManager.DOWNLOAD_TYPE_KICKSTART);
+ params.put(TREE, tree);
+ params.put(CHILD, child);
+ params.put(FILENAME, path);
+ request.setAttribute(PARAMS, params);
+ return null;
+ }
+
+ }
+
+
if (tree == null) {
log.error("Tree not found.");
response.sendError(HttpServletResponse.SC_NOT_FOUND);
@@ -343,6 +370,7 @@ public class DownloadFile extends DownloadAction {
}
+
private StreamInfo getStreamInfoKickstart(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response,
String path) throws Exception {
@@ -359,6 +387,8 @@ public class DownloadFile extends DownloadAction {
KickstartSessionState newState = null;
KickstartableTree tree = (KickstartableTree) params.get(TREE);
Package rpmPackage;
+ Channel child = (Channel) params.get(CHILD);
+
if (tree.getBasePath().indexOf(kickstartMount) == 0) {
log.debug("Trimming mount because tree is" +
" explicitly rooted to the mount point");
@@ -378,6 +408,10 @@ public class DownloadFile extends DownloadAction {
log.debug("RPM filename: " + fileName);
}
Channel channel = tree.getChannel();
+ if (child != null) {
+ channel = child;
+ }
+
rpmPackage = ChannelFactory.lookupPackageByFilename(channel, fileName);
if (rpmPackage != null) {
diskPath = Config.get().getString(ConfigDefaults.MOUNT_POINT) + "/" +
@@ -398,7 +432,20 @@ public class DownloadFile extends DownloadAction {
// check for dir pings, virt manager or install, bz #345721
if (diskPath == null) {
// my $dp = File::Spec->catfile($kickstart_mount, $tree->base_path, $path);
- diskPath = kickstartMount + "/" + tree.getBasePath() + path;
+
+ if (child == null) {
+ diskPath = kickstartMount + "/" + tree.getBasePath() + path;
+ }
+ else {
+ String[] split = StringUtils.split(path, '/');
+ if (split[0].equals("repodata")) {
+ split[0] = child.getLabel();
+ }
+ diskPath = "/var/cache/" +
+ Config.get().getString("repomd_path_prefix", "rhn/repodata/") + "/" +
+ StringUtils.join(split, '/');
+ }
+
if (log.isDebugEnabled()) {
log.debug("DirCheck path: " + diskPath);
}
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 af1f624..59cad99 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -312,6 +312,14 @@ public class KickstartFormatter {
}
}
+ if (ksdata.isRhel5OrGreater()) {
+ for (Channel child : ksdata.getChildChannels()) {
+ KickstartUrlHelper helper = new KickstartUrlHelper(ksdata);
+ commands.append(String.format("repo --name=%s --baseurl=%s",
+ child.getLabel(), helper.getKickstartChildRepoUrl(child) + NEWLINE));
+ }
+ }
+
return commands.toString();
}
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java
index e7b0659..b8ebb6e 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java
@@ -16,6 +16,7 @@ package com.redhat.rhn.manager.kickstart;
import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.common.security.SessionSwap;
+import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.common.CommonFactory;
import com.redhat.rhn.domain.common.TinyUrl;
import com.redhat.rhn.domain.kickstart.KickstartData;
@@ -211,6 +212,20 @@ public class KickstartUrlHelper {
}
/**
+ * get a kickstart repo url for a child channel
+ * @param child the child channel
+ * @return string that represents the repo url
+ */
+ public String getKickstartChildRepoUrl(Channel child) {
+ StringBuffer url = new StringBuffer();
+ url.append(protocol + host + "/ks/dist/");
+ url.append("child/" + child.getLabel() + "/");
+ url.append(ksData.getTree().getLabel());
+ return url.toString();
+ }
+
+
+ /**
* Get the media path for the KickstartableTree. Example:
* /ks/dist/ks-rhel-i386-as-4-u2
*
14 years, 8 months
Branch 'SPACEWALK-0.6' - 2 commits - java/code
by Justin Sherrill
java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java | 2
java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java | 50 +++++++++-
java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 11 ++
java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java | 15 +++
4 files changed, 75 insertions(+), 3 deletions(-)
New commits:
commit a01d9ae46e86a94cb50eea0dc0e062f94bf4c86d
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Aug 18 16:28:38 2009 -0400
adding config option for disabling the ability to access child channel repo through kickstart
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 86a440d..f57ccc6 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
@@ -231,7 +231,8 @@ public class DownloadFile extends DownloadAction {
}
- if (map.containsKey("child")) {
+ if (map.containsKey("child") &&
+ !Config.get().getBoolean("ks_restrict_child_channels")) {
Channel child = ChannelFactory.lookupByLabel(map.get("child"));
if (child == null || !child.getParentChannel().equals(tree.getChannel())) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
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 59cad99..b19e112 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -311,8 +311,9 @@ public class KickstartFormatter {
}
}
}
-
- if (ksdata.isRhel5OrGreater()) {
+
+ if (ksdata.isRhel5OrGreater() &&
+ !Config.get().getBoolean("ks_restrict_child_channels")) {
for (Channel child : ksdata.getChildChannels()) {
KickstartUrlHelper helper = new KickstartUrlHelper(ksdata);
commands.append(String.format("repo --name=%s --baseurl=%s",
commit 2d15e1fbba94f047b4ac2a1db13123e12ab81747
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Aug 18 16:10:50 2009 -0400
adding support for child channel repos during kickstart
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
index 3324e5c..d61b29a 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
@@ -335,7 +335,7 @@ public class KickstartData {
/**
* @return the childChannels
*/
- public Set getChildChannels() {
+ public Set<Channel> getChildChannels() {
return childChannels;
}
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 d1a88a3..86a440d 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
@@ -82,6 +82,7 @@ public class DownloadFile extends DownloadAction {
private static final String USERID = "userid";
private static final String FILEID = "fileid";
private static final String FILENAME = "filename";
+ private static final String CHILD = "child";
private static final String TREE = "tree";
private static final String PATH = "path";
private static final String SESSION = "session";
@@ -139,6 +140,7 @@ public class DownloadFile extends DownloadAction {
* /ks/dist/tree-label/path/to/file.rpm
* /ks/dist/org/#/tree-label/path/to/file
* /ks/dist/session/HEX/tree-label/path/to/file.rpm
+ * /ks/dist/tree-label/child/child-chan-label/path/to/file.rpm
*
* @param url the url to parse
* @return a map with the following params:
@@ -146,6 +148,7 @@ public class DownloadFile extends DownloadAction {
* path (req)
* session (opt)
* orgId (opt)
+ * child (opt)
*/
public static Map<String, String> parseDistUrl(String url) {
Map<String, String> ret = new HashMap<String, String>();
@@ -165,6 +168,11 @@ public class DownloadFile extends DownloadAction {
ret.put("session", split[3]);
labelPos = 4;
}
+ else if (split[2].equals("child")) {
+ ret.put("child", split[3]);
+ labelPos = 4;
+ }
+
ret.put("label", split[labelPos]);
String path = "";
for (int i = labelPos + 1; i < split.length; i++) {
@@ -223,6 +231,25 @@ public class DownloadFile extends DownloadAction {
}
+ if (map.containsKey("child")) {
+ Channel child = ChannelFactory.lookupByLabel(map.get("child"));
+ if (child == null || !child.getParentChannel().equals(tree.getChannel())) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ return mapping.findForward("error");
+ }
+ else {
+ HashMap params = new HashMap();
+ params.put(TYPE, DownloadManager.DOWNLOAD_TYPE_KICKSTART);
+ params.put(TREE, tree);
+ params.put(CHILD, child);
+ params.put(FILENAME, path);
+ request.setAttribute(PARAMS, params);
+ return null;
+ }
+
+ }
+
+
if (tree == null) {
log.error("Tree not found.");
response.sendError(HttpServletResponse.SC_NOT_FOUND);
@@ -343,6 +370,7 @@ public class DownloadFile extends DownloadAction {
}
+
private StreamInfo getStreamInfoKickstart(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response,
String path) throws Exception {
@@ -359,6 +387,8 @@ public class DownloadFile extends DownloadAction {
KickstartSessionState newState = null;
KickstartableTree tree = (KickstartableTree) params.get(TREE);
Package rpmPackage;
+ Channel child = (Channel) params.get(CHILD);
+
if (tree.getBasePath().indexOf(kickstartMount) == 0) {
log.debug("Trimming mount because tree is" +
" explicitly rooted to the mount point");
@@ -378,6 +408,10 @@ public class DownloadFile extends DownloadAction {
log.debug("RPM filename: " + fileName);
}
Channel channel = tree.getChannel();
+ if (child != null) {
+ channel = child;
+ }
+
rpmPackage = ChannelFactory.lookupPackageByFilename(channel, fileName);
if (rpmPackage != null) {
diskPath = Config.get().getString(ConfigDefaults.MOUNT_POINT) + "/" +
@@ -398,7 +432,20 @@ public class DownloadFile extends DownloadAction {
// check for dir pings, virt manager or install, bz #345721
if (diskPath == null) {
// my $dp = File::Spec->catfile($kickstart_mount, $tree->base_path, $path);
- diskPath = kickstartMount + "/" + tree.getBasePath() + path;
+
+ if (child == null) {
+ diskPath = kickstartMount + "/" + tree.getBasePath() + path;
+ }
+ else {
+ String[] split = StringUtils.split(path, '/');
+ if (split[0].equals("repodata")) {
+ split[0] = child.getLabel();
+ }
+ diskPath = "/var/cache/" +
+ Config.get().getString("repomd_path_prefix", "rhn/repodata/") + "/" +
+ StringUtils.join(split, '/');
+ }
+
if (log.isDebugEnabled()) {
log.debug("DirCheck path: " + diskPath);
}
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 af1f624..59cad99 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -312,6 +312,14 @@ public class KickstartFormatter {
}
}
+ if (ksdata.isRhel5OrGreater()) {
+ for (Channel child : ksdata.getChildChannels()) {
+ KickstartUrlHelper helper = new KickstartUrlHelper(ksdata);
+ commands.append(String.format("repo --name=%s --baseurl=%s",
+ child.getLabel(), helper.getKickstartChildRepoUrl(child) + NEWLINE));
+ }
+ }
+
return commands.toString();
}
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java
index e7b0659..b8ebb6e 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartUrlHelper.java
@@ -16,6 +16,7 @@ package com.redhat.rhn.manager.kickstart;
import com.redhat.rhn.common.conf.ConfigDefaults;
import com.redhat.rhn.common.security.SessionSwap;
+import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.common.CommonFactory;
import com.redhat.rhn.domain.common.TinyUrl;
import com.redhat.rhn.domain.kickstart.KickstartData;
@@ -211,6 +212,20 @@ public class KickstartUrlHelper {
}
/**
+ * get a kickstart repo url for a child channel
+ * @param child the child channel
+ * @return string that represents the repo url
+ */
+ public String getKickstartChildRepoUrl(Channel child) {
+ StringBuffer url = new StringBuffer();
+ url.append(protocol + host + "/ks/dist/");
+ url.append("child/" + child.getLabel() + "/");
+ url.append(ksData.getTree().getLabel());
+ return url.toString();
+ }
+
+
+ /**
* Get the media path for the KickstartableTree. Example:
* /ks/dist/ks-rhel-i386-as-4-u2
*
14 years, 8 months
Branch 'VADER' - proxy/proxy
by Miroslav Suchý
proxy/proxy/spacewalk-proxy.spec | 4 ----
1 file changed, 4 deletions(-)
New commits:
commit dce792558b6d97c86a807f53d342f94c3e7d3576
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Tue Aug 18 17:12:21 2009 +0200
503187 - do not automaticaly download rhn_proxy.conf
the updates are now handled by rpm and if customer has custom changes he has to manually do diff and apply changes
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index ff56e9c..2fcce3e 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -202,10 +202,6 @@ if rhncfg-client verify %{_sysconfdir}/squid/squid.conf | grep -E '(modified|mis
%{_usr}/sbin/squid -z
/sbin/service squid condrestart
fi > /dev/null 2>&1
-if rhncfg-client verify %{_sysconfdir}/httpd/conf.d/rhn_proxy.conf | grep -E '(modified|missing)'; then
- %{_usr}/bin/rhncfg-client get %{_sysconfdir}/httpd/conf.d/rhn_proxy.conf
-/sbin/service httpd condrestart
-fi > /dev/null 2>&1
exit 0
14 years, 8 months