summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/kernel-yocto.bbclass34
1 files changed, 21 insertions, 13 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 92ede6a3aa..8494c16787 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -158,22 +158,10 @@ do_kernel_checkout() {
158 mkdir -p ${S} 158 mkdir -p ${S}
159 159
160 # We can fix up the kernel repository even if it wasn't a bare clone. 160 # We can fix up the kernel repository even if it wasn't a bare clone.
161 # If KMETA is defined, the branch must exist, but a machine branch
162 # can be missing since it may be created later by the tools.
163 mv ${WORKDIR}/git/.git ${S} 161 mv ${WORKDIR}/git/.git ${S}
164 rm -rf ${WORKDIR}/git/ 162 rm -rf ${WORKDIR}/git/
165 cd ${S} 163 cd ${S}
166 if [ -n "${KMETA}" ]; then 164 elif [ -d "${WORKDIR}/git/" ] && [ ! -d "${WORKDIR}/git/.git" ]; then
167 git branch -a | grep -q ${KMETA}
168 if [ $? -ne 0 ]; then
169 echo "ERROR. The branch '${KMETA}' is required and was not"
170 echo "found. Ensure that the SRC_URI points to a valid linux-yocto"
171 echo "kernel repository"
172 exit 1
173 fi
174 fi
175 fi
176 if [ -d "${WORKDIR}/git/" ] && [ ! -d "${WORKDIR}/git/.git" ]; then
177 # we build out of {S}, so ensure that ${S} is clean and present 165 # we build out of {S}, so ensure that ${S} is clean and present
178 rm -rf ${S} 166 rm -rf ${S}
179 mkdir -p ${S}/.git 167 mkdir -p ${S}/.git
@@ -182,9 +170,29 @@ do_kernel_checkout() {
182 rm -rf ${WORKDIR}/git/ 170 rm -rf ${WORKDIR}/git/
183 cd ${S} 171 cd ${S}
184 git config core.bare false 172 git config core.bare false
173 else
174 # We have no git repository at all. To support low bandwidth options
175 # for building the kernel, we'll just convert the tree to a git repo
176 # and let the rest of the process work unchanged
177 cd ${S}
178 git init
179 git add .
180 git commit -q -m "baseline commit: creating repo for ${PN}-${PV}"
185 fi 181 fi
186 # end debare 182 # end debare
187 183
184 # If KMETA is defined, the branch must exist, but a machine branch
185 # can be missing since it may be created later by the tools.
186 if [ -n "${KMETA}" ]; then
187 git branch -a | grep -q ${KMETA}
188 if [ $? -ne 0 ]; then
189 echo "ERROR. The branch '${KMETA}' is required and was not"
190 echo "found. Ensure that the SRC_URI points to a valid linux-yocto"
191 echo "kernel repository"
192 exit 1
193 fi
194 fi
195
188 # convert any remote branches to local tracking ones 196 # convert any remote branches to local tracking ones
189 for i in `git branch -a | grep remotes | grep -v HEAD`; do 197 for i in `git branch -a | grep remotes | grep -v HEAD`; do
190 b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`; 198 b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`;