... | ... |
@@ -122,6 +122,35 @@ packages: check $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) |
122 | 122 |
-j $(PHOTON_DATA_DIR)/build_install_options_all.json \ |
123 | 123 |
-e ${PARALLEL} |
124 | 124 |
|
125 |
+tool-chain-stage1: check $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) |
|
126 |
+ @echo "Building all RPMS..." |
|
127 |
+ @cd $(PHOTON_PKG_BUILDER_DIR) && \ |
|
128 |
+ $(PHOTON_PACKAGE_BUILDER) -o full \ |
|
129 |
+ -s $(PHOTON_SPECS_DIR) \ |
|
130 |
+ -r $(PHOTON_RPMS_DIR) \ |
|
131 |
+ -x $(PHOTON_SRCS_DIR) \ |
|
132 |
+ -b $(PHOTON_CHROOT_PATH) \ |
|
133 |
+ -l $(PHOTON_LOGS_DIR) \ |
|
134 |
+ -p $(PHOTON_PUBLISH_RPMS_DIR) \ |
|
135 |
+ -j $(PHOTON_DATA_DIR)/build_install_options_all.json \ |
|
136 |
+ -e ${PARALLEL} \ |
|
137 |
+ -m stage1 |
|
138 |
+ |
|
139 |
+tool-chain-stage2: check $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) |
|
140 |
+ @echo "Building all RPMS..." |
|
141 |
+ @cd $(PHOTON_PKG_BUILDER_DIR) && \ |
|
142 |
+ $(PHOTON_PACKAGE_BUILDER) -o full \ |
|
143 |
+ -s $(PHOTON_SPECS_DIR) \ |
|
144 |
+ -r $(PHOTON_RPMS_DIR) \ |
|
145 |
+ -x $(PHOTON_SRCS_DIR) \ |
|
146 |
+ -b $(PHOTON_CHROOT_PATH) \ |
|
147 |
+ -l $(PHOTON_LOGS_DIR) \ |
|
148 |
+ -p $(PHOTON_PUBLISH_RPMS_DIR) \ |
|
149 |
+ -j $(PHOTON_DATA_DIR)/build_install_options_all.json \ |
|
150 |
+ -e ${PARALLEL} \ |
|
151 |
+ -m stage2 |
|
152 |
+ |
|
153 |
+ |
|
125 | 154 |
packages-cached: |
126 | 155 |
@echo "Using cached RPMS..." |
127 | 156 |
@$(RM) -f $(PHOTON_RPMS_DIR_NOARCH)/* && \ |
... | ... |
@@ -17,9 +17,6 @@ TEMP_CHROOT=$(pwd)/temp_chroot |
17 | 17 |
ROOTFS_TAR_FILENAME=photon-rootfs.tar.bz2 |
18 | 18 |
STAGE_DIR=$WORKSPACE_DIR/stage |
19 | 19 |
|
20 |
- |
|
21 |
-sudo createrepo $RPMS_DIR |
|
22 |
- |
|
23 | 20 |
cat > yum.conf <<- "EOF" |
24 | 21 |
|
25 | 22 |
[main] |
... | ... |
@@ -67,7 +64,9 @@ rm -rf home/* |
67 | 67 |
rm -rf var/lib/yum/* |
68 | 68 |
rm -rf /var/log/* |
69 | 69 |
tar cpjf ../$ROOTFS_TAR_FILENAME . |
70 |
-mv ../$ROOTFS_TAR_FILENAME $STAGE_DIR |
|
70 |
+mkdir -p $STAGE_DIR |
|
71 |
+mv ../$ROOTFS_TAR_FILENAME $STAGE_DIR/ |
|
72 |
+ |
|
71 | 73 |
cd .. |
72 | 74 |
|
73 | 75 |
# cleanup |
... | ... |
@@ -23,6 +23,7 @@ def main(): |
23 | 23 |
parser.add_option("-j", "--json-file", dest="inputJSONFile", default="../../common/data/build_install_options_all.json") |
24 | 24 |
parser.add_option("-b", "--build-root-path", dest="buildRootPath", default="/mnt") |
25 | 25 |
parser.add_option("-e", "--parallel-build", dest="parallelBuild", default=False) |
26 |
+ parser.add_option("-m", "--tool-chain-stage", dest="toolChainStage", default="None") |
|
26 | 27 |
|
27 | 28 |
(options, args) = parser.parse_args() |
28 | 29 |
cmdUtils=CommandUtils() |
... | ... |
@@ -107,7 +108,13 @@ def main(): |
107 | 107 |
''' |
108 | 108 |
try: |
109 | 109 |
constants.initialize(options) |
110 |
- if options.installPackage: |
|
110 |
+ if options.toolChainStage == "stage1": |
|
111 |
+ pkgManager = PackageManager() |
|
112 |
+ pkgManager.buildToolChain() |
|
113 |
+ elif options.toolChainStage == "stage2": |
|
114 |
+ pkgManager = PackageManager() |
|
115 |
+ pkgManager.buildToolChainPackages(parallelBuild) |
|
116 |
+ elif options.installPackage: |
|
111 | 117 |
buildAPackage(package, parallelBuild) |
112 | 118 |
else: |
113 | 119 |
buildPackagesFromGivenJSONFile(options.inputJSONFile, options.buildOption,logger, parallelBuild) |
... | ... |
@@ -118,6 +125,12 @@ def main(): |
118 | 118 |
|
119 | 119 |
sys.exit(0) |
120 | 120 |
|
121 |
+def buildToolChain(parallelBuild): |
|
122 |
+ listPackages=[] |
|
123 |
+ listPackages.append(package) |
|
124 |
+ pkgManager = PackageManager() |
|
125 |
+ pkgManager.buildPackages(listPackages, parallelBuild) |
|
126 |
+ |
|
121 | 127 |
def buildAPackage(package, parallelBuild): |
122 | 128 |
listPackages=[] |
123 | 129 |
listPackages.append(package) |