[fedora-arm] proposed rpm 4.4.2 diffs for ARM
Lennert Buytenhek
buytenh at wantstofly.org
Tue Jun 19 01:43:20 UTC 2007
(not subscribed to rpm-list@, please CC on replies)
Hi all,
Attached are two patches for rpm 4.4.2 (one against the package
itself, one against its spec file) which slightly extend rpm's arm
support, on which I would love to get some feedback, as I'm not
entirely sure whether I Did The Right Thing in every place.
Any comments? Should these patches be discussed on the 'upstream'
(i.e. @rpm.org) rpm mailing lists instead?
If they look OK, can they make it into F8? (Please don't apply
this version as-is yet, though..)
Thanks in advance for your time.
thanks,
Lennert
=== rpm-4.4.2-arm.diff
> Index: rpm-4.4.2/Makefile.am
> ===================================================================
> --- rpm-4.4.2.orig/Makefile.am
> +++ rpm-4.4.2/Makefile.am
> @@ -165,6 +165,12 @@ install-data-local:
> $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
> alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
> $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
> + arm*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv3l ;\
> + $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4l ;\
> + $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4tl ;\
> + $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tel ;\
> + $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tejl ;\
> + $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv6l ;;\
Add creation of RPMS dirs for the various ARM sub-archs. This seems
pretty straightforward.
> Index: rpm-4.4.2/config.guess
> ===================================================================
> --- rpm-4.4.2.orig/config.guess
> +++ rpm-4.4.2/config.guess
> @@ -809,7 +809,14 @@ EOF
> echo ${UNAME_MACHINE}-pc-minix
> exit 0 ;;
> arm*:Linux:*:*)
> - echo ${UNAME_MACHINE}-unknown-linux-gnu
> + eval $set_cc_for_build
> + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
> + | grep __ARM_EABI__ >/dev/null
> + then
> + echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
> + else
> + echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnueabi
> + fi
There are two different ABIs for ARM systems, the 'legacy' ABI
(old-ABI) and the newer-and-preferred ABI, EABI. EABI is selected
by configuring using a target triple ending in *-gnueabi (this is a
slightly odd convention, but it's an upstream-imposed convention,
and followed by binutils, gcc, glibc, etc.) There isn't an easier
way of detecting EABI than to check whether gcc defines
__ARM_EABI__, as far as I know.
> Index: rpm-4.4.2/configure.ac
> ===================================================================
> --- rpm-4.4.2.orig/configure.ac
> +++ rpm-4.4.2/configure.ac
> @@ -1206,6 +1206,9 @@ fi
> if echo "$build_os" | grep '.*-gnulibc1' > /dev/null ; then
> build_os=`echo "${build_os}" | sed 's/-gnulibc1$//'`
> fi
> +if echo "$build_os" | grep '.*-gnueabi' > /dev/null ; then
> + build_os=`echo "${build_os}" | sed 's/-gnueabi$//'`
> +fi
> if echo "$build_os" | grep '.*-gnu' > /dev/null ; then
> build_os=`echo "${build_os}" | sed 's/-gnu$//'`
> fi
Strip -gnueabi off the target triple like we do with -gnulibc1 and
-gnu.
> @@ -1277,10 +1280,7 @@ s390x*) RPMCANONCOLOR=3; RPMCANONARCH=s
> s390*) RPMCANONCOLOR=0; RPMCANONARCH=s390 ;;
> powerpc64*|ppc64*) RPMCANONCOLOR=3; RPMCANONARCH=ppc64 ;;
> powerpc*|ppc*) RPMCANONCOLOR=0; RPMCANONARCH=ppc ;;
> -armv3l*) RPMCANONCOLOR=0; RPMCANONARCH=armv3l ;;
> -armv4l*) RPMCANONCOLOR=0; RPMCANONARCH=armv4l ;;
> -armv4b*) RPMCANONCOLOR=0; RPMCANONARCH=armv4b ;;
> -arm*) RPMCANONCOLOR=0; RPMCANONARCH="${build_cpu}" ;;
> +arm*) RPMCANONCOLOR=0; RPMCANONARCH=arm ;;
Make 'arm' the canon arch for all possible sub-archs.
> Index: rpm-4.4.2/installplatform
> ===================================================================
> --- rpm-4.4.2.orig/installplatform
> +++ rpm-4.4.2/installplatform
> @@ -21,17 +21,18 @@ E_O_F
>
> RPM="./rpm --rcfile $TEMPRC"
>
> -canonarch_sed='s_i.86_i386_;s_pentium[34]_i386_;s_athlon_i386_;s_sparc[^-]*_sparc_;s_alpha[^-]*_alpha_;s_\(powerpc\|ppc\)[^-]*_ppc_'
> +canonarch_sed='s_i.86_i386_;s_pentium[34]_i386_;s_athlon_i386_;s_sparc[^-]*_sparc_;s_alpha[^-]*_alpha_;s_arm[^-]*_arm_;s_\(powerpc\|ppc\)[^-]*_ppc_'
Idem.
> -target_platform="`$RPM --eval '%{?_gnu:%undefine _gnu}%{_target_platform}'|sed -e "$canonarch_sed"`"
> +target_platform="`$RPM --eval '%{?_gnu:%undefine _gnu}%{?_gnu:%undefine _gnu}%{_target_platform}'|sed -e "$canonarch_sed"`"
(Note that this isn't ARM-specific.) For some reason, it seems
necessary to undefine _gnu twice here to really undefine it. (Same
thing happens on my x86 boxes.) Not exactly sure what's happening
here.
> + arm*) SUBSTS='s_arm_armv3l_ s_arm_arm4l_ s_arm_armv4tl_ s_arm_armv5tel_ s_arm_armv5tejl_ s_arm_armv6l_' ;;
Create /u/s/r/RPMS/$foo dirs for all possible sub-archs.
> Index: rpm-4.4.2/lib/rpmts.c
> ===================================================================
> --- rpm-4.4.2.orig/lib/rpmts.c
> +++ rpm-4.4.2/lib/rpmts.c
> @@ -236,7 +236,7 @@ static int isArch(const char * arch)
> "m68k",
> "rs6000",
> "ia64",
> - "armv3l", "armv4b", "armv4l",
> + "armv3l", "armv4b", "armv4l", "armv4tl", "armv5tel", "armv5tejl", "armv6l",
Include all sub-archs.
> Index: rpm-4.4.2/macros.in
> ===================================================================
> --- rpm-4.4.2.orig/macros.in
> +++ rpm-4.4.2/macros.in
> @@ -1260,6 +1260,10 @@ done \
> #
> %ix86 i386 i486 i586 i686 pentium3 pentium4 athlon
>
> +#------------------------------------------------------------------------------
> +# arch macro for all supported ARM processors
> +%arm armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l
Add %arm macro so that we can check whether we are building for an
ARM box by checking %ifarch %{arm}, to make it easier to add sub-archs
without having to patch every single spec file that has some ARM-
dependent logic in it.
> Index: rpm-4.4.2/rpm.spec.in
> ===================================================================
> --- rpm-4.4.2.orig/rpm.spec.in
> +++ rpm-4.4.2/rpm.spec.in
> @@ -331,8 +331,8 @@ exit 0
> %ifarch s390 s390x
> %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/s390*
> %endif
> -%ifarch armv3l armv4l
> -%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/armv[34][lb]*
> +%ifarch %{arm}
> +%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/arm*
Check for ARM archs by checking against %{arm}, and just include
all arm* dirs in /u/l/rpm in the package.
> Index: rpm-4.4.2/rpmrc.in
> ===================================================================
> --- rpm-4.4.2.orig/rpmrc.in
> +++ rpm-4.4.2/rpmrc.in
> @@ -61,6 +61,10 @@ optflags: mipsel -O2 -g
> optflags: armv3l -O2 -g -fsigned-char -fomit-frame-pointer -march=armv3
> optflags: armv4b -O2 -g -fsigned-char -fomit-frame-pointer -march=armv4
> optflags: armv4l -O2 -g -fsigned-char -fomit-frame-pointer -march=armv4
> +optflags: armv4tl -O2 -g -march=armv4t
> +optflags: armv5tel -O2 -g -march=armv5te
> +optflags: armv5tejl -O2 -g -march=armv5te
> +optflags: armv6l -O2 -g -march=armv6
Add optflags for the newer ARM sub-archs.
I don't think we need -fsigned-char anymore, and maybe we should
remove it from the other sub-archs as well.
(chars are unsigned on ARM by default, and I think that doing
-fsigned-char by default was meant to work around buggy userland
software that assumes that chars are always signed. I don't think
this should be needed anymore.)
> @@ -124,6 +128,9 @@ arch_canon: mipsel: mipsel 11
> arch_canon: armv3l: armv3l 12
> arch_canon: armv4b: armv4b 12
> arch_canon: armv4l: armv4l 12
> +arch_canon: armv5tel: armv5tel 12
> +arch_canon: armv5tejl: armv5tejl 12
> +arch_canon: armv6l: armv6l 12
Add more sub-archs..
=== rpm-4.4.2-spec-arm.diff
> Index: SPECS/rpm.spec
> ===================================================================
> --- SPECS.orig/rpm.spec
> +++ SPECS/rpm.spec
> @@ -68,6 +68,7 @@ Patch41: rpm-4.4.2-cdiff.patch
> Patch42: rpm-4.4.2-docflags.patch
> Patch43: rpm-debugedit-incremental-fix.patch
> Patch44: rpm-4.4.2-prefer-elf32.patch
> +Patch45: rpm-4.4.2-arm.diff
> License: GPL
> Requires: patch > 2.5
> Prereq: shadow-utils
> @@ -214,6 +215,8 @@ shell-like rules.
> %patch42 -p1 -b .docflags
> %patch43 -p1 -b .debugcan2
> %patch44 -p1 -b .elfprefer
> +%patch45 -p1 -b .arm
Add ARM patch.
> +perl -pi -e "s/-gnu$/%{_gnu}/" macros.in
This is a hack to make sure that %{_gnu} ends up as -gnueabi on EABI
targets. Ideally this should perhaps be hacked into the macros.in ->
macros generation step itself. Ideas?
> # rebuild configure for ipv6
> autoconf
> @@ -410,8 +413,8 @@ exit 0
> %ifarch s390 s390x
> %attr(-, rpm, rpm) %{__prefix}/lib/rpm/s390*
> %endif
> -%ifarch armv3l armv4l
> -%attr(-, rpm, rpm) %{__prefix}/lib/rpm/armv[34][lb]*
> +%ifarch %{arm}
> +%attr(-, rpm, rpm) %{__prefix}/lib/rpm/arm*
Same modification as to rpm.spec.in -- check %{arm} instead of a
hardcoded list of sub-archs, and pick up all /u/l/rpm/arm* dirs.
Thanks!
-------------- next part --------------
Index: rpm-4.4.2/Makefile.am
===================================================================
--- rpm-4.4.2.orig/Makefile.am
+++ rpm-4.4.2/Makefile.am
@@ -165,6 +165,12 @@ install-data-local:
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
+ arm*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv3l ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4l ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4tl ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tel ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tejl ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv6l ;;\
sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv8 ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\
Index: rpm-4.4.2/Makefile.in
===================================================================
--- rpm-4.4.2.orig/Makefile.in
+++ rpm-4.4.2/Makefile.in
@@ -1224,6 +1224,12 @@ install-data-local:
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
+ arm*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv3l ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4l ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4tl ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tel ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tejl ;\
+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv6l ;;\
sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv8 ;\
$(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\
Index: rpm-4.4.2/config.guess
===================================================================
--- rpm-4.4.2.orig/config.guess
+++ rpm-4.4.2/config.guess
@@ -809,7 +809,14 @@ EOF
echo ${UNAME_MACHINE}-pc-minix
exit 0 ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ARM_EABI__ >/dev/null
+ then
+ echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnueabi
+ fi
exit 0 ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
Index: rpm-4.4.2/configure.ac
===================================================================
--- rpm-4.4.2.orig/configure.ac
+++ rpm-4.4.2/configure.ac
@@ -1206,6 +1206,9 @@ fi
if echo "$build_os" | grep '.*-gnulibc1' > /dev/null ; then
build_os=`echo "${build_os}" | sed 's/-gnulibc1$//'`
fi
+if echo "$build_os" | grep '.*-gnueabi' > /dev/null ; then
+ build_os=`echo "${build_os}" | sed 's/-gnueabi$//'`
+fi
if echo "$build_os" | grep '.*-gnu' > /dev/null ; then
build_os=`echo "${build_os}" | sed 's/-gnu$//'`
fi
@@ -1277,10 +1280,7 @@ s390x*) RPMCANONCOLOR=3; RPMCANONARCH=s
s390*) RPMCANONCOLOR=0; RPMCANONARCH=s390 ;;
powerpc64*|ppc64*) RPMCANONCOLOR=3; RPMCANONARCH=ppc64 ;;
powerpc*|ppc*) RPMCANONCOLOR=0; RPMCANONARCH=ppc ;;
-armv3l*) RPMCANONCOLOR=0; RPMCANONARCH=armv3l ;;
-armv4l*) RPMCANONCOLOR=0; RPMCANONARCH=armv4l ;;
-armv4b*) RPMCANONCOLOR=0; RPMCANONARCH=armv4b ;;
-arm*) RPMCANONCOLOR=0; RPMCANONARCH="${build_cpu}" ;;
+arm*) RPMCANONCOLOR=0; RPMCANONARCH=arm ;;
mipsel*) RPMCANONCOLOR=0; RPMCANONARCH=mipsel ;;
mips*) RPMCANONCOLOR=0; RPMCANONARCH=mips ;;
m68k*) RPMCANONCOLOR=0; RPMCANONARCH=m68k ;;
Index: rpm-4.4.2/installplatform
===================================================================
--- rpm-4.4.2.orig/installplatform
+++ rpm-4.4.2/installplatform
@@ -21,17 +21,18 @@ E_O_F
RPM="./rpm --rcfile $TEMPRC"
-canonarch_sed='s_i.86_i386_;s_pentium[34]_i386_;s_athlon_i386_;s_sparc[^-]*_sparc_;s_alpha[^-]*_alpha_;s_\(powerpc\|ppc\)[^-]*_ppc_'
+canonarch_sed='s_i.86_i386_;s_pentium[34]_i386_;s_athlon_i386_;s_sparc[^-]*_sparc_;s_alpha[^-]*_alpha_;s_arm[^-]*_arm_;s_\(powerpc\|ppc\)[^-]*_ppc_'
arch="`$RPM --eval '%{_arch}'|sed -e "$canonarch_sed"`"
VENDOR="`$RPM --eval '%{_vendor}'`"
OS="`$RPM --eval '%{_os}'`"
RPMRC_GNU="`$RPM --eval '%{_gnu}'`"
-target_platform="`$RPM --eval '%{?_gnu:%undefine _gnu}%{_target_platform}'|sed -e "$canonarch_sed"`"
+target_platform="`$RPM --eval '%{?_gnu:%undefine _gnu}%{?_gnu:%undefine _gnu}%{_target_platform}'|sed -e "$canonarch_sed"`"
target="`$RPM --eval '%{_target}'|sed -e "$canonarch_sed"`"
case "$arch" in
i[3456]86|pentium[34]|athlon) SUBSTS='s_i386_i386_ s_i386_i486_ s_i386_i586_ s_i386_i686_ s_i386_pentium3_ s_i386_pentium4_ s_i386_athlon_' ;;
alpha*) SUBSTS='s_alpha_alpha_ s_alpha_alphaev5_ s_alpha_alphaev56_ s_alpha_alphapca56_ s_alpha_alphaev6_ s_alpha_alphaev67_' ;;
+ arm*) SUBSTS='s_arm_armv3l_ s_arm_arm4l_ s_arm_armv4tl_ s_arm_armv5tel_ s_arm_armv5tejl_ s_arm_armv6l_' ;;
sparc*) SUBSTS='s_sparc\(64\|v9\)_sparc_ s_sparc64_sparcv9_;s_sparc\([^v]\|$\)_sparcv9\1_ s_sparcv9_sparc64_;s_sparc\([^6]\|$\)_sparc64\1_' ;;
powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_' ;;
s390*) SUBSTS='s_s390x_s390_ s_s390\([^x]\|$\)_s390x\1_' ;;
Index: rpm-4.4.2/lib/rpmts.c
===================================================================
--- rpm-4.4.2.orig/lib/rpmts.c
+++ rpm-4.4.2/lib/rpmts.c
@@ -236,7 +236,7 @@ static int isArch(const char * arch)
"m68k",
"rs6000",
"ia64",
- "armv3l", "armv4b", "armv4l",
+ "armv3l", "armv4b", "armv4l", "armv4tl", "armv5tel", "armv5tejl", "armv6l",
"s390", "i370", "s390x",
"sh", "xtensa",
"noarch",
Index: rpm-4.4.2/macros.in
===================================================================
--- rpm-4.4.2.orig/macros.in
+++ rpm-4.4.2/macros.in
@@ -1260,6 +1260,10 @@ done \
#
%ix86 i386 i486 i586 i686 pentium3 pentium4 athlon
+#------------------------------------------------------------------------------
+# arch macro for all supported ARM processors
+%arm armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l
+
#------------------------------------------------------------------------
# Use in %install to generate locale specific file lists. For example,
#
Index: rpm-4.4.2/rpm.spec.in
===================================================================
--- rpm-4.4.2.orig/rpm.spec.in
+++ rpm-4.4.2/rpm.spec.in
@@ -331,8 +331,8 @@ exit 0
%ifarch s390 s390x
%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/s390*
%endif
-%ifarch armv3l armv4l
-%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/armv[34][lb]*
+%ifarch %{arm}
+%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/arm*
%endif
%ifarch mips mipsel
%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/mips*
Index: rpm-4.4.2/rpmrc.in
===================================================================
--- rpm-4.4.2.orig/rpmrc.in
+++ rpm-4.4.2/rpmrc.in
@@ -61,6 +61,10 @@ optflags: mipsel -O2 -g
optflags: armv3l -O2 -g -fsigned-char -fomit-frame-pointer -march=armv3
optflags: armv4b -O2 -g -fsigned-char -fomit-frame-pointer -march=armv4
optflags: armv4l -O2 -g -fsigned-char -fomit-frame-pointer -march=armv4
+optflags: armv4tl -O2 -g -march=armv4t
+optflags: armv5tel -O2 -g -march=armv5te
+optflags: armv5tejl -O2 -g -march=armv5te
+optflags: armv6l -O2 -g -march=armv6
optflags: atarist -O2 -g -fomit-frame-pointer
optflags: atariste -O2 -g -fomit-frame-pointer
@@ -124,6 +128,9 @@ arch_canon: mipsel: mipsel 11
arch_canon: armv3l: armv3l 12
arch_canon: armv4b: armv4b 12
arch_canon: armv4l: armv4l 12
+arch_canon: armv5tel: armv5tel 12
+arch_canon: armv5tejl: armv5tejl 12
+arch_canon: armv6l: armv6l 12
arch_canon: m68kmint: m68kmint 13
arch_canon: atarist: m68kmint 13
@@ -218,6 +225,14 @@ buildarchtranslate: ppcpseries: ppc
buildarchtranslate: ppc64iseries: ppc64
buildarchtranslate: ppc64pseries: ppc64
+buildarchtranslate: armv3l: armv3l
+buildarchtranslate: armv4b: armv4b
+buildarchtranslate: armv4l: armv4l
+buildarchtranslate: armv4tl: armv4tl
+buildarchtranslate: armv5tel: armv5tel
+buildarchtranslate: armv5tejl: armv4tejl
+buildarchtranslate: armv6l: armv6l
+
buildarchtranslate: atarist: m68kmint
buildarchtranslate: atariste: m68kmint
buildarchtranslate: ataritt: m68kmint
@@ -291,6 +306,10 @@ arch_compat: hppa1.0: parisc
arch_compat: parisc: noarch
arch_compat: armv4b: noarch
+arch_compat: armv6l: armv5tejl
+arch_compat: armv5tejl: armv5tel
+arch_compat: armv5tel: armv4tl
+arch_compat: armv4tl: armv4l
arch_compat: armv4l: armv3l
arch_compat: armv3l: noarch
@@ -381,9 +400,13 @@ buildarch_compat: ppc64iseries: ppc64
buildarch_compat: mips: noarch
buildarch_compat: mipsel: noarch
-buildarch_compat: armv3l: noarch
buildarch_compat: armv4b: noarch
-buildarch_compat: armv4l: noarch
+buildarch_compat: armv6l: armv5tejl
+buildarch_compat: armv5tejl: armv5tel
+buildarch_compat: armv5tel: armv4tl
+buildarch_compat: armv4tl: armv4l
+buildarch_compat: armv4l: armv3l
+buildarch_compat: armv3l: noarch
buildarch_compat: hppa2.0: hppa1.2
buildarch_compat: hppa1.2: hppa1.1
-------------- next part --------------
Index: SPECS/rpm.spec
===================================================================
--- SPECS.orig/rpm.spec
+++ SPECS/rpm.spec
@@ -17,7 +17,7 @@ Summary: The RPM package management syst
Name: rpm
Version: 4.4.2
%{expand: %%define rpm_version %{version}}
-Release: 46%{?dist}
+Release: 46.fa2%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source: rpm-%{rpm_version}.tar.gz
@@ -68,6 +68,7 @@ Patch41: rpm-4.4.2-cdiff.patch
Patch42: rpm-4.4.2-docflags.patch
Patch43: rpm-debugedit-incremental-fix.patch
Patch44: rpm-4.4.2-prefer-elf32.patch
+Patch45: rpm-4.4.2-arm.diff
License: GPL
Requires: patch > 2.5
Prereq: shadow-utils
@@ -214,6 +215,8 @@ shell-like rules.
%patch42 -p1 -b .docflags
%patch43 -p1 -b .debugcan2
%patch44 -p1 -b .elfprefer
+%patch45 -p1 -b .arm
+perl -pi -e "s/-gnu$/%{_gnu}/" macros.in
# rebuild configure for ipv6
autoconf
@@ -410,8 +413,8 @@ exit 0
%ifarch s390 s390x
%attr(-, rpm, rpm) %{__prefix}/lib/rpm/s390*
%endif
-%ifarch armv3l armv4l
-%attr(-, rpm, rpm) %{__prefix}/lib/rpm/armv[34][lb]*
+%ifarch %{arm}
+%attr(-, rpm, rpm) %{__prefix}/lib/rpm/arm*
%endif
%ifarch mips mipsel
%attr(-, rpm, rpm) %{__prefix}/lib/rpm/mips*
More information about the arm
mailing list