* [PATCH] sanity: add function to check for git config user
@ 2016-10-02 22:17 Stephano Cetola
2016-10-02 22:46 ` Paul Eggleton
0 siblings, 1 reply; 2+ messages in thread
From: Stephano Cetola @ 2016-10-02 22:17 UTC (permalink / raw)
To: openembedded-core
If attempting to patch a git repo without a proper git config setup,
an error will occur saying user.name/user.email are needed by git
am/apply. After 0f698dfd1c8bbc0d53ae7977e26685a7a3df52a3, it was
simple enough to reproduce this error by creating a kernel patch and
using a container to build.
This patch abstracts out functionality that existed in buildhistory
for use in other classes. It also adds a call to this functionality
to the kernel-yocto class.
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
---
meta/classes/buildhistory.bbclass | 13 ++++---------
meta/classes/kernel-yocto.bbclass | 2 ++
meta/classes/sanity.bbclass | 15 +++++++++++++++
3 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 6e5de0e..ed79029 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -688,6 +688,7 @@ END
rm $commitmsgfile
}
+inherit sanity
buildhistory_commit() {
if [ ! -d ${BUILDHISTORY_DIR} ] ; then
# Code above that creates this dir never executed, so there can't be anything to commit
@@ -708,15 +709,9 @@ END
git tag -f build-minus-2 build-minus-1 > /dev/null 2>&1 || true
git tag -f build-minus-1 > /dev/null 2>&1 || true
fi
- # If the user hasn't set up their name/email, set some defaults
- # just for this repo (otherwise the commit will fail with older
- # versions of git)
- if ! git config user.email > /dev/null ; then
- git config --local user.email "buildhistory@${DISTRO}"
- fi
- if ! git config user.name > /dev/null ; then
- git config --local user.name "buildhistory"
- fi
+
+ check_git_config "buildhistory"
+
# Check if there are new/changed files to commit (other than metadata-revs)
repostatus=`git status --porcelain | grep -v " metadata-revs$"`
HOSTNAME=`hostname 2>/dev/null || echo unknown`
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 53659f2..035edeb 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -156,9 +156,11 @@ do_kernel_metadata() {
fi
}
+inherit sanity
do_patch() {
cd ${S}
+ check_git_config "kernel-yocto"
meta_dir=$(kgit --meta)
(cd ${meta_dir}; ln -sf patch.queue series)
if [ -f "${meta_dir}/series" ]; then
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 7682ffb..40033ab 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -1023,3 +1023,18 @@ python check_sanity_eventhandler() {
return
}
+
+# If the user hasn't set up their name/email, set some defaults
+check_git_config() {
+ if [ -z "$1" ]; then
+ name="OE"
+ else
+ name="$1"
+ fi
+ if ! git config user.email > /dev/null ; then
+ git config --local user.email "${name}@${DISTRO}"
+ fi
+ if ! git config user.name > /dev/null ; then
+ git config --local user.name "${name}"
+ fi
+}
--
2.10.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] sanity: add function to check for git config user
2016-10-02 22:17 [PATCH] sanity: add function to check for git config user Stephano Cetola
@ 2016-10-02 22:46 ` Paul Eggleton
0 siblings, 0 replies; 2+ messages in thread
From: Paul Eggleton @ 2016-10-02 22:46 UTC (permalink / raw)
To: Stephano Cetola; +Cc: openembedded-core
Hi Stephano,
On Sun, 02 Oct 2016 15:17:31 Stephano Cetola wrote:
> If attempting to patch a git repo without a proper git config setup,
> an error will occur saying user.name/user.email are needed by git
> am/apply. After 0f698dfd1c8bbc0d53ae7977e26685a7a3df52a3, it was
> simple enough to reproduce this error by creating a kernel patch and
> using a container to build.
>
> This patch abstracts out functionality that existed in buildhistory
> for use in other classes. It also adds a call to this functionality
> to the kernel-yocto class.
For the logic implemented by patch.bbclass, we already fixed this by forcing a
dummy value for the commit name and email (since it's not actually the user
doing the commit, it's the build system). If we're adding this to cover
similar automated scenarios where the user isn't the one making the commit,
then I think we should be fixing those to do the same instead.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-10-02 22:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-02 22:17 [PATCH] sanity: add function to check for git config user Stephano Cetola
2016-10-02 22:46 ` Paul Eggleton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox