[Rpm-maint] Bootstrapping RPM for a new architecture

Richard W.M. Jones rjones at redhat.com
Tue Aug 9 17:02:21 UTC 2016


I'm trying to get RPM going on a new architecture, RISC-V
(https://fedoraproject.org/wiki/Architectures/RISC-V)

I have cross-compiled rpm, rpmbuild etc fine.  As I'm having a bit of
a problem building a native GCC for this new architecture (unrelated
to rpm) at the moment I can only try to build noarch RPMs.

Unfortunately noarch RPMs fail like this:

# rpmbuild --recompile setup-2.10.4-1.fc26.src.rpm 
Installing setup-2.10.4-1.fc26.src.rpm
rpmpkgOpen: Function not implemented
error: cannot open Packages index using unknown db - Operation not permitted (1)
error: cannot open Packages database in /usr/var/lib/rpm
warning: user rjones does not exist - using root
warning: group rjones does not exist - using root
warning: user rjones does not exist - using root
warning: group rjones does not exist - using root
error: No compatible architectures found for build

There is no RPM DB yet, hence the Packages error.  The real problem is
the "No compatible architectures found for build" error.

So I'm guessing this is not going to be as simple as I thought.

Anyway a few things about RISC-V:

- I'm only bothering with 64 bit packages (the architecture itself
  has variants for 32, 64 and 128 bit).

- It seems like it would be a good idea to use "riscv64" as the name
  of this architecture.  That is the name that GNU is using.

- Somehow RPM seems to have chosen _target == riscv, which I think is
  wrong (it's what the kernel reports, which is also, probably, wrong).

- rpm --showrc is attached.  I'm using all the RPM configuration /
  macro files from x86_64, just copied across, which would explain any
  problems.

Ideas how to go about debugging the above error?  I can see it in the
source, but it just seems to be checking the BuildArch tag of the
source RPM, which is set to "noarch", so I don't know why that fails.

Is there a good example commit showing bootstrapping RPM for a new
architecture?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
-------------- next part --------------
ARCHITECTURE AND OS:
build arch            : riscv
compatible build archs: riscv
build os              : Linux
compatible build os's : Linux
install arch          : riscv
install os            : Linux
compatible archs      : riscv
compatible os's       : Linux

RPMRC VALUES:

Features supported by rpmlib:
    rpmlib(CompressedFileNames) = 3.0.4-1
    rpmlib(ConcurrentAccess) = 4.1-1
    rpmlib(ExplicitPackageProvide) = 4.0-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(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/unknown/macros:/usr/etc/rpm/macros.*:/usr/etc/rpm/macros:/usr/etc/rpm/%{_target}/macros:~/.rpmmacros

========================
-14: GNAT_arches	%{GPRbuild_arches} ia64 ppc alpha
-14: GNUconfigure(MCs:)	
  CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS; 
  LDFLAGS="${LDFLAGS:-%{-s:-s}}"  ; export LDFLAGS; 
  %{-C:_mydir="`pwd`"; %{-M: %{__mkdir} -p %{-C*};} cd %{-C*}} 
  dirs="`find ${_mydir} -name configure.in -print`"; export dirs; 
    for coin in `echo ${dirs}` 
do 
  dr=`dirname ${coin}`; 
if test -f ${dr}/NO-AUTO-GEN; then 
 : 
else 
     macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE((.*)),1,gp' < ${coin}`; 
    ( cd ${dr}; 
      aclocalinclude="${ACLOCAL_FLAGS}"; 
      for k in ${macrodirs}; do 
        if test -d ${k}; then 
          aclocalinclude="${aclocalinclude} -I ${k}"; 
        ##else 
        ##  echo "**Warning**: No such directory `${k}'.  Ignored." 
        fi 
      done 
      if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then 
        if grep "sed.*POTFILES" configure.in >/dev/null; then 
          : do nothing -- we still have an old unmodified configure.in 
        else 
          test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; 
          echo "no" | gettextize --force --copy; 
          test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; 
        fi 
      fi 
      if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then 
        %{__libtoolize} --force --copy; 
      fi 
      aclocal ${aclocalinclude}; 
      if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then 
        %{__autoheader}; 
      fi 
      echo "Running automake --gnu ${am_opt} ..."; 
      %{__automake} --add-missing --gnu ${am_opt}; 
      %{__autoconf}; 
    ); 
  fi 
done 
  %{-C:${_mydir}}%{!-C:.}/configure --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} %* ; 
  %{-C:cd ${_mydir}; unset _mydir}
-14: GPRbuild_arches	%{ix86} x86_64 ppc64 ppc64p7 ppc64le s390x %{arm} aarch64
-14: __7zip	/usr/bin/7za
-14: ___build_args	-e
-14: ___build_cmd	%{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}
-14: ___build_post	exit 0
-14: ___build_pre	
  RPM_SOURCE_DIR="%{u2p:%{_sourcedir}}"
  RPM_BUILD_DIR="%{u2p:%{_builddir}}"
  RPM_OPT_FLAGS="%{optflags}"
  RPM_ARCH="%{_arch}"
  RPM_OS="%{_os}"
  export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_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
  
  %{verbose:set -x}%{!verbose:exec > /dev/null}
  umask 022
  cd "%{u2p:%{_builddir}}"
-14: ___build_shell	%{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh}
-14: ___build_template	#!%{___build_shell}
%{___build_pre}
%{nil}
-14: __aclocal	aclocal
-14: __appdata_path	^%{_datadir}/appdata/.*\.appdata\.xml$
-14: __appdata_provides	%{_rpmconfigdir}/appdata.prov
-14: __ar	riscv64-unknown-linux-gnu-ar
-14: __arch_install_post	%{nil}
-14: __as	as
-14: __autoconf	autoconf
-14: __autoheader	autoheader
-14: __automake	automake
-14: __awk	gawk
-14: __bzip2	/usr/bin/bzip2
-14: __bzr	/usr/bin/bzr
-14: __cat	/bin/cat
-14: __cc	riscv64-unknown-linux-gnu-gcc
-14: __check_files	%{_rpmconfigdir}/check-files %{buildroot}
-14: __chgrp	/bin/chgrp
-14: __chmod	/bin/chmod
-14: __chown	/bin/chown
-14: __cp	/bin/cp
-14: __cpio	/bin/cpio
-14: __cpp	riscv64-unknown-linux-gnu-gcc -E
-14: __cxx	riscv64-unknown-linux-gnu-g++
-14: __dbi_other	mp_mmapsize=128Mb mp_size=1Mb
-14: __debug_install_post	
   %{_rpmconfigdir}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_include_minidebuginfo:-m} %{?_include_gdb_index:-i} %{?_unique_build_ids:--ver-rel "%{version}-%{release}"} %{?_unique_debug_names:--unique-debug-arch "%{_arch}"} %{?_find_debuginfo_dwz_opts} %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"
%{nil}
-14: __debuginfo_path	^/usr/lib/debug/
-14: __debuginfo_provides	%{_rpmconfigdir}/debuginfo.prov
-14: __desktop_path	^%{_datadir}/applications/.*\.desktop$
-14: __desktop_provides	%{_rpmconfigdir}/desktop-file.prov
-14: __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
-14: __elf_flags	exeonly
-14: __elf_magic	^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*$
-14: __elf_provides	%{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
-14: __elf_requires	%{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
-14: __file	/usr/bin/file
-14: __find_provides	%{_rpmconfigdir}/find-provides
-14: __find_requires	%{_rpmconfigdir}/find-requires
-14: __font_magic	[Ff]ont?( (program|collection))?( (text|data))
-14: __font_provides	%{_rpmconfigdir}/fontconfig.prov
-14: __font_requires	%{nil}
-14: __gem	/usr/bin/gem
-14: __git	/usr/bin/git
-14: __global_provides_exclude_from	%{_docdir}
-14: __global_requires_exclude_from	%{_docdir}
-14: __gpg	/usr/bin/gpg
-14: __gpg_reserved_space	4096
-14: __gpg_sign_cmd	%{__gpg} 
	gpg --no-verbose --no-armor 
	%{?_gpg_digest_algo:--digest-algo %{_gpg_digest_algo}} 
	--no-secmem-warning 
	-u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename}
-14: __grep	/bin/grep
-14: __gzip	/bin/gzip
-14: __hg	/usr/bin/hg
-14: __id	/usr/bin/id
-14: __id_u	%{__id} -u
-14: __install	/usr/bin/install
-14: __kmod_path	^/lib/modules/.*$
-14: __kmod_provides	%{_rpmconfigdir}/kmod.prov
-14: __ld	/usr/bin/ld
-14: __libsymlink_flags	magic_and_path
-14: __libsymlink_magic	^symbolic link to .*lib.*.so..*$
-14: __libsymlink_path	^.*.so$
-14: __libsymlink_requires	%{_rpmconfigdir}/elfdeps --provides --soname-only
-14: __libtool_path	^%{_libdir}/.*.la$
-14: __libtool_provides	%{_rpmconfigdir}/libtooldeps.sh --provides %{buildroot} %{name}
-14: __libtool_requires	%{_rpmconfigdir}/libtooldeps.sh --requires %{buildroot} %{name}
-14: __libtoolize	libtoolize
-14: __ln_s	ln -s
-14: __lrzip	/usr/bin/lrzip
-14: __lzip	/usr/bin/lzip
-14: __lzma	%__xz --format=lzma
-14: __make	/usr/bin/make
-14: __mkdir	/bin/mkdir
-14: __mkdir_p	/usr/bin/mkdir -p
-14: __mono_magic	Mono/.Net assembly
-14: __mono_provides	%{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir}
-14: __mono_requires	%{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir}
-14: __mv	/bin/mv
-14: __nm	/usr/bin/nm
-14: __objcopy	/usr/bin/objcopy
-14: __objdump	/usr/bin/objdump
-14: __ocaml_magic	^(Objective caml|OCaml) .*$
-14: __ocaml_provides	%{_rpmconfigdir}/ocaml-find-provides.sh
-14: __ocaml_requires	%{_rpmconfigdir}/ocaml-find-requires.sh
-14: __os_install_post	%{___build_post}
-14: __patch	/usr/bin/patch
-14: __perl	/usr/bin/perl
-14: __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 
}
-14: __perl_flags	exeonly
-14: __perl_magic	^.*[Pp]erl .*$
-14: __perl_requires	%{_rpmconfigdir}/perl.req
-14: __perllib_flags	magic_and_path
-14: __perllib_magic	^Perl[[:digit:]] module source.*
-14: __perllib_path	\.pm$
-14: __perllib_provides	%{_rpmconfigdir}/perl.prov
-14: __perllib_requires	%{_rpmconfigdir}/perl.req
-14: __pkgconfig_path	^((%{_libdir}|%{_datadir})/pkgconfig/.*.pc|%{_bindir}/pkg-config)$
-14: __pkgconfig_provides	%{_rpmconfigdir}/pkgconfigdeps.sh --provides
-14: __pkgconfig_requires	%{_rpmconfigdir}/pkgconfigdeps.sh --requires
-14: __plugindir	%{_libdir}/rpm-plugins
-14: __python	/usr/bin/python
-14: __python_magic	[Pp]ython.*(executable|byte-compiled)
-14: __python_path	^((/usr/lib(64)?/python[[:digit:]]\.[[:digit:]]/.*\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]\.[[:digit:]]))$
-14: __python_provides	%{_rpmconfigdir}/pythondeps.sh --provides
-14: __python_requires	%{_rpmconfigdir}/pythondeps.sh --requires
-14: __quilt	/usr/bin/quilt
-14: __ranlib	riscv64-unknown-linux-gnu-ranlib
-14: __remsh	%{__rsh}
-14: __restorecon	/sbin/restorecon
-14: __rm	/bin/rm
-14: __rsh	/usr/bin/rsh
-14: __scm	patch
-14: __scm_apply_bzr(qp:m:)	
%{__patch} %{-p:-p%{-p*}} %{-q:-s}
%{__bzr} commit %{-q} -m %{-m*}
-14: __scm_apply_git(qp:m:)	
%{__git} apply --index %{-p:-p%{-p*}} -
%{__git} commit %{-q} -m %{-m*} --author "%{__scm_author}"
-14: __scm_apply_git_am(qp:m:)	
%{__git} am %{-q} %{-p:-p%{-p*}}
-14: __scm_apply_hg(qp:m:)	
%{__hg} import - %{-p:-p%{-p*}} %{-q} -m %{-m*} --user "%{__scm_author}"
-14: __scm_apply_patch(qp:m:)	
%{__patch} %{-p:-p%{-p*}} %{-q:-s} --fuzz=%{_default_patch_fuzz} %{_default_patch_flags}
-14: __scm_apply_quilt(qp:m:)	
%{__quilt} import %{-p:-p%{-p*}} %{1} && %{__quilt} push %{-q}
-14: __scm_author	%{__scm_username} %{__scm_usermail}
-14: __scm_setup_bzr(q)	
%{__bzr} init %{-q}
%{__bzr} whoami --branch "%{__scm_author}"
%{__bzr} add .
%{__bzr} commit %{-q} -m "%{name}-%{version} base"
-14: __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"
-14: __scm_setup_git_am(q)	
%{expand:%__scm_setup_git %{-q}}
-14: __scm_setup_hg(q)	
%{__hg} init %{-q} .
%{__hg} add %{-q} .
%{__hg} commit %{-q} --user "%{__scm_author}" -m "%{name}-%{version} base"
-14: __scm_setup_patch(q)	%{nil}
-14: __scm_setup_quilt(q)	%{nil}
-14: __scm_usermail	<rpm-build>
-14: __scm_username	rpm-build
-14: __script_flags	exeonly
-14: __script_magic	^.* script[, ].*$
-14: __script_requires	%{_rpmconfigdir}/script.req
-14: __sed	/bin/sed
-14: __semodule	/usr/bin/semodule
-14: __spec_build_args	%{___build_args}
-14: __spec_build_body	%{___build_body}
-14: __spec_build_cmd	%{___build_cmd}
-14: __spec_build_post	%{___build_post}
-14: __spec_build_pre	%{___build_pre}
-14: __spec_build_shell	%{___build_shell}
-14: __spec_build_template	#!%{__spec_build_shell}
%{__spec_build_pre}
%{nil}
-14: __spec_check_args	%{___build_args}
-14: __spec_check_body	%{___build_body}
-14: __spec_check_cmd	%{___build_cmd}
-14: __spec_check_post	%{___build_post}
-14: __spec_check_pre	%{___build_pre}
-14: __spec_check_shell	%{___build_shell}
-14: __spec_check_template	#!%{__spec_check_shell}
%{__spec_check_pre}
%{nil}
-14: __spec_clean_args	%{___build_args}
-14: __spec_clean_body	%{___build_body}
-14: __spec_clean_cmd	%{___build_cmd}
-14: __spec_clean_post	%{___build_post}
-14: __spec_clean_pre	%{___build_pre}
-14: __spec_clean_shell	%{___build_shell}
-14: __spec_clean_template	#!%{__spec_clean_shell}
%{__spec_clean_pre}
%{nil}
-14: __spec_install_args	%{___build_args}
-14: __spec_install_body	%{___build_body}
-14: __spec_install_cmd	%{___build_cmd}
-14: __spec_install_post	
%{?__debug_package:%{__debug_install_post}}
%{__arch_install_post}
%{__os_install_post}
%{nil}
-14: __spec_install_pre	%{___build_pre}
-14: __spec_install_shell	%{___build_shell}
-14: __spec_install_template	#!%{__spec_install_shell}
%{__spec_install_pre}
%{nil}
-14: __spec_prep_args	%{___build_args}
-14: __spec_prep_body	%{___build_body}
-14: __spec_prep_cmd	%{___build_cmd}
-14: __spec_prep_post	%{___build_post}
-14: __spec_prep_pre	%{___build_pre}
-14: __spec_prep_shell	%{___build_shell}
-14: __spec_prep_template	#!%{__spec_prep_shell}
%{__spec_prep_pre}
%{nil}
-14: __spec_rmbuild_args	%{___build_args}
-14: __spec_rmbuild_body	%{___build_body}
-14: __spec_rmbuild_cmd	%{___build_cmd}
-14: __spec_rmbuild_post	%{___build_post}
-14: __spec_rmbuild_pre	%{___build_pre}
-14: __spec_rmbuild_shell	%{___build_shell}
-14: __spec_rmbuild_template	#!%{__spec_rmbuild_shell}
%{__spec_rmbuild_pre}
%{nil}
-14: __ssh	/usr/bin/ssh
-14: __strip	/usr/bin/strip
-14: __tar	/bin/tar
-14: __transaction_ima	%{__plugindir}/ima.so
-14: __transaction_selinux	%{__plugindir}/selinux.so
-14: __transaction_syslog	%{__plugindir}/syslog.so
-14: __transaction_systemd_inhibit	%{__plugindir}/systemd_inhibit.so
-14: __unzip	/usr/bin/unzip
-14: __urlhelper_proxyopts	%{?_httpproxy:--proxy %{_httpproxy}%{?_httpport::%{_httpport}}}%{!?_httpproxy:%{nil}}
-14: __urlhelpercmd	/usr/bin/curl
-14: __urlhelperopts	--silent --show-error --fail --globoff --location -o
-14: __vsflags	0xf0000
-14: __xz	/usr/bin/xz
-14: _binaries_in_noarch_packages_terminate_build	1
-14: _bindir	%{_exec_prefix}/bin
-14: _build	%{_host}
-14: _build_alias	%{_host_alias}
-14: _build_cpu	%{_host_cpu}
-14: _build_id_links	compat
-14: _build_name_fmt	%%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
-14: _build_os	%{_host_os}
-14: _build_vendor	%{_host_vendor}
-14: _builddir	%{_topdir}/BUILD
-14: _buildrootdir	%{_topdir}/BUILDROOT
-14: _buildshell	/bin/sh
-14: _bzip2bin	%{__bzip2}
-14: _changelog_trimtime	0
-14: _configure	./configure
-14: _datadir	%{_prefix}/share
-14: _dbi_config	%{?__dbi_other}
-14: _dbi_config_Packages	%{?_dbi_config} lockdbfd
-14: _dbpath	%{_var}/lib/rpm
-14: _dbpath_rebuild	%{_dbpath}
-14: _default_patch_flags	--no-backup-if-mismatch
-14: _default_patch_fuzz	0
-14: _defaultdocdir	%{_datadir}/doc
-14: _defaultlicensedir	%{_datadir}/licenses
-14: _disable_source_fetch	1
-14: _dwz_limit	%{expand:%%{?%{1}_%{_arch}}%%{!?%{1}_%{_arch}:%%%{1}}}
-14: _dwz_low_mem_die_limit	10000000
-14: _dwz_low_mem_die_limit_armv5tel	4000000
-14: _dwz_low_mem_die_limit_armv7hl	4000000
-14: _dwz_max_die_limit	50000000
-14: _dwz_max_die_limit_armv5tel	10000000
-14: _dwz_max_die_limit_armv7hl	10000000
-14: _dwz_max_die_limit_x86_64	110000000
-14: _empty_manifest_terminate_build	1
-14: _exec_prefix	%{_prefix}
-14: _fileattrsdir	%{_rpmconfigdir}/fileattrs
-14: _filter_GLIBC_PRIVATE	0
-14: _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}
-14: _fixperms	%{__chmod} -Rf a+rX,u+w,g-w,o-w
-14: _gzipbin	%{__gzip}
-14: _hkp_keyserver	http://pgp.mit.edu
-14: _hkp_keyserver_query	%{_hkp_keyserver}:11371/pks/lookup?op=get&search=0x
-14: _host	riscv64-unknown-linux-gnu
-14: _host_alias	riscv64-unknown-linux-gnu%{nil}
-14: _host_cpu	riscv64
-14: _host_os	linux
-14: _host_vendor	unknown
-14: _includedir	%{_prefix}/include
-14: _infodir	%{_datadir}/info
-14: _install_langs	all
-14: _install_script_path	/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
-14: _invalid_encoding_terminates_build	0
-14: _isa	%{?__isa:(%{__isa})}%{!?__isa:%{nil}}
-14: _javadir	%{_datadir}/java
-14: _javadocdir	%{_datadir}/javadoc
-14: _keyringpath	%{_dbpath}/pubkeys/
-14: _lib	lib
-14: _libdir	%{_exec_prefix}/%{_lib}
-14: _libexecdir	%{_exec_prefix}/libexec
-14: _localstatedir	%{_prefix}/var
-14: _mandir	%{_datadir}/man
-14: _missing_doc_files_terminate_build	1
-14: _monodir	%{_prefix}/lib/mono
-14: _monogacdir	%{_monodir}/gac
-14: _prefix	/usr
-14: _query_all_fmt	%%{nvra}
-14: _query_selector_match	default
-14: _rpmconfigdir	%{getconfdir}
-14: _rpmdir	%{_topdir}/RPMS
-14: _rpmfilename	%{_build_name_fmt}
-14: _rpmlock_path	%{_dbpath}/.rpm.lock
-14: _sbindir	%{_exec_prefix}/sbin
-14: _sharedstatedir	%{_prefix}/com
-14: _sourcedir	%{_topdir}/SOURCES
-14: _specdir	%{_topdir}/SPECS
-14: _srcrpmdir	%{_topdir}/SRPMS
-14: _sysconfdir	/etc
-11: _target	riscv-linux
-14: _target_alias	%{_host_alias}
-11= _target_cpu	riscv
-11= _target_os	linux
-14: _target_vendor	%{_host_vendor}
-14: _tmppath	%{_var}/tmp
-14: _topdir	%{getenv:HOME}/rpmbuild
-14: _unique_build_ids	1
-14: _unique_debug_names	1
-14: _unpackaged_files_terminate_build	1
-14: _unzipbin	%{__unzip}
-14: _urlhelper	%{__urlhelpercmd} %{?__urlhelper_localopts} %{?__urlhelper_proxyopts} %{__urlhelperopts}
-14: _use_internal_dependency_generator	1
-14: _usr	/usr
-14: _usrsrc	%{_usr}/src
-14: _var	%{_prefix}/var
-14: _vsflags_build	%{__vsflags}
-14: _vsflags_erase	%{__vsflags}
-14: _vsflags_install	%{__vsflags}
-14: _vsflags_query	%{__vsflags}
-14: _vsflags_query_rpmdb	0xf0f00
-14: _vsflags_rebuilddb	0xc0c00
-14: _vsflags_verify	%{__vsflags}
-14: _wrong_version_format_terminate_build	1
-14: alpha	alpha alphaev56 alphaev6 alphaev67
-14: apply_patch(qp:m:)	
%{lua:
local file = rpm.expand("%{1}")
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.."\n"))
else
    print("echo 'Cannot read "..file.."'; exit 1;".."\n")
