Jump to: navigation, search

Difference between revisions of "StarlingX/Developer Guide/Build System"

m (Local Disk)
(Loadbuild)
Line 116: Line 116:
  
 
The 'loadbuild' disk is for the build environment and the generated rpms and iso.
 
The 'loadbuild' disk is for the build environment and the generated rpms and iso.
 +
 +
<br><source lang="sh">
 +
[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 ~]$
 +
</source>
  
 
<br><source lang="sh">
 
<br><source lang="sh">

Revision as of 02:07, 28 July 2018

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@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