packetary/doc/source/usage.rst

3.1 KiB

Usage

Build packages with packetary

Build packages:

~/packetary$ packetary build --type rpm \
             --input-data packages.yaml \
             --output-dir /tmp/rpm/packages

Format of repos.yaml and packages.yaml provided below.

packages.yaml:

- source: /home/arno/projects/mirantis/mock-sandbox/zeromq
  spec: /home/arno/projects/mirantis/mock-sandbox/zeromq/zeromq.spec
  release: centos-5-x86_64

- source: /home/arno/projects/mirantis/mock-sandbox/zeromq
  spec: /home/arno/projects/mirantis/mock-sandbox/zeromq/zeromq.spec
  release: centos-7-x86_64

Clone custom repositories

Cloning rpm repos:

packetary clone -t rpm \
                -r centos_mirror.yaml \
                -R centos_packages.yaml \
                -d /tmp/mirror

Clone deb repos:

packetary clone -t deb \
                -r ubuntu_mirrors.yaml \
                -R ubuntu_packages.yaml \
                -d /tmp/mirror

where:

-t - rpm or deb. In our case we work with rpm repos

-r - mirror(s) list to work with

-R - additional filter that should be applied to repo,

eg.: clone exact packages, exclude some packages by name (for example, debuginfo)

YAML examples below

centos_mirror.yaml:

- name: "mos-repos"
  uri: "http://mirror.seed-cz1.fuel-infra.org/mos-repos/centos/mos-master-centos7/os/x86_64/"
  priority: 1
  path: "/tmp/mirror/mos-centos"

- name: "upstream-os"
  uri: http://mirror.centos.org/centos/7/os/x86_64
  priority: 90
  path: "/tmp/mirror/centos"

- name: "upstream-updates"
  uri: "http://mirror.centos.org/centos/7/updates/x86_64"
  priority: 10
  path: "/tmp/mirror/centos"

- name: "upstream-extras"
  uri: "http://mirror.centos.org/centos/7/extras/x86_64"
  priority: 90
  path: "/tmp/mirror/centos"

centos_packages.yaml:

repositories:
    - name: mos-repos
      excludes:
          - name: "/^.*debuginfo.*/"

packages:
    - name: Cython
    - name: GeoIP
    - name: MySQL-python
    - name: NetworkManager
    - name: NetworkManager-team
    - name: NetworkManager-tui
    - name: PyPAM
    # fuel packages
    - name: fencing-agent
    - name: fuel
    - name: fuel-agent
    - name: fuel-bootstrap-cli
    - name: fuel-ha-utils
    - name: fuel-library
    - name: fuelmenu
    - name: fuel-migrate

ubuntu_packages.yaml:

mandatory: exact

# we don't need debug packages
repositories:
    - name: "ubuntu"
      excludes:
          - group: "debug"

packages:
    - name: aodh-api
    - name: aodh-common
    - name: aodh-doc
    - name: aodh-evaluator
    - name: aodh-expirer
    - name: aodh-listener

ubuntu_mirrors.yaml:

- name: "mos9.0-ubuntu"
  uri: "http://mirror.seed-cz1.fuel-infra.org/mos-repos/ubuntu/9.0/"
  suite: "mos9.0"
  section: ["main", "restricted"]
  priority: 1000
   path: "/tmp/mirrors/ubuntu"