* [PATCH v2 0/2] Add task to create kernel config fragments
@ 2014-02-16 21:40 João Henrique Ferreira de Freitas
2014-02-16 21:40 ` [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task João Henrique Ferreira de Freitas
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: João Henrique Ferreira de Freitas @ 2014-02-16 21:40 UTC (permalink / raw)
To: openembedded-core; +Cc: dvhart
Changes in v2:
- address Darren
- task name, using diffconfig
- except on failure
- space after ','
- printing the path to fragment
- address RP's comments (import os)
Hi,
These patches add a new task called fragmentconfig which should be used
when the user need to extract a diff between two kernel config files.
For instance:
bitbake -c menuconfig linux-yoco
[do some changes and save]
bitbake -c fragmentconfig linux-yocto
See the fragment.cfg in $WORKDIR/fragment.cfg
This closes [YOCTO #3862]
Thanks.
João Henrique Ferreira de Freitas (2):
kernel-yocto: Add do_diffconfig task
cml1.bbclass: Add diffconfig task to cml1
meta/classes/cml1.bbclass | 33 +++++++++++++++++++++++++++++++++
meta/classes/kernel-yocto.bbclass | 2 ++
2 files changed, 35 insertions(+)
--
1.8.3.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task
2014-02-16 21:40 [PATCH v2 0/2] Add task to create kernel config fragments João Henrique Ferreira de Freitas
@ 2014-02-16 21:40 ` João Henrique Ferreira de Freitas
2014-02-18 17:54 ` Darren Hart
2014-02-16 21:40 ` [PATCH v2 2/2] cml1.bbclass: Add diffconfig task to cml1 João Henrique Ferreira de Freitas
2014-02-17 13:38 ` [PATCH v2 0/2] Add task to create kernel config fragments Otavio Salvador
2 siblings, 1 reply; 8+ messages in thread
From: João Henrique Ferreira de Freitas @ 2014-02-16 21:40 UTC (permalink / raw)
To: openembedded-core; +Cc: dvhart
Instead of using 'diff' command between two kernel config files,
the task diffconfig does the job creating the file
$WORKDIR/fragment.cfg that user should review and use.
[YOCTO #3862]
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
---
meta/classes/kernel-yocto.bbclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 8f79932..fab5d4c 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -411,3 +411,5 @@ do_kernel_link_vmlinux() {
OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT"
GUILT_BASE = "meta"
KBUILD_OUTPUT = "${B}"
+
+do_diffconfig[depends] += "virtual/kernel:do_kernel_configme"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] cml1.bbclass: Add diffconfig task to cml1
2014-02-16 21:40 [PATCH v2 0/2] Add task to create kernel config fragments João Henrique Ferreira de Freitas
2014-02-16 21:40 ` [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task João Henrique Ferreira de Freitas
@ 2014-02-16 21:40 ` João Henrique Ferreira de Freitas
2014-02-18 17:54 ` Darren Hart
2014-02-17 13:38 ` [PATCH v2 0/2] Add task to create kernel config fragments Otavio Salvador
2 siblings, 1 reply; 8+ messages in thread
From: João Henrique Ferreira de Freitas @ 2014-02-16 21:40 UTC (permalink / raw)
To: openembedded-core; +Cc: dvhart
diffconfig() is a new task that makes a diff between the
old and new config files and writes to the fragment.cfg result file.
menuconfig() always copy the original config file, so the user
doesn't need to copy it.
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
---
meta/classes/cml1.bbclass | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/meta/classes/cml1.bbclass b/meta/classes/cml1.bbclass
index e292ecb..34c0c4e 100644
--- a/meta/classes/cml1.bbclass
+++ b/meta/classes/cml1.bbclass
@@ -16,8 +16,11 @@ HOST_LOADLIBES = "-lncurses"
TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
python do_menuconfig() {
+ import shutil
+
try:
mtime = os.path.getmtime(".config")
+ shutil.copy(".config", ".config.orig")
except OSError:
mtime = 0
@@ -38,3 +41,33 @@ do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
do_menuconfig[nostamp] = "1"
addtask menuconfig after do_configure
+python do_diffconfig() {
+ import shutil
+ import subprocess
+
+ workdir = d.getVar('WORKDIR', True)
+ fragment = workdir + '/fragment.cfg'
+ configorig = '.config.orig'
+ config = '.config'
+
+ try:
+ md5newconfig = bb.utils.md5_file(configorig)
+ md5config = bb.utils.md5_file(config)
+ isdiff = md5newconfig != md5config
+ except IOError as e:
+ bb.fatal("No config files found. Did you do menuconfig ?\n%s" % e)
+
+ if isdiff:
+ statement = 'diff -Nurp ' + configorig + ' ' + config + '| sed -n "s/^\+//p" >' + fragment
+ subprocess.call(statement, shell=True)
+
+ shutil.copy(configorig, config)
+
+ bb.plain("Config fragment has been dumped into:\n %s" % fragment)
+ else:
+ if os.path.exists(fragment):
+ os.unlink(fragment)
+}
+
+do_diffconfig[nostamp] = "1"
+addtask diffconfig
--
1.8.3.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/2] Add task to create kernel config fragments
2014-02-16 21:40 [PATCH v2 0/2] Add task to create kernel config fragments João Henrique Ferreira de Freitas
2014-02-16 21:40 ` [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task João Henrique Ferreira de Freitas
2014-02-16 21:40 ` [PATCH v2 2/2] cml1.bbclass: Add diffconfig task to cml1 João Henrique Ferreira de Freitas
@ 2014-02-17 13:38 ` Otavio Salvador
2014-02-17 14:22 ` João Henrique Freitas
2 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2014-02-17 13:38 UTC (permalink / raw)
To: João Henrique Ferreira de Freitas
Cc: Darren Hart, Patches and discussions about the oe-core layer
Hello Joao,
On Sun, Feb 16, 2014 at 6:40 PM, João Henrique Ferreira de Freitas
<joaohf@gmail.com> wrote:
> Changes in v2:
> - address Darren
> - task name, using diffconfig
> - except on failure
> - space after ','
> - printing the path to fragment
>
> - address RP's comments (import os)
>
> Hi,
>
> These patches add a new task called fragmentconfig which should be used
> when the user need to extract a diff between two kernel config files.
>
> For instance:
>
> bitbake -c menuconfig linux-yoco
>
> [do some changes and save]
>
> bitbake -c fragmentconfig linux-yocto
>
> See the fragment.cfg in $WORKDIR/fragment.cfg
>
> This closes [YOCTO #3862]
I do like the patchset except that his cover letter seems outdate as
the task now is diffconfig. Maybe you could add another task too,
which we use quite often in meta-fsl-arm, savedefconfig. This would
easy people to generate strimmed versions for use.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/2] Add task to create kernel config fragments
2014-02-17 13:38 ` [PATCH v2 0/2] Add task to create kernel config fragments Otavio Salvador
@ 2014-02-17 14:22 ` João Henrique Freitas
2014-02-17 14:43 ` Otavio Salvador
0 siblings, 1 reply; 8+ messages in thread
From: João Henrique Freitas @ 2014-02-17 14:22 UTC (permalink / raw)
To: Otavio Salvador
Cc: Darren Hart, Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 714 bytes --]
Hi Otavio,
> I do like the patchset except that his cover letter seems outdate as
> the task now is diffconfig.
You are right.
> Maybe you could add another task too,
> which we use quite often in meta-fsl-arm, savedefconfig. This would
> easy people to generate strimmed versions for use.
>
Yes, after this patch is accepted, I will prepare the savedefconfig task
(cml1.bbclass).
Thanks.
> --
> Otavio Salvador O.S. Systems
> http://www.ossystems.com.br http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
>
--
João Henrique Ferreira de Freitas - joaohf_at_gmail.com
Campinas-SP-Brasil
[-- Attachment #2: Type: text/html, Size: 1763 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/2] Add task to create kernel config fragments
2014-02-17 14:22 ` João Henrique Freitas
@ 2014-02-17 14:43 ` Otavio Salvador
0 siblings, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2014-02-17 14:43 UTC (permalink / raw)
To: João Henrique Freitas
Cc: Darren Hart, Patches and discussions about the oe-core layer
Hello Joao,
On Mon, Feb 17, 2014 at 11:22 AM, João Henrique Freitas
<joaohf@gmail.com> wrote:
>> I do like the patchset except that his cover letter seems outdate as
>> the task now is diffconfig.
>
> You are right.
>
>
>>
>> Maybe you could add another task too,
>> which we use quite often in meta-fsl-arm, savedefconfig. This would
>> easy people to generate strimmed versions for use.
>
>
> Yes, after this patch is accepted, I will prepare the savedefconfig task
> (cml1.bbclass).
Great; thanks.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task
2014-02-16 21:40 ` [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task João Henrique Ferreira de Freitas
@ 2014-02-18 17:54 ` Darren Hart
0 siblings, 0 replies; 8+ messages in thread
From: Darren Hart @ 2014-02-18 17:54 UTC (permalink / raw)
To: João Henrique Ferreira de Freitas, openembedded-core
On 2/16/14, 13:40, "João Henrique Ferreira de Freitas" <joaohf@gmail.com>
wrote:
>Instead of using 'diff' command between two kernel config files,
>the task diffconfig does the job creating the file
>$WORKDIR/fragment.cfg that user should review and use.
>
>[YOCTO #3862]
>
>Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
--
Darren Hart
Yocto Project - Linux Kernel
Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/2] cml1.bbclass: Add diffconfig task to cml1
2014-02-16 21:40 ` [PATCH v2 2/2] cml1.bbclass: Add diffconfig task to cml1 João Henrique Ferreira de Freitas
@ 2014-02-18 17:54 ` Darren Hart
0 siblings, 0 replies; 8+ messages in thread
From: Darren Hart @ 2014-02-18 17:54 UTC (permalink / raw)
To: João Henrique Ferreira de Freitas, openembedded-core
On 2/16/14, 13:40, "João Henrique Ferreira de Freitas" <joaohf@gmail.com>
wrote:
>diffconfig() is a new task that makes a diff between the
>old and new config files and writes to the fragment.cfg result file.
>menuconfig() always copy the original config file, so the user
>doesn't need to copy it.
>
>Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
--
Darren Hart
Yocto Project - Linux Kernel
Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-02-18 17:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-16 21:40 [PATCH v2 0/2] Add task to create kernel config fragments João Henrique Ferreira de Freitas
2014-02-16 21:40 ` [PATCH v2 1/2] kernel-yocto: Add do_diffconfig task João Henrique Ferreira de Freitas
2014-02-18 17:54 ` Darren Hart
2014-02-16 21:40 ` [PATCH v2 2/2] cml1.bbclass: Add diffconfig task to cml1 João Henrique Ferreira de Freitas
2014-02-18 17:54 ` Darren Hart
2014-02-17 13:38 ` [PATCH v2 0/2] Add task to create kernel config fragments Otavio Salvador
2014-02-17 14:22 ` João Henrique Freitas
2014-02-17 14:43 ` Otavio Salvador
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox