On Thu,  9 Apr 2020 12:49:47 +0200
Ricardo Ribalda Delgado <[email protected]> wrote:

> Hi
> 
> 
> Today wic behaves differently if we run it from bitbake of directly from the
> commandline.
> 
> When it is run from bitbake, the permissions/usersnames are handled by the 
> pseudo database of the main image.
> 
> When it is run from the comandline , it is run outside the main image 
> database.
> 
> This results on permissions/usernames not working ok on some usecases on both
> bitbake and wic.
> 
> 
> This is an attempt to fix all the permission bugs that I am aware from wic.
> Using the following usecases
> 
> 
> #exclude-path
> part / --source rootfs --fstype=ext4 --exclude-path=home
> 
> #split_partition
> part / --source rootfs --ondisk sda --fstype=ext4 --exclude-path=etc/
> part /etc --source rootfs 
> --rootfs-dir=tmp/work/qt5222-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/ 
> --fstype=ext4
> 
> #multi_partition
> part / --source rootfs --ondisk sda --fstype=ext4
> part /export --source rootfs --rootfs=core-image-minimal-mtdutils 
> --fstype=ext4
> 
> 
> With the current master:
> -------------------------
> #exclude-path
> From Bitbake: OK
> wic cmdline: FAIL
> 
> #split_partition
> From Bitbake: OK
> wic cmdline: FAIL, permissions invalid on both partitions
> 
> #multi_partition
> From Bitbake: FAIL second partition
> wic cmdline: OK
> 
> 
> After:  wic: Fix permissions when using exclude or include path
> --------------------------------------------------------------------
> #exclude-path
> From Bitbake: OK
> wic cmdline: OK
> 
> #split_partition
> From Bitbake: OK
> wic cmdline: FAIL, permissions invalid on second partition
> 
> #multi_partition
> From Bitbake: FAIL second partition
> wic cmdline: OK
> 
> 
> After: wic: Fix multi images .wks with bitbake
> ----------------------------------------------
> #exclude-path
> From Bitbake: OK
> wic cmdline: OK
> 
> #split_partition
> From Bitbake: FAIL, permissions invalid on second partition
> wic cmdline: FAIL, permissions invalid on second partition
> 
> #multi_partition
> From Bitbake: OK
> wic cmdline: OK
> 

This looks really good, are you able to automate any of these tests and put
them in meta/lib/oeqa/selftest/cases/wic.py?

> 
> 
> After: wic: Add --change-directory argument
> --------------------------------------------
> 
> we can have a .wks like:
> part / --source rootfs --ondisk sda --fstype=ext4 --exclude-path=etc/   
> part /etc --source rootfs --fstype=ext4 --change-directory=/etc
> 
> 
> Wich works fine from bitbake and from cmdline, and has the same functionality 
> as
> split_partition.
> 
> 
> Ricardo Ribalda Delgado (4):
>   wic: Fix permissions when using exclude or include path
>   wic: Fix multi images .wks with bitbake
>   wic: Add --change-directory argument
>   wic: Continue if excluded_path does not exist
> 
>  meta/classes/image_types_wic.bbclass     |  8 +++-
>  scripts/lib/wic/help.py                  |  6 +++
>  scripts/lib/wic/ksparser.py              |  1 +
>  scripts/lib/wic/partition.py             | 15 ++++---
>  scripts/lib/wic/plugins/source/rootfs.py | 52 ++++++++++++++++++++++--
>  5 files changed, 68 insertions(+), 14 deletions(-)
> 

I'll give this a detailed review over the weekend. Looks good at first
glance, though I may suggest renaming `--change-directory` to something else
so it's more obvious what it's doing when you just read that in a wks file.
Perhaps `--part-subdir`, I don't know. Let's not bikeshed it too much though.

Thanks,

-- 
Paul Barker
Konsulko Group
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#137148): 
https://lists.openembedded.org/g/openembedded-core/message/137148
Mute This Topic: https://lists.openembedded.org/mt/72893661/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to