Browse code

Add Makefile targets to build tool-chain in two steps saparetely if required.

Touseef Liaqat authored on 2015/07/04 23:00:45
Showing 3 changed files
... ...
@@ -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)