This allows moving rpm configs in x86_64 environment to prevent clashing in multilib
environments.
Change-Id: I8aa94d47f6b6fc6cb1ece88417363bb57ac8c14c
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
usrprefix=$prefix
fi
-RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"
+RPMCONFIGDIR=
+AC_ARG_WITH([rpmconfigdir],
+ [AS_HELP_STRING([--with-rpmconfigdir],
+ [Set up rpm config not into /usr/lib/rpm @<:@default=check@:>@])],
+ [RPMCONFIGDIR=$withval],
+ [RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"])
+
AC_SUBST(RPMCONFIGDIR)
AC_SUBST(OBJDUMP)
%kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel))
%kernel_name %(/bin/rpm -q --queryformat '%{RPMTAG_NAME}' $(/bin/rpm -q --whatprovides kernel))
-# this script calls all scripts in /usr/lib/rpm/brp-tizen.d
-%__arch_install_post /usr/lib/rpm/check-buildroot
+# this script calls all scripts in %{_rpmconfigdir}/brp-tizen.d
+%__arch_install_post %{_rpmconfigdir}/check-buildroot
%__strip_install_post \
- %{!?__debug_package:/usr/lib/rpm/brp-strip %{__strip}} \
- /usr/lib/rpm/brp-strip-static-archive %{__strip} \
-# /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} \
+ %{!?__debug_package:%{_rpmconfigdir}/brp-strip %{__strip}} \
+ %{_rpmconfigdir}/brp-strip-static-archive %{__strip} \
+# %{_rpmconfigdir}/brp-strip-comment-note %{__strip} %{__objdump} \
%{nil}
%__os_install_post \
- /usr/lib/rpm//brp-compress \
+ %{_rpmconfigdir}//brp-compress \
%{!?_rpm_strip_disable:%{__strip_install_post}}\
- /usr/lib/rpm/brp-python-hardlink \
- %{!?disable_docs_package:/usr/lib/rpm/tizen/find-docs.sh %{buildroot}} \
+ %{_rpmconfigdir}/brp-python-hardlink \
+ %{!?disable_docs_package:%{_rpmconfigdir}/tizen/find-docs.sh %{buildroot}} \
%{nil}
-# /usr/lib/rpm/tizen/brp-implant-ident-static
+# %{_rpmconfigdir}/tizen/brp-implant-ident-static
%__spec_install_post\
%{?__debug_package:%{__debug_install_post}}\
if test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
/sbin/install-info "${ALL_ARGS[@]}" \
fi \
- fi ;
+ fi ;
%install_info_delete(:-:) \
ALL_ARGS=(%{**}) \
if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
/sbin/install-info --quiet --delete "${ALL_ARGS[@]}" \
fi ; \
- fi ;
+ fi ;
# find-supplements.ksyms parses this macro directly out of the spec file:
%supplements_kernel_module() \
rm -rf %{?buildroot:%{buildroot}} \
%{nil}
-%find_lang /usr/lib/rpm/find-lang.sh %{buildroot}
-%find_docs /usr/lib/rpm/tizen/find-docs.sh %{buildroot}
+%find_lang %{_rpmconfigdir}/find-lang.sh %{buildroot}
+%find_docs %{_rpmconfigdir}/tizen/find-docs.sh %{buildroot}
# actually set up the filtering bits
%filter_setup %{expand: \
%global _use_internal_dependency_generator 0 \
-%global __deploop() while read FILE; do /usr/lib/rpm/rpmdeps -%{1} ${FILE}; done | /bin/sort -u \
+%global __deploop() while read FILE; do %{_rpmconfigdir}/rpmdeps -%{1} ${FILE}; 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}" \
}
%devel_desc This package contains all necessary include files and libraries needed \
to develop applications that require %{name}.\
%{nil}
-
-%define rpmlibdir %{_prefix}/lib
+%define rpmlibdir %{_libdir}
%define rpmhome %{rpmlibdir}/rpm
Name: rpm
security-related functionality.
%post security-plugin
-echo "%__transaction_plugins msm" >> /usr/lib/rpm/macros
-echo "%__plugindir %{_libdir}/rpm-plugins" >> /usr/lib/rpm/macros
-echo "%__transaction_msm %{__plugindir}/msm.so" >> /usr/lib/rpm/macros
-echo "%__transaction_msm_default_policy %{_libdir}/rpm-plugins/msm-device-sec-policy" >> /usr/lib/rpm/macros
+echo "%__transaction_plugins msm" >> %{rpmhome}/macros
+echo "%__plugindir %{_libdir}/rpm-plugins" >> %{rpmhome}/macros
+echo "%__transaction_msm %{__plugindir}/msm.so" >> %{rpmhome}/macros
+echo "%__transaction_msm_default_policy %{_libdir}/rpm-plugins/msm-device-sec-policy" >> %{rpmhome}/macros
%package -n python-rpm
Summary: Python Bindings for Manipulating RPM Packages
rm -f m4/libtool.m4
rm -f m4/lt*.m4
+# Change hard-coded paths in man pages and .rc files
+[[ x"/usr/lib/rpm" != x%{rpmhome} ]] && \
+ /bin/bash -c '/usr/bin/find %{_builddir} -type f -exec sed -e "s|/usr/lib/rpm|%{rpmhome}|g" -i {} \;'
+
%build
CPPFLAGS="$CPPFLAGS `pkg-config --cflags nss`"
export CPPFLAGS
--enable-shared \
--enable-python \
--with-vendor=tizen \
- --with-msm
+ --with-msm \
+ --with-rpmconfigdir=%{rpmhome}
make %{?_smp_mflags}
fi
done
%ifarch aarch64 ppc64le
-install -m 755 config.guess %{buildroot}/usr/lib/rpm
-install -m 755 config.sub %{buildroot}/usr/lib/rpm
+install -m 755 config.guess %{buildroot}%{rpmhome}
+install -m 755 config.sub %{buildroot}%{rpmhome}
%endif
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{__plugindir}/*.la
echo -n %{_target_cpu}-tizen-linux-gnueabi > %{buildroot}%{_sysconfdir}/rpm/platform
%endif
+grep -Rn '/usr/lib/rpm' %{_builddir} || echo "No hard-coded paths found"
+
%post
/sbin/ldconfig
test -f %{_dbpath}/Packages || rpm --initdb
# Internal binaries
-## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm
-rpmlibexecdir = $(prefix)/lib/rpm
+rpmlibexecdir = $(libdir)/rpm
# Host independent config files
## HACK: it probably should be $(datadir)/rpm
-rpmconfigdir = $(prefix)/lib/rpm
+rpmconfigdir = $(libdir)/rpm
> "$LINKSFILE"
debugdir="${RPM_BUILD_ROOT}/usr/lib/debug"
+tooldir=$(rpm --eval %{_rpmconfigdir})
strip_to_debug()
{
echo "extracting debug info from $f"
id=$($(DEBUGEDIT=$(which debugedit 2>/dev/null); \
- echo ${DEBUGEDIT:-/usr/lib/rpm/debugedit}) -b "$RPM_BUILD_DIR" \
+ echo ${DEBUGEDIT:-${tooldir}/debugedit}) -b "$RPM_BUILD_DIR" \
-d /usr/src/debug -i -l "$SOURCEFILE" "$f") || exit
if [ $nlinks -gt 1 ]; then
eval linkedid_$inum=\$id