Module rpm: RPM support for PWIZ

This module is adds support for RPM and overwrites some default definitions.

Module requires for init: package version unpack manual

Module requires for running: filelist unpack

Module defines phase: rpm_setup after SETUP

Module uses phase: rpm_setup after SETUP

Module defines phase: rpm_header after rpm_setup

Module uses phase: PREPARE rpm_source_main

Module uses phase: _rem PREPARE ""

Module uses phase: _rem PREPARE "%prep"

Module uses phase: PREPARE 'rpm_section=prep ; rm -f $PWIZ_TMPDIR/rpm_{env,pwd}'

Module uses phase: _rem BUILD ""

Module uses phase: _rem BUILD "%build"

Module uses phase: BUILD 'rpm_section=build ; rm -f $PWIZ_TMPDIR/rpm_{env,pwd}'

Module uses phase: BUILD 'export CFLAGS="$RPM_OPT_FLAGS"'

Module uses phase: BUILD 'export CXXFLAGS="$RPM_OPT_FLAGS"'

Module uses phase: _rem INSTALL ""

Module uses phase: _rem INSTALL "%install"

Module uses phase: INSTALL 'rpm_section=install ; rm -f $PWIZ_TMPDIR/rpm_{env,pwd}'

Module uses phase: INSTALL 'rm -rf $RPM_BUILD_ROOT'

Module uses phase: _rem CLEAN ""

Module uses phase: CLEAN 'rpm_section=clean ; cd / ; rm -f $PWIZ_TMPDIR/rpm_{env,pwd}'

Module uses phase: _rem CLEAN "%clean"

Module uses phase: CLEAN 'rm -rf $RPM_BUILD_ROOT'

Module uses phase: _rem POSTINSTALL ""

Module uses phase: _rem POSTINSTALL "%post"

Module uses phase: POSTINSTALL 'rpm_section=post ; rm -f $PWIZ_TMPDIR/rpm_{env,pwd} ; cd /'

Module defines phase: rpm_files_finish after RESULTS

Module uses phase: rpm_files_finish after RESULTS

Module defines phase: rpm_files_list after rpm_files_finish

Module uses phase: rpm_files_list after rpm_files_finish

Module defines phase: rpm_write after rpm_files_list

Module uses phase: rpm_write rpm_set_attributes

Module uses phase: rpm_write rpm_write_spec

Module uses phase: rpm_write rpm_write_sources

Module defines phase: rpm_test after rpm_write

Module uses phase: rpm_test rpm_spec_compile

rpm_setup

Initializes and prepares values for minimal preamble. (internal)

rpm_source_main

Adds package URI as Source. (internal)

FIXME: define source list dynamically

rpm_files_finish

Adds %files and arguments. Uses $rpm_files_args. (internal)

$rpm_files_args

Arguments of %files.

Module uses phase: _rem rpm_files_finish ""

Module uses phase: _rem rpm_files_finish "%files$rpm_files_args"

rpm_files_list

Finalizes files list and creates %files section.

Uses ${rpm_files_list_callback__{sub}[@]} for each subpackage.

Module uses phase: _rem rpm_files_list "%defattr (-, root, root)"

Module uses phase: _rem rpm_files_list ""

Module uses phase: _rem rpm_files_list "%files $subpackage"

Module uses phase: _rem rpm_files_list "%defattr (-, root, root)"

unpack_prepare

Adds proper unpacking command. (internal)

Module uses phase: unpack "%setup$rpm_setup_args"

rpm_run_wrapper

Defines run wrapper, which call protected commands inside RPM build environment. (internal)

pwiz_run_core

Redefinition of run wrapper core for rpm_run_wrapper. (internal)

rpm_create_dummy_spec rpm_build_arg section add_setup command

rpm_build_arg: argument for rpmbuild

section: RPM section

add_setup: add %setup? ({ "true" | "false" })

command: command to be added

Creates dummy RPM spec file for executing single stage. Used by RPM run wrapper. (internal)

rpm_projectdirs_init_callback

Callback changing default PWIZ directories to RPM ones. (internal)

rpm_subst_names string

string: string, where names should be replaced

returns $pwiz_result: string with replaced names

Substitute %{name}, %{_name}, %{version}, %{_defaultdocdir} in source string.

rpm_files_create

uses filelist_read_item values: values from filelist_read_item values parser

Create %files item from read file list item. (internal)

Module uses phase: _rem rpm_files_list "$item_prefix$filelist_tag_name"

Module uses phase: _rem rpm_files_list "$item_prefix%dir $filelist_tag_name"

Module uses phase: _rem rpm_files_list "$item_prefix$filelist_tag_name"

RPM preambles

rpm_add_preamble_line type line sub

type: preamble type { "basic" | "ext" | "temp" }

line: line to be added

sub: subpackage, to which add this line (can be empty for main package)

Add a line to specified preamble. Only for special purposes, otherwise use rpm_add_preamble or rpm_add_description.

rpm_add_preamble type atribute value sub

type: preamble type { "basic" | "ext" | "temp" }

atribute: RPM preamble attribute

value: RPM preamble value

line: line to be added

sub: subpackage, to which add this line (can be empty for main package)

Add an attribute with value to specified preamble.

rpm_add_description description sub

description: description of subpacakge

sub: subpackage, to which add this line (can be empty for main package)

Add a %description preamble.

rpm_set_attributes

Set basic preambles for all subpackages. (internal)

rpm_write_spec_preamble

Writes spec preamble to stdout. (internal)

rpm_write_spec_body

Writes spec body to stdout. (internal)

rpm_write_spec

Writes complete spec to $PWIZ_RESULTDIR. (internal)

rpm_write_sources

Copies sources to resultdir. (internal)

rpm_spec_compile

Compile RPM package from spec file. (internal)

rpm_manual_source

Manual checkpoint for adding extra RPM sources. (internal)

rpm_source manual_id source_id

manual_id: Id of manual check point.

source_id: Id of RPM source.

Ask for everything needed for Source. (internal)

Module uses phase: rpm_source_dest_check "rpm_source_dest_check $1 $2 "$sourcename" "$pwiz_answer""

Module uses phase: $1 "$sourcestring"

rpm_source_cp_check

Copy extra sources in %prep phase. (internal)

Module uses phase: $1 "cp -a$rpm_source_cp_args ."

rpm_source_dest_check manual_id source_id source_filename dest_filename

manual_id: id of manual checkpoint

source_id: id of source

source_filename: file name of source

dest_filename: destination file name

Check build root and generate proper commands. (internal)

Module uses phase: rpm_source_dest_mkdir "mkdir -p \$RPM_BUILD_ROOT${pwiz_result%/*}"

Module uses phase: rpm_source_dest_cp "cp $3 \$RPM_BUILD_ROOT$pwiz_result"

Module defines phase: rpm_source_dest_check after INSTALL_POSTACTION

Module defines phase: rpm_source_dest_mkdir after rpm_source_dest_check

Module defines phase: rpm_source_dest_cp after rpm_source_dest_mkdir

rpm_source_add id name

id: id of source

name: source file name  Add a source to RPM Source.

rpm_manual_patch

Manual checkpoint for adding extra RPM patches. (internal)

rpm_patch manual_id source_id

manual_id: Id of manual check point.

patch_id: Id of RPM patch.

Ask for everything needed for Patch. (internal)

Module uses phase: $1 "${patchcmd

Module uses phase: $1 "$pwiz_answer"

rpm_patch_add id name

id: id of patch

name: patch file name  Add a patch to RPM Patch.

Module defines phase: rpm_source_cp_$rpm_tmp_phase after manual_$rpm_tmp_phase

Module uses phase: rpm_source_cp_$rpm_tmp_phase "rpm_source_cp_check $rpm_tmp_phase"