From f2017c32033b4b96469b075d6872a6d379652dfb Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 4 Jun 2013 16:39:34 +0000 Subject: [PATCH] Fixes to have mock worrking in RAP git-svn-id: https://svn.argeo.org/slc/trunk@6330 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/rpmfactory/core/BuildInMock.java | 63 ++++++++++--------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/runtime/org.argeo.slc.rpmfactory/src/main/java/org/argeo/slc/rpmfactory/core/BuildInMock.java b/runtime/org.argeo.slc.rpmfactory/src/main/java/org/argeo/slc/rpmfactory/core/BuildInMock.java index 50daabce3..11b772be9 100644 --- a/runtime/org.argeo.slc.rpmfactory/src/main/java/org/argeo/slc/rpmfactory/core/BuildInMock.java +++ b/runtime/org.argeo.slc.rpmfactory/src/main/java/org/argeo/slc/rpmfactory/core/BuildInMock.java @@ -43,6 +43,7 @@ public class BuildInMock implements Runnable { private Executor executor; private String debuginfoDirName = "debuginfo"; + private String mockExecutable = "/usr/bin/mock"; public void run() { String mockCfg = factory.getMockConfig(arch); @@ -52,7 +53,7 @@ public class BuildInMock implements Runnable { SystemCall mock = new SystemCall(); if (arch != null) mock.arg("setarch").arg(arch); - mock.arg("mock"); + mock.arg(mockExecutable); mock.arg("-v"); mock.arg("--configdir=" + mockConfigFile.getAbsoluteFile().getParent()); if (arch != null) @@ -89,35 +90,36 @@ public class BuildInMock implements Runnable { // copy RPMs Set reposToRecreate = new HashSet(); File resultDir = factory.getResultDir(arch); - rpms: for (File file : resultDir.listFiles()) { - if (file.isDirectory()) - continue rpms; - - File[] targetDirs; - if (file.getName().contains(".src.rpm")) - targetDirs = new File[] { srpmDir }; - else if (file.getName().contains("-debuginfo-")) - targetDirs = new File[] { debuginfoDir }; - else if (!arch.equals(NOARCH) - && file.getName().contains("." + arch + ".rpm")) - targetDirs = new File[] { archDir }; - else if (file.getName().contains(".noarch.rpm")) { - List dirs = new ArrayList(); - for (String arch : factory.getArchs()) - dirs.add(new File(stagingDir, arch)); - targetDirs = dirs.toArray(new File[dirs.size()]); - } else if (file.getName().contains(".rpm")) - throw new SlcException("Don't know where to copy " + file); - else { - if (log.isTraceEnabled()) - log.trace("Skip " + file); - continue rpms; + if (resultDir.exists()) + rpms: for (File file : resultDir.listFiles()) { + if (file.isDirectory()) + continue rpms; + + File[] targetDirs; + if (file.getName().contains(".src.rpm")) + targetDirs = new File[] { srpmDir }; + else if (file.getName().contains("-debuginfo-")) + targetDirs = new File[] { debuginfoDir }; + else if (!arch.equals(NOARCH) + && file.getName().contains("." + arch + ".rpm")) + targetDirs = new File[] { archDir }; + else if (file.getName().contains(".noarch.rpm")) { + List dirs = new ArrayList(); + for (String arch : factory.getArchs()) + dirs.add(new File(stagingDir, arch)); + targetDirs = dirs.toArray(new File[dirs.size()]); + } else if (file.getName().contains(".rpm")) + throw new SlcException("Don't know where to copy " + file); + else { + if (log.isTraceEnabled()) + log.trace("Skip " + file); + continue rpms; + } + + reposToRecreate.addAll(Arrays.asList(targetDirs)); + copyToDirs(file, targetDirs); } - reposToRecreate.addAll(Arrays.asList(targetDirs)); - copyToDirs(file, targetDirs); - } - // recreate changed repos for (File repoToRecreate : reposToRecreate) { SystemCall createrepo = new SystemCall(); @@ -171,4 +173,9 @@ public class BuildInMock implements Runnable { public void setExecutor(Executor executor) { this.executor = executor; } + + public void setMockExecutable(String mockExecutable) { + this.mockExecutable = mockExecutable; + } + } \ No newline at end of file -- 2.39.2