Jump to: navigation, search

StarlingX/Developer Guide/Build System

< StarlingX‎ | Developer Guide
Revision as of 02:12, 28 July 2018 by Abraham.arce.moreno (talk | contribs) (Loadbuild)

Structure

Environment Variables


[user@container ~]$ echo $MY_WORKSPACE
/localdisk/loadbuild/user/starlingx
[user@container ~]$ echo $MY_REPO
/localdisk/designer/user/starlingx/cgcs-root
[user@container ~]$ echo $MY_REPO_ROOT_DIR
/localdisk/designer/user/starlingx

Mirror


[user@container ~]$ tree -d -L 8 /import/
/import/
└── mirrors
    └── CentOS
        ├── stx-r1
        │   └── CentOS
        │       └── pike
        │           ├── Binary
        │           │   ├── EFI
        │           │   │   └── BOOT
        │           │   ├── images
        │           │   │   └── pxeboot
        │           │   ├── isolinux
        │           │   ├── LiveOS
        │           │   ├── noarch
        │           │   └── x86_64
        │           ├── downloads
        │           │   └── puppet
        │           └── Source
        └── tis-installer

18 directories
[user@container ~]$

Local Disk


[user@container ~]$ tree -d -L 2 /localdisk/
/localdisk/
├── designer
│   └── user
└── loadbuild
    ├── mock
    ├── mock-cache
    └── user

6 directories
[user@container ~]$

Designer

The 'designer' disk is for sourcecode.


[user@c6b5029b0279 ~]$ tree -d -L 4 /localdisk/designer/user/
/localdisk/designer/user/
└── starlingx
    ├── cgcs-root
    │   ├── build-data
    │   ├── build-tools
    │   │   ├── branching
    │   │   ├── build_guest
    │   │   ├── build_iso
    │   │   ├── build_minimal_iso
    │   │   ├── certificates
    │   │   ├── mirror_rebase
    │   │   ├── mk
    │   │   ├── repo_files
    │   │   └── signing
    │   ├── cgcs-centos-repo
    │   │   ├── Binary
    │   │   ├── Source
    │   ├── cgcs-tis-repo
    │   │   ├── Binary
    │   │   ├── dependancy-cache
    │   │   ├── downloads
    │   │   └── Source
    │   └── stx
    │       ├── downloads -> /import/mirrors/CentOS/stx-r1/CentOS/pike/downloads/
    │       ├── extras
    │       ├── git
    │       ├── middleware
    │       ├── recipes-bsp
    │       ├── stx-clients
    │       ├── stx-config
    │       ├── stx-fault
    │       ├── stx-gplv2
    │       ├── stx-gplv3
    │       ├── stx-gui
    │       ├── stx-ha
    │       ├── stx-integ
    │       ├── stx-metal
    │       ├── stx-nfv
    │       ├── stx-update
    │       └── stx-upstream
    └── stx-tools
        ├── centos-mirror-tools
        │   └── rpm-gpg-keys
        ├── release
        └── toCOPY
            └── cgcs_overlay

55 directories
[user@c6b5029b0279 ~]$

Loadbuild

The 'loadbuild' disk is for the build environment and the generated rpms and iso.


[user@c6b5029b0279 ~]$ tree -d -L 4 /localdisk/loadbuild/user/starlingx/
/localdisk/loadbuild/user/starlingx/
└── std
    ├── inputs
    │   └── stx
    │       ├── middleware
    │       ├── stx-clients
    │       └── stx-config
    ├── repo -> /localdisk/designer/user/starlingx/cgcs-root
    ├── rpmbuild
    │   ├── BUILD
    │   ├── RPMS
    │   ├── SOURCES
    │   ├── SPECS
    │   └── SRPMS
    └── srpm_assemble
        └── grubby
            └── rpmbuild

16 directories
[user@c6b5029b0279 ~]$



[user@c6b5029b0279 ~]$ ls /localdisk/loadbuild/user/starlingx/std/inputs/stx/middleware/branding/recipes-control/wrs-branding/rpmbuild/
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
[user@c6b5029b0279 ~]$