end}
-14: arm	armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
-14: 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.."\n"))
end}
-14: 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*}}}
-14: bcond_with	%{expand:%%{?_with_%{1}:%%global with_%{1} 1}}
-14: bcond_without	%{expand:%%{!?_without_%{1}:%%global with_%{1} 1}}
-14: buildroot	%{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}
-14: configure	
  CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; 
  CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; 
  FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; 
  %{_configure} --host=%{_host} --build=%{_build} \
	--program-prefix=%{?_program_prefix} \
	--disable-dependency-tracking \
	--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}
-14: cpan_dist_name	%(eval echo %{name} | %{__sed} -e 's/^perl-//')
-14: debug_package	
%ifnarch noarch
%global __debug_package 1
%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
%defattr(-,root,root)
%endif
%{nil}
-14: defined	%{expand:%%{?%{1}:1}%%{!?%{1}:0}}
-14: dist	.fc24
-14: fc24	1
-14: fedora	24
-14: find_lang	%{_rpmconfigdir}/find-lang.sh %{buildroot}
-14: 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}
-14: gccgo_arches	s390x %{mips}
-14: ghc_arches	%{ix86} x86_64 armv7hl ppc64 ppc64le aarch64 s390 s390x
-14: ghc_arches_with_ghci	%{ix86} x86_64 armv7hl ppc64 ppc64le aarch64 s390 s390x %{mips}
-14: global	__perl_requires /usr/lib/rpm/perl.req
-14: go_arches	%{golang_arches} %{gccgo_arches}
-14: go_compiler	1
-14: golang_arches	%{ix86} x86_64 %{arm} aarch64 %{power64}
-14: gopath	%{_datadir}/gocode
-14: info_post	
if [ -f %{_infodir}/%1 ]; then # --excludedocs? 
  /usr/sbin/install-info %{_infodir}/%1 %{_infodir}/dir || : 
