ARCHITECTURE AND OS: build arch : i686 compatible build archs: i686 i586 i486 i386 noarch fat build os : Linux compatible build os's : Linux install arch : i686 install os : Linux compatible archs : i686 i586 i486 i386 noarch fat compatible os's : Linux RPMRC VALUES: optflags : %{__global_compiler_flags} -m32 -march=x86-64 -mtune=generic -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection Features supported by rpmlib: rpmlib(BuiltinLuaScripts) = 4.2.2-1 rpmlib(CaretInVersions) = 4.15.0-1 rpmlib(CompressedFileNames) = 3.0.4-1 rpmlib(ConcurrentAccess) = 4.1-1 rpmlib(ExplicitPackageProvide) = 4.0-1 rpmlib(FileCaps) = 4.6.1-1 rpmlib(FileDigests) = 4.6.0-1 rpmlib(HeaderLoadSortsTags) = 4.0.1-1 rpmlib(LargeFiles) = 4.12.0-1 rpmlib(PartialHardlinkSets) = 4.0.4-1 rpmlib(PayloadFilesHavePrefix) = 4.0-1 rpmlib(PayloadIsBzip2) = 3.0.5-1 rpmlib(PayloadIsLzma) = 4.4.2-1 rpmlib(PayloadIsXz) = 5.2-1 rpmlib(PayloadIsZstd) = 5.4.18-1 rpmlib(RichDependencies) = 4.12.0-1 rpmlib(ScriptletExpansion) = 4.9.0-1 rpmlib(ScriptletInterpreterArgs) = 4.0.3-1 rpmlib(TildeInVersions) = 4.10.0-1 rpmlib(VersionedDependencies) = 3.0.3-1 Macro path: /usr/lib/rpm/macros:/usr/lib/rpm/macros.d/macros.*:/usr/lib/rpm/platform/%{_target}/macros:/usr/lib/rpm/fileattrs/*.attr:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/%{_target}/macros:~/.rpmmacros ======================== -13: __7zip /usr/bin/7za -13: ___build_args -e -13: ___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args} -13: ___build_post exit $? -13: ___build_pre RPM_SOURCE_DIR="%{u2p:%{_sourcedir}}" RPM_BUILD_DIR="%{u2p:%{_builddir}}" RPM_OPT_FLAGS="%{optflags}" RPM_LD_FLAGS="%{?__global_ldflags}" RPM_ARCH="%{_arch}" RPM_OS="%{_os}" RPM_BUILD_NCPUS="%{_smp_build_ncpus}" export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_LD_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS RPM_DOC_DIR="%{_docdir}" export RPM_DOC_DIR RPM_PACKAGE_NAME="%{NAME}" RPM_PACKAGE_VERSION="%{VERSION}" RPM_PACKAGE_RELEASE="%{RELEASE}" export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE LANG=C export LANG unset CDPATH DISPLAY ||: %{?buildroot:RPM_BUILD_ROOT="%{u2p:%{buildroot}}" export RPM_BUILD_ROOT} %{?_javaclasspath:CLASSPATH="%{_javaclasspath}" export CLASSPATH} PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:%{_libdir}/pkgconfig:%{_datadir}/pkgconfig" export PKG_CONFIG_PATH CONFIG_SITE=${CONFIG_SITE:-NONE} export CONFIG_SITE PYTHON_DISALLOW_AMBIGUOUS_VERSION=warn export PYTHON_DISALLOW_AMBIGUOUS_VERSION %{verbose:set -x}%{!verbose:exec > /dev/null} umask 022 cd "%{u2p:%{_builddir}}" -13: ___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh} -13: ___build_template #!%{___build_shell} %{___build_pre} %{nil} -13: __aclocal aclocal -13: __ar ar -13: __arch_install_post /usr/lib/rpm/check-buildroot -13: __as as -13: __autoconf autoconf -13: __autoheader autoheader -13: __automake automake -13: __awk gawk -13: __bootstrap ~bootstrap -13: __brp_compress /usr/lib/rpm/brp-compress -13: __brp_java_gcjcompile %{_rpmconfigdir}/brp-java-bytecompile -13: __brp_ldconfig /usr/lib/rpm/redhat/brp-ldconfig -13: __brp_mangle_shebangs PYTHON3="%{__python3}" /usr/lib/rpm/redhat/brp-mangle-shebangs %{?__brp_mangle_shebangs_exclude:--shebangs "%{?__brp_mangle_shebangs_exclude}"} %{?__brp_mangle_shebangs_exclude_file:--shebangs-from "%{__brp_mangle_shebangs_exclude_file}"} %{?__brp_mangle_shebangs_exclude_from:--files "%{?__brp_mangle_shebangs_exclude_from}"} %{?__brp_mangle_shebangs_exclude_from_file:--files-from "%{__brp_mangle_shebangs_exclude_from_file}"} -13: __brp_python_bytecompile /usr/lib/rpm/brp-python-bytecompile "" %{?_python_bytecompile_errors_terminate_build} -13: __brp_python_hardlink /usr/lib/rpm/brp-python-hardlink -13: __brp_strip /usr/lib/rpm/brp-strip %{__strip} -13: __brp_strip_comment_note /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} -13: __brp_strip_shared %{_rpmconfigdir}/brp-strip-shared -13: __brp_strip_static_archive /usr/lib/rpm/brp-strip-static-archive %{__strip} -13: __bzip2 /usr/bin/bzip2 -13: __bzr /usr/bin/bzr -13: __cat /usr/bin/cat -13: __cc gcc -13: __check_files %{_rpmconfigdir}/check-files %{buildroot} -13: __chgrp /usr/bin/chgrp -13: __chmod /usr/bin/chmod -13: __chown /usr/bin/chown -13: __cp /usr/bin/cp -13: __cpio /usr/bin/cpio -13: __cpp gcc -E -13: __cxx g++ -13: __dbi_other mp_mmapsize=128Mb mp_size=1Mb -13: __debug_install_post %{__find_debuginfo} \ %{?_smp_mflags} \ %{?_missing_build_ids_terminate_build:--strict-build-id} \ %{?_no_recompute_build_ids:-n} \ %{?_include_minidebuginfo:-m} \ %{?_include_gdb_index:-i} \ %{?_unique_build_ids:--build-id-seed "%{VERSION}-%{RELEASE}"} \ %{?_unique_debug_names:--unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch}"} \ %{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \ %{?_find_debuginfo_dwz_opts} \ %{?_find_debuginfo_opts} \ %{?_debugsource_packages:-S debugsourcefiles.list} \ "%{_builddir}/%{?buildsubdir}" %{nil} -13: __debuginfo_path ^/usr/lib/debug/ -13: __debuginfo_provides %{_rpmconfigdir}/debuginfo.prov -13: __desktop_path ^%{_datadir}/applications/.*\.desktop$ -13: __desktop_provides %{_rpmconfigdir}/desktop-file.prov -13: __docdir_path %{_datadir}/doc:%{_datadir}/man:%{_datadir}/info:%{_datadir}/gtk-doc/html:%{?_docdir}:%{?_mandir}:%{?_infodir}:%{?_javadocdir}:/usr/doc:/usr/man:/usr/info:/usr/X11R6/man -13: __elf_flags exeonly -13: __elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$ -13: __elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} -13: __elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} -13: __extension_strip_flags %{lua: local name = rpm.expand("%{1}") local value = " " .. rpm.expand("%{build_" .. name .. "}") local result = string.gsub(value, "%s+-specs=[^%s]+", " ") print(result) } -13: __file /usr/bin/file -13: __find_debuginfo %{_rpmconfigdir}/find-debuginfo.sh -13: __find_provides %{_rpmconfigdir}/find-provides -13: __find_requires %{_rpmconfigdir}/find-requires -13: __font_magic [Ff]ont?( (program|collection))?( (text|data)) -13: __font_provides %{_rpmconfigdir}/fontconfig.prov -13: __font_requires %{nil} -13: __gem /usr/bin/gem -13: __git /usr/bin/git -13: __global_cflags %{build_cflags} -13: __global_compiler_flags -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches %{_hardened_cflags} %{_annotated_cflags} -13: __global_cxxflags %{build_cxxflags} -13: __global_fcflags %{build_fflags} -13: __global_fflags %{build_fflags} -13: __global_ldflags %{build_ldflags} -13: __global_provides_exclude_from %{?_docdir:%{_docdir}} -13: __global_requires_exclude_from %{?_docdir:%{_docdir}} -13: __gpg /usr/bin/gpg2 -13: __gpg_reserved_space 4096 -13: __gpg_sign_cmd %{__gpg} gpg --no-verbose --no-armor %{?_gpg_digest_algo:--digest-algo %{_gpg_digest_algo}} --no-secmem-warning %{?_gpg_sign_cmd_extra_args:%{_gpg_sign_cmd_extra_args}} -u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename} -13: __grep /usr/bin/grep -13: __gzip /usr/bin/gzip -13: __hg /usr/bin/hg -13: __id /usr/bin/id -13: __id_u %{__id} -u -13: __install /usr/bin/install -13: __isa %{__isa_name}-%{__isa_bits} -13: __isa_bits 32 -13: __isa_name x86 -13: __kabi_path ^(/boot/symvers-.*|/lib/modules/[1-9].*/symvers).gz$ -13: __kabi_provides %{_rpmconfigdir}/kabi.sh -13: __kmod_path ^/lib/modules/.*$ -13: __kmod_provides %{_rpmconfigdir}/kmod.prov -13: __ld /usr/bin/ld -13: __libsymlink_flags magic_and_path -13: __libsymlink_magic ^symbolic link to .*lib.*.so..*$ -13: __libsymlink_path ^.*.so$ -13: __libsymlink_requires %{_rpmconfigdir}/elfdeps --provides --soname-only -13: __libtool_path ^%{_libdir}/.*.la$ -13: __libtool_provides %{_rpmconfigdir}/libtooldeps.sh --provides %{buildroot} %{name} -13: __libtool_requires %{_rpmconfigdir}/libtooldeps.sh --requires %{buildroot} %{name} -13: __libtoolize libtoolize -13: __ln_s ln -s -13: __lrzip /usr/bin/lrzip -13: __lzip /usr/bin/lzip -13: __lzma %__xz --format=lzma -13: __make /usr/bin/make -13: __metainfo_path ^%{_datadir}/(appdata|metainfo)/.*\.(appdata|metainfo)\.xml$ -13: __metainfo_provides %{_rpmconfigdir}/metainfo.prov -13: __mkdir /usr/bin/mkdir -13: __mkdir_p /usr/bin/mkdir -p -13: __mono_magic Mono/.Net assembly -13: __mono_provides %{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir} -13: __mono_requires %{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir} -13: __mv /usr/bin/mv -13: __nm /usr/bin/nm -13: __objcopy /usr/bin/objcopy -13: __objdump /usr/bin/objdump -13: __ocaml_magic ^(Objective caml|OCaml) .*$ -13: __ocaml_provides %{_rpmconfigdir}/ocaml-find-provides.sh -13: __ocaml_requires %{_rpmconfigdir}/ocaml-find-requires.sh -13: __os_install_post %{?__brp_ldconfig} %{?__brp_compress} %{!?__debug_package: %{?__brp_strip} %{?__brp_strip_comment_note} } %{?__brp_strip_static_archive} %{?py_auto_byte_compile:%{?__brp_python_bytecompile}} %{?__brp_python_hardlink} %{?__brp_mangle_shebangs} %{nil} -13: __patch /usr/bin/patch -13: __perl /usr/bin/perl -13: __perl_check_pre %{expand: %{?__spec_check_pre} pushd %{buildsubdir} %define perl_br_testdir %{buildroot}%{perl_testdir}/%{cpan_dist_name} %{__mkdir_p} %{perl_br_testdir} %{__tar} -cf - %{__perl_test_dirs} | ( cd %{perl_br_testdir} && %{__tar} -xf - ) find . -maxdepth 1 -type f -name '*META*' -exec %{__cp} -vp {} %{perl_br_testdir} ';' find %{perl_br_testdir} -type f -exec %{__chmod} -c -x {} ';' T_FILES=`find %{perl_br_testdir} -type f -name '*.t'` %fix_shbang_line $T_FILES %{__chmod} +x $T_FILES %{_fixperms} %{perl_br_testdir} popd } -13: __pkgconfig_path ^((%{_libdir}|%{_datadir})/pkgconfig/.*.pc|%{_bindir}/pkg-config)$ -13: __pkgconfig_provides %{_rpmconfigdir}/pkgconfigdeps.sh --provides -13: __pkgconfig_requires %{_rpmconfigdir}/pkgconfigdeps.sh --requires -13: __plugindir %{_libdir}/rpm-plugins -13: __pypi_default_extension tar.gz -13: __pypi_url https://files.pythonhosted.org/packages/source/ -13: __pytest /usr/bin/pytest-3 -13: __python %{error:attempt to use unversioned python, define %%__python to %{_bindir}/python2 or %{_bindir}/python3 explicitly} -13: __python3 /usr/libexec/platform-python -13: __quilt /usr/bin/quilt -13: __ranlib ranlib -13: __remsh %{__rsh} -13: __restorecon /sbin/restorecon -13: __rm /usr/bin/rm -13: __rsh /usr/bin/rsh -13: __scm patch -13: __scm_apply_bzr(qp:m:) %{__patch} %{-p:-p%{-p*}} %{-q:-s} %{__bzr} commit %{-q} -m %{-m*} -13: __scm_apply_gendiff(qp:m:) %{__patch} %{-p:-p%{-p*}} %{-q:-s} --fuzz=%{_default_patch_fuzz} %{_default_patch_flags} -b --suffix ".%{2}" -13: __scm_apply_git(qp:m:) %{__git} apply --index %{-p:-p%{-p*}} - %{__git} commit %{-q} -m %{-m*} --author "%{__scm_author}" -13: __scm_apply_git_am(qp:m:) %{__git} am %{-q} %{-p:-p%{-p*}} -13: __scm_apply_hg(qp:m:) %{__hg} import - %{-p:-p%{-p*}} %{-q} -m %{-m*} --user "%{__scm_author}" -13: __scm_apply_patch(qp:m:) %{__patch} %{-p:-p%{-p*}} %{-q:-s} --fuzz=%{_default_patch_fuzz} %{_default_patch_flags} -13: __scm_apply_quilt(qp:m:) %{__quilt} import %{-p:-p%{-p*}} %{1} && %{__quilt} push %{-q} -13: __scm_author %{__scm_username} %{__scm_usermail} -13: __scm_setup_bzr(q) %{__bzr} init %{-q} %{__bzr} whoami --branch "%{__scm_author}" %{__bzr} add . %{__bzr} commit %{-q} -m "%{NAME}-%{VERSION} base" -13: __scm_setup_gendiff(q) %{nil} -13: __scm_setup_git(q) %{__git} init %{-q} %{__git} config user.name "%{__scm_username}" %{__git} config user.email "%{__scm_usermail}" %{__git} add . %{__git} commit %{-q} --allow-empty -a\ --author "%{__scm_author}" -m "%{NAME}-%{VERSION} base" -13: __scm_setup_git_am(q) %{expand:%__scm_setup_git %{-q}} -13: __scm_setup_hg(q) %{__hg} init %{-q} . %{__hg} add %{-q} . %{__hg} commit %{-q} --user "%{__scm_author}" -m "%{NAME}-%{VERSION} base" -13: __scm_setup_patch(q) %{nil} -13: __scm_setup_quilt(q) %{nil} -13: __scm_usermail -13: __scm_username rpm-build -13: __script_flags exeonly -13: __script_magic ^.* script[, ].*$ -13: __script_requires %{_rpmconfigdir}/script.req -13: __sed /usr/bin/sed -13: __semodule /usr/bin/semodule -13: __spec_build_args %{___build_args} -13: __spec_build_body %{___build_body} -13: __spec_build_cmd %{___build_cmd} -13: __spec_build_post %{___build_post} -13: __spec_build_pre %{___build_pre} -13: __spec_build_shell %{___build_shell} -13: __spec_build_template #!%{__spec_build_shell} %{__spec_build_pre} %{nil} -13: __spec_check_args %{___build_args} -13: __spec_check_body %{___build_body} -13: __spec_check_cmd %{___build_cmd} -13: __spec_check_post %{___build_post} -13: __spec_check_pre %{___build_pre} -13: __spec_check_shell %{___build_shell} -13: __spec_check_template #!%{__spec_check_shell} %{__spec_check_pre} %{nil} -13: __spec_clean_args %{___build_args} -13: __spec_clean_body %{___build_body} -13: __spec_clean_cmd %{___build_cmd} -13: __spec_clean_post %{___build_post} -13: __spec_clean_pre %{___build_pre} -13: __spec_clean_shell %{___build_shell} -13: __spec_clean_template #!%{__spec_clean_shell} %{__spec_clean_pre} %{nil} -13: __spec_install_args %{___build_args} -13: __spec_install_body %{___build_body} -13: __spec_install_cmd %{___build_cmd} -13: __spec_install_post %{?__debug_package:%{__debug_install_post}} %{__arch_install_post} %{__os_install_post} %{nil} -13: __spec_install_pre %{___build_pre} [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}" mkdir -p `dirname "$RPM_BUILD_ROOT"` mkdir "$RPM_BUILD_ROOT" %{nil} -13: __spec_install_shell %{___build_shell} -13: __spec_install_template #!%{__spec_install_shell} %{__spec_install_pre} %{nil} -13: __spec_prep_args %{___build_args} -13: __spec_prep_body %{___build_body} -13: __spec_prep_cmd %{___build_cmd} -13: __spec_prep_post %{___build_post} -13: __spec_prep_pre %{___build_pre} -13: __spec_prep_shell %{___build_shell} -13: __spec_prep_template #!%{__spec_prep_shell} %{__spec_prep_pre} %{nil} -13: __spec_rmbuild_args %{___build_args} -13: __spec_rmbuild_body %{___build_body} -13: __spec_rmbuild_cmd %{___build_cmd} -13: __spec_rmbuild_post %{___build_post} -13: __spec_rmbuild_pre %{___build_pre} -13: __spec_rmbuild_shell %{___build_shell} -13: __spec_rmbuild_template #!%{__spec_rmbuild_shell} %{__spec_rmbuild_pre} %{nil} -13: __ssh /usr/bin/ssh -13: __strip /usr/bin/strip -13: __tar /usr/bin/tar -13: __transaction_fapolicyd %{__plugindir}/fapolicyd.so -13: __transaction_ima %{__plugindir}/ima.so -13: __transaction_prioreset %{__plugindir}/prioreset.so -13: __transaction_selinux %{__plugindir}/selinux.so -13: __transaction_syslog %{__plugindir}/syslog.so -13: __transaction_systemd_inhibit %{__plugindir}/systemd_inhibit.so -13: __unzip /usr/bin/unzip -13: __urlhelper_proxyopts %{?_httpproxy:--proxy %{_httpproxy}%{?_httpport::%{_httpport}}}%{!?_httpproxy:%{nil}} -13: __urlhelpercmd /usr/bin/curl -13: __urlhelperopts --silent --show-error --fail --globoff --location -o -13: __vsflags 0xf0000 -13: __xz /usr/bin/xz -13: __zstd /usr/bin/zstd -13: _annobin_cflags -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -13: _annotated_build 1 -13: _annotated_cflags %{?_annotated_build:%{_annobin_cflags}} -13: _arch i386 -13: _binaries_in_noarch_packages_terminate_build 1 -13: _binary_filedigest_algorithm 8 -13: _binary_payload w2.xzdio -13: _bindir %{_exec_prefix}/bin -13: _binfmtdir /usr/lib/binfmt.d -13: _build %{_host} -13: _build_alias %{_host_alias} -13: _build_arch i386 -13: _build_cpu %{_host_cpu} -13: _build_id_links compat -13: _build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm -13: _build_os %{_host_os} -13: _build_vendor %{_host_vendor} -13: _builddir %{_topdir}/BUILD -13: _buildrootdir %{_topdir}/BUILDROOT -13: _buildshell /bin/sh -13: _bzip2bin %{__bzip2} -13: _changelog_trimtime 0 -13: _color_output never -13: _configure ./configure -13: _configure_gnuconfig_hack 1 -13: _configure_libtool_hardening_hack 1 -13: _datadir %{_datarootdir} -13: _datarootdir %{_prefix}/share -13: _db_backend bdb -13: _dbi_config %{?__dbi_other} -13: _dbi_config_Packages %{?_dbi_config} lockdbfd -13: _dbpath %{_var}/lib/rpm -13: _dbpath_rebuild %{_dbpath} -13: _debuginfo_subpackages 1 -13: _debuginfo_template %package debuginfo Summary: Debug information for package %{name} Group: Development/Debug AutoReq: 0 AutoProv: 1 %description debuginfo This package provides debug information for package %{name}. Debug information is useful when developing applications that use this package or when debugging this package. %files debuginfo -f debugfiles.list %{nil} -13: _debugsource_packages 1 -13: _debugsource_template %package debugsource Summary: Debug sources for package %{name} Group: Development/Debug AutoReqProv: 0 %description debugsource This package provides debug sources for package %{name}. Debug sources are useful when developing applications that use this package or when debugging this package. %files debugsource -f debugsourcefiles.list %{nil} -13: _default_patch_flags --no-backup-if-mismatch -13: _default_patch_fuzz 0 -13: _defaultdocdir %{_datadir}/doc -13: _defaultlicensedir %{_datadir}/licenses -13: _disable_source_fetch 1 -13: _docdir_fmt %%{NAME} -13: _dwz_limit %{expand:%%{?%{1}_%{_arch}}%%{!?%{1}_%{_arch}:%%%{1}}} -13: _dwz_low_mem_die_limit 10000000 -13: _dwz_low_mem_die_limit_armv5tel 4000000 -13: _dwz_low_mem_die_limit_armv7hl 4000000 -13: _dwz_max_die_limit 50000000 -13: _dwz_max_die_limit_armv5tel 10000000 -13: _dwz_max_die_limit_armv7hl 10000000 -13: _dwz_max_die_limit_x86_64 110000000 -13: _efi_srpm_macros_setup %{expand:%{lua: -- test if our arch matches local function arch(archmacro) local target = rpm.expand(" %{_target_cpu} ") local arches = rpm.expand(" " .. archmacro .. " ") local match = string.match(arches, target) return (match ~= nil) end -- give us the arch... local function getarch() if arch("ia64") then return("ia64") elseif arch("x86_64") then return("x64") elseif arch("%{ix86}") then return("ia32") elseif arch("aarch64") then return("aa64") elseif arch("%{arm}") then return("arm") else return("none") end end -- alt arch local function getaltarch() if arch("x86_64") then return("ia32") else return("none") end end -- make some macros local done = rpm.expand("%{?_efi}") if done == nil or done == "" then local arch = getarch() local alt = getaltarch() print("%global _efi x86_64 aarch64 %{arm} %{ix86}\n") print("%global _efi_vendor rocky\n") if arch == "none" then print("%global _efi_has_arch 0\n") else print("%global _efi_has_arch 1\n") end print("%global _efi_arch " .. getarch() .. "\n") print("%global _efi_arch_upper " .. string.upper(getarch()) .. "\n") if alt == "none" then print("%global _efi_has_alt_arch 0\n") else print("%global _efi_has_alt_arch 1\n") end print("%global _efi_alt_arch " .. alt .. "\n") print("%global _efi_alt_arch_upper " .. string.upper(alt) .. "\n") end }} -13: _empty_manifest_terminate_build 1 -13: _enable_debug_packages 1 -13: _environmentdir /usr/lib/environment.d -13: _environmnentdir %{warn:Use %%_environmentdir instead}%_environmentdir -13: _exec_prefix %{_prefix} -13: _file_context_file %{_sysconfdir}/selinux/${SELINUXTYPE}/contexts/files/file_contexts -13: _file_context_file_pre %{_localstatedir}/lib/rpm-state/file_contexts.pre -13: _file_custom_defined_booleans %{_selinux_store_policy_path}/rpmbooleans.custom -13: _file_custom_defined_booleans_tmp %{_selinux_store_policy_path}/rpmbooleans.custom.tmp -13: _fileattrsdir %{_rpmconfigdir}/fileattrs -13: _filter_GLIBC_PRIVATE 0 -13: _find_debuginfo_dwz_opts --run-dwz\ --dwz-low-mem-die-limit %{_dwz_limit _dwz_low_mem_die_limit}\ --dwz-max-die-limit %{_dwz_limit _dwz_max_die_limit} -13: _fixperms %{__chmod} -Rf a+rX,u+w,g-w,o-w -13: _fmoddir %{_libdir}/gfortran/modules -13: _gnu -gnu -13: _gzipbin %{__gzip} -13: _hardened_build 1 -13: _hardened_cflags %{?_hardened_build:%{_hardening_cflags}} -13: _hardened_ldflags %{?_hardened_build:%{_hardening_ldflags}} -13: _hardening_cflags -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -13: _hardening_ldflags -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -13: _hkp_keyserver http://pgp.mit.edu -13: _hkp_keyserver_query %{_hkp_keyserver}:11371/pks/lookup?op=get&search=0x -13: _host x86_64-redhat-linux-gnu -13: _host_alias x86_64-redhat-linux-gnu%{nil} -13: _host_cpu x86_64 -13: _host_os linux -13: _host_vendor redhat -13: _include_gdb_index 1 -13: _include_minidebuginfo 1 -13: _includedir %{_prefix}/include -13: _infodir %{_datarootdir}/info -13: _initddir %{_sysconfdir}/rc.d/init.d -13: _initrddir %{_initddir} -13: _install_langs all -13: _install_script_path /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin -13: _invalid_encoding_terminates_build 0 -13: _isa %{?__isa:(%{__isa})}%{!?__isa:%{nil}} -13: _javadir %{_datadir}/java -13: _javadocdir %{_datadir}/javadoc -13: _journalcatalogdir /usr/lib/systemd/catalog -13: _keyringpath %{_dbpath}/pubkeys/ -13: _ld_symbols_flags %{?_strict_symbol_defs_build:-Wl,-z,defs} -13: _lib lib -13: _libdir %{_prefix}/lib -13: _libexecdir %{_exec_prefix}/libexec -13: _localstatedir /var -13: _make_output_sync %(! %{__make} --version -O >/dev/null 2>&1 || echo -O) -13: _mandir %{_datarootdir}/man -13: _metainfodir %{_datadir}/metainfo -13: _minimize_writes 0 -13: _missing_build_ids_terminate_build 1 -13: _missing_doc_files_terminate_build 1 -13: _modprobedir /usr/lib/modprobe.d -13: _modulesloaddir /usr/lib/modules-load.d -13: _monodir %{_prefix}/lib/mono -13: _monogacdir %{_monodir}/gac -13: _oldincludedir /usr/include -13: _os linux -13: _pkgdocdir %{_docdir}/%{name} -13: _pkgverify_flags 0x0 -13: _pkgverify_level digest -13: _prefix /usr -13: _presetdir /usr/lib/systemd/system-preset -13: _python_bytecompile_errors_terminate_build 1 -13: _python_bytecompile_extra 0 -13: _query_all_fmt %%{nvra} -13: _query_selector_match default -13: _rpmconfigdir %{getconfdir} -13: _rpmdir %{_topdir}/RPMS -13: _rpmfilename %{_build_name_fmt} -13: _rpmlock_path %{_dbpath}/.rpm.lock -13: _rpmluadir %{_rpmconfigdir}/lua -13: _rpmmacrodir %{_rpmconfigdir}/macros.d -13: _rundir /run -13: _sbindir %{_exec_prefix}/sbin -13: _selinux_policy_version 3.14.3-95.el8 -13: _selinux_store_path /var/lib/selinux -13: _selinux_store_policy_path %{_selinux_store_path}/${_policytype} -13: _sharedstatedir /var/lib -13: _smp_build_ncpus %([ -z "$RPM_BUILD_NCPUS" ] \ && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \ ncpus_max=%{?_smp_ncpus_max}; \ if [ -n "$ncpus_max" ] && [ "$ncpus_max" -gt 0 ] && [ "$RPM_BUILD_NCPUS" -gt "$ncpus_max" ]; then RPM_BUILD_NCPUS="$ncpus_max"; fi; \ echo "$RPM_BUILD_NCPUS";) -13: _smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \ && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \ ncpus_max=%{?_smp_ncpus_max}; \ if [ -n "$ncpus_max" ] && [ "$ncpus_max" -gt 0 ] && [ "$RPM_BUILD_NCPUS" -gt "$ncpus_max" ]; then RPM_BUILD_NCPUS="$ncpus_max"; fi; \ if [ "$RPM_BUILD_NCPUS" -gt 1 ]; then echo "-j$RPM_BUILD_NCPUS"; fi) -13: _source_filedigest_algorithm 8 -13: _sourcedir %{_topdir}/SOURCES -13: _specdir %{_topdir}/SPECS -13: _srcrpmdir %{_topdir}/SRPMS -13: _sysconfdir /etc -13: _sysctldir /usr/lib/sysctl.d -13: _systemd_system_env_generator_dir /usr/lib/systemd/system-environment-generators -13: _systemd_user_env_generator_dir /usr/lib/systemd/user-environment-generators -13: _systemdgeneratordir /usr/lib/systemd/system-generators -13: _systemdusergeneratordir /usr/lib/systemd/user-generators -13: _sysusersdir /usr/lib/sysusers.d -11: _target i686-linux -13: _target_alias %{_host_alias} -11= _target_cpu i686 -11= _target_os linux -13: _target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu} -13: _target_vendor %{_host_vendor} -13: _tmpfilesdir /usr/lib/tmpfiles.d -13: _tmppath %{_var}/tmp -13: _topdir %{getenv:HOME}/rpmbuild -13: _transaction_color 0 -13: _udevhwdbdir /usr/lib/udev/hwdb.d -13: _udevrulesdir /usr/lib/udev/rules.d -13: _unique_build_ids 1 -13: _unique_debug_names 1 -13: _unique_debug_srcs 1 -13: _unitdir /usr/lib/systemd/system -13: _unpackaged_files_terminate_build 1 -13: _unzipbin %{__unzip} -13: _urlhelper %{__urlhelpercmd} %{?__urlhelper_localopts} %{?__urlhelper_proxyopts} %{__urlhelperopts} -13: _use_internal_dependency_generator 1 -13: _userpresetdir /usr/lib/systemd/user-preset -13: _userunitdir /usr/lib/systemd/user -13: _usr /usr -13: _usrsrc %{_usr}/src -13: _var /var -13: _vendor redhat -13: _vpath_builddir %_target_platform -13: _vpath_srcdir . -13: _vsflags_build %{__vsflags} -13: _vsflags_erase %{__vsflags} -13: _vsflags_install %{__vsflags} -13: _vsflags_query %{__vsflags} -13: _vsflags_rebuilddb 0xc0c00 -13: _vsflags_verify %{__vsflags} -13: _wrong_version_format_terminate_build 1 -13: alpha alpha alphaev56 alphaev6 alphaev67 -13: apply_patch(qp:m:) %{lua: local file = rpm.expand("%{1}") local num = rpm.expand("%{2}") if posix.access(file, "r") then local options = rpm.expand("%{-q} %{-p:-p%{-p*}} %{-m:-m%{-m*}}") local scm_apply = rpm.expand("%__scm_apply_%{__scm}") print(rpm.expand("%{uncompress:"..file.."} | "..scm_apply.." "..options.." "..file.." "..num.."\n")) else print("echo 'Cannot read "..file.."'; exit 1;".."\n") end} -13: arm armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl -13: autopatch(vp:m:M:) %{lua: local options = rpm.expand("%{!-v:-q} %{-p:-p%{-p*}} ") local low_limit = tonumber(rpm.expand("%{-m:%{-m*}}")) local high_limit = tonumber(rpm.expand("%{-M:%{-M*}}")) for i, p in ipairs(patches) do local inum = patch_nums[i] if ((not low_limit or inum>=low_limit) and (not high_limit or inum<=high_limit)) then print(rpm.expand("%apply_patch -m %{basename:"..p.."} "..options..p.." "..i.."\n")) end end} -13: autosetup(a:b:cDn:TvNS:p:) %setup %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{!-v:-q} %{-S:%global __scm %{-S*}} %{expand:%__scm_setup_%{__scm} %{!-v:-q}} %{!-N:%autopatch %{-v} %{-p:-p%{-p*}}} -13: bcond_with %{expand:%%{?_with_%{1}:%%global with_%{1} 1}} -13: bcond_without %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}} -13: binfmt_apply /usr/lib/systemd/systemd-binfmt %{?*} &>/dev/null || : %{nil} -13: build_cflags %{optflags} -13: build_cxxflags %{optflags} -13: build_fflags %{optflags} -I%{_fmoddir} -13: build_ldflags -Wl,-z,relro %{_ld_symbols_flags} %{_hardened_ldflags} -13: buildroot %{_buildrootdir}/%{NAME}-%{VERSION}-%{RELEASE}.%{_arch} -13: centos 8 -13: centos_ver 8 -13: clamp_mtime_to_source_date_epoch 0 -13: configure %{set_build_flags}; [ "%_configure_gnuconfig_hack" = 1 ] && for i in $(find $(dirname %{_configure}) -name config.guess -o -name config.sub) ; do [ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; done ; [ "%_configure_libtool_hardening_hack" = 1 ] && [ x != "x%{_hardened_ldflags}" ] && for i in $(find . -name ltmain.sh) ; do %{__sed} -i.backup -e 's~compiler_flags=$~compiler_flags="%{_hardened_ldflags}"~' $i done ; %{_configure} --build=%{_build} --host=%{_host} \ --program-prefix=%{?_program_prefix} \ --disable-dependency-tracking \ %{?_configure_disable_silent_rules:--disable-silent-rules} \ --prefix=%{_prefix} \ --exec-prefix=%{_exec_prefix} \ --bindir=%{_bindir} \ --sbindir=%{_sbindir} \ --sysconfdir=%{_sysconfdir} \ --datadir=%{_datadir} \ --includedir=%{_includedir} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --localstatedir=%{_localstatedir} \ --sharedstatedir=%{_sharedstatedir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} -13: cpan_dist_name %(eval echo %{name} | %{__sed} -e 's/^perl-//') -13: debug_package %ifnarch noarch %global __debug_package 1 %_debuginfo_template %{?_debugsource_packages:%_debugsource_template} %endif %{nil} -13: defined %{expand:%%{?%{1}:1}%%{!?%{1}:0}} -13: dist %{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el8%{?with_bootstrap:~bootstrap} -13: efi %{expand:%{_efi_srpm_macros_setup}}%{expand:%{_efi}} -13: efi_alt_arch %{expand:%{_efi_srpm_macros_setup}}%{?_efi_alt_arch}%{nil} -13: efi_alt_arch_upper %{expand:%{_efi_srpm_macros_setup}}%{?_efi_alt_arch_upper}%{nil} -13: efi_arch %{expand:%{_efi_srpm_macros_setup}}%{_efi_arch} -13: efi_arch_upper %{expand:%{_efi_srpm_macros_setup}}%{_efi_arch_upper} -13: efi_esp_boot %{efi_esp_efi}/BOOT -13: efi_esp_dir %{expand:%{_efi_srpm_macros_setup}}%{efi_esp_efi}/%{efi_vendor} -13: efi_esp_efi %{efi_esp_root}/EFI -13: efi_esp_root /boot/efi -13: efi_has_alt_arch %{expand:%{_efi_srpm_macros_setup}}0%{_efi_has_alt_arch} -13: efi_has_arch %{expand:%{_efi_srpm_macros_setup}}0%{_efi_has_arch} -13: efi_srpm_macros_version %{expand:%{_efi_srpm_macros_setup}}3 -13: efi_vendor %{expand:%{_efi_srpm_macros_setup}}%{expand:%{_efi_vendor}} -13: el8 1 -13: extension_cflags %{__extension_strip_flags cflags} -13: extension_cxxflags %{__extension_strip_flags cxxflags} -13: extension_fflags %{__extension_strip_flags fflags} -13: extension_ldflags %{__extension_strip_flags ldflags} -13: filter_from_provides %{expand: %global __filter_from_prov %{?__filter_from_prov} | %{__sed} -e '%*' } -13: filter_from_requires %{expand: %global __filter_from_req %{?__filter_from_req} | %{__sed} -e '%*' } -13: filter_provides_in(P) %{expand: %global __filter_prov_cmd %{?__filter_prov_cmd} %{__grep} -v %{-P} '%*' | } -13: filter_requires_in(P) %{expand: %global __filter_req_cmd %{?__filter_req_cmd} %{__grep} -v %{-P} '%*' | } -13: filter_setup %{expand: %global _use_internal_dependency_generator 0 %global __deploop() while read FILE; do echo "${FILE}" | /usr/lib/rpm/rpmdeps -%{1}; done | /bin/sort -u %global __find_provides /bin/sh -c "%{?__filter_prov_cmd} %{__deploop P} %{?__filter_from_prov}" %global __find_requires /bin/sh -c "%{?__filter_req_cmd} %{__deploop R} %{?__filter_from_req}" } -13: find_lang %{_rpmconfigdir}/find-lang.sh %{buildroot} -13: fix_shbang_line TMPHEAD=`mktemp` TMPBODY=`mktemp` for file in %* ; do head -1 $file > $TMPHEAD tail -n +2 $file > $TMPBODY %{__perl} -pi -e '$f = /^#!/ ? "" : "#!%{__perl}$/"; $_="$f$_"' $TMPHEAD cat $TMPHEAD $TMPBODY > $file done %{__perl} -MExtUtils::MakeMaker -e "ExtUtils::MM_Unix->fixin(qw{%*})" %{__rm} $TMPHEAD $TMPBODY %{nil} -13: forgeautosetup(a:b:cDn:TvNS:p:) %autosetup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-v} %{-N} %{-S} %{-p} -13: forgemeta(u:spvi) %{lua: local forgeurl = rpm.expand("%{?-u*}") if (forgeurl == "") then forgeurl = rpm.expand("%{?forgeurl}") end local silent = false local verbose = false local informative = false if (rpm.expand("%{?-s}") ~= "") then silent = true end if (rpm.expand("%{?-p}") ~= "") then silent = false end if (rpm.expand("%{?-v}") ~= "") then verbose = true end if (rpm.expand("%{?-i}") ~= "") then informative = true end local tag = rpm.expand("%{?tag}") local commit = rpm.expand("%{?commit}") -- Be explicit about the spec variables we’re setting local function explicitset(rpmvariable,value) rpm.define(rpmvariable .. " " .. value) if verbose then rpm.expand("%{echo:Setting %%{" .. rpmvariable .. "} = " .. value .. "\n}") end end -- Never ever stomp on a spec variable the packager already set local function safeset(rpmvariable,value) if (rpm.expand("%{?" .. rpmvariable .. "}") == "") then explicitset(rpmvariable,value) end end -- Set spec variable values for each known software publishing service if (forgeurl ~= "") then local forge = string.match(forgeurl, "^[^:]+://([^/]+)/") if (forge == nil) then if not silent then rpm.expand("%{error:URLs must include a protocol such as https:// and a path starting with / !\n}") end else if (string.match(forge, "^gitlab[%.-]") or string.match(forge, "[%.-]gitlab[%.]")) then forgeurl = string.match(forgeurl, "https://[^/]+/[^/]+/[^/#?]+") if (forgeurl == nil) then if not silent then rpm.expand("%{error:Gitlab URLs must match https://(…[-.])gitlab[-.]…/owner/repo !\n}") end else explicitset("forgeurl", forgeurl) if (commit == "") then rpm.expand("%{error:All Gitlab URLs require commit value knowledge: you need to define %{commit}!\nPlease vote on https://gitlab.com/gitlab-org/gitlab-ce/issues/38830\n}") end safeset("archiveext", "tar.bz2") safeset("forgesetupargs", "-n %{archivename}") if (commit ~= "") or (tag ~= "") then safeset("scm", "git") end local owner = string.match(forgeurl, "^[^:]+://[^/]+/([^/]+)") local repo = string.match(forgeurl, "^[^:]+://[^/]+/[^/]+/([^/]+)") local version = rpm.expand("%{?version}") if (version ~= "") and (version ~= "0") and (tag == "") then -- GitLab does not have strong versionning semantics -- Some projects use "version" as release tag, others "v" + "version" -- Tag value needs to be explicitly declared before calling the macro -- in the second case tag = version safeset("tag", tag) end if (tag ~= "") then safeset("archivename", repo .. "-%{tag}-%{commit}") safeset("archiveurl", "%{forgeurl}/repository/%{tag}/archive.%{archiveext}") else safeset("archivename", repo .. "-%{commit}") safeset("archiveurl", "%{forgeurl}/repository/%{commit}/archive.%{archiveext}") end end end if (string.match(forge, "^github[%.-]") or string.match(forge, "[%.-]github[%.]")) then forgeurl = string.match(forgeurl, "https://[^/]+/[^/]+/[^/#?]+") if (forgeurl == nil) then if not silent then rpm.expand("%{error:GitHub URLs must match https://(…[-.])github[-.]…/owner/repo !\n}") end else explicitset("forgeurl", forgeurl) safeset("archiveext", "tar.gz") local forgesetupargs = "-n %{archivename}" if (commit ~= "") or (tag ~= "") then safeset("scm", "git") end local owner = string.match(forgeurl, "^[^:]+://[^/]+/([^/]+)") local repo = string.match(forgeurl, "^[^:]+://[^/]+/[^/]+/([^/]+)") if (tag ~= "") then -- if upstream used a version suffix such as -rc1 or -beta it will not -- be a valid version string for rpm but github will accept it fine and -- use the same naming as for other versions: v prefix in the tag and -- archivename, no v prefix in the topdir naming inside the archive local version = rpm.expand("%{?version}") if version ~= "" and (string.match(tag, "^v" .. version .. "[^%d]") or string.match(tag, "^v" .. version .. "$")) then forgesetupargs = "-n " .. repo .. "-" .. string.gsub(tag, "^v", "") end safeset("archivename", repo .. "-%{tag}") safeset("archiveurl", "%{forgeurl}/archive/%{tag}.%{archiveext}") else if (commit ~= "") then safeset("archivename", repo .. "-%{commit}") safeset("archiveurl", "%{forgeurl}/archive/%{commit}/" .. repo .. "-%{commit}.%{archiveext}") else safeset("archivename", repo .. "-%{version}") safeset("archiveurl", "%{forgeurl}/archive/v%{version}.%{archiveext}") end end safeset("forgesetupargs", forgesetupargs) end end if (forge == "code.googlesource.com") then forgeurl = string.match(forgeurl, "https://code.googlesource.com/[^#?]*[^/#?]+") if (forgeurl == nil) then if not silent then rpm.expand("%{error:Googlesource URLs must match https://code.googlesource.com/…/repo !\n}") end else explicitset("forgeurl", forgeurl) safeset("archiveext", "tar.gz") safeset("forgesetupargs", "-c") if (commit ~= "") or (tag ~= "") then safeset("scm", "git") end local repo = string.match(forgeurl, "^[^:]+://.+/([^/?#]+)") if (tag ~= "") then safeset("archivename", repo .. "-%{tag}") safeset("archiveurl", "%{forgeurl}/+archive/%{tag}.%{archiveext}") else if (commit ~= "") then safeset("archivename", repo .. "-%{commit}") safeset("archiveurl", "%{forgeurl}/+archive/%{commit}.%{archiveext}") else safeset("archivename", repo .. "-v%{version}") safeset("archiveurl", "%{forgeurl}/+archive/v%{version}.%{archiveext}") end end end end if (forge == "bitbucket.org") then forgeurl = string.match(forgeurl, "https://[^/]+/[^/]+/[^/#?]+") if (forgeurl == nil) then if not silent then rpm.expand("%{error:BitBucket URLs must match https://bitbucket.org/owner/repo !\n}") end else explicitset("forgeurl", forgeurl) if (commit == "") then rpm.expand("%{error:All BitBucket URLs require commit value knowledge: you need to define %{commit}!\n}") end local shortcommit = string.sub(commit, 1, 12) safeset("archiveext", "tar.bz2") -- Default to git even though BitBucket allows choosing between several SCMs -- Set scm to hg for example before calling the macro if your project does not use git safeset("scm", "git") local owner = string.match(forgeurl, "^[^:]+://[^/]+/([^/]+)") local repo = string.match(forgeurl, "^[^:]+://[^/]+/[^/]+/([^/]+)") safeset("archivename", owner .. "-" .. repo .. "-" .. shortcommit) safeset("forgesetupargs", "-n %{archivename}") if (tag ~= "") then safeset("archiveurl", "%{forgeurl}/get/%{tag}.%{archiveext}") else safeset("archiveurl", "%{forgeurl}/get/%{commit}.%{archiveext}") end end end if (forge == "pagure.io") then if not silent then rpm.expand("%{error:https://pagure.io/pagure/issue/861 needs to be resolved before the “pagure.io”\nsoftware publishing service can be supported.\n}") end end -- Final tests to check forgeurl was successfuly parsed if not silent then if (rpm.expand("%{?archivename}") == "") or (rpm.expand("%{?archiveurl}") == "") then rpm.expand("%{error:Automation for the “" .. forge .. "”\nsoftware publishing service is not implemented yet.\nPlease extend the %%forgemeta macro!\n}") end end end end -- Set defaults if forgeurl is missing or does not parse local archivename = rpm.expand("%{?archivename}") safeset("archiveext", "tar.gz") if (archivename ~= "") then safeset("forgesetupargs", "-n %{archivename}") end if (commit ~= "") or (tag ~= "") then safeset("scm", "git") end -- Source URL processing (computing the forgesource spec variable) local archiveurl = rpm.expand("%{?archiveurl}") local archiveext = rpm.expand("%{?archiveext}") if (archivename ~= "") and (archiveurl ~= "") then if (string.match(archiveurl, "/([^/]+)$") == archivename .. "." .. archiveext) then safeset("forgesource", "%{archiveurl}") else safeset("forgesource", "%{?archiveurl}#/%{?archivename}.%{archiveext}") end end -- dist processing (computing the correct pefix for snapshots) local distprefix = rpm.expand("%{?tag}") local version = rpm.expand("%{?version}") if (distprefix == version) or (distprefix == "v" .. version) then distprefix = "" end if (distprefix == "") then distprefix = string.sub(rpm.expand("%{?commit}"), 1, 7) end if (distprefix ~= "") then local dist = ".%([ -r %{_sourcedir}/%{archivename}.%{archiveext} ] && date +%Y%m%d -u -r %{_sourcedir}/%{archivename}.%{archiveext})%{scm}" .. string.gsub(distprefix, "-",".") .. rpm.expand("%{?dist}") explicitset("dist", dist) end -- Final spec variable summary if the macro was called with -i if informative then rpm.expand("%{echo:Forge-specific packaging variables\n}") rpm.expand("%{echo: forgeurl: %{?forgeurl}\n}") rpm.expand("%{echo: forgesource: %{?forgesource}\n}") rpm.expand("%{echo: forgesetupargs: %{?forgesetupargs}\n}") rpm.expand("%{echo:Generic variables\n}") rpm.expand("%{echo: archivename: %{?archivename}\n}") rpm.expand("%{echo: archiveext: %{?archiveext}\n}") rpm.expand("%{echo: archiveurl: %{?archiveurl}\n}") rpm.expand("%{echo: scm: %{?scm}\n}") rpm.expand("%{echo: tag: %{?tag}\n}") rpm.expand("%{echo: commit: %{?commit}\n}") rpm.expand("%{echo: dist: %{?dist} (snapshot date is computed once %%{_sourcedir}/%%{archivename}.%%{archiveext} is available)\n}") end } -13: forgesetup(a:b:cDn:Tq) %setup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-q} -13: gccgo_arches %{mips} -13: ghc_arches %{ix86} x86_64 armv7hl ppc64 ppc64le aarch64 s390 s390x -13: ghc_arches_with_ghci %{ix86} x86_64 armv7hl ppc64 ppc64le aarch64 s390 s390x %{mips} -13: go_arches %{golang_arches} %{gccgo_arches} -13: go_compiler 1 -13: gobuild(o:) CGO_CPPFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-all" go build -compiler gc -buildmode pie '-tags=rpm_crashtraceback libtrust_openssl ' -ldflags "-linkmode=external -compressdwarf=false ${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; -13: golang_arches x86_64 %{arm} aarch64 ppc64le s390x -13: gometa(u:spvi) %{expand:%{lua: local forgeurl = rpm.expand("%{?-u*}") if (forgeurl == "") then forgeurl = rpm.expand("%{?forgeurl}") end -- Be explicit about the spec variables we’re setting local function explicitset(rpmvariable,value) rpm.define(rpmvariable .. " " .. value) if (rpm.expand("%{?-v}") ~= "") then rpm.expand("%{echo:Setting %%{" .. rpmvariable .. "} = " .. value .. "\n}") end end -- Never ever stomp on a spec variable the packager already set local function safeset(rpmvariable,value) if (rpm.expand("%{?" .. rpmvariable .. "}") == "") then explicitset(rpmvariable,value) end end -- All the Go packaging automation relies on goipath being set local goipath = rpm.expand("%{?goipath}") if (goipath == "") then rpm.expand("%{error:Please set the Go import path in the “goipath” variable before calling “gometa”!}") end -- Compute and set spec variables if (forgeurl ~= "") then rpm.expand("%forgemeta %{?-v} %{?-i} %{?-s} %{?-p} -u " .. forgeurl .. "\n") safeset("gourl", forgeurl) else safeset("gourl", "https://" .. goipath) rpm.expand("%forgemeta %{?-v} %{?-i} -s %{?-p} -u %{gourl}\n") end if (rpm.expand("%{?forgesource}") ~= "") then safeset("gosource", "%{forgesource}") else safeset("gosource", "%{gourl}/%{archivename}.%{archiveext}") end safeset("goname", "%gorpmname %{goipath}") -- Final spec variable summary if the macro was called with -i if (rpm.expand("%{?-i}") ~= "") then rpm.expand("%{echo:Go-specific packaging variables}") rpm.expand("%{echo: goipath: %{?goipath}}") rpm.expand("%{echo: goname: %{?goname}}") rpm.expand("%{echo: gourl: %{?gourl}}") rpm.expand("%{echo: gosource: %{?gosource}}") end} BuildRequires: compiler(go-compiler) ExclusiveArch: %{go_arches} } -13: gopath %{_datadir}/gocode -13: gorpmname %{lua: local goname = rpm.expand("%1") -- lowercase and end with '/' goname = string.lower(goname .. "/") -- remove eventual protocol prefix goname = string.gsub(goname, "^http(s?)://", "") -- add golang prefix goname = "golang-" .. goname -- remove FQDN root (.com, .org, etc) goname = string.gsub(goname, "^([^/]+)%.([^%./]+)/", "%1/") -- special-case x.y.z number-strings as that’s an exception in our naming -- guidelines repeat goname, i = string.gsub(goname, "(%d)%.(%d)", "%1:%2") until i == 0 -- replace various separators rpm does not like with - goname = string.gsub(goname, "[%._/%-]+", "-") -- because of the Azure sdk goname = string.gsub(goname, "%-for%-go%-", "-") -- Tokenize along - separators and remove duplicates to avoid -- golang-foo-foo-bar-foo names local result = "" local tokens = {} tokens["go"] = true tokens["git"] = true for token in string.gmatch(goname, "[^%-]+") do if not tokens[token] then result = result .. "-" .. token tokens[token] = true end end -- reassemble the string, restore x.y.z runs, convert the vx.y.z -- Go convention to x.y.z as prefered in rpm naming result = string.gsub(result, "^-", "") result = string.gsub(result, ":", ".") -- some projects have a name that end up in a number, and *also* add release -- numbers on top of it, keep a - prefix before version strings result = string.gsub(result, "%-v([%.%d])", "-%1") print(result) } -13: gotest go test -compiler gc -ldflags "${LDFLAGS:-}" %{?**}; -13: gpgverify(k:s:d:) %{lua: local script = rpm.expand("%{_rpmconfigdir}/redhat/gpgverify ") local keyring = rpm.expand("%{-k*}") local signature = rpm.expand("%{-s*}") local data = rpm.expand("%{-d*}") print(script) if keyring ~= "" then print(rpm.expand("--keyring='%{SOURCE" .. keyring .. "}' ")) end if signature ~= "" then print(rpm.expand("--signature='%{SOURCE" .. signature .. "}' ")) end if data ~= "" then print(rpm.expand("--data='%{SOURCE" .. data .. "}' ")) end } -13: info_post if [ -f %{_infodir}/%1 ]; then # --excludedocs? /sbin/install-info %{_infodir}/%1 %{_infodir}/dir || : fi -13: info_preun if [ $1 == 0 ]; then if [ -f %{_infodir}/%1 ]; then # --excludedocs? /sbin/install-info --delete %{_infodir}/%1 %{_infodir}/dir || : fi fi -13: info_requires Requires(post): /sbin/install-info Requires(preun): /sbin/install-info -13: install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}} %%install %{nil} -13: ix86 i386 i486 i586 i686 pentium3 pentium4 athlon geode -13: journal_catalog_update %{nil} -13: kernel_arches x86_64 s390x ppc64le aarch64 %{arm} -13: ldc_arches %{ix86} x86_64 %{arm} %{power64} -13: ldconfig_post(n:) %{?ldconfig:%post -p %ldconfig %{?*} %{-n:-n %{-n*}} %end} -13: ldconfig_postun(n:) %{?ldconfig:%postun -p %ldconfig %{?*} %{-n:-n %{-n*}} %end} -13: ldconfig_scriptlets(n:) %{?ldconfig: %ldconfig_post %{?*} %{-n:-n %{-n*}} %ldconfig_postun %{?*} %{-n:-n %{-n*}} } -13: listfiles(i:x:) %{expand: %if %{lua: print(string.len(rpm.expand("%{?-i*}%{?listfiles_include}%*")))} listfiles_include=$(realpath -e --relative-base=. %{?-i*} %{?listfiles_include} %* | sort -u) %if %{lua: print(string.len(rpm.expand("%{?-x*}%{?listfiles_exclude}")))} while IFS= read -r finc ; do realpath -qe --relative-base=. %{?-x*} %{?listfiles_exclude} \ | sort -u | grep -q "${finc}" || echo "${finc}" done <<< "${listfiles_include}" %else echo "${listfiles_include}" %endif %endif } -13: make_build %{__make} %{_make_output_sync} %{?_smp_mflags} -13: make_install %{__make} install DESTDIR=%{?buildroot} INSTALL="%{__install} -p" -13: makeinstall echo "warning: %%makeinstall is deprecated, try %%make_install instead" 1>&2 %{__make} \ prefix=%{?buildroot:%{buildroot}}%{_prefix} \ exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \ bindir=%{?buildroot:%{buildroot}}%{_bindir} \ sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \ sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \ datadir=%{?buildroot:%{buildroot}}%{_datadir} \ includedir=%{?buildroot:%{buildroot}}%{_includedir} \ libdir=%{?buildroot:%{buildroot}}%{_libdir} \ libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \ localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \ sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \ mandir=%{?buildroot:%{buildroot}}%{_mandir} \ infodir=%{?buildroot:%{buildroot}}%{_infodir} \ install -13: mips %{mips32} %{mips64} -13: mips32 mips mipsel mipsr6 mipsr6el -13: mips64 mips64 mips64el mips64r6 mips64r6el -13: mipseb mips mipsr6 mips64 mips64r6 -13: mipsel mipsel mipsr6el mips64el mips64r6el -13: mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} aarch64 alpha s390x ppc ppc64 ppc64le -13: nil %{!?nil} -13: nodejs_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x -13: ocaml_natdynlink aarch64 %{arm} %{ix86} ppc ppc64 ppc64le riscv64 s390x sparc sparcv9 x86_64 -13: ocaml_native_compiler aarch64 %{arm} %{ix86} ppc ppc64 ppc64le riscv64 s390x sparc sparcv9 x86_64 -13: ocaml_native_profiling %{arm} %{ix86} ppc ppc64 ppc64le sparc sparcv9 x86_64 -13: openblas_arches x86_64 %{ix86} armv7hl %{power64} aarch64 s390x -11: optflags %{__global_compiler_flags} -m32 -march=x86-64 -mtune=generic -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -13: patches %{lua: for i, p in ipairs(patches) do print(p.." ") end} -13: perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) -13: perl_default_filter %{expand: %global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_docdir} %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}^%{_docdir} %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(VMS|^perl\\(Win32|^perl\\(DB\\)|^perl\\(UNIVERSAL\\) %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(VMS|^perl\\(Win32 } -13: perl_default_filter_revision 3 -13: perl_default_subpackage_tests %perl_subpackage_tests t/ -13: perl_ext_env_unset %{expand: unset PERL_MM_OPT MODULEBUILDRC PERL5INC export PERL_AUTOINSTALL="--defaultdeps" export PERL_MM_USE_DEFAULT=1 } -13: perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) -13: perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) -13: perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) -13: perl_subpackage_tests %{expand: %global __perl_package 1 %global __perl_test_dirs %* %global __spec_check_pre %{expand:%{__perl_check_pre}} %package tests Summary: Test suite for package %{name} Group: Development/Debug Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: /usr/bin/prove %{?__tests_spkg_req:Requires: %__tests_spkg_req} %{?__tests_spkg_prov:Provides: %__tests_spkg_prov} AutoReqProv: 0 %description tests This package provides the test suite for package %{name}. %files tests %defattr(-,root,root,-) %{perl_testdir} } -13: perl_testdir %{_libexecdir}/perl5-tests -13: perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) -13: perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) -13: perl_version %(eval "`%{__perl} -V:version`"; echo $version) -13: power64 ppc64 ppc64p7 ppc64le -13: py2_dist %{lua: args = {} arg = 1 while (true) do name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}"); if (name == nil or name == '') then break end args[arg] = name arg = arg + 1 end for arg, name in ipairs(args) do canonical = rpm.expand("%py_dist_name " .. name); print("python2dist(" .. canonical .. ") "); end } -13: py3_build %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python3} %{py_setup} %{?py_setup_args} build --executable="%{__python3} %{py3_shbang_opts}" %{?*} sleep 1 } -13: py3_build_egg %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python3} %{py_setup} %{?py_setup_args} bdist_egg %{?*} sleep 1 } -13: py3_build_wheel %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python3} %{py_setup} %{?py_setup_args} bdist_wheel %{?*} sleep 1 } -13: py3_dist %{lua: args = {} arg = 1 while (true) do name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}"); if (name == nil or name == '') then break end args[arg] = name arg = arg + 1 end for arg, name in ipairs(args) do canonical = rpm.expand("%py_dist_name " .. name); print("python3dist(" .. canonical .. ") "); end } -13: py3_install %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python3} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} } -13: py3_install_egg %{expand:\ mkdir -p %{buildroot}%{python3_sitelib} CFLAGS="%{optflags}" %{__python3} -m easy_install -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python3_version}.egg %{?*} } -13: py3_install_wheel %{expand:\ CFLAGS="%{optflags}" %{__python3} -m pip install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps } -13: py3_shbang_opts -s -13: py3_shbang_opts_nodash %(opts=%{py3_shbang_opts}; echo ${opts#-}) -13: py3_shebang_fix %{expand:\ if [ -f /usr/bin/pathfix%{python3_version}.py ]; then pathfix=/usr/bin/pathfix%{python3_version}.py else # unversioned pathfix.py provided by platform-python-devel pathfix=/usr/bin/pathfix.py fi if [ -z "%{?py3_shebang_flags}" ]; then shebang_flags="-k" else shebang_flags="-ka%{py3_shebang_flags}" fi $pathfix -pni %{__python3} $shebang_flags} -13: py3_shebang_flags %(opts=%{py3_shbang_opts}; echo ${opts#-}) -13: py3dir %{_builddir}/python3-%{name}-%{version}-%{release} -13: py_auto_byte_compile 1 -13: py_build %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python} %{py_setup} %{?py_setup_args} build --executable="%{__python} %{py_shbang_opts}" %{?*} sleep 1 } -13: py_build_egg %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python} %{py_setup} %{?py_setup_args} bdist_egg %{?*} sleep 1 } -13: py_build_wheel %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python} %{py_setup} %{?py_setup_args} bdist_wheel %{?*} sleep 1 } -13: py_byte_compile python_binary="%1" buildroot_path="%2" bytecode_compilation_path=".${buildroot_path/#$RPM_BUILD_ROOT}" failure=0 pushd $RPM_BUILD_ROOT find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -m py_compile || failure=1 find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -m py_compile || failure=1 popd test $failure -eq 0 -13: py_dist_name %{lua: name = rpm.expand("%{?1:%{1}}"); canonical = string.gsub(string.lower(name), "[^%w%.]+", "-"); print(canonical); } -13: py_install %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ %{__python} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} } -13: py_install_egg %{expand:\ mkdir -p %{buildroot}%{python_sitelib} easy_install -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python_version}.egg %{?*} } -13: py_install_wheel %{expand:\ pip install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps } -13: py_provides %{lua: local name = rpm.expand('%1') if name == '%1' then rpm.expand('%{error:%%py_provides requires at least 1 argument, the name to provide}') end local evr = rpm.expand('%2') if evr == '%2' then evr = rpm.expand('%{?epoch:%{epoch}:}%{version}-%{release}') end print('Provides: ' .. name .. ' = ' .. evr .. '\n') } -13: py_setup setup.py -13: py_shbang_opts -s -13: py_shbang_opts_nodash %(opts=%{py_shbang_opts}; echo ${opts#-}) -13: py_shebang_fix %{expand:\ if [ -f /usr/bin/pathfix%{python_version}.py ]; then pathfix=/usr/bin/pathfix%{python_version}.py else # unversioned pathfix.py provided by platform-python-devel pathfix=/usr/bin/pathfix.py fi if [ -z "%{?py_shebang_flags}" ]; then shebang_flags="-k" else shebang_flags="-ka%{py_shebang_flags}" fi $pathfix -pni %{__python} $shebang_flags} -13: py_shebang_flags %(opts=%{py_shbang_opts}; echo ${opts#-}) -13: pycached %{lua: path = rpm.expand("%{?*}") if (string.sub(path, "-3") ~= ".py") then rpm.expand("%{error:%%pycached can only be used with paths explicitly ending with .py}") else print(path) pyminor = path:match("/python3.(%d+)/") or "*" dirname = path:match("(.*/)") modulename = path:match(".*/([^/]+).py") print("\n" .. dirname .. "__pycache__/" .. modulename .. ".cpython-3" .. pyminor .. "{,.opt-?}.pyc") end } -13: pypi_source %{lua: local src = rpm.expand('%1') local ver = rpm.expand('%2') local ext = rpm.expand('%3') local url = rpm.expand('%__pypi_url') -- If no first argument, try %srcname, then %pypi_name, then %name -- Note that rpm leaves macros unchanged if they are not defined. if src == '%1' then src = rpm.expand('%srcname') end if src == '%srcname' then src = rpm.expand('%pypi_name') end if src == '%pypi_name' then src = rpm.expand('%name') end -- If no second argument, use %version if ver == '%2' then ver = rpm.expand('%version'):gsub('~', '') end -- If no third argument, use the preset default extension if ext == '%3' then ext = rpm.expand('%__pypi_default_extension') end local first = string.sub(src, 1, 1) print(url .. first .. '/' .. src .. '/' .. src .. '-' .. ver .. '.' .. ext) } -13: pytest %{expand:\ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\ PATH="%{buildroot}%{_bindir}:$PATH"\ PYTHONPATH="${PYTHONPATH:-%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}}"\ PYTHONDONTWRITEBYTECODE=1\ %__pytest} -13: python %__python -13: python3 %__python3 -13: python3_ext_suffix %(%{__python3} -Ic "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))") -13: python3_pkgversion 3 -13: python3_platform %(%{__python3} -Ic "import sysconfig; print(sysconfig.get_platform())") -13: python3_platform_triplet %(%{__python3} -Ic "import sysconfig; print(sysconfig.get_config_var('MULTIARCH'))") -13: python3_sitearch %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") -13: python3_sitelib %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -13: python3_version %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3])") -13: python3_version_nodots %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3].replace('.',''))") -13: python_enable_dependency_generator %global __python_requires %{_rpmconfigdir}/pythondistdeps.py --requires %{nil} -13: python_ext_suffix %(%{__python} -Esc "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))") -13: python_platform_triplet %(%{__python} -Esc "import sysconfig; print(sysconfig.get_config_var('MULTIARCH'))") -13: python_provide %{lua: function string.starts(String,Start) return string.sub(String,1,string.len(Start))==Start end package = rpm.expand("%{?1}") vr = rpm.expand("%{?epoch:%{epoch}:}%{version}-%{release}") if (string.starts(package, "python2-")) then --No unversioned provides as python2 is not default elseif (string.starts(package, "python" .. rpm.expand("%{python3_pkgversion}") .. "-")) then --No unversioned provides as python3 is not default elseif (rpm.expand("%{?python3_other_pkgversion}") ~= "" and string.starts(package, "python" .. rpm.expand("%{python3_other_pkgversion}") .. "-")) then --No unversioned provides as python3_other is not default elseif (string.starts(package, "pypy-")) then --No unversioned provides as pypy is not default elseif (string.starts(package, "pypy3-")) then --No unversioned provides as pypy is not default elseif (string.starts(package, "python-")) then --Providing the current default python print("Provides: python2-") print(string.sub(package,8,string.len(package))) print(" = ") print(vr) else print("%python_provide: ERROR: ") print(package) print(" not recognized.") end } -13: python_sitearch %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitearch) -13: python_sitelib %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitelib) -13: python_version %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper version) -13: requires_eq %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") -13: rhel 8 -13: rocky 8 -13: rocky_ver 8 -13: rpmmacrodir /usr/lib/rpm/macros.d -13: rust_arches x86_64 i686 armv7hl aarch64 ppc64 ppc64le s390x -13: selinux_modules_install("s:p:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ "${SELINUXTYPE}" = "${_policytype}" ]; then %{_sbindir}/semodule -n -s ${_policytype} -X %{!-p:200}%{-p*} -i %* %{_sbindir}/selinuxenabled && %{_sbindir}/load_policy || : fi %{nil} -13: selinux_modules_uninstall("s:p:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ $1 -eq 0 ]; then if [ "${SELINUXTYPE}" = "${_policytype}" ]; then %{_sbindir}/semodule -n -X %{!-p:200}%{-p*} -s ${_policytype} -r %* &> /dev/null || : %{_sbindir}/selinuxenabled && %{_sbindir}/load_policy || : fi fi %{nil} -13: selinux_relabel_post("s:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then if [ -f %{_file_context_file_pre} ]; then %{_sbindir}/fixfiles -C %{_file_context_file_pre} restore &> /dev/null rm -f %{_file_context_file_pre} fi fi %{nil} -13: selinux_relabel_pre("s:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then [ -f %{_file_context_file_pre} ] || cp -f %{_file_context_file} %{_file_context_file_pre} fi %{nil} -13: selinux_requires Requires: selinux-policy >= %{_selinux_policy_version} BuildRequires: git BuildRequires: pkgconfig(systemd) BuildRequires: selinux-policy BuildRequires: selinux-policy-devel Requires(post): selinux-policy-base >= %{_selinux_policy_version} Requires(post): libselinux-utils Requires(post): policycoreutils %if 0%{?fedora} || 0%{?rhel} > 7 Requires(post): policycoreutils-python-utils %else Requires(post): policycoreutils-python %endif %{nil} -13: selinux_set_booleans("s:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ -d "%{_selinux_store_policy_path}" ]; then LOCAL_MODIFICATIONS=$(%{_sbindir}/semanage boolean -E) if [ ! -f %_file_custom_defined_booleans ]; then /bin/echo "# This file is managed by macros.selinux-policy. Do not edit it manually" > %_file_custom_defined_booleans fi semanage_import='' for boolean in %*; do boolean_name=${boolean%=*} boolean_value=${boolean#*=} boolean_local_string=$(grep "$boolean_name$" <<<$LOCAL_MODIFICATIONS) if [ -n "$boolean_local_string" ]; then semanage_import="${semanage_import}\nboolean -m -$boolean_value $boolean_name" boolean_customized_string=$(grep "$boolean_name$" %_file_custom_defined_booleans | tail -n 1) if [ -n "$boolean_customized_string" ]; then /bin/echo $boolean_customized_string >> %_file_custom_defined_booleans else /bin/echo $boolean_local_string >> %_file_custom_defined_booleans fi else semanage_import="${semanage_import}\nboolean -m -$boolean_value $boolean_name" boolean_default_value=$(LC_ALL=C %{_sbindir}/semanage boolean -l | grep "^$boolean_name " | sed 's/[^(]*([^,]*, *\(on\|off\).*/\1/') /bin/echo "boolean -m --$boolean_default_value $boolean_name" >> %_file_custom_defined_booleans fi done; if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" elif test -d /usr/share/selinux/"${_policytype}"/base.lst; then /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" -N fi fi %{nil} -13: selinux_unset_booleans("s:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi if [ -d "%{_selinux_store_policy_path}" ]; then semanage_import='' for boolean in %*; do boolean_name=${boolean%=*} boolean_customized_string=$(grep "$boolean_name$" %_file_custom_defined_booleans | tail -n 1) if [ -n "$boolean_customized_string" ]; then awk "/$boolean_customized_string/ && !f{f=1; next} 1" %_file_custom_defined_booleans > %_file_custom_defined_booleans_tmp && mv %_file_custom_defined_booleans_tmp %_file_custom_defined_booleans if ! grep -q "$boolean_name$" %_file_custom_defined_booleans; then semanage_import="${semanage_import}\n${boolean_customized_string}" fi fi done; if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" elif test -d /usr/share/selinux/"${_policytype}"/base.lst; then /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype}" -N fi fi %{nil} -13: set_build_flags CFLAGS="${CFLAGS:-%{build_cflags}}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:-%{build_cxxflags}}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:-%{build_fflags}}" ; export FFLAGS ; FCFLAGS="${FCFLAGS:-%{build_fflags}}" ; export FCFLAGS ; LDFLAGS="${LDFLAGS:-%{build_ldflags}}" ; export LDFLAGS -13: source_date_epoch_from_changelog 0 -13: sources %{lua: for i, s in ipairs(sources) do print(s.." ") end} -13: sparc sparc sparcv8 sparcv9 sparcv9v sparc64 sparc64v -13: sysctl_apply /usr/lib/systemd/systemd-sysctl %{?*} &>/dev/null || : %{nil} -13: systemd_ordering OrderWithRequires(post): systemd OrderWithRequires(preun): systemd OrderWithRequires(postun): systemd %{nil} -13: systemd_post if [ $1 -eq 1 ] ; then # Initial installation systemctl --no-reload preset %{?*} &>/dev/null || : fi %{nil} -13: systemd_postun %{nil} -13: systemd_postun_with_restart if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall systemctl try-restart %{?*} &>/dev/null || : fi %{nil} -13: systemd_preun if [ $1 -eq 0 ] ; then # Package removal, not upgrade systemctl --no-reload disable --now %{?*} &>/dev/null || : fi %{nil} -13: systemd_requires Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %{nil} -13: systemd_user_post %{expand:%systemd_post \--global %%{?*}} -13: systemd_user_postun %{nil} -13: systemd_user_postun_with_restart %{nil} -13: systemd_user_preun if [ $1 -eq 0 ] ; then # Package removal, not upgrade systemctl --global disable %{?*} &>/dev/null || : fi %{nil} -13: sysusers_create systemd-sysusers %{?*} &>/dev/null || : %{nil} -13: sysusers_create_inline systemd-sysusers - </dev/null || : %{?*} SYSTEMD_INLINE_EOF %{nil} -13: sysusers_create_package systemd-sysusers --replace=%_sysusersdir/%1.conf - </dev/null || : %(cat %2) SYSTEMD_INLINE_EOF %{nil} -13: tests_req %{expand: BuildRequires: %* %%tests_subpackage_requires %* } -13: tests_subpackage_provides %{expand: %global __tests_spkg_prov %{?__tests_spkg_prov} %* } -13: tests_subpackage_requires %{expand: %global __tests_spkg_req %{?__tests_spkg_req} %* } -13: tmpfiles_create systemd-tmpfiles --create %{?*} &>/dev/null || : %{nil} -13: tmpfiles_create_package systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - </dev/null || : %(cat %2) SYSTEMD_INLINE_EOF %{nil} -13: udev_hwdb_update %{nil} -13: udev_rules_update %{nil} -13: undefined %{expand:%%{?%{1}:0}%%{!?%{1}:1}} -13: valgrind_arches %{ix86} x86_64 ppc ppc64 ppc64le armv7hl aarch64 s390x -13: vimfiles_root %{_datadir}/vim/vimfiles -13: with %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}} -13: without %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}} -13: writevars(f:) %{lua: local fedora = require "fedora.common" local macrofile = rpm.expand("%{-f*}") local rpmvars = {} for i = 1, rpm.expand("%#") do table.insert(rpmvars, rpm.expand("%" .. i)) end fedora.writevars(macrofile,rpmvars) } ======================== active 587 empty 0