[user@c6b5029b0279 ~]$ tree -d -L 4 /localdisk/loadbuild/user/starlingx/
/localdisk/loadbuild/user/starlingx/
└── std
    ├── inputs
    │   └── stx
    │       ├── middleware
    │       ├── stx-clients
    │       ├── stx-config
    │       ├── stx-fault
    │       ├── stx-gplv2
    │       ├── stx-ha
    │       └── stx-integ
    ├── repo -> /localdisk/designer/user/starlingx/cgcs-root
    ├── rpmbuild
    │   ├── BUILD
    │   ├── RPMS
    │   ├── SOURCES
    │   ├── SPECS
    │   └── SRPMS
    └── srpm_assemble
        ├── bash
        │   └── rpmbuild
        ├── centos-release
        │   └── rpmbuild
        ├── crontabs
        │   └── rpmbuild
        ├── dhcp
        │   └── rpmbuild
        ├── dnsmasq
        │   └── rpmbuild
        ├── e2fsprogs
        │   └── rpmbuild
        ├── facter
        │   └── rpmbuild
        ├── grub2
        │   └── rpmbuild                                                                                                                             [12/1917]
        ├── grubby
        │   └── rpmbuild
        ├── haproxy
        │   └── rpmbuild
        ├── initscripts
        │   └── rpmbuild
        ├── iptables
        │   └── rpmbuild
        ├── iscsi-initiator-utils
        │   └── rpmbuild
        ├── lshell
        │   └── rpmbuild
        ├── netpbm
        │   └── rpmbuild
        ├── net-tools
        │   └── rpmbuild
        ├── nfs-utils
        │   └── rpmbuild
        ├── nss-pam-ldapd
        │   └── rpmbuild
        ├── openssh
        │   └── rpmbuild
        ├── parted
        │   └── rpmbuild
        ├── python
        │   └── rpmbuild
        ├── python-django
        │   └── rpmbuild
        ├── python-keyring
        │   └── rpmbuild
        ├── python-psycopg2
        │   └── rpmbuild
        ├── resource-agents
        │   └── rpmbuild
        ├── rsync
        │   └── rpmbuild
        ├── seabios
        │   └── rpmbuild
        ├── setup
        │   └── rpmbuild
        ├── util-linux
        │   └── rpmbuild
        └── vim
            └── rpmbuild

78 directories
[user@c6b5029b0279 ~]$

