I did have a ~/.rpmrc file, but it contained only comments. /usr/lib/rpm/macros contains this section: > # Path to script that creates debug symbols in a /usr/lib/debug > # shadow tree. > # > # A spec file can %%define _find_debuginfo_opts to pass options to > # the script. See the script for details. > # > %__debug_install_post \ > %{_rpmconfigdir}/find-debuginfo.sh \\\ > %{?_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} The "-j4" you asked about must be coming from the %{?_smp_mflags}, as "--strict-build-id" is on the command line also.
The only doc I've found relevant to "smp_mflags" said > The *%_smp_mflags* macro usually contains only the *-j* (*–jobs*) > option for the *make* command, which defines the number of jobs > (/make/ commands) that may run simultaneously. Usually, this is set to > the number of CPU cores plus one. So, on a dual core CPU, the smp > flags are set to *-j3*. This is a quad core system (Intel(R) Xeon(R) CPU E3-1226 v3 @ 3.30GHz), so I would have expected "-j5" by those docs, but "-j4" according to the /usr/lib/rpm/macros excerpt above. "rpmbuild --showrc" (complete output attached) shows _smp_mflags is set to the output from /usr/bin/getconf _NPROCESSORS_ONLN which on this system is 4. Removed ~/.rpmrc; same result. Tried: "rpmbuild -ba openafs.spec --define='_smp_mflags -j1'"; same result, except "-j1" instead of "-j4". Specifically: > + /usr/lib/rpm/find-debuginfo.sh -j1 --strict-build-id -m -i > --build-id-seed 1.8.0-1.fc27 --unique-debug-suffix > -1.8.0-1.fc27.x86_64 --unique-debug-src-base > openafs-1.8.0-1.fc27.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 > --dwz-max-die-limit 110000000 -p '.*openafs.ko(.debug)?' -o > kmod-debuginfo.list -S debugsourcefiles.list > /home/utoddl/rpmbuild/BUILD/openafs-1.8.0 > extracting debug info from > /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/sbin/fstrace ... > extracting debug info from > /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/scout > extracting debug info from > /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/udebug > extracting debug info from > /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/pagsh > extracting debug info from > /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko > dwz: > "./lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko-1.8.0-1.fc27.x86_64.debug" > is not a shared library > /usr/lib/rpm/sepdebugcrcfix: Updated 63 CRC32s, 1 CRC32s did match. > cpio: src/comerr/y.tab.c: Cannot stat: No such file or directory > 27579 blocks ... > Processing files: openafs-kernel-debuginfo-1.8.0-1.fc27.x86_64 > error: Empty %files file > /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list > > > RPM build errors: > Macro expanded in comment on line 111: %{afsvers}/... > > line 417: Possible unexpanded macro in: Provides: > openafs-kernel = %{PACKAGE_VERSION} > Empty %files file > /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list Also, to your other question, > $ rpm -q rpm-build > rpm-build-4.14.1-1.fc27.x86_64 Thanks, -- +--------------------------------------------------------------+ / todd_le...@unc.edu 919-445-0091 http://www.unc.edu/~utoddl / / Whatever you do, always give 100% / / unless you're donating blood. / +--------------------------------------------------------------+ On 04/13/2018 12:28 PM, Benjamin Kaduk wrote: > On Fri, Apr 13, 2018 at 12:00:48PM -0400, Todd Lewis wrote: >>> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/udebug >>> extracting debug info from >>> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/pagsh >>> extracting debug info from >>> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko >>> dwz: >>> "./lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko-1.8.0-1.fc27.x86_64.debug" >>> is not a shared library /usr/lib/rpm/sepdebugcrcfix: Updated 63 >>> CRC32s, 1 CRC32s did match. cpio: src/comerr/y.tab.c: Cannot stat: No >>> such file or directory 27579 blocks > I note that this was running with -j4; do you have some local > rpmbuild configuration to enable that? (Also, what version of > rpmbuild, just for completeness?) > >> Then later on: >> >>> Processing files: openafs-kernel-debuginfo-1.8.0-1.fc27.x86_64 error: >>> Empty %files file >>> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list RPM >>> build errors: Macro expanded in comment on line 111: %{afsvers}/... >>> line 417: Possible unexpanded macro in: Provides: openafs-kernel = >>> %{PACKAGE_VERSION} Empty %files file >>> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list > This one I have fewer ideas for (I don't normally use RPM-based > systems). > > Thanks for the report! > > -Ben
ARCHITECTURE AND OS: build arch : x86_64 compatible build archs: x86_64 noarch build os : Linux compatible build os's : Linux install arch : x86_64 install os : Linux compatible archs : x86_64 amd64 em64t athlon noarch i686 i586 i486 i386 fat compatible os's : Linux RPMRC VALUES: archcolor : 2 optflags : %{__global_compiler_flags} -m64 -mtune=generic -fasynchronous-unwind-tables Features supported by rpmlib: rpmlib(BuiltinLuaScripts) = 4.2.2-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: GNAT_arches %{GPRbuild_arches} ia64 ppc alpha %{ix86} -13: GPRbuild_arches x86_64 ppc64 ppc64p7 ppc64le s390x %{arm} aarch64 -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}" export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_LD_FLAGS RPM_ARCH RPM_OS 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 %{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: __brp_compress /usr/lib/rpm/brp-compress -13: __brp_python_bytecompile /usr/lib/rpm/brp-python-bytecompile %{__python} %{?_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_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: __cmake /usr/bin/cmake -13: __cmake_path ^(%{_libdir}|%{_datadir})/cmake/.*/.*(Config.cmake|-config.cmake)$ -13: __cmake_provides %{_rpmconfigdir}/cmake.prov -13: __cmake_requires %{_rpmconfigdir}/cmake.req -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 %{_rpmconfigdir}/find-debuginfo.sh \ %{?_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: __file /usr/bin/file -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: __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 (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") safeset("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 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 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") 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 -- Final tests to check forgeurl was successfuly parsed if not silent then if (forge == "pagure.io") then rpm.expand("%{warn:https://pagure.io/pagure/issue/861 needs to be resolved before the “pagure.io”\nsoftware publishing service can be supported.\n}") end 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 -- 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: __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 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches %{_hardened_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: __gstreamer1_path ^%{_libdir}/gstreamer-1.*/.*.so$ -13: __gstreamer1_provides %{_rpmconfigdir}/gstreamer1.prov -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 64 -13: __isa_name x86 -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_compress} %{!?__debug_package: %{?__brp_strip} %{?__brp_strip_comment_note} } %{?__brp_strip_static_archive} %{?py_auto_byte_compile:%{?__brp_python_bytecompile}} %{?__brp_python_hardlink} %{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: __perl_flags exeonly -13: __perl_magic ^.*[Pp]erl .*$ -13: __perl_requires %{_rpmconfigdir}/perl.req -13: __perllib_flags magic_and_path -13: __perllib_magic ^Perl[[:digit:]] module source.* -13: __perllib_path \.pm$ -13: __perllib_provides %{_rpmconfigdir}/perl.prov -13: __perllib_requires %{_rpmconfigdir}/perl.req -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: __psdriver_magic ^PPD file.*$ -13: __psdriver_path ^(/usr/lib/cups/driver/.*|%{_datadir}/cups/drv/.*.drv)$ -13: __psdriver_provides %{_rpmconfigdir}/postscriptdriver.prov -13: __python /usr/bin/python -13: __python3 /usr/bin/python3 -13: __python_magic [Pp]ython.*(executable|byte-compiled) -13: __python_path ^((/usr/lib(64)?/python[[:digit:]]\.[[:digit:]]/.*))|(%{_bindir}/python[[:digit:]]\.[[:digit:]]))$ -13: __python_provides %{_rpmconfigdir}/pythondistdeps.py --provides --majorver-provides -13: __python_requires %{_rpmconfigdir}/pythondeps.sh --requires -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} -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 <rpm-build> -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_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: _arch x86_64 -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 x86_64 -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: _cmake_lib_suffix64 -DLIB_SUFFIX=64 -13: _cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON -13: _cmake_version 3.11.0 -13: _cmmscolordir %_colordir/cmms -13: _color_output never -13: _colordir %_datadir/color -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: _do_gconf_schema_remove if test -f %{_sysconfdir}/gconf/schemas/"$schema".schemas ; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/"$schema".schemas > /dev/null || : fi %{nil} -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: _empty_manifest_terminate_build 1 -13: _enable_debug_packages 1 -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 %{_sharedstatedir}/selinux/${_policytype}/rpmbooleans.custom -13: _file_custom_defined_booleans_tmp %{_sharedstatedir}/selinux/${_policytype}/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 -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: _icccolordir %_colordir/icc -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: _ivyxmldir %{_datadir}/ivy-xmls -13: _javaconfdir %{_sysconfdir}/java -13: _javadir %{_datadir}/java -13: _javadocdir %{_datadir}/javadoc -13: _jnidir %{_prefix}/lib/java -13: _journalcatalogdir /usr/lib/systemd/catalog -13: _jvmcommondatadir %{_datadir}/jvm-commmon -13: _jvmcommonlibdir %{_prefix}/lib/jvm-commmon -13: _jvmcommonsysconfdir %{_sysconfdir}/jvm-commmon -13: _jvmdatadir %{_datadir}/jvm -13: _jvmdir %{_prefix}/lib/jvm -13: _jvmlibdir %{_prefix}/lib/jvm -13: _jvmprivdir %{_prefix}/lib/jvm-private -13: _jvmsysconfdir %{_sysconfdir}/jvm -13: _kde4_appsdir %_kde4_sharedir/kde4/apps -13: _kde4_bindir %_kde4_prefix/bin -13: _kde4_build_tests -DKDE4_BUILD_TESTS:BOOL=OFF -13: _kde4_buildtype release -13: _kde4_configdir %_kde4_sharedir/config -13: _kde4_datadir %_datadir -13: _kde4_docdir /usr/share/doc -13: _kde4_iconsdir %_kde4_sharedir/icons -13: _kde4_includedir %_kde4_prefix/include/kde4 -13: _kde4_libdir %_libdir -13: _kde4_libexecdir %_libexecdir/kde4 -13: _kde4_macros_api 2 -13: _kde4_prefix %_prefix -13: _kde4_sbindir %_kde4_prefix/sbin -13: _kde4_sharedir %_datadir -13: _kde4_sysconfdir %_sysconfdir -13: _kde4_version %((kde4-config --kde-version 2>/dev/null || echo 4.3.98) | cut -d' ' -f1 ) -13: _keyringpath %{_dbpath}/pubkeys/ -13: _lib lib64 -13: _libdir %{_prefix}/lib64 -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: _mavenpomdir %{_datadir}/maven-poms -13: _minimize_writes 0 -13: _missing_build_ids_terminate_build 1 -13: _missing_doc_files_terminate_build 1 -13: _monodir %{_prefix}/lib/mono -13: _monogacdir %{_monodir}/gac -13: _oldincludedir /usr/include -13: _os linux -13: _pkgdocdir %{_docdir}/%{name} -13: _prefix /usr -13: _presetdir /usr/lib/systemd/system-preset -13: _python_bytecompile_errors_terminate_build 1 -13: _qt5 qt5-qtbase -13: _qt5_epoch 0 -13: _qt5_evr 5.9.4-4.fc27 -13: _qt5_version 5.9.4 -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: _rpmmacrodir %{_rpmconfigdir}/macros.d -13: _rundir /run -13: _sbindir %{_exec_prefix}/sbin -13: _selinux_policy_version 3.13.1-283.30.fc27 -13: _settingscolordir %_colordir/settings -13: _sharedstatedir /var/lib -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: _syscolordir %_colordir -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 x86_64-linux -13: _target_alias %{_host_alias} -11= _target_cpu x86_64 -11= _target_os linux -13: _target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu} -13: _target_vendor %{_host_vendor} -13: _texmf /usr/share/texlive/texmf-local -13: _texmf_conf /usr/share/texlive/texmf-config -13: _texmf_main /usr/share/texlive/texmf-dist -13: _texmf_var /var/lib/texmf -13: _texmf_vendor /usr/share/texlive/texmf-dist -13: _tmpfilesdir /usr/lib/tmpfiles.d -13: _tmppath %{_var}/tmp -13: _topdir %{getenv:HOME}/rpmbuild -13: _transaction_color 3 -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: _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: ant JAVA_HOME=%{java_home} %{?scl:/usr/share/java-utils/scl-enable %{?scl_maven} %{scl} -- }ant -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:) %{lua: local options = rpm.expand("%{!-v:-q} %{-p:-p%{-p*}} ") for i, p in ipairs(patches) do print(rpm.expand("%apply_patch -m %{basename:"..p.."} "..options..p.." "..i.."\n")) 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 2>&1 || : %{nil} -13: build_cflags %{optflags} -13: build_cxxflags %{optflags} -13: build_fflags %{optflags} -I%{_fmoddir} -13: build_ldflags -Wl,-z,relro %{_hardened_ldflags} -13: buildroot %{_buildrootdir}/%{NAME}-%{VERSION}-%{RELEASE}.%{_arch} -13: clamp_mtime_to_source_date_epoch 0 -13: cmake CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; FCFLAGS="${FCFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FCFLAGS ; %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} %__cmake \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \ -DLIB_INSTALL_DIR:PATH=%{_libdir} \ -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \ -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \ %if "%{?_lib}" == "lib64" %{?_cmake_lib_suffix64} \ %endif -DBUILD_SHARED_LIBS:BOOL=ON -13: cmake3 %cmake -13: cmake_kde4 QTDIR="%{_qt4_prefix}" ; export QTDIR ; PATH="%{_qt4_bindir}:$PATH" ; export PATH ; CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} %{__cmake} \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_BUILD_TYPE=%{_kde4_buildtype} \ -DCMAKE_INSTALL_PREFIX:PATH=%{_kde4_prefix} \ -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DDATA_INSTALL_DIR:PATH=%{_kde4_appsdir} \ -DINCLUDE_INSTALL_DIR:PATH=%{_kde4_includedir} \ -DLIB_INSTALL_DIR:PATH=%{_kde4_libdir} \ %{?_kde4_build_tests} \ %if "%{?_lib}" == "lib64" %{?_cmake_lib_suffix64} \ %endif -DLIBEXEC_INSTALL_DIR:PATH=%{_kde4_libexecdir} \ -DSYSCONF_INSTALL_DIR:PATH=%{_kde4_sysconfdir} -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 .fc27 -13: fc27 1 -13: fdupes(s) _target=""; _symlinks=0; %{-s:_symlinks=1;} fdupes -q -n -r -p %1 | while read _file; do if test -z "$_target" ; then _target="$_file"; else if test -z "$_file" ; then _target=""; continue ; fi ; if test "$_symlinks" = 1; then ln -sf "${_target#%{buildroot}}" "$_file"; else ln -f "$_target" "$_file"; fi ; fi ; done %{nil} -13: fedora 27 -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: firewalld_reload test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || : %{nil} -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: fpc_arches %{ix86} %{arm} x86_64 ppc64 -13: gccgo_arches %{mips} -13: gconf_schema_obsolete for schema in %{*} ; do %_do_gconf_schema_remove done %{nil} -13: gconf_schema_prepare if [ "$1" -gt 1 ] ; then rm -rf %{_localstatedir}/lib/rpm-state/gconf/* for schema in %{*} ; do if test -f %{_sysconfdir}/gconf/schemas/"$schema".schemas ; then cp -p %{_sysconfdir}/gconf/schemas/"$schema".schemas %{_localstatedir}/lib/rpm-state/gconf/ || : fi done fi %{nil} -13: gconf_schema_remove if [ "$1" -eq 0 ] ; then for schema in %{*} ; do %_do_gconf_schema_remove done fi %{nil} -13: gconf_schema_upgrade for schema in %{*} ; do if test -f %{_localstatedir}/lib/rpm-state/gconf/"$schema".schemas ; then cmp --quiet %{_sysconfdir}/gconf/schemas/"$schema".schemas %{_localstatedir}/lib/rpm-state/gconf/"$schema".schemas if test $? != 0; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule %{_localstatedir}/lib/rpm-state/gconf/"$schema".schemas > /dev/null || : gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/"$schema".schemas > /dev/null || : fi rm -f %{_localstatedir}/lib/rpm-state/gconf/"$schema".schemas else export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/"$schema".schemas > /dev/null || : fi done %{nil} -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: golang_arches %{ix86} 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 -- Fall to locally shipped forge macros until they are available in f27+ -- TODO(jchaloup): Remove once forgemeta is available in f27+ if (rpm.expand("%{?forgemeta:1}") == "") then rpm.define("forgemeta(u:spvi) %__forgemeta__ %{?**}") rpm.define("forgesetup(a:b:cDn:Tq) %__forgesetup__ %{?**}") 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}") rpm.define("gosetup %forgesetup") -- 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: 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: jar %{java_home}/bin/jar -13: java %(. /usr/share/java-utils/java-functions; set_javacmd; echo $JAVACMD) -13: java_home %(. /usr/share/java-utils/java-functions; set_jvm; echo $JAVA_HOME) -13: javac %{java_home}/bin/javac -13: javadoc %{java_home}/bin/javadoc -13: journal_catalog_update journalctl --update-catalog >/dev/null 2>&1 || : %{nil} -13: jpackage_script install -d -m 755 %{buildroot}%{_bindir} cat > %{buildroot}%{_bindir}/%5 << EOF #!/bin/bash # # %{name} script # JPackage Project <http://www.jpackage.org/> # Source functions library _prefer_jre="%{?6}" . /usr/share/java-utils/java-functions # Source system prefs if [ -f %{_sysconfdir}/java/%{name}.conf ] ; then . %{_sysconfdir}/java/%{name}.conf fi # Source user prefs if [ -f \$HOME/.%{name}rc ] ; then . \$HOME/.%{name}rc fi # Configuration MAIN_CLASS=%1 BASE_FLAGS=%2 BASE_OPTIONS=%3 BASE_JARS="%(echo %4 | sed -e 's,:, ,g')" # Set parameters set_jvm set_classpath \$BASE_JARS set_flags \$BASE_FLAGS set_options \$BASE_OPTIONS # Let's start run "\$@" EOF chmod 755 %{buildroot}%{_bindir}/%5 %{nil} -13: ldc_arches %{ix86} x86_64 %{arm} %{power64} -13: ldconfig /sbin/ldconfig -13: ldconfig_post %{?ldconfig:%post -p %ldconfig} -13: ldconfig_postun %{?ldconfig:%postun -p %ldconfig} -13: ldconfig_scriptlets(n:) %{?ldconfig: %ldconfig_post %{?*} %{-n:-n %{-n*}} %end %ldconfig_postun %{?*} %{-n:-n %{-n*}} %end } -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: nim_arches %{ix86} x86_64 %{arm} aarch64 %{power64} -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} -m64 -mtune=generic -fasynchronous-unwind-tables -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="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} build --executable="%{__python3} %{py3_shbang_opts}" %{?*} sleep 1 } -13: py3_build_egg %{expand:\ CFLAGS="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} bdist_egg %{?*} sleep 1 } -13: py3_build_wheel %{expand:\ CFLAGS="%{optflags}" %{__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="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} } -13: py3_install_egg %{expand:\ mkdir -p %{buildroot}%{python3_sitelib} easy_install-%{python3_version} -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python3_version}.egg %{?*} } -13: py3_install_wheel %{expand:\ pip%{python3_version} install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps } -13: py3_shbang_opts -s -13: py3dir %{_builddir}/python3-%{name}-%{version}-%{release} -13: py_auto_byte_compile 1 -13: py_build %{expand:\ CFLAGS="%{optflags}" %{__python} %{py_setup} %{?py_setup_args} build --executable="%{__python2} %{py_shbang_opts}" %{?*} sleep 1 } -13: py_build_egg %{expand:\ CFLAGS="%{optflags}" %{__python} %{py_setup} %{?py_setup_args} bdist_egg %{?*} sleep 1 } -13: py_build_wheel %{expand:\ CFLAGS="%{optflags}" %{__python} %{py_setup} %{?py_setup_args} bdist_wheel %{?*} sleep 1 } -13: py_byte_compile py2_byte_compile () { python_binary="%1" bytecode_compilation_path="%2" find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || : find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || : } py3_byte_compile () { python_binary="%1" bytecode_compilation_path="%2" find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2], optimize=opt) for opt in range(2) for f in sys.argv[1:]]' || : } [[ "%1" == *python3* ]] || py2_byte_compile "%1" "%2" && py3_byte_compile "%1" "%2" %{nil} -13: py_dist_name %{lua: name = rpm.expand("%{?1:%{1}}"); canonical = string.gsub(string.lower(name), "%W+", "-"); print(canonical); } -13: py_install %{expand:\ CFLAGS="%{optflags}" %{__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_setup setup.py -13: py_shbang_opts -s -13: pyqt5 python-qt5 -13: pyqt5_epoch 0 -13: pyqt5_evr 5.9.1-2.fc27 -13: pyqt5_requires Requires: %{pyqt5} >= %{pyqt5_evr} %{nil} -13: pyqt5_version 5.9.1 -13: python3_pkgversion 3 -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_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 if (rpm.expand("%{?buildarch}") ~= "noarch") then str = "Provides: python-" .. string.sub(package,9,string.len(package)) .. "%{?_isa} = " .. vr print(rpm.expand(str)) end print("\nProvides: python-") print(string.sub(package,9,string.len(package))) print(" = ") print(vr) --Obsoleting the previous default python package print("\nObsoletes: python-") print(string.sub(package,9,string.len(package))) print(" < ") print(vr) 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: qt5_qtwebengine_arches %{ix86} x86_64 %{arm} aarch64 mips mipsel mips64el -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: 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 %{_sbindir}/semodule -n -s ${_policytype} -X %{!-p:200}%{-p*} -i %* if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then %{_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 %{_sbindir}/semodule -n -X %{!-p:200}%{-p*} -r %* &> /dev/null || : if %{_sbindir}/selinuxenabled && [ "${SELINUXTYPE}" = "${_policytype}" ]; then %{_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 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} 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 LOCAL_MODIFICATIONS=$(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=$(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}" else /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype} -N" fi %{nil} -13: selinux_unset_booleans("s:") . /etc/selinux/config _policytype=%{-s*} if [ -z "${_policytype}" ]; then _policytype="targeted" fi 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}" else /bin/echo -e "$semanage_import" | %{_sbindir}/semanage import -S "${_policytype} -N" 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 2>&1 || : %{nil} -13: system_python_abi %{expand: } -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 2>&1 || : 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 2>&1 || : fi %{nil} -13: systemd_preun if [ $1 -eq 0 ] ; then # Package removal, not upgrade systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : fi %{nil} -13: systemd_requires Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %{nil} -13: systemd_user_post %{expand:%systemd_post \--user \--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 --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : fi %{nil} -13: sysusers_create systemd-sysusers %{?*} >/dev/null 2>&1 || : %{nil} -13: sysusers_create_inline echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : %{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: texlive_post mkdir -p /var/run/texlive touch /var/run/texlive/run-texhash touch /var/run/texlive/run-mtxrun : -13: texlive_posttrans if [ -e /var/run/texlive/run-texhash ] && [ -e %{_bindir}/texhash ]; then %{_bindir}/texhash 2> /dev/null; rm -f /var/run/texlive/run-texhash; fi if [ -e /var/run/texlive/run-mtxrun ]; then export TEXMF=/usr/share/texlive/texmf-dist; export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c; export TEXMFCACHE=/var/lib/texmf; %{_bindir}/mtxrun --generate &> /dev/null; rm -f /var/run/texlive/run-mtxrun; fi : -13: texlive_postun if [ $1 == 1 ]; then mkdir -p /var/run/texlive touch /var/run/run-texhash else %{_bindir}/texhash 2> /dev/null fi : -13: tmpfiles_create systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : %{nil} -13: udev_hwdb_update systemd-hwdb update >/dev/null 2>&1 || : %{nil} -13: udev_rules_update udevadm control --reload >/dev/null 2>&1 || : %{nil} -13: undefined %{expand:%%{?%{1}:0}%%{!?%{1}:1}} -13: valgrind_arches %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 -13: vimfiles_root %{_datadir}/vim/vimfiles -13: with %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}} -13: without %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}} ======================== active 612 empty 0