fi
-14: info_preun	
if [ $1 == 0 ]; then 
  if [ -f %{_infodir}/%1 ]; then # --excludedocs? 
    /usr/sbin/install-info --delete %{_infodir}/%1 %{_infodir}/dir || : 
  fi 
fi
-14: info_requires	
Requires(post): /usr/sbin/install-info 
Requires(preun): /usr/sbin/install-info
-14: ix86	i386 i486 i586 i686 pentium3 pentium4 athlon geode
-14: make_build	%{__make} -O %{?_smp_mflags}
-14: make_install	%{__make} install DESTDIR=%{?buildroot}
-14: 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
-14: mips	%{mips32} %{mips64}
-14: mips32	mips mipsel mipsr6 mipsr6el
-14: mips64	mips64 mips64el mips64r6 mips64r6el
-14: mipseb	mips mipsr6 mips64 mips64r6
-14: mipsel	mipsel mipsr6el mips64el mips64r6el
-14: mono_arches	%{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le
-14: nil	%{!?nil}
-14: nodejs_arches	%{ix86} x86_64 %{arm} aarch64 %{power64}
-14: ocaml_natdynlink	aarch64 %{arm} %{ix86} ppc ppc64 ppc64le sparc sparcv9 x86_64
-14: ocaml_native_compiler	aarch64 %{arm} %{ix86} ppc ppc64 ppc64le sparc sparcv9 x86_64
-14: patches	%{lua: for i, p in ipairs(patches) do print(p.." ") end}
-14: perl_archlib	%(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib)
-14: 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
}
-14: perl_default_filter_revision	3
-14: perl_default_subpackage_tests	%perl_subpackage_tests t/
-14: perl_ext_env_unset	%{expand:
unset PERL_MM_OPT MODULEBUILDRC PERL5INC
export PERL_AUTOINSTALL="--defaultdeps"
export PERL_MM_USE_DEFAULT=1
}
-14: perl_privlib	%(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib)
-14: perl_sitearch	%(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch)
-14: perl_sitelib	%(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib)
-14: 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}
}
-14: perl_testdir	%{_libexecdir}/perl5-tests
-14: perl_vendorarch	%(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
-14: perl_vendorlib	%(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
-14: perl_version	%(eval "`%{__perl} -V:version`"; echo $version)
-14: power64	ppc64 ppc64p7 ppc64le
-14: python3_pkgversion	3
-14: python_sitearch	%(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))")
-14: python_sitelib	%(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())")
-14: python_version	%(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])")
-14: 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")
-14: sources	%{lua: for i, s in ipairs(sources) do print(s.." ") end}
-14: sparc	sparc sparcv8 sparcv9 sparcv9v sparc64 sparc64v
-14: tests_req	%{expand:
BuildRequires: %*
%%tests_subpackage_requires %*
}
-14: tests_subpackage_provides	%{expand: 
%global __tests_spkg_prov %{?__tests_spkg_prov} %* 
}
-14: tests_subpackage_requires	%{expand: 
%global __tests_spkg_req %{?__tests_spkg_req} %* 
}
-14: undefined	%{expand:%%{?%{1}:0}%%{!?%{1}:1}}
-14: with	%{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}}
-14: without	%{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}}
======================== active 364 empty 0



More information about the Rpm-maint mailing list