dandified way to package management in yocto …...introduction of dnf-plugin-tui we redeveloped the...
TRANSCRIPT
![Page 1: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/1.jpg)
Jun 18th, 2019
Wang Mingyu, Fujitsu
Dandified way to package management
in Yocto Project
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
![Page 2: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/2.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Wang Mingyu, Fujitsu Ltd.
Embedded Linux Developer
In-House Embedded Linux Distro of Fujitsu
Our Distribution includes LTSI Kernel and is built with YoctoProject
Our Distribution is used for
IVI, Server System Controller, Storage System, Network Equipment, Printer, etc.
whoami
IVI:In-Vehicle Infotainment
1
![Page 3: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/3.jpg)
Fujitsu’s contributions to Yocto community
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Layers Changesets
1 poky 46
2 oe-core 48
3 meta-oe 109
4 meta-cloud-services 50
5 bitbake 0
46 48
109
50
0
Contributions in yocto
Changesets
Data comes from yocto (2018-07-01 ~ 2019-07-01)
2
Maintain meta-spdxscanner
![Page 4: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/4.jpg)
Fujitsu’s contributions to Yocto community
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
No. Our Developer Changesets
poky
30 Zang Ruochen 25 (0.6%)
40 Hong Liu 11 (0.3%)
71 Lei Maohui 7 (0.2%)
oe-core
30 Zang Ruochen 25 (0.4%)
50 Hong Liu 12 (0.2%)
63 Lei Maohui 7 (0.1%)
Meta-oe
8 Zang Ruochen 72 (3.7%)
17 Hong Liu 23 (1.2%)
29 Lei Maohui 11 (0.6%)
meta-cloud-services
1 Zang Ruochen 26 (22.6%)
2 Hong Liu 20 (17.4%)
Developers with the most changesets
Data comes from yocto (2018-07-01 ~ 2019-07-01)
3
![Page 5: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/5.jpg)
Agenda
• Background
• Overview
• Features
What is dnf-plugin-tui
• Getting started
• Demo
How to use dnf-plugin-tui
• Oe-core
• Meta-oe
Contribution
• Support more package types
• Make TUI more user friendly
• Contribution plan
• ClearlyDefined and Cve-check-tool
Future
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED4
![Page 6: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/6.jpg)
What is dnf-plugin-tui
Background
Overview
Features
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED5
![Page 7: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/7.jpg)
Background
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
DNF in Yocto
• In Yocto, DNF is the default Package management to generate rootfs and SDK.
Image
Generation
SDK
Generation
RootfsApplication
Development
SDK
Output Packages
Here is where DNF works
After packages were
generated,
The Yocto Build System will
use DNF to generate the
rootfs and SDK by installing
Packages.
6
![Page 8: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/8.jpg)
Background
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Issues we met
Yocto Build System
Rootfs
Application
Development
SDK
User Configuration
Not the proper
rootfs you want?
Reconfigure the
image bb file
Rebuild the image
again
Typical case you meet when you try to modify your rootfs.
New Rootfs
7
![Page 9: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/9.jpg)
Overview
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Introduction of dnf-plugin-tui
We redeveloped the DNF and Yocto to solve the issues mentioned above. We call
it dnf-plugin-tui which means it can work on the Cross-Development environment
in your host for package management as a plugin of DNF.
Git-Repo: https://github.com/ubinux/dnf-plugin-tui.git
Status: Support Yocto 2.6
8
![Page 10: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/10.jpg)
Overview
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Build and Deploy for Each Targets
Build Once, Deploy Anywhere
……
Build Deploy
Build Deploy
Build Deploy
Build Deploy
……
Host
Yocto Build server
Packages
SDK
dnf-host Deploy
9
![Page 11: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/11.jpg)
Features
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Work as a plugin of dnf
Support TUI
Manage Bom
Support config file
Support multiple formats of image
Support command line
10
![Page 12: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/12.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Features(1/6)
Work as a plugin of DNF
You can use the dnf-plugin-tui as a plugin of DNF
11
Dnf-plugin-tui
Rootfs SPDX file
User Configuration
DNF
……
The code is
independent
of DNF
Packages
Call DNF
Results
11
![Page 13: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/13.jpg)
Features(2/6)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Support TUI
You can use the Text-based UI to manage packages
12
![Page 14: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/14.jpg)
Features(3/6)
dnf-plugin-tui
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
DeployUpgrade
Upgrade
Build
SRPM packages
SPDX files
Packages
Deploy
Recipe files
Create
Create
archives
archives
Manage Bom
archives
13
![Page 15: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/15.jpg)
Features(3/6)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
About Openchain
14
![Page 16: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/16.jpg)
Features(4/6)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Support config file
Like kernel config, selected package list can be saved and reused.
$ cat .config
base-passwd
bc
base-passwd-
updateate
host1
Load package list
(Optional)
[ ] acl
[ ] attr
[ ] base-files
[*] base-passwd
[*] base-passwd-update
[ ] bash
[ ] bash-bashbug
[ ] bash-completion
[ ] bash-completion-extra
[*] bc
[ ] busybox
15
Sample for config fileSelect install type
New --->
Load package file --->
Reference1 (busybox based root file system) --->
Reference2 (systemd based root file system) --->
host2
host3
![Page 17: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/17.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Support more image format, e.g EXT4, Squashfs, UBIFS and so on.
Rootfs
Features(5/6)
Support multiple formats of image
16
UBIFS
Squashfs
JFFS2
INITRAMFS
INITRD
RAW
![Page 18: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/18.jpg)
Features(6/6)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Support command line
New options
# dnf tui --command install bash --nosave
# dnf tui --command remove bash –nosave
After init, you can use dnf tui command line to manage packages.
# dnf tui --command list
# dnf tui --command search <spec>
# dnf tui --command info <spec>
# dnf tui --command repolist
# dnf tui --command install <spec>
# dnf tui --command remove <spec>
# dnf tui --command upgrade <spec>
--nosave
--pkg_list
# dnf tui --command install --pkg_list pkg.list //Install packages that list in pkg.list
# dnf tui --command remove --pkg_list pkg.list //Remove packages that list in pkg.list
17
![Page 19: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/19.jpg)
How to use dnf-plugin-tui
Getting Started
Demo
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED18
![Page 20: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/20.jpg)
Get the Source Code
Apply these patches
Bitbake the SDK
Getting Started
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Add dnf-plugin-tui into toolchain
$ git clone https://github.com/ubinux/dnf-plugin-tui.git
$ ls dnf-plugin-tui/poky-patches/
0001-meta-oe-patch-dnf-plugin-tui-new-recipe.patch
0001-poky-2.6-Added-some-nativesdk-oss-for-nativesdk-
dnf.patch
0002-poky-2.6-Dnf-tui-plugin-patch-for-upstream-dnf.patch
Build meta-toolchain to get sdk
that includes dnf-host
$ bitbake meta-toolchain
$ cd poky
$ patch -p1 < XXX.patch
First you need to add dnf-plugin-tui into your Yocto Project.
19
![Page 21: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/21.jpg)
Getting Started
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
How to use dnf-plugin-tui
$ sh poky-glibc-x86_64-meta-toolchain-i586-qemux86-
toolchain-2.6+snapshot.sh
Install the toolchain
Source the toolchain
Init the environment
dnf-host tui
Prepare your rpm repo, then:
$ dnf tui --init
$ . /opt/poky/2.6.1/environment-setup-i586-poky-
linux
Then you can use dnf-plugin-tui on the Cross-Development environment.
Use TUI
$ dnf tui
20
![Page 22: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/22.jpg)
Demo
You can reference to:
https://github.com/ubinux/dnf-plugin-tui/blob/master/README.md
Demo
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED20
![Page 23: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/23.jpg)
Contribution
Oe-core
Meta-oe
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED22
![Page 24: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/24.jpg)
Contribution
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
oe-core
commit content : Make dnf-nativesdk work
commit status : dnf-nativesdk is acceped
meta-oe
commit content : Add recipe of dnf-plugin-tui
commit status : in discussion
23
Get the Source Code from github
Add meta-oe to build system
Bitbake the SDK
![Page 25: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/25.jpg)
Future
Make TUI more user friendly
Contribution plan
ClearlyDefined and Cve-check-tool
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED24
![Page 26: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/26.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
[*] Base → [ ] Bash
[*] Base-files
[ ] Base-passwd
……
[*] Utils → [ ] Coreutils
[*] Util-linux
……
[ ] Web Server →[ ] Httpd
……
[ ] Bash
[*] Base-files
[ ] Base-passwd
……
[ ] Coreutils
[*] Util-linux
……
[ ] Httpd
……
25
Future
Make TUI more user friendly
![Page 27: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/27.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Continuous development.
Release dnf-plugin-tui follow the step of Yocto.
26
Future
Contribution plan
![Page 28: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/28.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
ClearlyDefined
27
Future
Manage result of
cve-check-tool
Manage spdx file
Package
information
![Page 29: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/29.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED
Manage the cve result file of packages installed by dnf-tui-plugin.
Cve result file is the result of checking packages by cve-check-tool.
28
Future
Cve-check-tool
![Page 31: Dandified way to package management in Yocto …...Introduction of dnf-plugin-tui We redeveloped the DNF and Yocto to solve the issues mentioned above. We call it dnf-plugin-tui which](https://reader035.vdocuments.net/reader035/viewer/2022070820/5f1ce7debfd33878861454bf/html5/thumbnails/31.jpg)
Copyright 2019 FUJITSU COMPUTER TECHNOLOGIES LIMITED30