Commit Graph

261 Commits

Author SHA1 Message Date
Lubomír Sedlář 0e237db5f6 Allow customizing image name and volume id
The computation of image name has been moved to a separate function.
This allowed simplification in how work dir for isos is computed, but
the result is not changed.

The live image phase has some special casing for names of RPM wrapped
ISOs. This is moved to the actual phase. Since this is (and has been)
undocumented, there should not be many users of this special case.

The documentation is updated to describe how image names and volume ids
are determined and how the process can be customized.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-14 14:39:21 +01:00
Dennis Gilmore 81e90eb780 Merge #88 `Resolve HEAD in ksurl to actual hash` 2015-12-08 17:37:09 +00:00
Dennis Gilmore f5862deea7 Merge #87 `Add support for customizing lorax options` 2015-12-08 17:36:18 +00:00
Dennis Gilmore 4b374278e4 we need to ensure that we send all the tasks to koji on the correct arch
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2015-12-08 09:04:32 -06:00
Lubomír Sedlář fe95221f10 Resolve HEAD in ksurl to actual hash
When the image build configuration specifies kickstart URL as a HEAD of
a git repo, pungi now figures out what the actual hash of that commit is
and uses that hash instead. This might make logs clearer and should
prevent potential problems if someone pushes to that repo during
composing.

Documentation is updated to mention this.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-08 14:29:18 +01:00
Lubomír Sedlář 716b2d521a Add support for customizing lorax options
The config file can now specify options for lorax per variant and arch.
This is needed for Fedora to set x86_64 images as bootable on mac.

The old config option `buildinstall_upgrade_image` was deprecated, as
the same can be specified via new `lorax_options`.

Documentation and tests are updated.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-08 12:47:21 +01:00
Lubomír Sedlář 4a96e8e313 Run lorax in separate dirs for each variant
Lorax fails when run on an existing non-empty directory. This patch runs
it in separate subdirectiories base on variant. Running with
buildinstall should not be changed at all.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-07 09:45:33 +01:00
Dennis Gilmore bdb1bcb35c Merge #84 `Allow specifying --installpkgs for lorax` 2015-12-04 19:41:28 +00:00
Dennis Gilmore 4a26b99a24 Merge #83 `Fix recently discovered bugs` 2015-12-04 19:39:49 +00:00
Lubomír Sedlář cdec198b6d Start lorax for each variant separately
The buildinstall phase now starts lorax for each variant separately.
Running with buildinstall should not be affected in any way.

Only variants of type=variant are considered. The side-effect of this is
that if an architecture is only used by variants of other types, lorax
will not be called at all.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-03 15:19:12 +01:00
Lubomír Sedlář b6d9b5632e Fix generating checksum files
This patch modifies how checksums are stored - it uses BSD-style
checksums.

The filename with the checksum can now be customized depending on actual
compose run and metadata. This required adding another option to the
checksumming phase. Documentation is updated and includes example for
creating names used in Fedora.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-03 10:54:09 +01:00
Lubomír Sedlář 539736a11e Use lowercase hashed directories
On case-insensitive filesystems it is not such a good idea to have
directories that only differ in case. Packages should be always split
into lowercased directories.

The test data is modified to include some packages starting with
uppercase letters. The example in code can be verified by running
`nosetests --with-doctest`.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-12-03 09:08:15 +01:00
Dennis Gilmore 290f8f6540 indentation fixs correcting dvd creation
getting the commands together to run the iso creation process was
incorrectly moved when jigdo creation was made optional, patch fixes
https://pagure.io/pungi/issue/77

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2015-12-02 13:00:06 -06:00
Dennis Gilmore e9699b7327 remove glibc32 from the runroot tasks
a workaround has been put in place on os's that need it. dnf errors
when a package is listed that is not available. breaking rawhide
composes.

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2015-12-02 08:51:18 -06:00
Dennis Gilmore 6f00f20b3d Merge #68 `Add support for sending messages` 2015-11-25 14:56:51 +00:00
Lubomír Sedlář 7ce5c76673 Send more messages in createiso phase
When phase starts, a message is sent with list of images that are going
to be built. As each images is finished (or fails), another message
announces that status.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-11-25 15:46:50 +01:00
Lubomír Sedlář 066855a039 Add ability to send messages about progress
With this patch, Pungi can invoke an arbitrary command on various
moments of the compose process. The invoked command can the decide on
what message to send (and using what messaging system).

