Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Previously: it downloaded the RPMs in packages.yaml and put them in yum_data/packages and added any one off RPMs from the aux_packages directory. It then copied them over to the SIMP directory and created links from noarch to arch.

Then it creates the staging directory under the build directory and one directory for each ISO it is building. I am calling this the OS staginf direcotry.

The OS staging directory is the top level of what will be the ISO when it is finished. So here it extracts all the OS files from the OS DVD and prunes them. It extracts the DVD_overlay file to

this directory (see above waht is in there). THen it copies the files in yum_data/packages to the SIMP directory in the staging directory according to arch/noarch and links the noarch ones under the arch directory and creates the repo in SIMP/arch.

  • builddir

    • yum_data

      • packages.yaml

      • packages

        • RPMs downloaded from the internet

      • aux_packages

        • any one off RPMs the user puts here.

    • SIMP_ISO_STAGING

      • <OS version name> (This is the top level of the brand new ISO to be created)

        • (There is a lot more data under here but we are not concerned with this, it will all remain as it.)

        • OS data

        • SIMP

          • noarch

            • simp noarch RPMs (either built earlier or extracted from tar file)

            • depenedency noarch RPMs (both one off and packages.yaml)

          • arch

            • simp arch RPMs (either built earlier or extracted from tar file)

            • dependency arch RPMs (both one off and packages.yaml)

            • links to any RPM in the noarch directory

            • repodata

New configuration: The RPMs from packages.yaml will be downloaded in the same manner. After they are downloaded the signature of the RPM will be checked against in each of the directories in simp-gpgkeys. The RPM will be placed in appropriate repo. Any RPMs not signed by a key from the known repos will be placed in an UNKNOWN repository. If any RPMs are in the UNKNOWN repository, the build will fail.

One off aux_packages will be checked in the same manner and copied to the appropriate repo under yum_data/packages directory.

Then it will start creating the ISO in the same manner, creating the staging sdirectory and pruning the OS ISO into it. THen extracting the DVD_Overlay file (which it in the new format)

Then it will just merge what is under yum_data/packages into staging directory SIMP

and run repo create for each directory under SIMP.

Problem: If using tarball how do I get GPGKEYS? Maybe extract from the simp-gpgkey RPM in the tarball? Or is just getting it from simp-core/src/assets ok?

The New directory structure will look like:

  • builddir

    • yum_data

      • packages.yaml

      • packages

      simp

      • GPGKEYS

        • gpg keys from simp-gpgkeys/simp and the dev key if there was one.

      • simp RPMs (arch and no arch)
        • simp

      • RPMs downloaded from the internet

    • aux_packages

      • any one off RPMs the user puts here.

    SIMP

          • any RPM downloaded from packages.yaml or copied from aux_packages and signed by keys in GPGKEYS/simp

        • puppet

          • any RPM downloaded from packages.yaml or copied from aux_packages and signed by keys in GPGKEYS/

        simp
          • puppet

        GPGKEYS

        • gpg keys from simp-gpgkeys/puppetpostgresql

          • any RPM downloaded from packages.yaml or copied from aux_packages and signed by keys in GPGKEYS/

        puppet
          • postgresql

        • epel

      • GPGKEYS
        • gpg keys from simp-gpgkeys/epel

          • any RPM downloaded from packages.yaml or copied from aux_packages and signed by keys in GPGKEYS/epel

      postgresql

      • GPGKEYS

      • aux_packages

        • any one off RPMs the user puts here.

    • SIMP_ISO_STAGING

      • <OS Version DIr> (this is the top level of the brand new SIMP ISO to be created)

        • All the OS data

        • SIMP

          • simp

            • GPGKEYS (dir with gpg keys from simp-gpgkeys/

          postgresql
            • simp and the dev key if there was one.)

            • simp RPMs from the DVD_overlay file (arch and no arch)

            • any RPM merged from yum_data/packages/simp

            • repodata

          • puppet

            • GPGKEYS

            • any RPM

        downloaded
            • merged from

        packages.yaml or copied from aux_packages and signed by keys in GPGKEYS/postgresql
            • yum_data/packages/puppet

            • repodata

          • epel

            • GPGKEYS

            • any RPM merged from yum_data/packages/epel

            • repodata

          • postgresql

            • GPGKEYS

            • any RPM merged from yum_data/packages/postgresql

            • repodata

PROBLEM: aux_packages: what if they have a different key? Should add a feature to allow users to a key?

...