From 51911d23813083e3a2e11c79432f8904a49fc89e Mon Sep 17 00:00:00 2001 From: Yangyang Shen Date: Wed, 30 Sep 2020 14:55:17 +0800 Subject: [PATCH] replace source code with tar.gz --- 30.tar.gz | Bin 0 -> 51259 bytes brp-digest-list | 96 -- brp-ldconfig | 8 - config.guess | 1462 --------------------- config.sub | 1823 -------------------------- fix-error-message-for-kmodtool.patch | 25 + generic-rpm-config.spec | 35 +- generic-rpm-config.yaml | 8 +- kmodtool.py | 83 -- macros | 306 ----- macros.forge | 283 ---- macros.go | 170 --- macros.kmp | 21 - macros.perl | 151 --- macros.python | 294 ----- openEuler-hardened-cc1 | 2 - openEuler-hardened-ld | 2 - openEuler-pie-cc1 | 2 - openEuler-pie-ld | 2 - openeuler-fs-cc1 | 2 - rpmrc | 20 - 21 files changed, 40 insertions(+), 4755 deletions(-) create mode 100644 30.tar.gz delete mode 100644 brp-digest-list delete mode 100644 brp-ldconfig delete mode 100644 config.guess delete mode 100644 config.sub create mode 100644 fix-error-message-for-kmodtool.patch delete mode 100644 kmodtool.py delete mode 100644 macros delete mode 100644 macros.forge delete mode 100644 macros.go delete mode 100644 macros.kmp delete mode 100644 macros.perl delete mode 100644 macros.python delete mode 100644 openEuler-hardened-cc1 delete mode 100644 openEuler-hardened-ld delete mode 100644 openEuler-pie-cc1 delete mode 100644 openEuler-pie-ld delete mode 100644 openeuler-fs-cc1 delete mode 100644 rpmrc diff --git a/30.tar.gz b/30.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e34bc69960eae731facc066c41a91ee4d4606f6 GIT binary patch literal 51259 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ⅈ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 $BIN_PKG_FILES - -# Ensure temporary file is cleaned up when we exit -trap "rm -f \"${BIN_PKG_FILES}\"" 0 2 3 5 10 13 15 - -# File empty, exit -if [ -z $(head -c 1 $BIN_PKG_FILES) ]; then - exit 0 -fi - -# Create directory for digest lists -DIGEST_LIST_DIR=$RPM_BUILD_ROOT/$2/etc/ima/digest_lists -mkdir -p $DIGEST_LIST_DIR -mkdir -p $DIGEST_LIST_DIR.tlv -mkdir -p $DIGEST_LIST_DIR.sig - -# Generate digest list for the kernel -gen_digest_lists -i M: -t metadata -f compact -d $DIGEST_LIST_DIR -i l:policy \ - -i i: -o add -p -1 -m immutable -i L:$BIN_PKG_FILES -i u: \ - -A $RPM_BUILD_ROOT -i e: \ - -i F:/lib \ - -i F:/usr/lib \ - -i F:/lib64 \ - -i F:/usr/lib64 \ - -i F:/lib/modules \ - -i F:/usr/lib/modules \ - -i F:/lib/firmware \ - -i F:/usr/lib/firmware - -f="$DIGEST_LIST_DIR/0-metadata_list-compact-$(basename $BIN_PKG_FILES)" -[ -f $f ] || exit 0 - -chmod 644 $f -echo $f - -# Generate TLV digest list to check metadata -gen_digest_lists -i M: -t metadata -f compact -d $DIGEST_LIST_DIR.tlv \ - -i l:policy -i i: -o add -p -1 -m immutable -i L:$BIN_PKG_FILES -i u: \ - -T -A $RPM_BUILD_ROOT -i e: \ - -i F:/lib \ - -i F:/usr/lib \ - -i F:/lib64 \ - -i F:/usr/lib64 \ - -i F:/lib/modules \ - -i F:/usr/lib/modules \ - -i F:/lib/firmware \ - -i F:/usr/lib/firmware - -f="$DIGEST_LIST_DIR.tlv/0-metadata_list-compact_tlv-$(basename $BIN_PKG_FILES)" -[ -f $f ] || exit 0 - -chmod 644 $f -echo $f - -if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ - ! $(basename $BIN_PKG_FILES) =~ "debug" ]]; then - # Generate digest list for the user space parsers - LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib64 \ - $RPM_BUILD_ROOT/usr/bin/gen_digest_lists \ - -d $DIGEST_LIST_DIR -t parser -f compact -m immutable \ - -i I:$RPM_BUILD_ROOT/usr/libexec -o add -p -1 -i i: - - f="$DIGEST_LIST_DIR/0-parser_list-compact-libexec" - [ -f $f ] || exit 0 - - chmod 644 $f - echo $f - - [ -f /usr/lib/rpm/brp-suse.d/brp-99-pesign ] || exit 0 - - BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" - export BRP_PESIGN_FILES - export RPM_BUILD_ROOT - RPM_PACKAGE_NAME="digest-list-tools" - export RPM_PACKAGE_NAME - RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" - export RPM_SOURCE_DIR - - if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then - /usr/lib/rpm/brp-suse.d/brp-99-pesign &> /dev/null - fi -fi diff --git a/brp-ldconfig b/brp-ldconfig deleted file mode 100644 index fc22582..0000000 --- a/brp-ldconfig +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -efu - -# If using normal root, avoid changing anything. -if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then - exit 0 -fi - -/sbin/ldconfig -N -r "$RPM_BUILD_ROOT" diff --git a/config.guess b/config.guess deleted file mode 100644 index 463631a..0000000 --- a/config.guess +++ /dev/null @@ -1,1462 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2016 Free Software Foundation, Inc. - -timestamp='2016-10-02' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2016 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = hppa2.0w ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -cat >&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: \ No newline at end of file diff --git a/config.sub b/config.sub deleted file mode 100644 index 39dbf60..0000000 --- a/config.sub +++ /dev/null @@ -1,1823 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2016 Free Software Foundation, Inc. - -timestamp='2016-09-05' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2016 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -ios) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: \ No newline at end of file diff --git a/fix-error-message-for-kmodtool.patch b/fix-error-message-for-kmodtool.patch new file mode 100644 index 0000000..ef323f0 --- /dev/null +++ b/fix-error-message-for-kmodtool.patch @@ -0,0 +1,25 @@ +From 177688aa4c6888a693da0ee7a06e01066cde4c54 Mon Sep 17 00:00:00 2001 +From: Yangyang Shen +Date: Wed, 30 Sep 2020 14:45:14 +0800 +Subject: [PATCH] fix error message for kmodtool + +--- + kmodtool.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kmodtool.py b/kmodtool.py +index 724f481..75492b9 100644 +--- a/kmodtool.py ++++ b/kmodtool.py +@@ -39,7 +39,7 @@ def get_rpmtemplate(kmod_name,verrel): + print("This package provides the " + kmod_name + " kernel modules built for the Linux") + print("kernel "+ verrel + " for the %{_target_cpu} family of processors.") + print("%post -n kmod-" + kmod_name) +- print("if [ -e /boot/System.map-" + verrel + "]; then") ++ print("if [ -e /boot/System.map-" + verrel + " ]; then") + print(" /sbin/depmod -aeF /boot/System.map-" + verrel +" " + verrel +"> /dev/null || :") + print("fi") + if (kmp !=""): +-- +2.23.0 + diff --git a/generic-rpm-config.spec b/generic-rpm-config.spec index 53f84b4..f356857 100644 --- a/generic-rpm-config.spec +++ b/generic-rpm-config.spec @@ -2,29 +2,14 @@ Name: %{vendor}-rpm-config Version: 30 -Release: 14 +Release: 15 License: GPL+ Summary: specific rpm configuration files -URL: https://gitee.com/src-openeuler/openEuler-rpm-config - -Source1: brp-ldconfig -Source2: rpmrc -Source3: macros -Source4: config.guess -Source5: config.sub -Source6: kmodtool.py - -Source10: macros.perl -Source11: macros.python -Source12: macros.go -Source13: macros.forge -Source14: macros.kmp - -Source20: openEuler-hardened-cc1 -Source21: openEuler-hardened-ld -Source22: openEuler-pie-cc1 -Source23: openEuler-pie-ld -SOurce24: brp-digest-list +URL: https://gitee.com/openeuler/openEuler-rpm-config + +Source0: https://gitee.com/openeuler/openEuler-rpm-config/repository/archive/%{version}.tar.gz + +Patch0: fix-error-message-for-kmodtool.patch Provides: python-rpm-macros = %{version}-%{release} Provides: python2-rpm-macros = %{version}-%{release} @@ -87,8 +72,7 @@ Summary: Macros and scripts for building kernel module packages Macros and scripts for building kernel module packages. %prep -%setup -c -T -cp -p %{sources} . +%autosetup -n %{name} -p1 %install mkdir -p %{buildroot}%{rpmvdir} @@ -99,7 +83,7 @@ install -p -m 644 -t %{buildroot}%{rpmvdir} openEuler-* install -p -m 755 -t %{buildroot}%{rpmvdir} kmodtool.py mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d -install -p -m 644 -t %{buildroot}%{_rpmconfigdir}/macros.d/ %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} +install -p -m 644 -t %{buildroot}%{_rpmconfigdir}/macros.d/ macros.perl macros.python macros.go macros.forge macros.kmp mkdir -p %{buildroot}%{_fileattrsdir} @@ -119,6 +103,9 @@ mkdir -p %{buildroot}%{_fileattrsdir} %{_rpmconfigdir}/macros.d/macros.kmp %changelog +* Wed Sep 30 2020 shenyangyang - 30-15 +- Change the source code to tar + * Fri Aug 21 2020 Wang Shuo - 30-14 - fix error message for kmodtool diff --git a/generic-rpm-config.yaml b/generic-rpm-config.yaml index 00bbaf0..05abdbe 100644 --- a/generic-rpm-config.yaml +++ b/generic-rpm-config.yaml @@ -1,4 +1,4 @@ -version_control: NA -src_repo: NA -tag_prefix: NA -seperator: NA +version_control: gitee +src_repo: https://gitee.com/openeuler/openEuler-rpm-config +tag_prefix: "^" +seperator: "." diff --git a/kmodtool.py b/kmodtool.py deleted file mode 100644 index 75492b9..0000000 --- a/kmodtool.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: UTF-8 -*- -#!/usr/bin/python3 - -# kmodtool - Helper script for building kernel module RPMs - -import os,subprocess,sys - -def print_verrel (): - #verrel=subprocess.getoutput("(rpm -q --qf '%{VERSION}-%{RELEASE}' `rpm -q kernel-devel` | head -n 1)") - # if (len(verrel)== 0): - verrel=subprocess.getoutput("uname -r") - return verrel - -def print_rpmtemplate(): - kmod_name = sys.argv[2] - # verrel=subprocess.getoutput("(rpm -q --qf '%{VERSION}-%{RELEASE}' `rpm -q kernel-devel` | head -n 1)") - # if (len(verrel)== 0): - verrel=subprocess.getoutput("uname -r") - - if not kmod_name: - print("Please provide the kmodule-name as first parameter.") - exit() - get_rpmtemplate(kmod_name,verrel) - - -def get_rpmtemplate(kmod_name,verrel): - print("%package -n kmod-" + kmod_name) - print("Summary: " + kmod_name + " " + "kernel module(s)") - print("Group: System Environment/Kernel") - if "%{version}": - print("Version: %{version}") - if "%{release}": - print("Release: %{release}") - print("Provides: kernel-modules =" + " " + verrel) - print("Provides: "+ kmod_name + "-kmod = %{?epoch:%{epoch}:}%{version}-%{release}") - print("Requires(post): /usr/sbin/depmod") - print("Requires(postun): /usr/sbin/depmod") - print("%description -n kmod-" + kmod_name) - print("This package provides the " + kmod_name + " kernel modules built for the Linux") - print("kernel "+ verrel + " for the %{_target_cpu} family of processors.") - print("%post -n kmod-" + kmod_name) - print("if [ -e /boot/System.map-" + verrel + " ]; then") - print(" /sbin/depmod -aeF /boot/System.map-" + verrel +" " + verrel +"> /dev/null || :") - print("fi") - if (kmp !=""): - print("modules=( $(find /lib/modules/" + verrel + "/extra/" + kmod_name + ") )") - print("""if [ -x "/sbin/weak-modules" ]; then - printf '%s\\n' "${modules[@]}" | /sbin/weak-modules --add-modules -fi""") - print("%preun -n kmod-" + kmod_name) - print("rpm -ql kmod-" + kmod_name + "| grep '\.ko$' > /var/run/rpm-kmod-" + kmod_name +"-modules") - - print("%postun -n kmod-" + kmod_name) - print("/sbin/depmod -aF /boot/System.map-" + verrel+" " + verrel + " &> /dev/null || :") - - if (kmp !=""): - print("modules=( $(cat /var/run/rpm-kmod-" + kmod_name + "-modules) )") - print("#rm /var/run/rpm-kmod-" + kmod_name + "-modules") - print("""if [ -x "/sbin/weak-modules" ]; then - printf '%s\\n' "${modules[@]}" | /sbin/weak-modules --remove-modules -fi""") - - print("%files -n kmod-" + kmod_name) - kmp_override_filelist= sys.argv[3] - if kmp_override_filelist == '%filelist': - print("%defattr(644,root,root,755)") - print("/lib/modules/" + verrel) - print("/lib/firmware/") - else: - with open(kmp_override_filelist) as f: - for line in f: - print(line, end = '') - -#for i in range(len(sys.argv)): -if (sys.argv[1] == "verrel"): - print_verrel() -if (sys.argv[1] == "rpmtemplate_kmp"): - kmp=1 - print_rpmtemplate() -else: - print("Error: Unknown option 'sys.argv[i]'.") - exit() - diff --git a/macros b/macros deleted file mode 100644 index b06faea..0000000 --- a/macros +++ /dev/null @@ -1,306 +0,0 @@ -# Per-platform rpm configuration file. - -%_vendor openEuler -%_os linux -%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu} - -#============================================================================== -# ---- configure macros. note that most of these are inherited -# from the defaults. -# -%_localstatedir /var - -%_pkgdocdir %{_docdir}/%{name} -%_docdir_fmt %%{NAME} - -%_fmoddir %{_libdir}/gfortran/modules - -%_enable_debug_packages 1 -#%_include_minidebuginfo 1 -%_include_gdb_index 1 -%_debugsource_packages 1 -#%_debuginfo_subpackages 1 - -%_build_id_links none - -#============================================================================== -# ---- compiler flags. - -%build_cflags %{optflags} -%build_cxxflags %{optflags} -%build_fflags %{optflags} -I%{_fmoddir} -%build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} - -%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 - -#For backwards compatibility only. -%__global_cflags %{build_cflags} -%__global_cxxflags %{build_cxxflags} -%__global_fflags %{build_fflags} -%__global_fcflags %{build_fflags} -%__global_ldflags %{build_ldflags} - -#============================================================================== -# ---- configure and makeinstall. -%_configure_gnuconfig_hack 1 -%_configure_libtool_hardening_hack 1 -%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/openEuler/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/openEuler/$(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} - -# ---- Build policy macros. - -%__spec_install_pre %{___build_pre}\ - [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"\ - mkdir -p `dirname "$RPM_BUILD_ROOT"`\ - mkdir "$RPM_BUILD_ROOT"\ -%{nil} - -# ---- Expanded at end of %install scriptlet. -%__arch_install_post /usr/lib/rpm/check-buildroot - -# Build root policy macros. Standard naming: -# convert all '-' in basename to '_', add two leading underscores. -%__brp_ldconfig /usr/lib/rpm/openEuler/brp-ldconfig -%__brp_compress /usr/lib/rpm/brp-compress -%__brp_strip /usr/lib/rpm/brp-strip %{__strip} -%__brp_strip_comment_note /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} -%__brp_strip_static_archive /usr/lib/rpm/brp-strip-static-archive %{__strip} -%__brp_python_bytecompile /usr/lib/rpm/brp-python-bytecompile "%{__python}" "%{?_python_bytecompile_errors_terminate_build}" "%{?_python_bytecompile_extra}" -%__brp_python_hardlink /usr/lib/rpm/brp-python-hardlink - -%__os_install_post \ - %{?__brp_ldconfig} \ - %{?__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} - -%__spec_install_post\ - %{?__debug_package:%{__debug_install_post}}\ - %{__arch_install_post}\ - %{__os_install_post}\ -%{nil} - -%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\ -%%install\ -%{nil} - -# -# Should missing buildids terminate a build? -%_missing_build_ids_terminate_build 1 - -# -## Automatically compile python files -%py_auto_byte_compile 1 - -# -## Should python bytecompilation errors terminate a build? -%_python_bytecompile_errors_terminate_build 1 -## Should python bytecompilation compile outisde python specific directories? -%_python_bytecompile_extra 1 - -# Use SHA-256 for FILEDIGESTS instead of default MD5 -%_source_filedigest_algorithm 8 -%_binary_filedigest_algorithm 8 - -# Use XZ compression for binary payloads -%_binary_payload w2.xzdio - - -# secure options for rpmbuild -# -# #hardened options -%_hardening_cflags -specs=/usr/lib/rpm/%{_vendor}/openEuler-hardened-cc1 -%_hardening_ldflags -Wl,-z,now -specs=/usr/lib/rpm/%{_vendor}/openEuler-hardened-ld -# Use "%undefine _hardened_build" to disable. -%_hardened_build 1 -%_hardened_cflags %{?_hardened_build:%{_hardening_cflags}} -%_hardened_ldflags %{?_hardened_build:%{_hardening_ldflags}} - -#secure options pie -%_sec_opt_build 1 -#Use "%undefine _sec_opt_build" to disable. -#Use "%undefine _pie_build" to disable. -%_pie_build 1 -%_pie_pre_cflags -specs=/usr/lib/rpm/%{_vendor}/openEuler-pie-cc1 -%_pie_pre_ldflags -Wl,-z,now -specs=/usr/lib/rpm/%{_vendor}/openEuler-pie-ld -%_pie_cflags %{?_sec_opt_build:?_pie_build:%{_pie_pre_cflags}} -%_pie_ldflags %{?_sec_opt_build:?_pie_build:%{_pie_pre_ldflags}} - -#Use "%undefine _fs_build" to disable. -%_fs_build 1 -%_fs_pre_cflags -specs=/usr/lib/rpm/%{_vendor}/openEuler-fs-cc1 -%_fs_cflags %{?_fs_build:%{_fs_pre_cflags}} - - -# Fail linking if there are undefined symbols. Required for proper -# ELF symbol versioning support. Disabled by default. -# Use "%define _ld_strict_symbol_defs 1" to enable. -#%_ld_strict_symbol_defs 1 -%_ld_symbols_flags %{?_ld_strict_symbol_defs:-Wl,-z,defs} - -# use "%define _ld_as_needed 1" to enable. -#%_ld_as_needed 1 -%_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - -%__global_compiler_flags -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches %{_hardened_cflags} - -# Automatically trim changelog entries after 2 years -%_changelog_trimtime %{lua:print(os.time() - 2 * 365 * 86400)} - -#============================================================================== -# ---- Generic auto req/prov filtering macros - -# prevent anything matching from being scanned for provides -%filter_provides_in(P) %{expand: \ -%global __filter_prov_cmd %{?__filter_prov_cmd} %{__grep} -v %{-P} '%*' | \ -} - -# prevent anything matching from being scanned for requires -%filter_requires_in(P) %{expand: \ -%global __filter_req_cmd %{?__filter_req_cmd} %{__grep} -v %{-P} '%*' | \ -} - -# filter anything matching out of the provides stream -%filter_from_provides() %{expand: \ -%global __filter_from_prov %{?__filter_from_prov} | %{__sed} -e '%*' \ -} - -# filter anything matching out of the requires stream -%filter_from_requires() %{expand: \ -%global __filter_from_req %{?__filter_from_req} | %{__sed} -e '%*' \ -} - -# actually set up the filtering bits -%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}" \ -} - -# compare two versions, returns -1, 0, 1, ~~~ -%rpm_vercmp() %{lua:print(rpm.expand('%1') == '~~~' and '~~~' or rpm.vercmp(rpm.expand('%1'), rpm.expand('%2')))} -# expand to the installed version of a package/provides -%pkg_version() %(LC_ALL=C rpm -q --whatprovides --qf "%%{version}" "%1" | sed -e "s/^no package provides .*/~~~/") -# compare the installed version to a value. returns -1, 0, 1, ~~~ -%pkg_version_cmp() %{expand:%{expand:%%%%{rpm_vercmp %%{pkg_version %1} %%2}}} -# convenience/readability -%pkg_vcmp() (%{expand:%%{pkg_version_cmp %1 %3}} %2 0) - -#arches macros -%generic_arches %{ix86} x86_64 %{arm} aarch64 -%ldc_arches %{generic_arches} -%valgrind_arches %{generic_arches} -%nodejs_arches %{generic_arches} -%ldc_arches %{generic_arches} -%mono_arches %{generic_arches} -%fpc_arches %{generic_arches} -%ghc_arches_with_ghci %{generic_arches} -%ghc_arches %{generic_arches} -%GNAT_arches %{GPRbuild_arches} %{generic_arches} -%GPRbuild_arches %{generic_arches} -%nim_arches %{generic_arches} -%nodejs_arches %{generic_arches} -%ocaml_native_compiler %{generic_arches} -%ocaml_natdynlink %{generic_arches} -%ocaml_native_profiling %{generic_arches} -%openblas_arches %{generic_arches} - -#%ldconfig /sbin/ldconfig -%ldconfig_post(n:) %{?ldconfig:%post -p %ldconfig %{?*} %{-n:-n %{-n*}}\ -%end} -%ldconfig_postun(n:) %{?ldconfig:%postun -p %ldconfig %{?*} %{-n:-n %{-n*}}\ -%end} -%ldconfig_scriptlets(n:) %{?ldconfig:\ -%ldconfig_post %{?*} %{-n:-n %{-n*}}\ -%ldconfig_postun %{?*} %{-n:-n %{-n*}}\ -} - -# Some miscellaneous macros -%_metainfodir %{_datadir}/metainfo -%rpmmacrodir /usr/lib/rpm/macros.d - -# arches that mono builds on -%_monogacdir %{_monodir}/gac -%_monodir %{_prefix}/lib/mono - -# ---- VPATH default settings -%_vpath_builddir %_target_platform -%_vpath_srcdir . - - -# ---- custom macros -%disable_rpath \ -sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool \ -sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool - -%delete_la_and_a \ -find $RPM_BUILD_ROOT -type f -name "*.la" -delete \ -find $RPM_BUILD_ROOT -type f -name "*.a" -delete - -%delete_la find $RPM_BUILD_ROOT -type f -name "*.la" -delete - -%chrpath_delete find $RPM_BUILD_ROOT/ -type f -exec file {} ';' | grep "\" | awk -F ':' '{print $1}' | xargs -i chrpath --delete {} - -%package_help \ -%package help \ -Summary: Documents for %{name} \ -Buildarch: noarch \ -Requires: man info \ -\ -%description help \ -Man pages and other related documents for %{name}. - -#%sbin_installinfo_rm bc.info -#%sbin_installinfo_rm bc.info.gz - -%install_info() \ -/sbin/install-info %1 %{_infodir}/dir || : - -%install_info_rm() \ -/sbin/install-info --remove %1 %{_infodir}/dir || : - -# macros that used for perl -%__perl /usr/bin/perl -%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") -%perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) -%perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) -%perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) -%perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) -%perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) -%perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) diff --git a/macros.forge b/macros.forge deleted file mode 100644 index 18e9dba..0000000 --- a/macros.forge +++ /dev/null @@ -1,283 +0,0 @@ -# Map forge information to rpm metadata. This macro will compute default spec -# variable values. -# -# The following spec variables SHOULD be set before calling the macro: -# -# forgeurl the project url on the forge, strongly recommended; -# alternatively, use -u -# Version if applicable, set it with Version: -# tag if applicable -# commit if applicable -# date if applicable (to override the mtime of the Source archive) -# -# The macro will attempt to compute and set the following variables if they are -# not already set by the packager: -# -# forgesource an URL that can be used as SourceX: value -# forgesetupargs the correct arguments to pass to %setup for this source -# used by %forgesetup and %forgeautosetup -# archivename the source archive filename, without extentions -# archiveext the source archive filename extensions, without leading dot -# archiveurl the url that can be used to download the source archive, -# without renaming -# scm the scm type, when packaging code snapshots: commits or tags -# -# If the macro is unable to parse your forgeurl value set at least archivename -# and archiveurl before calling it. -# -# Most of the computed variables are both overridable and optional. However, -# the macro WILL REDEFINE %{dist} when packaging a snapshot (commit or tag). -# The previous %{dist} value will be lost. Don’t call the macro if you don’t -# wish %{dist} to be changed. -# -# Optional parameters: -# -u Ignore forgeurl even if it exists and use instead. Note -# that the macro will still end up setting as the forgeurl -# spec variable if it manages to parse it. -# -s Silently ignore problems in forgeurl, use it if it can be parsed, -# ignore it otherwise. -# -p Restore problem handling, override -s. -# -v Be verbose and print every spec variable the macro sets. -# -i Print some info about the state of spec variables the macro may use or -# set at the end of the processing. -%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 = ".%{?date}%{!?date:%([ -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 either manually supplied or computed once %%{_sourcedir}/%%{archivename}.%%{archiveext} is available)\\n}") -end -} - -# Convenience macro to relay computed arguments to %setup -%forgesetup(a:b:cDn:Tq) %setup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-q} - -# Convenience macro to relay computed arguments to %autosetup -%forgeautosetup(a:b:cDn:TvNS:p:) %autosetup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-v} %{-N} %{-S} %{-p} diff --git a/macros.go b/macros.go deleted file mode 100644 index c1e6e75..0000000 --- a/macros.go +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright (c) 2015-2018 Jakub Cajka , -# Jan Chaloupka , -# Nicolas Mailhot -# This file is distributed under the terms of GNU GPL license version 3, or -# any later version. - -# This file contains macros for building projects in golang for packages -# with golang compiler or gcc-go compiler based on an architecture. -# Golang is primarly for primary architectures, gcc-go for secondary. -# -# This file provides only macros and must not use any other package except -# redhat-rpm-macros. - -# Define arches for PA and SA -%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x -%gccgo_arches %{mips} -%go_arches %{golang_arches} %{gccgo_arches} - -# Where to set GOPATH for builds -%gopath %{_datadir}/gocode - -# Define go_compilers macro to signal go-compiler package is available -%go_compiler 1 - -# Sanitize a Go import path that can then serve as rpm package name -# Mandatory parameter: a Go import path -%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?)://", "") --- remove eventual .git suffix -goname = string.gsub(goname, "%.git/*", "") --- remove eventual git. prefix -goname = string.gsub(goname, "^git%.", "") --- 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 -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) -} - -# Map Go information to rpm metadata. This macro will compute default spec -# variable values. -# -# The following spec variable MUST be set before calling the macro: -# -# goipath the packaged Go project import path -# -# The following spec variables SHOULD be set before calling the macro: -# -# forgeurl the project url on the forge, strongly recommended, if it can not -# be deduced from goipath; alternatively, use -u -# Version if applicable, set it with Version: -# tag if applicable -# commit if applicable -# -# The macro will attempt to compute and set the following variables if they are -# not already set by the packager: -# -# goname an rpm-compatible package name derived from goipath -# gosource an URL that can be used as SourceX: value -# gourl an URL that can be used as URL: value -# -# It will delegate processing to the forgemeta macro for: -# -# forgesource an URL that can be used as SourceX: value -# forgesetupargs the correct arguments to pass to %setup for this source -# used by %forgesetup and %forgeautosetup -# archivename the source archive filename, without extentions -# archiveext the source archive filename extensions, without leading dot -# archiveurl the url that can be used to download the source archive, -# without renaming -# scm the scm type, when packaging code snapshots: commits or tags -# -# If the macro is unable to parse your forgeurl value set at least archivename -# and archiveurl before calling it. -# -# Most of the computed variables are both overridable and optional. However, -# the macro WILL REDEFINE %{dist} when packaging a snapshot (commit or tag). -# The previous %{dist} value will be lost. Don’t call the macro if you don’t -# wish %{dist} to be changed. -# -# Optional parameters: -# -u Ignore forgeurl even if it exists and use instead. Note -# that the macro will still end up setting as the forgeurl -# spec variable if it manages to parse it. -# -s Silently ignore problems in forgeurl, use it if it can be parsed, -# ignore it otherwise. -# -p Restore problem handling, override -s. -# -v Be verbose and print every spec variable the macro sets. -# -i Print some info about the state of spec variables the macro may use or -# set at the end of the processing. -%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 --- 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} -} diff --git a/macros.kmp b/macros.kmp deleted file mode 100644 index be66e64..0000000 --- a/macros.kmp +++ /dev/null @@ -1,21 +0,0 @@ -# Use these macros to differentiate between RH and other KMP implementation(s). - -kernel_module_package_release 1 - - - -#kernel_module_package [ -n name ] [ -v version ] [ -r release ] -# [ -f filelist] -# - -%kernel_module_package_buildreqs %global kmodtool_generate_buildreqs 1 \ - kernel-devel - -%kernel_module_package(n:v:r:f:) %{expand:%( \ - %define kmodtool /usr/lib/rpm/openEuler/kmodtool.py\ - %define latest_kernel $(rpm -q --qf '%{VERSION}-%{RELEASE}\\\\n' `rpm -q kernel-devel` | head -n 1) \ - %{!?kernel_version:%{expand:%%global kernel_version %{latest_kernel}}} \ - %global kverrel %(%{kmodtool} verrel %{?kernel_version} 2>/dev/null) \ - python3 %{kmodtool} rpmtemplate_kmp %{-n*}%{!-n:%name} %{kverrel} %{-f*}%{!-f:%filelist} \ -)} - diff --git a/macros.perl b/macros.perl deleted file mode 100644 index 9c1fd0c..0000000 --- a/macros.perl +++ /dev/null @@ -1,151 +0,0 @@ -# Sensible Perl-specific RPM build macros. -# -# Note that these depend on the generic filtering system being in place in -# rpm core; but won't cause a build to fail if they're not present. -# -# Chris Weyl 2009 -# Marcela Mašláňová 2011 - -# This macro unsets several common vars used to control how Makefile.PL (et -# al) build and install packages. We also set a couple to help some of the -# common systems be less interactive. This was blatantly stolen from -# cpanminus, and helps building rpms locally when one makes extensive use of -# local::lib, etc. -# -# Usage, in %build, before "%{__perl} Makefile.PL ..." -# -# %{?perl_ext_env_unset} - -%perl_ext_env_unset %{expand: -unset PERL_MM_OPT MODULEBUILDRC PERL5INC -export PERL_AUTOINSTALL="--defaultdeps" -export PERL_MM_USE_DEFAULT=1 -} - -############################################################################# -# Filtering macro incantations - -# keep track of what "revision" of the filtering we're at. Each time we -# change the filter we should increment this. - -%perl_default_filter_revision 3 - -# By default, for perl packages we want to filter all files in _docdir from -# req/prov scanning. -# Filtering out any provides caused by private libs in vendorarch/archlib -# (vendor/core) is done by rpmbuild since Fedora 20 -# . -# -# Note that this must be invoked in the spec file, preferably as -# "%{?perl_default_filter}", before any %description block. - -%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 -} - -############################################################################# -# Macros to assist with generating a "-tests" subpackage in a semi-automatic -# manner. -# -# The following macros are still in a highly experimental stage and users -# should be aware that the interface and behaviour may change. -# -# PLEASE, PLEASE CONDITIONALIZE THESE MACROS IF YOU USE THEM. -# -# See http://gist.github.com/284409 - -# These macros should be invoked as above, right before the first %description -# section, and conditionalized. e.g., for the common case where all our tests -# are located under t/, the correct usage is: -# -# %{?perl_default_subpackage_tests} -# -# If custom files/directories need to be specified, this can be done as such: -# -# %{?perl_subpackage_tests:%perl_subpackage_tests t/ one/ three.sql} -# -# etc, etc. - -%perl_version %(eval "`%{__perl} -V:version`"; echo $version) -%perl_testdir %{_libexecdir}/perl5-tests -%cpan_dist_name %(eval echo %{name} | %{__sed} -e 's/^perl-//') - -# easily mark something as required by -tests and BR to the main package -%tests_req() %{expand:\ -BuildRequires: %*\ -%%tests_subpackage_requires %*\ -} - -# fixup (and create if needed) the shbang lines in tests, so they work and -# rpmlint doesn't (correctly) have a fit -%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} - -# additional -tests subpackage requires, if any -%tests_subpackage_requires() %{expand: \ -%global __tests_spkg_req %{?__tests_spkg_req} %* \ -} - -# additional -tests subpackage provides, if any -%tests_subpackage_provides() %{expand: \ -%global __tests_spkg_prov %{?__tests_spkg_prov} %* \ -} - -# -# Runs after the body of %check completes. -# - -%__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 \ -} - -# -# The actual invoked macro -# - -%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}\ -} - -# shortcut sugar -%perl_default_subpackage_tests %perl_subpackage_tests t/ - diff --git a/macros.python b/macros.python deleted file mode 100644 index 34795b5..0000000 --- a/macros.python +++ /dev/null @@ -1,294 +0,0 @@ -# Note that the path could itself be a python file, or a directory - -# Python's compile_all module only works on directories, and requires a max -# recursion depth - -# Usage: -# %py_byte_compile -# Example: -# %py_byte_compile %{__python3} %{buildroot}%{_datadir}/spam/plugins/ - -# This will terminate build on SyntaxErrors, if you want to avoid that, -# use it in a subshell like this: -# (%{py_byte_compile }) || : - -%py_byte_compile()\ -python_binary="%1"\ -bytecode_compilation_path="%2"\ -find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -m py_compile\ -find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -m py_compile -%py_setup setup.py -%py_shbang_opts -s - -# Use the slashes after expand so that the command starts on the same line as -# the macro -%py_build() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python} %{py_setup} %{?py_setup_args} build --executable="%{__python} %{py_shbang_opts}" %{?*} - sleep 1 -} - -%py_build_egg() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python} %{py_setup} %{?py_setup_args} bdist_egg %{?*} - sleep 1 -} - -%py_build_wheel() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python} %{py_setup} %{?py_setup_args} bdist_wheel %{?*} - sleep 1 -} - -%py_install() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} -} - -%py_install_egg() %{expand:\\\ - mkdir -p %{buildroot}%{python_sitelib} - easy_install -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python_version}.egg %{?*} -} - -%py_install_wheel() %{expand:\\\ - pip install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps -} - -%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 - --No unversioned provides as python2 is not default - elseif (string.starts(package, "python" .. rpm.expand("%{python3_pkgversion}") .. "-")) then - print("\\nProvides: python-") - l = 8 + string.len(rpm.expand("%{python3_pkgversion}")) - print(string.sub(package,l,string.len(package))) - print(" = ") - print(vr) - --Obsoleting the previous default python package (if it doesn't have isa) - if (string.sub(package, "-1") ~= ")") then - print("\\nObsoletes: python-") - print(string.sub(package,l,string.len(package))) - print(" < ") - print(vr) - end - 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, "pypy2-")) 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 - --No unversioned provides needed for unversioned python - else - print("%python_provide: ERROR: ") - print(package) - print(" not recognized.") - end -} - -%python_enable_dependency_generator() \ -%global __pythondist_requires %{_rpmconfigdir}/pythondistdeps.py --requires \ -%{nil} -%__python2 /usr/bin/python2 -%python2_sitelib %(%{__python2} -Esc "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -%python2_sitearch %(%{__python2} -Esc "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") -%python2_version %(%{__python2} -Esc "import sys; sys.stdout.write('{0.major}.{0.minor}'.format(sys.version_info))") -%python2_version_nodots %(%{__python2} -Esc "import sys; sys.stdout.write('{0.major}{0.minor}'.format(sys.version_info))") - -%py2_shbang_opts -s - -# Use the slashes after expand so that the command starts on the same line as -# the macro -%py2_build() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python2} %{py_setup} %{?py_setup_args} build --executable="%{__python2} %{py2_shbang_opts}" %{?*} - sleep 1 -} - -%py2_build_egg() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python2} %{py_setup} %{?py_setup_args} bdist_egg %{?*} - sleep 1 -} - -%py2_build_wheel() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python2} %{py_setup} %{?py_setup_args} bdist_wheel %{?*} - sleep 1 -} - -%py2_install() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python2} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} -} - -%py2_install_egg() %{expand:\\\ - mkdir -p %{buildroot}%{python2_sitelib} - easy_install-%{python2_version} -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python2_version}.egg %{?*} -} - -%py2_install_wheel() %{expand:\\\ - pip%{python2_version} install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps -} -%__python3 /usr/bin/python3 -%python3_sitelib %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -%python3_sitearch %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") -%python3_version %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3])") -%python3_version_nodots %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3].replace('.',''))") -%python3_platform %(%{__python3} -Ic "import sysconfig; print(sysconfig.get_platform())") -%py3dir %{_builddir}/python3-%{name}-%{version}-%{release} - -%py3_shbang_opts -s - -# Use the slashes after expand so that the command starts on the same line as -# the macro -%py3_build() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python3} %{py_setup} %{?py_setup_args} build --executable="%{__python3} %{py3_shbang_opts}" %{?*} - sleep 1 -} - -%py3_build_egg() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python3} %{py_setup} %{?py_setup_args} bdist_egg %{?*} - sleep 1 -} - -%py3_build_wheel() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python3} %{py_setup} %{?py_setup_args} bdist_wheel %{?*} - sleep 1 -} - -%py3_install() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python3} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} -} - -%py3_install_egg() %{expand:\\\ - mkdir -p %{buildroot}%{python3_sitelib} - easy_install-%{python3_version} -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python3_version}.egg %{?*} -} - -%py3_install_wheel() %{expand:\\\ - pip%{python3_version} install -I dist/%{1} --root %{buildroot} --no-deps -} -# python3_pkgversion specifies the version of Python 3 in the distro. It can be -# a specific version (e.g. 34 in Fedora EPEL7) -%python3_pkgversion 3 - -# Set to /bin/true to avoid %ifdefs and %{? in specfiles -%__python3_other /bin/true -%py3_other_build /bin/true -%py3_other_install /bin/true - - - -# === Macros for Build/Requires tags using Python dist tags === -# - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages -# - These macros need to be in macros.python-srpm, because BuildRequires tags -# get rendered as runtime requires into the metadata of SRPMs. - -# Converts Python dist name to a canonical format -%py_dist_name() %{lua:\ - name = rpm.expand("%{?1:%{1}}");\ - canonical = string.gsub(string.lower(name), "[^%w%.]+", "-");\ - print(canonical);\ -} - -# Creates Python 2 dist tag(s) after converting names to canonical format -# Needs to first put all arguments into a list, because invoking a different -# macro (%py_dist_name) overwrites them -%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\ -} - -# Creates Python 3 dist tag(s) after converting names to canonical format -# Needs to first put all arguments into a list, because invoking a different -# macro (%py_dist_name) overwrites them -%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\ -} - -# Macro to replace overly complicated references to PyPI source files. -# Expands to the pythonhosted URL for a package -# Accepts zero to three arguments: -# 1: The PyPI project name, defaulting to %srcname if it is defined, then -# %pypi_name if it is defined, then just %name. -# 2: The PYPI version, defaulting to %version. -# 3: The file extension, defaulting to "tar.gz". (A period will be added -# automatically.) -# Requires %__pypi_url and %__pypi_default_extension to be defined. -%__pypi_url https://files.pythonhosted.org/packages/source/ -%__pypi_default_extension tar.gz - -%pypi_source() %{lua: - local src = rpm.expand('%1') - local ver = rpm.expand('%2') - local ext = rpm.expand('%3') - local url = rpm.expand('%__pypi_url') -\ - -- If no first argument, try %srcname, then %pypi_name, then %name - -- Note that rpm leaves macros unchanged if they are not defined. - if src == '%1' then - src = rpm.expand('%srcname') - end - if src == '%srcname' then - src = rpm.expand('%pypi_name') - end - if src == '%pypi_name' then - src = rpm.expand('%name') - end -\ - -- If no second argument, use %version - if ver == '%2' then - ver = rpm.expand('%version') - end -\ - -- If no third argument, use the preset default extension - if ext == '%3' then - ext = rpm.expand('%__pypi_default_extension') - end -\ - local first = string.sub(src, 1, 1) -\ - print(url .. first .. '/' .. src .. '/' .. src .. '-' .. ver .. '.' .. ext) -} - -# New python macros -%__python /usr/bin/python -%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())") -%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))") -%python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])") diff --git a/openEuler-hardened-cc1 b/openEuler-hardened-cc1 deleted file mode 100644 index fc54bcb..0000000 --- a/openEuler-hardened-cc1 +++ /dev/null @@ -1,2 +0,0 @@ -*cc1_options: -+ %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} diff --git a/openEuler-hardened-ld b/openEuler-hardened-ld deleted file mode 100644 index bd6b907..0000000 --- a/openEuler-hardened-ld +++ /dev/null @@ -1,2 +0,0 @@ -*self_spec: -+ %{!static:%{!shared:%{!r:-pie}}} diff --git a/openEuler-pie-cc1 b/openEuler-pie-cc1 deleted file mode 100644 index 95615fa..0000000 --- a/openEuler-pie-cc1 +++ /dev/null @@ -1,2 +0,0 @@ -*cc1_options: -+ %{!r:%{!D__KERNEL__:%{!pie:%{!fpic:%{!fPIC:%{!fpie:%{!fPIE:%{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE:%{!shared:%{!static:%{!nostdlib:%{!nostartfiles:-fPIE}}}}}}}}}}}}}}} diff --git a/openEuler-pie-ld b/openEuler-pie-ld deleted file mode 100644 index ff33f64..0000000 --- a/openEuler-pie-ld +++ /dev/null @@ -1,2 +0,0 @@ -*self_spec: -+ %{!D__KERNEL__:%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r:%{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}} diff --git a/openeuler-fs-cc1 b/openeuler-fs-cc1 deleted file mode 100644 index 199a711..0000000 --- a/openeuler-fs-cc1 +++ /dev/null @@ -1,2 +0,0 @@ -*cc1_options: -+ %{!D__KERNEL__:%{!nostdlib:%{!nodefaultlibs:%{!fno-stack-protector:%{!fstack-protector-all:-fstack-protector-strong}}}}} diff --git a/rpmrc b/rpmrc deleted file mode 100644 index 8ba756d..0000000 --- a/rpmrc +++ /dev/null @@ -1,20 +0,0 @@ -include: /usr/lib/rpm/rpmrc - -optflags: i686 %{__global_compiler_flags} -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -optflags: athlon %{__global_compiler_flags} -m32 -march=athlon -fasynchronous-unwind-tables -fstack-clash-protection -optflags: ia64 %{__global_compiler_flags} -optflags: x86_64 %{__global_compiler_flags} -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection - -optflags: aarch64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection -optflags: riscv64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection - -buildarchtranslate: athlon: i686 -buildarchtranslate: geode: i686 -buildarchtranslate: pentium4: i686 -buildarchtranslate: pentium3: i686 -buildarchtranslate: i686: i686 -buildarchtranslate: i586: i586 - -buildarchtranslate: armv7l: armv5tel -buildarchtranslate: armv7hl: armv7hl -buildarchtranslate: armv7hnl: armv7hl -- Gitee