The actual command is specified in the config file.

There is a script provided that sends the messages via fedmsg.

The documentation is updated to have details about the new config option
as well as the interface for the messaging script.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-11-25 15:46:50 +01:00
Lubomír Sedlář 129e654690 Compute checksums in ImageChecksumPhase
The phase goes through all images declared in image manifest, computes
their checksums, stores them in appropriate files and updates the
manifest so that it includes the actual checksums.

The documentation contains details about new configuration options.

The test suite now needs Python's mock package.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-11-24 09:36:22 +01:00
Lubomír Sedlář 660c8bc2b3 Remove computing checksums from phases
These phases were computing checksums for images:

 * buildinstall
 * createiso
 * image_build
 * live_images
 * product_img

In each phase the checksummed thing would ultimately end-up in image
manifest.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-11-24 09:36:19 +01:00
Lubomír Sedlář 359eb444e5 Move image checksum collecting to separate phase
The checksums are still generated in the ImageBuild and CreatISO phases,
but collecting of them into single file is moved from pungi-koji script
into a separate phase.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2015-11-24 09:36:13 +01:00
Dennis Gilmore 5ff5ffc259 compose.config is in self
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2015-10-28 21:18:15 -05:00
Jon Disnard fd537e5070 Merge #61 `make jigdo optional (iii)` 2015-09-15 13:39:15 -05:00
Jon Disnard 2114369e9c Default True for configurable jigdo ISOs.
Signed-off-by: Jon Disnard <jdisnard@redhat.com>
2015-09-15 13:23:54 -05:00
Tomas Mlcoch 1d97ce5ea1 Add live_images option to live_images phase 2015-09-10 07:10:41 -04:00
Tomas Mlcoch b4fd280d80 Fix expected type of createrepo_checksum config option 2015-09-10 07:09:37 -04:00
Tomas Mlcoch 3df5a11a89 Fix KojiWrapper initialization in live_images phase 2015-09-09 03:40:30 -04:00
Tomas Mlcoch 02e55b67b3 Remove createiso phase's dependency on pkgset_koji_url config option 2015-09-09 03:40:29 -04:00
Lubos Kocman fd64bba4dd Merge #54 `fix log_info for image_build (fails if image_build is skipped)` 2015-09-07 15:41:27 +00:00
Lubos Kocman 3efd29e465 image_build: self.log_info -> self.compose.log_info 2015-09-07 15:41:27 +00:00
Dennis Gilmore da0405a0f5 Revert "Added params needed for Atomic compose to LoraxWrapper"
This reverts commit 919a4fc619.
2015-09-04 12:12:36 -05:00
Jon Disnard 6e773f8676 Disable jigdo by default, saves a lot of time.
Signed-off-by: Jon Disnard <jdisnard@redhat.com>
2015-09-01 17:14:46 -05:00
Lubos Kocman abb2ff1584 live_images: replace hardcoded path substition with translate_path() call
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2015-09-01 08:23:42 +00:00
Lubos Kocman 158d1834a6 live_images fix reference from koji to koji_wrapper
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2015-09-01 08:23:24 +00:00
Lubos Kocman 8e90a2a32a Add image-build support
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2015-09-01 08:03:34 +00:00
Lubos Kocman 449b4e4c87 import duplicate import of errno from buildinstall
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2015-08-31 22:51:22 -05:00
Tomas Kopecek 9235844529 More detailed message for unsigned rpms. 2015-08-25 08:07:05 -04:00
Tomas Mlcoch d9d9db3e5d live_images: Copy built wrapped rpms from koji into compose. 2015-08-25 07:57:51 -04:00
Tomas Mlcoch 44ebf5eedc live_images: Allow custom name prefix for live ISOs. 2015-08-25 07:49:29 -04:00
Tomas Mlcoch 39c073abf9 Do not require enabled runroot option for live_images phase. 2015-08-25 07:48:19 -04:00
Tomas Mlcoch ba39435bf6 Support for rpm wrapped live images. 2015-08-25 07:42:05 -04:00
Adam Miller 05e9bbab9c Merge #36 `Add params needed for Atomic compose to LoraxWrapper` 2015-08-18 15:50:16 -05:00
Adam Miller 919a4fc619 Added params needed for Atomic compose to LoraxWrapper
Add add_template, add_template_var, add_arch_template, and
add_arch_template_var to the call for lorax.get_lorax_cmd for the Atomic
ISO composes.

