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