OpenSUSE Build service howto: различия между версиями
Перейти к навигации
Перейти к поиску
Zombah (обсуждение | вклад) м (fix links) |
Zombah (обсуждение | вклад) м (→Copy specific revision of package to new package: create new project first) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 3: | Строка 3: | ||
==Some general things== | ==Some general things== | ||
openSUSE ARM board rootfs images are made by KIWI image system (JeOS = Just Enough Operating System) | openSUSE ARM board rootfs images are made by KIWI image system (JeOS = Just Enough Operating System) | ||
https://en.opensuse.org/Portal:KIWI | |||
openSUSE use OBS (Open Build Service) system for continous integration of packages and images. | openSUSE use OBS (Open Build Service) system for continous integration of packages and images. | ||
https://en.opensuse.org/OBS | |||
OBS look very similar to git but also include build functions, requests and etc. | OBS look very similar to git but also include build functions, requests and etc. | ||
openSUSE OBS lives here | openSUSE OBS lives here https://build.opensuse.org/ | ||
OBS have console tool '''osc''' | OBS have console tool '''osc''' | ||
Строка 46: | Строка 46: | ||
** osc build --alternative-project=openSUSE:Factory:ARM qemu armv7l <.spec file name> | ** osc build --alternative-project=openSUSE:Factory:ARM qemu armv7l <.spec file name> | ||
* If it builds fine commit to obs and request to include to upstream | * If it builds fine commit to obs and request to include to upstream | ||
==Copy specific revision of package to new package== | |||
* Create new project | |||
<div class="shell">$ osc meta prj -e home:zombah:test</div> | |||
* Use copypac to copy package to another package | |||
<div class="shell">$ osc copypac -d -r f05d4987cefd8870ecbfcde9bdc554bd security:logging elasticsearch home:zombah:test elasticsearch2</div> |
Текущая версия от 20:25, 30 марта 2017
Small openSUSE ac100 howto
Some general things
openSUSE ARM board rootfs images are made by KIWI image system (JeOS = Just Enough Operating System) https://en.opensuse.org/Portal:KIWI
openSUSE use OBS (Open Build Service) system for continous integration of packages and images. https://en.opensuse.org/OBS OBS look very similar to git but also include build functions, requests and etc.
openSUSE OBS lives here https://build.opensuse.org/
OBS have console tool osc
To include some programm or files into future rootfs image you need to create obs package for it.
Create custom JeOS package
- JeOS custom package must contain _link to main JeOS package.
- If you create package for new board, branch openSUSE:Factory:ARM JeOS to your home and init new package inside it
- .kiwi scipts inside JeOS package are autogenerated using script pre_checkin.sh
- Board specific configs inside JeOS package live in:
- config.sh
- Board name and which JeOS flavour will be builded simple or with x and wdm.
- Images.kiwi.in
- Here you define additional repos for board, kernel cmdline, u-boot and dtb.
- uboot-image-setup.in
- U-Boot kernel loading parameters
- uboot-image-install.in
- bootloader update script
- config.sh
- Build localy obs custom jeos package
- osc build images armv7l
- may with various binaries not found, check osc meta prjconf it must be same as originate project config.
Create obs packages
- Init new package
$ osc meta pkg -e home:<username> <packagename>
$ osc up home:<username>
- Create .spec file and .changes file
- Test build localy
- example
- osc build --alternative-project=openSUSE:Factory:ARM qemu armv7l <.spec file name>
- If it builds fine commit to obs and request to include to upstream
Copy specific revision of package to new package
- Create new project
$ osc meta prj -e home:zombah:test
- Use copypac to copy package to another package
$ osc copypac -d -r f05d4987cefd8870ecbfcde9bdc554bd security:logging elasticsearch home:zombah:test elasticsearch2