Remove duplicate if statement for add_template_var in lorax wrapper
2015-08-18 15:47:41 -05:00
Daniel Mach 5238e1cc99 createrepo: Fix empty repodata when hash directories were enabled. 2015-07-24 18:18:03 -04:00
Daniel Mach 19a7394974 Fix treeinfo checksums. 2015-07-24 10:49:28 -04:00
Daniel Mach 0d8ad9a111 gather: Implement hashed directories.
Set 'hashed_directories = True' config option to enable the feature.
2015-07-24 04:40:55 -04:00
Daniel Mach 1f313b39ad createiso: Add createiso_skip options to skip createiso on any variant/arch. 2015-07-23 10:58:35 -04:00
Daniel Mach b85307c683 Fix buildinstall for armhfp.
armhfp is not a valid RPM arch, it's only a tree arch or basearch.
Lorax requires valid RPM arch as --buildarch.
2015-07-22 13:00:36 -04:00
Daniel Mach 63338a9689 Fix and document productimg phase. 2015-07-22 12:57:39 -04:00
Daniel Mach 63c631a99b Add dependency of 'runroot' config option on 'koji_profile'. 2015-07-10 07:31:57 -04:00
Daniel Mach 72302bd98e Rename product_* to release_*.
CHANGE: Rename product_* config options to release_* for consistency with productmd.
ACTION: Rename product_name, product_short, product_version, product_is_layered to release_* in config files.
        Rename //variant/product to //variant/release in variants XML.
2015-07-09 06:58:30 -04:00
Daniel Mach afa05021f0 Implement koji profiles.
CHANGE: pkgset_koji_url and pkgset_koji_path_prefix config options replaced with koji_profile.
ACTION: Add 'koji_profile = "<profile_name>"' (use "koji" for Fedora) to config files.
        You can safely remove and pkgset_koji_url and pkgset_koji_path_prefix from config files.
2015-07-09 04:57:27 -04:00
Daniel Mach 017bc76093 Drop repoclosure-%arch tests.
These tests frequently report false-positives,
because package set may contain broken dependencies,
while compose doesn't.
Removing the tests will also reduce compose time a bit.
2015-07-08 09:08:45 -04:00
Daniel Mach 90918dc34d Change createrepo config options defaults.
CHANGE: createrepo_c is config option now defaults to True.
ACTION: You can safely remove 'createrepo_c = True' from config files.
        Set 'createrepo_c = False' if you need legacy createrepo.

CHANGE: createrepo_checksum config option is now mandatory.
ACTION: Add 'createrepo_checksum = "sha256"' (or "sha") to config files.
2015-07-08 08:57:50 -04:00
Daniel Mach fd8cd62e79 Fix remaining productmd issues. 2015-06-06 13:46:20 -05:00
Daniel Mach ec7424395d Fix pungi -> pungi_wrapper namespace issue. 2015-06-06 13:46:19 -05:00
Adam Miller 8d50f89e6e update arch manifest.add config order for productmd api call 2015-06-06 13:46:19 -05:00
Adam Miller 654ac5fbaa update for new productmd named args to rpms 2015-06-06 13:46:19 -05:00
Adam Miller dc9cfffbb9 fix pungi vs pungi_wrapper namespacing in method_deps.py 2015-06-06 13:46:19 -05:00
Adam Miller 5fa5fcdd06 Update compose, phases{buildinstall,createiso,gather/__ini__} to use correct productmd API calls 2015-06-06 13:45:48 -05:00
Dennis Gilmore 07e90f0f96 change pypungi imports to pungi 2015-03-12 16:12:38 -05:00
Daniel Mach f116d9384f Initial code merge for Pungi 4.0. 2015-02-10 08:19:34 -05:00