From 6be70b089cde88ee7d86efe8569c25f9f3c2b79f Mon Sep 17 00:00:00 2001 From: Mingcong Bai Date: Sun, 10 May 2020 21:59:33 -0500 Subject: [PATCH] meta: drop unmaintained RPM support (revert to revive) --- README.md | 1 - arch/_common.sh | 14 ---- autobuild/defines | 2 +- contrib/autobuild-aoscarchive | 2 +- contrib/autobuild-deb2rpm | 14 ---- etc/autobuild/ab3_defcfg.sh | 2 +- lib/arch.sh | 2 +- lib/pm.sh | 2 - pm/rpm/install | 5 -- pm/rpm/lib.sh | 27 -------- pm/rpm/pack | 118 ---------------------------------- pm/rpm/rpm-sec | 51 --------------- 12 files changed, 4 insertions(+), 236 deletions(-) delete mode 100755 contrib/autobuild-deb2rpm delete mode 100644 pm/rpm/install delete mode 100644 pm/rpm/lib.sh delete mode 100644 pm/rpm/pack delete mode 100644 pm/rpm/rpm-sec diff --git a/README.md b/README.md index 36f1adc1..fe287f47 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,6 @@ Autobuild3 is a successor to the original [Autobuild](https://github.com/AOSC-De - DPKG, the most "native" backend of all, using `dpkg-deb` and Autobuild variables to control the generation of DPKG control files, and henceforth building the packages. - The "native" part is largely caused by some autobuild2 heritage in our brains and in the build scripts, which ended up infecting many other parts of ab3. For example, the architecture names in `ABHOST` and `ABBUILD` are dpkg names, the PM dep model is based on dpkg representations, ... -- RPM, using Autobuild variables to generate .spec files, and invoking `rpmbuild` to build RPM packages. - PKGBUILD (coming soon), using Autobuild variables to generate `PKGBUILD` files, using a temporary install root, to provide `makepkg` with a fake binary packaging process. Installing autobuild3 diff --git a/arch/_common.sh b/arch/_common.sh index be2aa75d..de176ab5 100644 --- a/arch/_common.sh +++ b/arch/_common.sh @@ -18,20 +18,6 @@ ARCH_TARGET['powerpc']=powerpc-aosc-linux-gnu ARCH_TARGET['ppc64']=powerpc64-aosc-linux-gnu ARCH_TARGET['ppc64el']=powerpc64le-aosc-linux-gnu ARCH_TARGET['riscv64']=riscv64-aosc-linux-gnu -ARCH_RPM['amd64']=x86_64 -ARCH_RPM['amd64/avx+']=x86_64 -ARCH_RPM['amd64/avx2+']=x86_64 -ARCH_RPM['arm64']=aarch64 -ARCH_RPM['armhf']=armhfp -ARCH_RPM['armel']=armv5tel -ARCH_RPM['i486']=i486 -ARCH_RPM['loongson2']=loongson2 -ARCH_RPM['mips64r2el']=mips64r2el -ARCH_RPM['noarch']=noarch -ARCH_RPM['powerpc']=ppc -ARCH_RPM['ppc64']=ppc64 -ARCH_RPM['ppc64el']=ppc64le -ARCH_RPM['riscv64']=riscv64 # C Compiler Flags. CFLAGS_COMMON='-pipe -Wno-error ' CFLAGS_COMMON_OPTI='-O2 ' diff --git a/autobuild/defines b/autobuild/defines index 86b23d83..022867eb 100644 --- a/autobuild/defines +++ b/autobuild/defines @@ -25,7 +25,7 @@ PKGEPOCH=1 PKGVER=1.5.7$( ((_GIT)) && echo "+$(timestamp_convert $(git log -1 --date=raw --pretty=format:%cd))") PKGDES="Automatic package building tool." PKGRECOM="distcc ccache" -PKGDEP="dpkg bash rpm apt coreutils autoconf automake autogen spdx-licenses" +PKGDEP="dpkg bash apt coreutils autoconf automake autogen spdx-licenses" PKGREP="autobuild" PKGSEC=devel diff --git a/contrib/autobuild-aoscarchive b/contrib/autobuild-aoscarchive index 967c6352..55b66b5f 100755 --- a/contrib/autobuild-aoscarchive +++ b/contrib/autobuild-aoscarchive @@ -3,7 +3,7 @@ ##@copyright GPL-2.0+ # THIS SCRIPT IS INTENDED FOR USE INSIDE AUTOBUILD, WITH EXPORTED VATIABLES, LIKE AB, ARCH. # SYNTAX: autobuild abrepoarchive PKGNAME PKGVER PKGREL -# CURRENTLY DEFINED PKGMGRs: dpkg, rpm. +# CURRENTLY DEFINED PKGMGRs: dpkg. # Directory Tree with priorities. DIR_TREE="a b c d e f g h i j k m n o p q r s t u v w x y z diff --git a/contrib/autobuild-deb2rpm b/contrib/autobuild-deb2rpm deleted file mode 100755 index 3c5d006a..00000000 --- a/contrib/autobuild-deb2rpm +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# deb2rpm: uses autobuild processes to convert a package with given ab files -##@copyright GPL-2.0+ -# TODO: extra the info from control -# SYNOPSIS: -# autobuild deb2rpm -. $AB/proc/10-defines.sh -mkdir $PKGNAME_${PKGVER}-${PKGREL} -tar xvf $PKGNAME_${PKGVER}-${PKGREL}.tar.xz -C $1 -dpkg -x $PKGNAME_${PKGVER}-${PKGREL}.deb $PKGNAME_${PKGVER}-${PKGREL}/abdist -dpkg -e $PKGNAME_${PKGVER}-${PKGREL}.deb $PKGNAME_${PKGVER}-${PKGREL}/abdist/DEBIAN -pushd $PKGNAME_${PKGVER}-${PKGREL} -ln -s ../autobuild autobuild -. $AB/rpm/pack diff --git a/etc/autobuild/ab3_defcfg.sh b/etc/autobuild/ab3_defcfg.sh index 6aadadd9..7898e497 100644 --- a/etc/autobuild/ab3_defcfg.sh +++ b/etc/autobuild/ab3_defcfg.sh @@ -120,7 +120,7 @@ RECONF=yes ##Packaging info ABQA=yes -ABINSTALL="dpkg rpm" +ABINSTALL="dpkg" # Old, default. [[ -d "$AB"/etc/autobuild/defaults ]] && recsr "$AB"/etc/autobuild/defaults/*!(.dpkg*|dist) diff --git a/lib/arch.sh b/lib/arch.sh index 550403c6..5026e670 100644 --- a/lib/arch.sh +++ b/lib/arch.sh @@ -8,7 +8,7 @@ abrequire pm # translations from dpkg representation to generic ones. # Sorry, top level! Scoping made me do this. -declare -gA ARCH_RPM ARCH_TARGET +declare -gA ARCH_TARGET ARCH_FINDFILELIST=("autobuild/$ABHOST"{-cross{-"$ABBUILD",},} autobuild) ARCH_SUFFIX=('' .sh .bash .bsh) arch_findfile(){ diff --git a/lib/pm.sh b/lib/pm.sh index 820ebb46..588693a3 100644 --- a/lib/pm.sh +++ b/lib/pm.sh @@ -56,9 +56,7 @@ pm_deflat(){ ABPM=dummy VER_NONE_ALL=1 VER_NONE=1 PM_ALT=0 PM_COMMA=' ' PM_DELIM # dumpver: dumps a dpkg-ab-lish verstring. pm_dumpver(){ ((PKGEPOCH)) && echo -n $PKGEPOCH:; echo -n $PKGVER; ((PKGREL)) && echo -n -$PKGREL; } -# Deprecate RPMEPOCH. declare -gi PKGEPOCH -declare -gn RPMEPOCH=PKGEPOCH . "$AB"/pm/"$ABMPM"/lib.sh abtrycmd pm_{whoprov,getver,exists,repoupdate,repoinstall,chroot,getver,exists} diff --git a/pm/rpm/install b/pm/rpm/install deleted file mode 100644 index 1c849704..00000000 --- a/pm/rpm/install +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -##rpm/install: Procedure to install RPM stuffs -##@copyright GPL-2.0+ - -rpm $PM_ROOTPARAM -Uvh "/root/rpmbuild/RPMS/${rpm_arch_host}/$PKGNAME-$PKGVER-$PKGREL"*.rpm diff --git a/pm/rpm/lib.sh b/pm/rpm/lib.sh deleted file mode 100644 index 99c0c8b7..00000000 --- a/pm/rpm/lib.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -##rpm/lib.sh: What rpm should provide to the abstraction as a package manager -##@copyright GPL-2.0+ -abreqexe rpm zypper -ABSTRICT=0 abrequire arch || abwarn RPM archname translation disabled. Expect errors with names. - -pm_chroot(){ - export PM_ROOT=$1 - export PM_ROOTPARAM="--root=$1" -} - -pm_getver(){ - rpm $PM_ROOTPARAM -q $1 --qf '%{EPOCH}:%{VERSION}-${RELEASE}' 2>/dev/null -} - -pm_exists(){ - rpm $PM_ROOTPARAM -q "$@" &>/dev/null -} - -pm_repoupdate(){ zypper ref -f; } - -pm_repoinstall(){ - zypper -n install "$@" -} - -pm_whoprov(){ rpm $PM_ROOTPARAM -q --whatprovides "$1" --qf '%{NAME}'; } -# Just for testing of output. diff --git a/pm/rpm/pack b/pm/rpm/pack deleted file mode 100644 index 90a088d8..00000000 --- a/pm/rpm/pack +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/bash -##rpm/pack: Makes an rpm package. -##@copyright GPL-2.0+ -eval unset $_ab_pm -PM_ALT=0 VER_S=' ' VER_E='' - -rpm_arch_host=${ARCH_RPM[$ABHOST]:-$ABHOST} -# Pre-RPM payload scripts -if [ -f autobuild/pre-rpm ]; then - . autobuild/pre-rpm -fi - -# Optional Tag: tagname pkgs -rpmopttag(){ - [ "$2" ] || return - echo -ne "$1:\t"; shift - VER_NONE=${VER_NONE-1} pm_depcom "$@" -} - -rpmopttag_extraprovide(){ - [ "$RPMEXTRAPROVIDE" ] && echo -e "Provides:\t${RPMEXTRAPROVIDE}" -} - -# Fscked-up varname. -rpmreqprov(){ - if bool $ABRPMAUTOPROVONLY; then - echo "Autoprov: yes" - echo "Autoreq: no" - else - echo "Autoreqprov: yes" - fi -} - -# There should NOT be any errors. -rpmscripts(){ - for i in {pre,post}{inst,rm}; do - i=${i/rm/un} - echo "%${i%inst} -p /bin/bash" - cat abscripts/${i/un/rm} - echo - done -} - -# Files, list, boom! -# We are not going to meet any DEBIAN stuffs. The PAKMGR spec says that -# every support wipes its own butt. -rpmfiles(){ - local _strlen_pkg="${#PKGDIR}" - # Question: Shall we just use -type f? - find "$PKGDIR" | while read i; do - [[ -d "$i" && ! -L "$i" ]] && continue - if [ -e "$SRCDIR/autobuild/conffiles" ]; then - grep -Fx "$i" "$SRCDIR/autobuild/conffiles" && echo "%config" - fi - echo "%defattr($(stat --printf %a,%U,%G "$i"),-)" - rpm_transform "${i:_strlen_pkg}" - done -} - -rpm_transform(){ - # backslashes should be processed first - # The doc guy seems to forgot the spaces. - # If a line like a\ file\ with\ spaces works in RPM, then this is correct. - local p="$1" j badchar=(\\ \" \' \| \* \? . ' ') # Wait, why literal dots? - for j in "${badchar[@]}"; do p="${p//'$j'/\\$j}"; done - # RPM guys, again, forgot the % stuffs. - echo "\"${p//\%/%%}\"" -} - -# RPM spec generation. -cat > abspec << _ab_rpm_endspec -# Generated automatically by autobuild on $(LANG=C date) -# This is made to ask rpm to pack from built binary. -Name: $PKGNAME -Version: ${PKGVER//-/_} -Release: $PKGREL -$(rpmopttag Epoch "$PKGEPOCH") -Summary: $PKGDES - -Group: $(sed -f "$AB/pm/rpm/rpm-sec" <<< "$PKGSEC") -License: $(abcommaprint "${PKGLICENSE[@]:-Unknown}") -URL: Unknown -$(rpmreqprov) -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -$(VER_NONE=0 rpmopttag Requires $PKGDEP) -$(rpmopttag Conflicts $PKGCONFL) -$(rpmopttag Obsoletes $PKGREP) -$(rpmopttag Provides $PKGPROV $PKGPROV_RPM) -$(rpmopttag_extraprovide) -$(rpmopttag Suggests $PKGSUG) - -%description -$PKGDES - -%prep -true - -%build -true - -%install -rm -rf "\$RPM_BUILD_ROOT" -cp -ra $PKGDIR "\$RPM_BUILD_ROOT" - -%clean -rm -rf "$RPM_BUILD_ROOT" - -$(rpmscripts) - -%files -$(rpmfiles) -_ab_rpm_endspec - -rpmbuild --target "$rpm_arch_host" -bb abspec || aberr "RPM PACKING FAILED." -if [ -f autobuild/post-rpm ] ; then - . autobuild/post-rpm -fi -# eval unset $_ab_pm diff --git a/pm/rpm/rpm-sec b/pm/rpm/rpm-sec deleted file mode 100644 index b6c0304c..00000000 --- a/pm/rpm/rpm-sec +++ /dev/null @@ -1,51 +0,0 @@ -s@^libs$@System Environment/Libraries@g; -s@^utils$@System Environment/Base@g; -s@^devel$@Development/Tools@g; -s@^tex$@Applications/Publishing@g; -s@^perl$@Development/Perl@g; -s@^editors$@Applications/Editors@g; -s@^cli-mono$@Development/Languages@g; -s@^admin$@Applications/System@g; -s@^comm$@Applications/Communications@g; -s@^database$@Applications/Databases@g; -s@^debug$@Development/Debug@g; -s@^doc$@Applications/Documentation@g; -s@^electronics$@Applications/Eletronics@g; -s@^embedded$@Applications/Embedded@g; -s@^fonts$@System/X11/Fonts@g; -s@^games$@Amusements/Games@g; -s@^gnome$@Desktop/GNOME@g; -s@^gnu-r$@Development/Languages@g; -s@^gnustep$@Desktop/GNUstep@g; -s@^graphics$@Productivity/Graphics@g; -s@^haskell$@Development/Languages@g; -s@^hamradio$@Applications/Communications@g; -s@^httpd$@System Environment/Servers@g; -s@^interpreters$@Development/Interpreters@g; -s@^java$@Development/Java@g; -s@^kde$@Desktop/KDE@g; -s@^kernel$@System Environment/Kernel@g; -s@^libdevel$@Development/Libraries@g; -s@^lisp$@Development/Languages@g; -s@^localization$@Applications/Localization@g; -s@^mail$@System Environment/Base@g; -s@^math$@Amusements/Teaching/Mathematics@g; -s@^misc$@Applications/Misc@g; -s@^net$@Applications/Network@g; -s@^news$@Applications/News@g; -s@^ocaml$@Development/Languages@g; -s@^oldlibs$@System Environment/Old Libraries@g; -s@^otherosfs$@System Environment/Other@g; -s@^php$@Development/Languages@g; -s@^python$@Development/Python@g; -s@^ruby$@Development/Ruby@g; -s@^science$@Applications/Science@g; -s@^shells$@System Environment/Shells@g; -s@^sound$@Applications/Sound@g; -s@^text$@Applications/Text@g; -s@^vcs$@Development/VCS@g; -s@^video$@Applications/Video@g; -s@^web$@Applcations/Web@g; -s@^x11$@System Environment/X11@g; -s@^xfce$@Desktop/Xfce@g; -s@^zope$@System/Zope@g;