[user@container ~]$ tree -d -L 4 /localdisk/loadbuild/
/localdisk/loadbuild/
├── mock
│   ├── user-starlingx-tis-r5-pike-installer -> /localdisk/loadbuild/user/starlingx/installer
│   ├── user-starlingx-tis-r5-pike-installer.b0 -> /localdisk/loadbuild/user/starlingx/installer
│   ├── user-starlingx-tis-r5-pike-rt -> /localdisk/loadbuild/user/starlingx/rt
│   ├── user-starlingx-tis-r5-pike-rt.b0 -> /localdisk/loadbuild/user/starlingx/rt
│   ├── user-starlingx-tis-r5-pike-rt.b1 -> /localdisk/loadbuild/user/starlingx/rt
│   ├── user-starlingx-tis-r5-pike-rt.b2 -> /localdisk/loadbuild/user/starlingx/rt
│   ├── user-starlingx-tis-r5-pike-rt.b3 -> /localdisk/loadbuild/user/starlingx/rt
│   ├── user-starlingx-tis-r5-pike-std -> /localdisk/loadbuild/user/starlingx/std
│   ├── user-starlingx-tis-r5-pike-std.b0 -> /localdisk/loadbuild/user/starlingx/std
│   ├── user-starlingx-tis-r5-pike-std.b1 -> /localdisk/loadbuild/user/starlingx/std
│   ├── user-starlingx-tis-r5-pike-std.b2 -> /localdisk/loadbuild/user/starlingx/std
│   └── user-starlingx-tis-r5-pike-std.b3 -> /localdisk/loadbuild/user/starlingx/std
├── mock-cache
│   ├── user-starlingx-tis-r5-pike-installer -> /localdisk/loadbuild/user/starlingx/installer/cache
│   ├── user-starlingx-tis-r5-pike-installer.b0 -> /localdisk/loadbuild/user/starlingx/installer/cache
│   ├── user-starlingx-tis-r5-pike-rt -> /localdisk/loadbuild/user/starlingx/rt/cache
│   ├── user-starlingx-tis-r5-pike-rt.b0 -> /localdisk/loadbuild/user/starlingx/rt/cache
│   ├── user-starlingx-tis-r5-pike-rt.b1 -> /localdisk/loadbuild/user/starlingx/rt/cache
│   ├── user-starlingx-tis-r5-pike-rt.b2 -> /localdisk/loadbuild/user/starlingx/rt/cache
│   ├── user-starlingx-tis-r5-pike-rt.b3 -> /localdisk/loadbuild/user/starlingx/rt/cache
│   ├── user-starlingx-tis-r5-pike-std -> /localdisk/loadbuild/user/starlingx/std/cache
│   ├── user-starlingx-tis-r5-pike-std.b0 -> /localdisk/loadbuild/user/starlingx/std/cache
│   ├── user-starlingx-tis-r5-pike-std.b1 -> /localdisk/loadbuild/user/starlingx/std/cache
│   ├── user-starlingx-tis-r5-pike-std.b2 -> /localdisk/loadbuild/user/starlingx/std/cache
│   └── user-starlingx-tis-r5-pike-std.b3 -> /localdisk/loadbuild/user/starlingx/std/cache
└── user
    └── starlingx
        ├── export
        │   ├── dist
        │   ├── extra_cfgs
        │   ├── kickstarts
        │   ├── kickstart.work
        │   └── mirrors
        ├── installer
        │   ├── cache
        │   ├── configs
        │   ├── inputs
        │   ├── mock
        │   ├── repo -> /localdisk/designer/user/starlingx/cgcs-root
        │   ├── result
        │   ├── results
        │   ├── rpmbuild
        │   ├── srpm_assemble
        │   ├── tmp
        │   └── yum
        ├── mock-cache
        ├── rt
        │   ├── cache
        │   ├── configs
        │   ├── inputs
        │   ├── mock
        │   ├── repo -> /localdisk/designer/user/starlingx/cgcs-root
        │   ├── result
        │   ├── results
        │   ├── rpmbuild
        │   ├── srpm_assemble
        │   ├── tmp
        │   └── yum
        ├── std
        │   ├── cache
        │   ├── configs
        │   ├── inputs
        │   ├── mock
        │   ├── mock-user-10530
        │   ├── mock-user-17746
        │   ├── mock-user-26749
        │   ├── mock-user-30169
        │   ├── mock-user-6012
        │   ├── mock-user-9458
        │   ├── repo -> /localdisk/designer/user/starlingx/cgcs-root
        │   ├── result
        │   ├── results
        │   ├── rpmbuild
        │   ├── srpm_assemble
        │   ├── tmp
        │   └── yum
        ├── tmp
        └── yum
            └── cache
            └── cache

80 directories
[user@container ~]$

Debug

Mock

For serial build use:

$ export MY_BUILD_ENVIRONMENT=$USER-$PROJECT-$SRC_BUILD_ENVIRONMENT
$ export MY_DEBUG_BUILD_CFG_STD=$MY_WORKSPACE/std/configs/${MY_BUILD_ENVIRONMENT}-std/${MY_BUILD_ENVIRONMENT}-std.cfg

For parallel build use:

$ export MY_BUILD_ENVIRONMENT=$USER-$PROJECT-$SRC_BUILD_ENVIRONMENT
$ export MY_DEBUG_BUILD_CFG_STD=$MY_WORKSPACE/std/configs/${MY_BUILD_ENVIRONMENT}-std/${MY_BUILD_ENVIRONMENT}-std.b0.cfg

Enter your mock

$ mock -r $MY_DEBUG_BUILD_CFG_STD --shell

Build ISO

$ ls $MY_WORKSPACE/export/
cgts_deps_tmp.txt  deps_detail.txt  deps.txt  dist  last_test.txt  local.txt  mirrors  mounts_used.log  warnings.txt  yum.conf
$ cat $MY_WORKSPACE/export/deps_detail.txt