[elbe-devel] [PATCH v2 0/8] project-finetuning

Manuel Traut manut at linutronix.de
Thu Dec 6 13:08:43 CET 2018


Hi,

i'm still not really happy..

On 09:54 Wed 05 Dec     , Torben Hohn wrote:
> this implements project-finetuning which is executad after the 
> harddisk images have been generated.
> 
> FinetuningAction is extented with execute_prj() which has additional
> parameter builddir. Normal fintuning actions can also be executed
> in project-finetuning. But the schema protects this, so that useless actions
> can not be executed.
> 
> This PQ also implements <losetup> which wraps around ImageFinetuningActions.
> These have execute_img() actions, which take the created /dev/loopX as
> parameter (iE <extract_partition>)
> 
> Example:
> 
> -------------------------------------------------------------------------------
> <project-finetuning>
> 	<losetup img="sdcard.img">
> 		<extract_partition part="1">scard1.img</extract_partition>
> 		<extract_partition part="2">scard2.img</extract_partition>
> 	</losetup>
> 	<rm_artifact>target/usr/lib/u-boot/am335x_boneblack/MLO</rm_artifact>
> 	<t2p_mv path="/usr/lib/u-boot/am335x_boneblack/MLO">MLO</t2p_mv>
> 	<artifact>MLO</artifact>
> 	<projcmd>echo "README" > README</projcmd>
> 	<artifact>README</artifact>
> </project-finetuning>
> -------------------------------------------------------------------------------

The given example does more than described above.

> The PQ also contains a patch which delays the compression of images after the
> <project-finetuning> it would not make sense to have losetup uncompress the
> image before losetup. This patch also allows that a future project-finetuning
> action can adjust the compressors of images.

However i'll apply most of the queue, with maybe some reworked commit messages.
But there's one patch i consider it's dangereous and i will not apply it, if
you don't have a better use-case for it than:

> 	<projcmd>echo "README" > README</projcmd>

I really don't like to execute commands in the initvm. The commands are executed
as root and you can do EVERYTHING, even alter neighbour projects.

All that is needed there should be implemented using special actions, e.g.

  <file name=README owner=root, group=root, chmod=644>README</file>

for the above.

  Manu

> Torben Hohn (8):
>   finetuning: basic implementation of project-finetuning
>   finetuning: imeplement projcmd for project-finetuning
>   finetuning: add artifact and rm_artifact command to project-finetuning
>   hdimg efilesystem: compress images later in the process
>   finetuning: implement <losetup> action
>   finetuning: implement ImageFinetuningAction <extract_partition>
>   examples: add a <project-finetuning> section
>   examples: exercise <project-finetuning> in beagle-bone-black
> 
>  elbepack/efilesystem.py                        |  14 +++
>  elbepack/elbeproject.py                        |   9 ++
>  elbepack/finetuning.py                         | 142 +++++++++++++++++++++++++
>  elbepack/hdimg.py                              |  13 +--
>  examples/armhf-ti-beaglebone-black.xml         |  13 +++
>  examples/x86_64-pc-hdimg-grub-uefi-stretch.xml |   6 ++
>  schema/dbsfed.xsd                              | 130 ++++++++++++++++++++++
>  7 files changed, 317 insertions(+), 10 deletions(-)
> 
> -- 
> 2.11.0
> 
> 
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel



More information about the elbe-devel mailing list