import java.io.File;
import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
private String mockVar = "/var/lib/mock";
private String mockEtc = "/etc/mock";
+ private DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHmm");
+
private String gitWorkspace = "git";
private String localUrlBase = "http://localhost:7070/";
}
}
+ /** Caller must logout the underlying session. */
+ protected Node newDistribution(String distributionId) {
+ Session session = null;
+ try {
+ session = JcrUtils.loginOrCreateWorkspace(rpmRepository,
+ distributionId);
+ JcrUtils.addPrivilege(session, "/", "anonymous", "jcr:read");
+ JcrUtils.addPrivilege(session, "/", SlcConstants.ROLE_SLC,
+ "jcr:all");
+
+ Calendar now = new GregorianCalendar();
+ String folderName = dateFormat.format(now.getTime());
+ return JcrUtils.mkfolders(session, "/" + folderName);
+ } catch (Exception e) {
+ JcrUtils.logoutQuietly(session);
+ throw new SlcException("Cannot initialize distribution workspace "
+ + distributionId, e);
+ }
+ }
+
protected void initGitWorkspace() {
Session session = null;
try {
buf.append("baseurl=").append(proxiedReposBase)
.append(repository.getId()).append('/').append(arch)
.append('/').append("\n");
+ if (((ThirdPartyRpmRepository) repository).getYumConf() != null)
+ buf.append(
+ ((ThirdPartyRpmRepository) repository).getYumConf()
+ .trim()).append('\n');
}
}
buf.append('[').append(workspace).append("]\n");
buf.append("baseurl=").append(managedReposBase).append(workspace)
.append('/').append(arch).append('/').append("\n");
+ buf.append("gpgcheck=0").append("\n");
}
/** Creates a mock config file. */
}
/** Creates a yum config file. */
- public File getYumConfigFile(String arch) {
- File yumConfigFile = new File(yumConfDir, getIdWithArch(arch) + ".conf");
+ public File getYumRepoFile(String arch) {
+ File yumConfigFile = new File(yumConfDir, getIdWithArch(arch) + ".repo");
try {
FileUtils.writeStringToFile(yumConfigFile,
generateYumConfigFile(arch));
}
public File getSourcesDir() {
- return new File(distBase + "/" + stagingWorkspace);
+ return new File(distBase + "/" + stableWorkspace);
}
public String getMockConfig(String arch) {