Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

424 Commits   2 Branches   1 Tag
Index: X11/X.org/lib/libXfont2/2.0.6/Makefile
===================================================================
--- X11/X.org/lib/libXfont2/2.0.6/Makefile	(revision 28)
+++ X11/X.org/lib/libXfont2/2.0.6/Makefile	(revision 29)
@@ -52,7 +52,7 @@
 include ../../../../../build-system/constants.mk
 
 
-SOURCE_REQUIRES    = sources/X.org/lib/libXfont
+SOURCE_REQUIRES    = sources/X.org/lib/libXfont2
 
 REQUIRES           = libs/freetype/2.11.1
 REQUIRES          += libs/libbsd/0.11.4
Index: X11/X.org/lib/libXfont2/2.0.6-ppc32/Makefile
===================================================================
--- X11/X.org/lib/libXfont2/2.0.6-ppc32/Makefile	(revision 28)
+++ X11/X.org/lib/libXfont2/2.0.6-ppc32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 include ../../../../../build-system/constants.mk
 
 
-SOURCE_REQUIRES    = sources/X.org/lib/libXfont
+SOURCE_REQUIRES    = sources/X.org/lib/libXfont2
 
 REQUIRES           = X11/X.org/lib/libXfont2/2.0.6
 REQUIRES          += libs/freetype/2.11.1-ppc32
Index: X11/X.org/lib/libXfont2/2.0.6-x86_32/Makefile
===================================================================
--- X11/X.org/lib/libXfont2/2.0.6-x86_32/Makefile	(revision 28)
+++ X11/X.org/lib/libXfont2/2.0.6-x86_32/Makefile	(revision 29)
@@ -10,7 +10,7 @@
 include ../../../../../build-system/constants.mk
 
 
-SOURCE_REQUIRES    = sources/X.org/lib/libXfont
+SOURCE_REQUIRES    = sources/X.org/lib/libXfont2
 
 REQUIRES           = X11/X.org/lib/libXfont2/2.0.6
 REQUIRES          += libs/freetype/2.11.1-x86_32
Index: X11/app/cups/2.4.2/Makefile
===================================================================
--- X11/app/cups/2.4.2/Makefile	(revision 28)
+++ X11/app/cups/2.4.2/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/a/cups
 
-REQUIRES           = app/acl/2.2.53
+REQUIRES           = app/acl/2.3.1
 REQUIRES          += secure/pam/1.5.1
 REQUIRES          += app/dbus/1.13.18
 REQUIRES          += net/gnutls/3.7.1
Index: X11/app/cups/2.4.2-ppc32/Makefile
===================================================================
--- X11/app/cups/2.4.2-ppc32/Makefile	(revision 28)
+++ X11/app/cups/2.4.2-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/a/cups
 
 REQUIRES           = X11/app/cups/2.4.2
-REQUIRES          += app/acl/2.2.53-ppc32
+REQUIRES          += app/acl/2.3.1-ppc32
 REQUIRES          += secure/pam/1.5.1-ppc32
 REQUIRES          += app/dbus/1.13.18-ppc32
 REQUIRES          += net/gnutls/3.7.1-ppc32
Index: X11/app/cups/2.4.2-x86_32/Makefile
===================================================================
--- X11/app/cups/2.4.2-x86_32/Makefile	(revision 28)
+++ X11/app/cups/2.4.2-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/a/cups
 
 REQUIRES           = X11/app/cups/2.4.2
-REQUIRES          += app/acl/2.2.53-x86_32
+REQUIRES          += app/acl/2.3.1-x86_32
 REQUIRES          += secure/pam/1.5.1-x86_32
 REQUIRES          += app/dbus/1.13.18-x86_32
 REQUIRES          += net/gnutls/3.7.1-x86_32
Index: X11/app/ffmpeg/4.4.4/Makefile
===================================================================
--- X11/app/ffmpeg/4.4.4/Makefile	(nonexistent)
+++ X11/app/ffmpeg/4.4.4/Makefile	(revision 29)
@@ -0,0 +1,476 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/ffmpeg
+
+REQUIRES           = media/alsa-lib/1.2.8
+REQUIRES          += X11/libs/sdl/sdl2/2.26.3
+REQUIRES          += X11/libs/libva/2.17.0
+REQUIRES          += X11/libs/libvdpau/1.5
+REQUIRES          += media/jack2/1.9.21
+REQUIRES          += libs/gmp/6.2.1
+REQUIRES          += net/gnutls/3.7.1
+REQUIRES          += libs/libtasn1/4.16.0
+REQUIRES          += media/ladspa/1.17
+REQUIRES          += media/libass/0.17.0
+REQUIRES          += media/libbluray/1.3.4
+REQUIRES          += media/celt/0.11.3
+REQUIRES          += media/faac/1.30
+REQUIRES          += media/fdk-aac/2.0.2
+REQUIRES          += app/fontconfig/2.13.95
+REQUIRES          += libs/freetype/2.11.1
+REQUIRES          += libs/fribidi/1.0.12
+REQUIRES          += media/gsm/1.0.22
+REQUIRES          += media/libdc1394/2.2.6
+REQUIRES          += libs/libiec61883/1.2.0
+REQUIRES          += media/libmodplug/0.8.9.0
+REQUIRES          += media/lame/3.100
+REQUIRES          += media/opencore-amr/0.1.6
+REQUIRES          += media/openh264/2.3.1
+REQUIRES          += media/openjpeg2/2.5.0
+REQUIRES          += media/opus/1.3.1
+REQUIRES          += X11/media/pulseaudio/16.1
+REQUIRES          += media/rtmpdump/2.4.1
+REQUIRES          += media/libsoxr/0.1.3
+REQUIRES          += media/speex/1.2.1
+REQUIRES          += libs/libssh/0.9.5
+REQUIRES          += media/libtheora/1.1.1
+REQUIRES          += media/twolame/0.4.0
+REQUIRES          += X11/media/v4l-utils/1.24.1
+REQUIRES          += media/libvidstab/1.1.0
+REQUIRES          += media/vo-amrwbenc/0.1.3
+REQUIRES          += media/libvorbis/1.3.7
+REQUIRES          += media/libvpx/1.12.0
+REQUIRES          += libs/libwebp/1.2.2
+REQUIRES          += media/libx264/0.164.20221217
+REQUIRES          += media/x265/3.5
+REQUIRES          += media/xvidcore/1.3.7
+REQUIRES          += libs/libzmq/4.3.4
+REQUIRES          += X11/X.org/xcb/libxcb/1.15
+REQUIRES          += X11/libs/libdrm/2.4.114
+REQUIRES          += X11/libs/librsvg/2.55.1
+REQUIRES          += app/bzip2/1.0.8
+
+REQUIRES          += X11/libs/opengl-collection
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.4.4
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/ffmpeg/ffmpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/ffmpeg-$(version)
+src_dir_name       = ffmpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xapp
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FFMPEG_PKG_NAME                = ffmpeg
+FFMPEG_PKG_VERSION             = 4.4.4
+FFMPEG_PKG_ARCH                = $(PKGARCH)
+FFMPEG_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FFMPEG_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FFMPEG_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+FFMPEG_PKG_SHORT_DESCRIPTION   = FFmpeg collection
+FFMPEG_PKG_URL                 = $(BUG_URL)
+FFMPEG_PKG_LICENSE             = LGPLv2.1
+FFMPEG_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FFMPEG_PKG_NAME)-pkg-description
+FFMPEG_PKG_DESCRIPTION_FILE_IN = $(FFMPEG_PKG_NAME)-pkg-description.in
+FFMPEG_PKG_INSTALL_SCRIPT      = $(FFMPEG_PKG_NAME)-pkg-install.sh
+
+FFMPEG_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FFMPEG_PKG_NAME)-package
+
+pkg_basename     = $(FFMPEG_PKG_NAME)-$(FFMPEG_PKG_VERSION)-$(FFMPEG_PKG_ARCH)-$(FFMPEG_PKG_DISTRO_NAME)-$(FFMPEG_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(FFMPEG_PKG)
+
+
+ENABLE_X86_YASM = no
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+#
+# NOTE: use generic CPU to avoid FFmpeg's desisions about CPU
+#
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
+                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
+                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
+                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+ARCH = arm
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
+                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_S9XX_GLIBC)   \
+                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
+ARCH = aarch64
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
+ARCH = mips
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+ARCH = ppc64
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+ARCH = ppc64
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
+ARCH = riscv64
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
+ARCH = x86
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+ARCH = x86_64
+endif
+
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin
+
+extra_configure_switches += --arch=$(ARCH)
+extra_configure_switches += --enable-cross-compile
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) \
+                             $(TOOLCHAIN_I686_GLIBC) \
+                             $(TOOLCHAIN_X86_64_GLIBC)),)
+ifneq ($(ENABLE_X86_YASM),yes)
+extra_configure_switches += --disable-asm
+endif
+endif
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
+extra_configure_switches += --disable-mipsdsp
+extra_configure_switches += --disable-mipsdspr2
+extra_configure_switches += --disable-asm
+endif
+
+extra_configure_switches += --target-os=linux
+extra_configure_switches += --nm='$(CROSS_PREFIX)nm -g'
+extra_configure_switches += --ar='$(CROSS_PREFIX)ar'
+extra_configure_switches += --as='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --ranlib='$(CROSS_PREFIX)ranlib'
+extra_configure_switches += --strip='$(CROSS_PREFIX)strip'
+extra_configure_switches += --x86asmexe=/usr/bin/yasm
+
+extra_configure_switches += --cc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --cxx='$(CROSS_PREFIX)g++'
+extra_configure_switches += --objcc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --dep-cc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --ld='$(CROSS_PREFIX)gcc'
+
+
+extra_configure_switches += --extra-cflags='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-cxxflags='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-objcflags='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-ldflags='--sysroot=$(TARGET_DEST_DIR) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+extra_configure_switches += --extra-ldexeflags='--sysroot=$(TARGET_DEST_DIR) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -Wl,-rpath,$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+extra_configure_switches += --extra-ldsoflags='--sysroot=$(TARGET_DEST_DIR) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -Wl,-rpath,$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)'
+extra_configure_switches += --disable-rpath
+
+
+extra_configure_switches += --host-cc=gcc
+extra_configure_switches += --host-cflags='-I/usr/include'
+extra_configure_switches += --host-cppflags='-I/usr/include'
+extra_configure_switches += --host-ld=gcc
+extra_configure_switches += --host-ldflags='-L/usr/lib$(BUILD_MULTILIB_SUFFIX)'
+extra_configure_switches += --host-os=linux
+
+extra_configure_switches += --enable-pic
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static
+else
+extra_configure_switches += --disable-static
+endif
+extra_configure_switches += --enable-shared
+
+
+#
+# Configure options:
+#
+extra_configure_switches += --enable-gpl
+extra_configure_switches += --enable-nonfree
+extra_configure_switches += --enable-version3
+extra_configure_switches += --disable-debug
+extra_configure_switches += --disable-stripping
+
+
+#
+# Component options:
+#
+extra_configure_switches += --enable-avresample
+
+#
+# External library support:
+#
+extra_configure_switches += --enable-gmp
+extra_configure_switches += --enable-gnutls
+extra_configure_switches += --enable-libdrm
+extra_configure_switches += --enable-ladspa
+extra_configure_switches += --enable-libass
+extra_configure_switches += --enable-libbluray
+extra_configure_switches += --enable-libcelt
+extra_configure_switches += --enable-libfdk-aac
+extra_configure_switches += --enable-libfontconfig
+extra_configure_switches += --enable-libfreetype
+extra_configure_switches += --enable-libfribidi
+extra_configure_switches += --enable-libjack
+extra_configure_switches += --enable-librsvg
+extra_configure_switches += --enable-libgsm
+extra_configure_switches += --enable-libiec61883
+extra_configure_switches += --enable-libdc1394
+extra_configure_switches += --enable-libmodplug
+extra_configure_switches += --enable-libmp3lame
+extra_configure_switches += --enable-libopencore-amrnb
+extra_configure_switches += --enable-libopencore-amrwb
+extra_configure_switches += --enable-libopenh264
+extra_configure_switches += --enable-libopenjpeg
+extra_configure_switches += --enable-libopus
+extra_configure_switches += --enable-libpulse
+extra_configure_switches += --enable-librtmp
+extra_configure_switches += --enable-libsoxr
+extra_configure_switches += --enable-libspeex
+extra_configure_switches += --enable-libssh
+extra_configure_switches += --enable-libtheora
+extra_configure_switches += --enable-libtwolame
+extra_configure_switches += --enable-libv4l2
+extra_configure_switches += --enable-libvidstab
+extra_configure_switches += --enable-libvo-amrwbenc
+extra_configure_switches += --enable-libvorbis
+extra_configure_switches += --enable-libvpx
+extra_configure_switches += --enable-libwebp
+extra_configure_switches += --enable-libx264
+extra_configure_switches += --enable-libx265
+extra_configure_switches += --enable-libxcb
+extra_configure_switches += --enable-libxcb-shm
+extra_configure_switches += --enable-libxcb-xfixes
+extra_configure_switches += --enable-libxcb-shape
+extra_configure_switches += --enable-libxvid
+extra_configure_switches += --enable-libzmq
+extra_configure_switches += --enable-opengl
+
+
+CPPFLAGS += -Wno-deprecated-declarations -Wno-unused-but-set-variable
+CPPFLAGS += -Wno-unused-result -Wno-strict-overflow -Wno-discarded-qualifiers
+CPPFLAGS += -Wno-array-bounds -Wno-unused-function -Wno-undef -Wno-format-truncation
+CPPFLAGS += -Wno-stringop-truncation -Wno-stringop-overflow -Wno-stringop-overread
+CPPFLAGS += -Wno-int-in-bool-context -Wno-array-parameter -Wno-misleading-indentation
+CPPFLAGS += -Wno-dangling-pointer -Wno-restrict -Wno-declaration-after-statement
+CPPFLAGS += -Wno-incompatible-pointer-types -Wno-deprecated -Wno-unused-variable
+
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC)   $(TOOLCHAIN_POWER9_GLIBC) \
+                             $(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+CPPFLAGS += -std=c89
+endif
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FFMPEG_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(FFMPEG_PKG)/usr/share/man ]; then \
+	  ( cd $(FFMPEG_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(FFMPEG_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING* $(SRC_DIR)/LICENSE.md \
+	       $(FFMPEG_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(FFMPEG_PKG)/usr/share/doc/$(src_dir_name)/html
+	@( cd $(FFMPEG_PKG)/usr/share/doc/$(src_dir_name) ; \
+	   mv *.html html ; \
+	 )
+	@( cd $(SRC_DIR)/doc ; \
+	   cp -a bootstrap.min.css style.min.css default.css \
+	         $(FFMPEG_PKG)/usr/share/doc/$(src_dir_name)/html ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING* CREDITS INSTALL.md LICENSE.md MAINTAINERS README.md RELEASE* VERSION \
+	         $(FFMPEG_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(FFMPEG_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove target path from target pkg-config *.pc files =======
+	@( cd $(FFMPEG_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libavcodec.pc libavdevice.pc libavfilter.pc     \
+	                                    libavformat.pc libavresample.pc libavutil.pc    \
+	                                    libpostproc.pc libswresample.pc libswscale.pc ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FFMPEG_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libavcodec.pc libavdevice.pc libavfilter.pc     \
+	                                            libavformat.pc libavresample.pc libavutil.pc    \
+	                                            libpostproc.pc libswresample.pc libswscale.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FFMPEG_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(FFMPEG_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FFMPEG_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FFMPEG_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FFMPEG_PKG_DESCRIPTION_FILE): $(FFMPEG_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FFMPEG_PKG_DESCRIPTION_FILE) $(FFMPEG_PKG_INSTALL_SCRIPT)
+	@cp $(FFMPEG_PKG_DESCRIPTION_FILE) $(FFMPEG_PKG)/.DESCRIPTION
+	@cp $(FFMPEG_PKG_INSTALL_SCRIPT) $(FFMPEG_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FFMPEG_PKG)/.REQUIRES
+	@echo "pkgname=$(FFMPEG_PKG_NAME)"                            >  $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FFMPEG_PKG_VERSION)"                          >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "arch=$(FFMPEG_PKG_ARCH)"                               >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FFMPEG_PKG_DISTRO_NAME)"                  >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FFMPEG_PKG_DISTRO_VERSION)"                >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "group=$(FFMPEG_PKG_GROUP)"                             >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FFMPEG_PKG_SHORT_DESCRIPTION)\"" >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "url=$(FFMPEG_PKG_URL)"                                 >> $(FFMPEG_PKG)/.PKGINFO ; \
+	 echo "license=$(FFMPEG_PKG_LICENSE)"                         >> $(FFMPEG_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(FFMPEG_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: X11/app/ffmpeg/4.4.4/PATCHES
===================================================================
Index: X11/app/ffmpeg/4.4.4/ffmpeg-pkg-description.in
===================================================================
--- X11/app/ffmpeg/4.4.4/ffmpeg-pkg-description.in	(nonexistent)
+++ X11/app/ffmpeg/4.4.4/ffmpeg-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler------------------------------------------------------|
+ffmpeg: ffmpeg @VERSION@ (FFmpeg collection)
+ffmpeg:
+ffmpeg: FFmpeg is a collection of libraries and tools to process
+ffmpeg: multimedia content such as audio, video, subtitles and
+ffmpeg: related metadata.
+ffmpeg:
+ffmpeg:
+ffmpeg:
+ffmpeg: Homepage: http://ffmpeg.org
+ffmpeg:
+ffmpeg:
Index: X11/app/ffmpeg/4.4.4/ffmpeg-pkg-install.sh
===================================================================
--- X11/app/ffmpeg/4.4.4/ffmpeg-pkg-install.sh	(nonexistent)
+++ X11/app/ffmpeg/4.4.4/ffmpeg-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: X11/app/ffmpeg/4.4.4/ffmpeg-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: X11/app/ffmpeg/4.4.4
===================================================================
--- X11/app/ffmpeg/4.4.4	(nonexistent)
+++ X11/app/ffmpeg/4.4.4	(revision 29)

Property changes on: X11/app/ffmpeg/4.4.4
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: X11/app/ffmpeg/4.4.4-ppc32/Makefile
===================================================================
--- X11/app/ffmpeg/4.4.4-ppc32/Makefile	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-ppc32/Makefile	(revision 29)
@@ -0,0 +1,347 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/ffmpeg
+
+REQUIRES           = X11/app/ffmpeg/4.4.4
+REQUIRES          += media/alsa-lib/1.2.8-ppc32
+REQUIRES          += X11/libs/sdl/sdl2/2.26.3-ppc32
+REQUIRES          += X11/libs/libva/2.17.0-ppc32
+REQUIRES          += X11/libs/libvdpau/1.5-ppc32
+REQUIRES          += media/jack2/1.9.21-ppc32
+REQUIRES          += libs/gmp/6.2.1-ppc32
+REQUIRES          += net/gnutls/3.7.1-ppc32
+REQUIRES          += libs/libtasn1/4.16.0-ppc32
+REQUIRES          += media/ladspa/1.17-ppc32
+REQUIRES          += media/libass/0.17.0-ppc32
+REQUIRES          += media/libbluray/1.3.4-ppc32
+REQUIRES          += media/celt/0.11.3-ppc32
+REQUIRES          += media/faac/1.30-ppc32
+REQUIRES          += media/fdk-aac/2.0.2-ppc32
+REQUIRES          += app/fontconfig/2.13.95-ppc32
+REQUIRES          += libs/freetype/2.11.1-ppc32
+REQUIRES          += libs/fribidi/1.0.12-ppc32
+REQUIRES          += media/gsm/1.0.22-ppc32
+REQUIRES          += media/libdc1394/2.2.6-ppc32
+REQUIRES          += libs/libiec61883/1.2.0-ppc32
+REQUIRES          += media/libmodplug/0.8.9.0-ppc32
+REQUIRES          += media/lame/3.100-ppc32
+REQUIRES          += media/opencore-amr/0.1.6-ppc32
+REQUIRES          += media/openh264/2.3.1-ppc32
+REQUIRES          += media/openjpeg2/2.5.0-ppc32
+REQUIRES          += media/opus/1.3.1-ppc32
+REQUIRES          += X11/media/pulseaudio/16.1-ppc32
+REQUIRES          += media/rtmpdump/2.4.1-ppc32
+REQUIRES          += media/libsoxr/0.1.3-ppc32
+REQUIRES          += media/speex/1.2.1-ppc32
+REQUIRES          += libs/libssh/0.9.5-ppc32
+REQUIRES          += media/libtheora/1.1.1-ppc32
+REQUIRES          += media/twolame/0.4.0-ppc32
+REQUIRES          += X11/media/v4l-utils/1.24.1-ppc32
+REQUIRES          += media/libvidstab/1.1.0-ppc32
+REQUIRES          += media/vo-amrwbenc/0.1.3-ppc32
+REQUIRES          += media/libvorbis/1.3.7-ppc32
+REQUIRES          += media/libvpx/1.12.0-ppc32
+REQUIRES          += libs/libwebp/1.2.2-ppc32
+REQUIRES          += media/libx264/0.164.20221217-ppc32
+REQUIRES          += media/x265/3.5-ppc32
+REQUIRES          += media/xvidcore/1.3.7-ppc32
+REQUIRES          += libs/libzmq/4.3.4-ppc32
+REQUIRES          += X11/X.org/xcb/libxcb/1.15-ppc32
+REQUIRES          += X11/libs/libdrm/2.4.114-ppc32
+REQUIRES          += X11/libs/librsvg/2.55.1-ppc32
+REQUIRES          += app/bzip2/1.0.8-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.4.4
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/ffmpeg/ffmpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/ffmpeg-$(version)
+src_dir_name       = ffmpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xapp
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FFMPEG_32_PKG_NAME                = ffmpeg-x32
+FFMPEG_32_PKG_VERSION             = 4.4.4
+FFMPEG_32_PKG_ARCH                = $(PKGARCH)
+FFMPEG_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FFMPEG_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FFMPEG_32_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+FFMPEG_32_PKG_SHORT_DESCRIPTION   = FFmpeg collection
+FFMPEG_32_PKG_URL                 = $(BUG_URL)
+FFMPEG_32_PKG_LICENSE             = LGPLv2.1
+FFMPEG_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FFMPEG_32_PKG_NAME)-pkg-description
+FFMPEG_32_PKG_DESCRIPTION_FILE_IN = $(FFMPEG_32_PKG_NAME)-pkg-description.in
+FFMPEG_32_PKG_INSTALL_SCRIPT      = $(FFMPEG_32_PKG_NAME)-pkg-install.sh
+
+FFMPEG_32_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FFMPEG_32_PKG_NAME)-package
+
+pkg_basename     = $(FFMPEG_32_PKG_NAME)-$(FFMPEG_32_PKG_VERSION)-$(FFMPEG_32_PKG_ARCH)-$(FFMPEG_32_PKG_DISTRO_NAME)-$(FFMPEG_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(FFMPEG_32_PKG)
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+
+ARCH = ppc
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --arch=$(ARCH)
+extra_configure_switches += --enable-cross-compile
+
+extra_configure_switches += --target-os=linux
+extra_configure_switches += --nm='$(CROSS_PREFIX)nm -g'
+extra_configure_switches += --ar='$(CROSS_PREFIX)ar'
+extra_configure_switches += --as='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --ranlib='$(CROSS_PREFIX)ranlib'
+extra_configure_switches += --strip='$(CROSS_PREFIX)strip'
+extra_configure_switches += --x86asmexe=/usr/bin/yasm
+
+extra_configure_switches += --cc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --cxx='$(CROSS_PREFIX)g++'
+extra_configure_switches += --objcc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --dep-cc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --ld='$(CROSS_PREFIX)gcc'
+
+
+extra_configure_switches += --extra-cflags='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-cxxflags='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-objcflags='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-ldflags='--sysroot=$(TARGET_DEST_DIR) -m32 -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)'
+extra_configure_switches += --extra-ldexeflags='--sysroot=$(TARGET_DEST_DIR) -m32 -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) -Wl,-rpath,$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)'
+extra_configure_switches += --extra-ldsoflags='--sysroot=$(TARGET_DEST_DIR) -m32 -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) -Wl,-rpath,$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)'
+extra_configure_switches += --disable-rpath
+
+
+extra_configure_switches += --host-cc=gcc
+extra_configure_switches += --host-cflags='-I/usr/include'
+extra_configure_switches += --host-cppflags='-I/usr/include'
+extra_configure_switches += --host-ld=gcc
+extra_configure_switches += --host-ldflags='-L/usr/lib$(BUILD_MULTILIB_SUFFIX)'
+extra_configure_switches += --host-os=linux
+
+extra_configure_switches += --enable-pic
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static
+else
+extra_configure_switches += --disable-static
+endif
+extra_configure_switches += --enable-shared
+
+
+#
+# Configure options:
+#
+extra_configure_switches += --enable-gpl
+extra_configure_switches += --enable-nonfree
+extra_configure_switches += --enable-version3
+extra_configure_switches += --disable-debug
+extra_configure_switches += --disable-stripping
+#
+# Component options:
+#
+extra_configure_switches += --enable-avresample
+
+#
+# External library support:
+#
+extra_configure_switches += --enable-gmp
+extra_configure_switches += --enable-gnutls
+extra_configure_switches += --enable-libdrm
+extra_configure_switches += --enable-ladspa
+extra_configure_switches += --enable-libass
+extra_configure_switches += --enable-libbluray
+extra_configure_switches += --enable-libcelt
+extra_configure_switches += --enable-libfdk-aac
+extra_configure_switches += --enable-libfontconfig
+extra_configure_switches += --enable-libfreetype
+extra_configure_switches += --enable-libfribidi
+extra_configure_switches += --enable-libjack
+extra_configure_switches += --enable-librsvg
+extra_configure_switches += --enable-libgsm
+extra_configure_switches += --enable-libiec61883
+extra_configure_switches += --enable-libmodplug
+extra_configure_switches += --enable-libmp3lame
+extra_configure_switches += --enable-libopencore-amrnb
+extra_configure_switches += --enable-libopencore-amrwb
+extra_configure_switches += --enable-libopenh264
+extra_configure_switches += --enable-libopenjpeg
+extra_configure_switches += --enable-libopus
+extra_configure_switches += --enable-libpulse
+extra_configure_switches += --enable-librtmp
+extra_configure_switches += --enable-libsoxr
+extra_configure_switches += --enable-libspeex
+extra_configure_switches += --enable-libssh
+extra_configure_switches += --enable-libtheora
+extra_configure_switches += --enable-libtwolame
+extra_configure_switches += --enable-libv4l2
+extra_configure_switches += --enable-libvidstab
+extra_configure_switches += --enable-libvo-amrwbenc
+extra_configure_switches += --enable-libvorbis
+extra_configure_switches += --enable-libvpx
+extra_configure_switches += --enable-libwebp
+extra_configure_switches += --enable-libx264
+extra_configure_switches += --enable-libx265
+extra_configure_switches += --enable-libxcb
+extra_configure_switches += --enable-libxcb-shm
+extra_configure_switches += --enable-libxcb-xfixes
+extra_configure_switches += --enable-libxcb-shape
+extra_configure_switches += --enable-libxvid
+extra_configure_switches += --enable-libzmq
+extra_configure_switches += --enable-opengl
+
+
+CPPFLAGS += -Wno-deprecated-declarations -Wno-unused-but-set-variable
+CPPFLAGS += -Wno-unused-result -Wno-strict-overflow -Wno-discarded-qualifiers
+CPPFLAGS += -Wno-array-bounds -Wno-unused-function -Wno-undef -Wno-format-truncation
+CPPFLAGS += -Wno-stringop-truncation -Wno-stringop-overflow -Wno-stringop-overread
+CPPFLAGS += -Wno-int-in-bool-context -Wno-array-parameter -Wno-misleading-indentation
+CPPFLAGS += -Wno-dangling-pointer -Wno-restrict -Wno-declaration-after-statement
+CPPFLAGS += -Wno-incompatible-pointer-types -Wno-deprecated -Wno-unused-variable
+
+
+CPPFLAGS += -std=c89
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FFMPEG_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(FFMPEG_32_PKG)/usr/include
+	@rm -rf $(FFMPEG_32_PKG)/usr/share
+	# ======= remove target path from target pkg-config *.pc files =======
+	@( cd $(FFMPEG_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libavcodec.pc libavdevice.pc libavfilter.pc     \
+	                                    libavformat.pc libavresample.pc libavutil.pc    \
+	                                    libpostproc.pc libswresample.pc libswscale.pc ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FFMPEG_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libavcodec.pc libavdevice.pc libavfilter.pc     \
+	                                            libavformat.pc libavresample.pc libavutil.pc    \
+	                                            libpostproc.pc libswresample.pc libswscale.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FFMPEG_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(FFMPEG_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FFMPEG_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FFMPEG_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FFMPEG_32_PKG_DESCRIPTION_FILE): $(FFMPEG_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FFMPEG_32_PKG_DESCRIPTION_FILE) $(FFMPEG_32_PKG_INSTALL_SCRIPT)
+	@cp $(FFMPEG_32_PKG_DESCRIPTION_FILE) $(FFMPEG_32_PKG)/.DESCRIPTION
+	@cp $(FFMPEG_32_PKG_INSTALL_SCRIPT) $(FFMPEG_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FFMPEG_32_PKG)/.REQUIRES
+	@echo "pkgname=$(FFMPEG_32_PKG_NAME)"                            >  $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FFMPEG_32_PKG_VERSION)"                          >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(FFMPEG_32_PKG_ARCH)"                               >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FFMPEG_32_PKG_DISTRO_NAME)"                  >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FFMPEG_32_PKG_DISTRO_VERSION)"                >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "group=$(FFMPEG_32_PKG_GROUP)"                             >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FFMPEG_32_PKG_SHORT_DESCRIPTION)\"" >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "url=$(FFMPEG_32_PKG_URL)"                                 >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "license=$(FFMPEG_32_PKG_LICENSE)"                         >> $(FFMPEG_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(FFMPEG_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: X11/app/ffmpeg/4.4.4-ppc32/PATCHES
===================================================================
Index: X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-description.in
===================================================================
--- X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-description.in	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+ffmpeg-x32: ffmpeg-x32 @VERSION@ (FFmpeg collection)
+ffmpeg-x32:
+ffmpeg-x32: FFmpeg is a collection of libraries and tools to process
+ffmpeg-x32: multimedia content such as audio, video, subtitles and
+ffmpeg-x32: related metadata.
+ffmpeg-x32:
+ffmpeg-x32:
+ffmpeg-x32:
+ffmpeg-x32: Homepage: http://ffmpeg.org
+ffmpeg-x32:
+ffmpeg-x32:
Index: X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-install.sh
===================================================================
--- X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-install.sh	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: X11/app/ffmpeg/4.4.4-ppc32/ffmpeg-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: X11/app/ffmpeg/4.4.4-ppc32
===================================================================
--- X11/app/ffmpeg/4.4.4-ppc32	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-ppc32	(revision 29)

Property changes on: X11/app/ffmpeg/4.4.4-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: X11/app/ffmpeg/4.4.4-x86_32/Makefile
===================================================================
--- X11/app/ffmpeg/4.4.4-x86_32/Makefile	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-x86_32/Makefile	(revision 29)
@@ -0,0 +1,350 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/ffmpeg
+
+REQUIRES           = X11/app/ffmpeg/4.4.4
+REQUIRES          += media/alsa-lib/1.2.8-x86_32
+REQUIRES          += X11/libs/sdl/sdl2/2.26.3-x86_32
+REQUIRES          += X11/libs/libva/2.17.0-x86_32
+REQUIRES          += X11/libs/libvdpau/1.5-x86_32
+REQUIRES          += media/jack2/1.9.21-x86_32
+REQUIRES          += libs/gmp/6.2.1-x86_32
+REQUIRES          += net/gnutls/3.7.1-x86_32
+REQUIRES          += libs/libtasn1/4.16.0-x86_32
+REQUIRES          += media/ladspa/1.17-x86_32
+REQUIRES          += media/libass/0.17.0-x86_32
+REQUIRES          += media/libbluray/1.3.4-x86_32
+REQUIRES          += media/celt/0.11.3-x86_32
+REQUIRES          += media/faac/1.30-x86_32
+REQUIRES          += media/fdk-aac/2.0.2-x86_32
+REQUIRES          += app/fontconfig/2.13.95-x86_32
+REQUIRES          += libs/freetype/2.11.1-x86_32
+REQUIRES          += libs/fribidi/1.0.12-x86_32
+REQUIRES          += media/gsm/1.0.22-x86_32
+REQUIRES          += media/libdc1394/2.2.6-x86_32
+REQUIRES          += libs/libiec61883/1.2.0-x86_32
+REQUIRES          += media/libmodplug/0.8.9.0-x86_32
+REQUIRES          += media/lame/3.100-x86_32
+REQUIRES          += media/opencore-amr/0.1.6-x86_32
+REQUIRES          += media/openh264/2.3.1-x86_32
+REQUIRES          += media/openjpeg2/2.5.0-x86_32
+REQUIRES          += media/opus/1.3.1-x86_32
+REQUIRES          += X11/media/pulseaudio/16.1-x86_32
+REQUIRES          += media/rtmpdump/2.4.1-x86_32
+REQUIRES          += media/libsoxr/0.1.3-x86_32
+REQUIRES          += media/speex/1.2.1-x86_32
+REQUIRES          += libs/libssh/0.9.5-x86_32
+REQUIRES          += media/libtheora/1.1.1-x86_32
+REQUIRES          += media/twolame/0.4.0-x86_32
+REQUIRES          += X11/media/v4l-utils/1.24.1-x86_32
+REQUIRES          += media/libvidstab/1.1.0-x86_32
+REQUIRES          += media/vo-amrwbenc/0.1.3-x86_32
+REQUIRES          += media/libvorbis/1.3.7-x86_32
+REQUIRES          += media/libvpx/1.12.0-x86_32
+REQUIRES          += libs/libwebp/1.2.2-x86_32
+REQUIRES          += media/libx264/0.164.20221217-x86_32
+REQUIRES          += media/x265/3.5-x86_32
+REQUIRES          += media/xvidcore/1.3.7-x86_32
+REQUIRES          += libs/libzmq/4.3.4-x86_32
+REQUIRES          += X11/X.org/xcb/libxcb/1.15-x86_32
+REQUIRES          += X11/libs/libdrm/2.4.114-x86_32
+REQUIRES          += X11/libs/librsvg/2.55.1-x86_32
+REQUIRES          += app/bzip2/1.0.8-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.4.4
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/m/ffmpeg/ffmpeg-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/ffmpeg-$(version)
+src_dir_name       = ffmpeg-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = xapp
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FFMPEG_32_PKG_NAME                = ffmpeg-x32
+FFMPEG_32_PKG_VERSION             = 4.4.4
+FFMPEG_32_PKG_ARCH                = $(PKGARCH)
+FFMPEG_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FFMPEG_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FFMPEG_32_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+FFMPEG_32_PKG_SHORT_DESCRIPTION   = FFmpeg collection
+FFMPEG_32_PKG_URL                 = $(BUG_URL)
+FFMPEG_32_PKG_LICENSE             = LGPLv2.1
+FFMPEG_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FFMPEG_32_PKG_NAME)-pkg-description
+FFMPEG_32_PKG_DESCRIPTION_FILE_IN = $(FFMPEG_32_PKG_NAME)-pkg-description.in
+FFMPEG_32_PKG_INSTALL_SCRIPT      = $(FFMPEG_32_PKG_NAME)-pkg-install.sh
+
+FFMPEG_32_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FFMPEG_32_PKG_NAME)-package
+
+pkg_basename     = $(FFMPEG_32_PKG_NAME)-$(FFMPEG_32_PKG_VERSION)-$(FFMPEG_32_PKG_ARCH)-$(FFMPEG_32_PKG_DISTRO_NAME)-$(FFMPEG_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(FFMPEG_32_PKG)
+
+
+ENABLE_X86_YASM = no
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+ARCH = x86
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --arch=$(ARCH)
+extra_configure_switches += --enable-cross-compile
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+ifneq ($(ENABLE_X86_YASM),yes)
+extra_configure_switches += --disable-asm
+endif
+endif
+
+extra_configure_switches += --target-os=linux
+extra_configure_switches += --nm='$(CROSS_PREFIX)nm -g'
+extra_configure_switches += --ar='$(CROSS_PREFIX)ar'
+extra_configure_switches += --as='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --ranlib='$(CROSS_PREFIX)ranlib'
+extra_configure_switches += --strip='$(CROSS_PREFIX)strip'
+extra_configure_switches += --x86asmexe=/usr/bin/yasm
+
+extra_configure_switches += --cc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --cxx='$(CROSS_PREFIX)g++'
+extra_configure_switches += --objcc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --dep-cc='$(CROSS_PREFIX)gcc'
+extra_configure_switches += --ld='$(CROSS_PREFIX)gcc'
+
+
+extra_configure_switches += --extra-cflags='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-cxxflags='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-objcflags='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(WARN_FLAGS)'
+extra_configure_switches += --extra-ldflags='--sysroot=$(TARGET_DEST_DIR) -m32 -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+extra_configure_switches += --extra-ldexeflags='--sysroot=$(TARGET_DEST_DIR) -m32 -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -Wl,-rpath,$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+extra_configure_switches += --extra-ldsoflags='--sysroot=$(TARGET_DEST_DIR) -m32 -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) -Wl,-rpath,$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+extra_configure_switches += --disable-rpath
+
+
+extra_configure_switches += --host-cc=gcc
+extra_configure_switches += --host-cflags='-I/usr/include'
+extra_configure_switches += --host-cppflags='-I/usr/include'
+extra_configure_switches += --host-ld=gcc
+extra_configure_switches += --host-ldflags='-L/usr/lib$(BUILD_MULTILIB_SUFFIX)'
+extra_configure_switches += --host-os=linux
+
+extra_configure_switches += --enable-pic
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static
+else
+extra_configure_switches += --disable-static
+endif
+extra_configure_switches += --enable-shared
+
+
+#
+# Configure options:
+#
+extra_configure_switches += --enable-gpl
+extra_configure_switches += --enable-nonfree
+extra_configure_switches += --enable-version3
+extra_configure_switches += --disable-debug
+extra_configure_switches += --disable-stripping
+#
+# Component options:
+#
+extra_configure_switches += --enable-avresample
+
+#
+# External library support:
+#
+extra_configure_switches += --enable-gmp
+extra_configure_switches += --enable-gnutls
+extra_configure_switches += --enable-libdrm
+extra_configure_switches += --enable-ladspa
+extra_configure_switches += --enable-libass
+extra_configure_switches += --enable-libbluray
+extra_configure_switches += --enable-libcelt
+extra_configure_switches += --enable-libfdk-aac
+extra_configure_switches += --enable-libfontconfig
+extra_configure_switches += --enable-libfreetype
+extra_configure_switches += --enable-libfribidi
+extra_configure_switches += --enable-libjack
+extra_configure_switches += --enable-librsvg
+extra_configure_switches += --enable-libgsm
+extra_configure_switches += --enable-libiec61883
+extra_configure_switches += --enable-libmodplug
+extra_configure_switches += --enable-libmp3lame
+extra_configure_switches += --enable-libopencore-amrnb
+extra_configure_switches += --enable-libopencore-amrwb
+extra_configure_switches += --enable-libopenh264
+extra_configure_switches += --enable-libopenjpeg
+extra_configure_switches += --enable-libopus
+extra_configure_switches += --enable-libpulse
+extra_configure_switches += --enable-librtmp
+extra_configure_switches += --enable-libsoxr
+extra_configure_switches += --enable-libspeex
+extra_configure_switches += --enable-libssh
+extra_configure_switches += --enable-libtheora
+extra_configure_switches += --enable-libtwolame
+extra_configure_switches += --enable-libv4l2
+extra_configure_switches += --enable-libvidstab
+extra_configure_switches += --enable-libvo-amrwbenc
+extra_configure_switches += --enable-libvorbis
+extra_configure_switches += --enable-libvpx
+extra_configure_switches += --enable-libwebp
+extra_configure_switches += --enable-libx264
+extra_configure_switches += --enable-libx265
+extra_configure_switches += --enable-libxcb
+extra_configure_switches += --enable-libxcb-shm
+extra_configure_switches += --enable-libxcb-xfixes
+extra_configure_switches += --enable-libxcb-shape
+extra_configure_switches += --enable-libxvid
+extra_configure_switches += --enable-libzmq
+extra_configure_switches += --enable-opengl
+
+
+CPPFLAGS += -Wno-deprecated-declarations -Wno-unused-but-set-variable
+CPPFLAGS += -Wno-unused-result -Wno-strict-overflow -Wno-discarded-qualifiers
+CPPFLAGS += -Wno-array-bounds -Wno-unused-function -Wno-undef -Wno-format-truncation
+CPPFLAGS += -Wno-stringop-truncation -Wno-stringop-overflow -Wno-stringop-overread
+CPPFLAGS += -Wno-int-in-bool-context -Wno-array-parameter -Wno-misleading-indentation
+CPPFLAGS += -Wno-dangling-pointer -Wno-restrict -Wno-declaration-after-statement
+CPPFLAGS += -Wno-incompatible-pointer-types -Wno-deprecated -Wno-unused-variable
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FFMPEG_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(FFMPEG_32_PKG)/usr/include
+	@rm -rf $(FFMPEG_32_PKG)/usr/share
+	# ======= remove target path from target pkg-config *.pc files =======
+	@( cd $(FFMPEG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libavcodec.pc libavdevice.pc libavfilter.pc     \
+	                                    libavformat.pc libavresample.pc libavutil.pc    \
+	                                    libpostproc.pc libswresample.pc libswscale.pc ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FFMPEG_32_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libavcodec.pc libavdevice.pc libavfilter.pc     \
+	                                            libavformat.pc libavresample.pc libavutil.pc    \
+	                                            libpostproc.pc libswresample.pc libswscale.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FFMPEG_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(FFMPEG_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(FFMPEG_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FFMPEG_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FFMPEG_32_PKG_DESCRIPTION_FILE): $(FFMPEG_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FFMPEG_32_PKG_DESCRIPTION_FILE) $(FFMPEG_32_PKG_INSTALL_SCRIPT)
+	@cp $(FFMPEG_32_PKG_DESCRIPTION_FILE) $(FFMPEG_32_PKG)/.DESCRIPTION
+	@cp $(FFMPEG_32_PKG_INSTALL_SCRIPT) $(FFMPEG_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FFMPEG_32_PKG)/.REQUIRES
+	@echo "pkgname=$(FFMPEG_32_PKG_NAME)"                            >  $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FFMPEG_32_PKG_VERSION)"                          >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(FFMPEG_32_PKG_ARCH)"                               >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FFMPEG_32_PKG_DISTRO_NAME)"                  >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FFMPEG_32_PKG_DISTRO_VERSION)"                >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "group=$(FFMPEG_32_PKG_GROUP)"                             >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FFMPEG_32_PKG_SHORT_DESCRIPTION)\"" >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "url=$(FFMPEG_32_PKG_URL)"                                 >> $(FFMPEG_32_PKG)/.PKGINFO ; \
+	 echo "license=$(FFMPEG_32_PKG_LICENSE)"                         >> $(FFMPEG_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(FFMPEG_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: X11/app/ffmpeg/4.4.4-x86_32/PATCHES
===================================================================
Index: X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-description.in
===================================================================
--- X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-description.in	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+ffmpeg-x32: ffmpeg-x32 @VERSION@ (FFmpeg collection)
+ffmpeg-x32:
+ffmpeg-x32: FFmpeg is a collection of libraries and tools to process
+ffmpeg-x32: multimedia content such as audio, video, subtitles and
+ffmpeg-x32: related metadata.
+ffmpeg-x32:
+ffmpeg-x32:
+ffmpeg-x32:
+ffmpeg-x32: Homepage: http://ffmpeg.org
+ffmpeg-x32:
+ffmpeg-x32:
Index: X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-install.sh
===================================================================
--- X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-install.sh	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: X11/app/ffmpeg/4.4.4-x86_32/ffmpeg-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: X11/app/ffmpeg/4.4.4-x86_32
===================================================================
--- X11/app/ffmpeg/4.4.4-x86_32	(nonexistent)
+++ X11/app/ffmpeg/4.4.4-x86_32	(revision 29)

Property changes on: X11/app/ffmpeg/4.4.4-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: X11/libs/adwaita-icon-theme/43/Makefile
===================================================================
--- X11/libs/adwaita-icon-theme/43/Makefile	(revision 28)
+++ X11/libs/adwaita-icon-theme/43/Makefile	(revision 29)
@@ -129,7 +129,6 @@
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
-	@( cd $(SRC_DIR) ; NOCONFIGURE=yes ./autogen.sh )
 	@touch $@
 
 $(build_target): $(src_done)
Index: X11/libs/harfbuzz/3.3.1/Makefile
===================================================================
--- X11/libs/harfbuzz/3.3.1/Makefile	(revision 28)
+++ X11/libs/harfbuzz/3.3.1/Makefile	(revision 29)
@@ -57,7 +57,7 @@
 REQUIRES           = libs/freetype/2.11.1
 REQUIRES          += libs/graphite2/1.3.14
 REQUIRES          += libs/glib2/2.76.0
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += X11/libs/cairo/1.17.8
 
 # ======= __END_OF_REQUIRES__ =======
Index: X11/libs/harfbuzz/3.3.1-ppc32/Makefile
===================================================================
--- X11/libs/harfbuzz/3.3.1-ppc32/Makefile	(revision 28)
+++ X11/libs/harfbuzz/3.3.1-ppc32/Makefile	(revision 29)
@@ -19,7 +19,7 @@
 REQUIRES          += libs/freetype/2.11.1-ppc32
 REQUIRES          += libs/graphite2/1.3.14-ppc32
 REQUIRES          += libs/glib2/2.76.0-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += X11/libs/cairo/1.17.8-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
Index: X11/libs/harfbuzz/3.3.1-x86_32/Makefile
===================================================================
--- X11/libs/harfbuzz/3.3.1-x86_32/Makefile	(revision 28)
+++ X11/libs/harfbuzz/3.3.1-x86_32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 REQUIRES          += libs/freetype/2.11.1-x86_32
 REQUIRES          += libs/graphite2/1.3.14-x86_32
 REQUIRES          += libs/glib2/2.76.0-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += X11/libs/cairo/1.17.8-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
Index: X11/libs/libglvnd/1.6.0/Makefile
===================================================================
--- X11/libs/libglvnd/1.6.0/Makefile	(revision 28)
+++ X11/libs/libglvnd/1.6.0/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/x/libglvnd
 
-REQUIRES           = X11/X.org/lib/libX11/1.8.3
+REQUIRES           = X11/X.org/lib/libXext/1.3.5
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: X11/libs/libglvnd/1.6.0-ppc32/Makefile
===================================================================
--- X11/libs/libglvnd/1.6.0-ppc32/Makefile	(revision 28)
+++ X11/libs/libglvnd/1.6.0-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/x/libglvnd
 
 REQUIRES           = X11/libs/libglvnd/1.6.0
-REQUIRES          += X11/X.org/lib/libX11/1.8.3-ppc32
+REQUIRES          += X11/X.org/lib/libXext/1.3.5-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: X11/libs/libglvnd/1.6.0-x86_32/Makefile
===================================================================
--- X11/libs/libglvnd/1.6.0-x86_32/Makefile	(revision 28)
+++ X11/libs/libglvnd/1.6.0-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/x/libglvnd
 
 REQUIRES           = X11/libs/libglvnd/1.6.0
-REQUIRES          += X11/X.org/lib/libX11/1.8.3-x86_32
+REQUIRES          += X11/X.org/lib/libXext/1.3.5-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: X11/libs/poppler/23.02.0/Makefile
===================================================================
--- X11/libs/poppler/23.02.0/Makefile	(revision 28)
+++ X11/libs/poppler/23.02.0/Makefile	(revision 29)
@@ -62,7 +62,7 @@
 REQUIRES          += libs/boost/1.77.0
 REQUIRES          += libs/glib2/2.76.0
 REQUIRES          += media/openjpeg2/2.5.0
-REQUIRES          += net/nss/3.64
+REQUIRES          += net/nss/3.89
 REQUIRES          += net/curl/7.75.0
 REQUIRES          += X11/libs/poppler-data/0.4.12
 REQUIRES          += X11/libs/qt5/5.15.8
Index: X11/libs/poppler/23.02.0-ppc32/Makefile
===================================================================
--- X11/libs/poppler/23.02.0-ppc32/Makefile	(revision 28)
+++ X11/libs/poppler/23.02.0-ppc32/Makefile	(revision 29)
@@ -23,7 +23,7 @@
 REQUIRES          += libs/boost/1.77.0-ppc32
 REQUIRES          += libs/glib2/2.76.0-ppc32
 REQUIRES          += media/openjpeg2/2.5.0-ppc32
-REQUIRES          += net/nss/3.64-ppc32
+REQUIRES          += net/nss/3.89-ppc32
 REQUIRES          += net/curl/7.75.0-ppc32
 REQUIRES          += X11/libs/qt5/5.15.8-ppc32
 REQUIRES          += X11/libs/gtk+3/3.24.37-ppc32
Index: X11/libs/poppler/23.02.0-x86_32/Makefile
===================================================================
--- X11/libs/poppler/23.02.0-x86_32/Makefile	(revision 28)
+++ X11/libs/poppler/23.02.0-x86_32/Makefile	(revision 29)
@@ -20,7 +20,7 @@
 REQUIRES          += libs/boost/1.77.0-x86_32
 REQUIRES          += libs/glib2/2.76.0-x86_32
 REQUIRES          += media/openjpeg2/2.5.0-x86_32
-REQUIRES          += net/nss/3.64-x86_32
+REQUIRES          += net/nss/3.89-x86_32
 REQUIRES          += net/curl/7.75.0-x86_32
 REQUIRES          += X11/libs/qt5/5.15.8-x86_32
 REQUIRES          += X11/libs/gtk+3/3.24.37-x86_32
Index: X11/libs/qt5/5.15.8/Makefile
===================================================================
--- X11/libs/qt5/5.15.8/Makefile	(revision 28)
+++ X11/libs/qt5/5.15.8/Makefile	(revision 29)
@@ -74,7 +74,7 @@
 REQUIRES          += X11/libs/sdl/sdl2/2.26.3
 
 REQUIRES          += libs/libmng/2.0.3
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += media/libvpx/1.12.0
 REQUIRES          += libs/assimp/5.2.5
 REQUIRES          += X11/app/cups/2.4.2
Index: X11/libs/qt5/5.15.8-ppc32/Makefile
===================================================================
--- X11/libs/qt5/5.15.8-ppc32/Makefile	(revision 28)
+++ X11/libs/qt5/5.15.8-ppc32/Makefile	(revision 29)
@@ -30,7 +30,7 @@
 REQUIRES          += X11/libs/sdl/sdl2/2.26.3-ppc32
 
 REQUIRES          += libs/libmng/2.0.3-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += media/libvpx/1.12.0-ppc32
 REQUIRES          += libs/assimp/5.2.5-ppc32
 REQUIRES          += X11/app/cups/2.4.2-ppc32
Index: X11/libs/qt5/5.15.8-x86_32/Makefile
===================================================================
--- X11/libs/qt5/5.15.8-x86_32/Makefile	(revision 28)
+++ X11/libs/qt5/5.15.8-x86_32/Makefile	(revision 29)
@@ -27,7 +27,7 @@
 REQUIRES          += X11/libs/sdl/sdl2/2.26.3-x86_32
 
 REQUIRES          += libs/libmng/2.0.3-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += media/libvpx/1.12.0-x86_32
 REQUIRES          += libs/assimp/5.2.5-x86_32
 REQUIRES          += X11/app/cups/2.4.2-x86_32
Index: X11/media/audacious/4.3/Makefile
===================================================================
--- X11/media/audacious/4.3/Makefile	(nonexistent)
+++ X11/media/audacious/4.3/Makefile	(revision 29)
@@ -0,0 +1,324 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/audacious/audacious
+
+REQUIRES           = app/dbus/1.13.18
+REQUIRES          += libs/libarchive/3.5.2
+REQUIRES          += X11/libs/gtk+3/3.24.37
+REQUIRES          += X11/libs/qt5/5.15.8
+REQUIRES          += X11/libs/cairo/1.17.8
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.3
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/audacious/audacious/audacious-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/audacious-$(version)
+src_dir_name       = audacious-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+cross_file         = $(TARGET_BUILD_DIR)/$(TARGET)-cross
+
+
+####### Targets
+
+PKG_GROUP = xmedia
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+AUDACIOUS_PKG_NAME                = audacious
+AUDACIOUS_PKG_VERSION             = 4.3
+AUDACIOUS_PKG_ARCH                = $(PKGARCH)
+AUDACIOUS_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+AUDACIOUS_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+AUDACIOUS_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+AUDACIOUS_PKG_SHORT_DESCRIPTION   = A relatively powerful media player
+AUDACIOUS_PKG_URL                 = $(BUG_URL)
+AUDACIOUS_PKG_LICENSE             = custom
+AUDACIOUS_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(AUDACIOUS_PKG_NAME)-pkg-description
+AUDACIOUS_PKG_DESCRIPTION_FILE_IN = $(AUDACIOUS_PKG_NAME)-pkg-description.in
+AUDACIOUS_PKG_INSTALL_SCRIPT      = $(AUDACIOUS_PKG_NAME)-pkg-install.sh
+
+AUDACIOUS_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(AUDACIOUS_PKG_NAME)-package
+
+pkg_basename     = $(AUDACIOUS_PKG_NAME)-$(AUDACIOUS_PKG_VERSION)-$(AUDACIOUS_PKG_ARCH)-$(AUDACIOUS_PKG_DISTRO_NAME)-$(AUDACIOUS_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(AUDACIOUS_PKG)
+
+
+#
+# https://mesonbuild.com/Reference-tables.html :
+# =============================================
+#
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
+                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
+                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
+                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+cpu_name = arm
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
+                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_S9XX_GLIBC)   \
+                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
+cpu_name = aarch64
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
+cpu_name = mips
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+cpu_name = ppc64
+endian   = big
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+cpu_name = ppc64
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
+cpu_name = riscv64
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
+cpu_name = x86
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+cpu_name = x86_64
+endian   = little
+endif
+
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --default-library=both
+else
+extra_configure_switches += --default-library=shared
+endif
+
+
+extra_configure_switches += -Ddbus=true
+extra_configure_switches += -Dqt=true
+extra_configure_switches += -Dgtk3=true
+extra_configure_switches += -Dlibarchive=true
+extra_configure_switches += -Dvalgrind=false
+
+CFLAGS += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
+
+TARGET_BIN_RPATH = /usr/lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_BIN_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@echo $(version) > $(SRC_DIR)/.tarball-version
+	@echo ""                                            >  $(cross_file)
+	@echo "[build_machine]"                             >> $(cross_file)
+	@echo "system = '$(shell uname -s | tr 'L' 'l')'"   >> $(cross_file)
+	@echo "cpu_family = '$(shell uname -m)'"            >> $(cross_file)
+	@echo "cpu = '$(shell uname -m)'"                   >> $(cross_file)
+	@echo "endian = '$(shell lscpu | grep Endian | tr -s ' ' | cut -f3 -d' ' | tr 'L' 'l')'" >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[host_machine]"                              >> $(cross_file)
+	@echo "system = 'linux'"                            >> $(cross_file)
+	@echo "cpu_family = '$(cpu_name)'"                  >> $(cross_file)
+	@echo "cpu = '$(cpu_name)'"                         >> $(cross_file)
+	@echo "endian = '$(endian)'"                        >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[target_machine]"                            >> $(cross_file)
+	@echo "system = 'linux'"                            >> $(cross_file)
+	@echo "cpu_family = '$(cpu_name)'"                  >> $(cross_file)
+	@echo "cpu = '$(cpu_name)'"                         >> $(cross_file)
+	@echo "endian = '$(endian)'"                        >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[properties]"                                >> $(cross_file)
+	@echo "sys_root = '$(TARGET_DEST_DIR)'"             >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[binaries]"                                  >> $(cross_file)
+	@echo "c = '$(TOOLCHAIN_PATH)/bin/$(TARGET)-gcc'"   >> $(cross_file)
+	@echo "cpp = '$(TOOLCHAIN_PATH)/bin/$(TARGET)-g++'" >> $(cross_file)
+	@echo "ar = '$(AR)'"                                >> $(cross_file)
+	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
+	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@PKG_CONFIG_PATH= \
+	   meson setup \
+	    --prefix=/usr \
+	    --libdir=lib$(LIBSUFFIX) \
+	    --libexecdir=/usr/libexec \
+	    --bindir=/usr/bin \
+	    --sbindir=/usr/sbin \
+	    --includedir=/usr/include \
+	    --datadir=/usr/share \
+	    --mandir=/usr/share/man \
+	    --sysconfdir=/etc \
+	    --localstatedir=/var \
+	    --buildtype=release    \
+	    -Dc_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"         \
+	    -Dc_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`"   \
+	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"       \
+	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
+	    $(extra_configure_switches) \
+	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
+	@cd $(build_dir) && ninja -v
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(AUDACIOUS_PKG)
+	@cd $(build_dir) && $(env_sysroot) ninja install
+	@rm -rf $(AUDACIOUS_PKG)/usr/share/audacious
+	# ======= Install Documentation =======
+	@if [ -d $(AUDACIOUS_PKG)/usr/share/man ]; then \
+	  ( cd $(AUDACIOUS_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(AUDACIOUS_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(AUDACIOUS_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(AUDACIOUS_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING INSTALL \
+	         $(AUDACIOUS_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(AUDACIOUS_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(AUDACIOUS_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"                        audacious.pc ; \
+	   sed -i "s,^\(plugin_dir=\).*,\1/usr/lib$(LIBSUFFIX)/audacious," audacious.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(AUDACIOUS_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(AUDACIOUS_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(AUDACIOUS_PKG_DESCRIPTION_FILE): $(AUDACIOUS_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(AUDACIOUS_PKG_DESCRIPTION_FILE) $(AUDACIOUS_PKG_INSTALL_SCRIPT)
+	@cp $(AUDACIOUS_PKG_DESCRIPTION_FILE) $(AUDACIOUS_PKG)/.DESCRIPTION
+	@cp $(AUDACIOUS_PKG_INSTALL_SCRIPT) $(AUDACIOUS_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(AUDACIOUS_PKG)/.REQUIRES
+	@echo "pkgname=$(AUDACIOUS_PKG_NAME)"                            >  $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(AUDACIOUS_PKG_VERSION)"                          >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "arch=$(AUDACIOUS_PKG_ARCH)"                               >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "distroname=$(AUDACIOUS_PKG_DISTRO_NAME)"                  >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "distrover=$(AUDACIOUS_PKG_DISTRO_VERSION)"                >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "group=$(AUDACIOUS_PKG_GROUP)"                             >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(AUDACIOUS_PKG_SHORT_DESCRIPTION)\"" >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "url=$(AUDACIOUS_PKG_URL)"                                 >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "license=$(AUDACIOUS_PKG_LICENSE)"                         >> $(AUDACIOUS_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(AUDACIOUS_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: X11/media/audacious/4.3/PATCHES
===================================================================
Index: X11/media/audacious/4.3/audacious-pkg-description.in
===================================================================
--- X11/media/audacious/4.3/audacious-pkg-description.in	(nonexistent)
+++ X11/media/audacious/4.3/audacious-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+audacious: audacious @VERSION@ (A relatively powerful media player)
+audacious:
+audacious: Audacious is a media player, based on Beep Media Player, which is in
+audacious: turn based on the X Multimedia System (XMMS). It is used to play
+audacious: audio and other kinds of media files. By default Audacious can play
+audacious: MPEG audio, Ogg Vorbis, RIFF wav, most module formats, and a few
+audacious: other formats. Audacious can be extended through plugins to play
+audacious: a number of other audio and video formats.
+audacious:
+audacious: Homepage: https://audacious-media-player.org
+audacious:
Index: X11/media/audacious/4.3/audacious-pkg-install.sh
===================================================================
--- X11/media/audacious/4.3/audacious-pkg-install.sh	(nonexistent)
+++ X11/media/audacious/4.3/audacious-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: X11/media/audacious/4.3/audacious-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: X11/media/audacious/4.3
===================================================================
--- X11/media/audacious/4.3	(nonexistent)
+++ X11/media/audacious/4.3	(revision 29)

Property changes on: X11/media/audacious/4.3
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: X11/media/audacious-plugins/4.3/Makefile
===================================================================
--- X11/media/audacious-plugins/4.3/Makefile	(nonexistent)
+++ X11/media/audacious-plugins/4.3/Makefile	(revision 29)
@@ -0,0 +1,329 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/m/audacious/audacious-plugins
+
+REQUIRES           = X11/media/audacious/4.3
+REQUIRES          += X11/media/pulseaudio/16.1
+REQUIRES          += media/wavpack/5.6.0
+REQUIRES          += media/libvorbis/1.3.7
+REQUIRES          += media/opusfile/0.12
+REQUIRES          += media/libogg/1.3.5
+REQUIRES          += media/mpg123/1.31.1
+REQUIRES          += media/libmodplug/0.8.9.0
+REQUIRES          += media/faad2/2.10.1
+REQUIRES          += media/flac/1.4.2
+REQUIRES          += media/lame/3.100
+REQUIRES          += libs/libxml2/2.9.9
+REQUIRES          += net/curl/7.75.0
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.3
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/m/audacious/audacious-plugins/audacious-plugins-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/audacious-plugins-$(version)
+src_dir_name       = audacious-plugins-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+cross_file         = $(TARGET_BUILD_DIR)/$(TARGET)-cross
+
+
+####### Targets
+
+PKG_GROUP = xmedia
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+AUDACIOUS_PKG_NAME                = audacious-plugins
+AUDACIOUS_PKG_VERSION             = 4.3
+AUDACIOUS_PKG_ARCH                = $(PKGARCH)
+AUDACIOUS_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+AUDACIOUS_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+AUDACIOUS_PKG_GROUP               = $(PKG_GROUP)
+###                                |---handy-ruler-------------------------------|
+AUDACIOUS_PKG_SHORT_DESCRIPTION   = Audacious plugins
+AUDACIOUS_PKG_URL                 = $(BUG_URL)
+AUDACIOUS_PKG_LICENSE             = custom
+AUDACIOUS_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(AUDACIOUS_PKG_NAME)-pkg-description
+AUDACIOUS_PKG_DESCRIPTION_FILE_IN = $(AUDACIOUS_PKG_NAME)-pkg-description.in
+AUDACIOUS_PKG_INSTALL_SCRIPT      = $(AUDACIOUS_PKG_NAME)-pkg-install.sh
+
+AUDACIOUS_PKG    = $(CURDIR)/$(TARGET_BUILD_DIR)/$(AUDACIOUS_PKG_NAME)-package
+
+pkg_basename     = $(AUDACIOUS_PKG_NAME)-$(AUDACIOUS_PKG_VERSION)-$(AUDACIOUS_PKG_ARCH)-$(AUDACIOUS_PKG_DISTRO_NAME)-$(AUDACIOUS_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(AUDACIOUS_PKG)
+
+
+#
+# https://mesonbuild.com/Reference-tables.html :
+# =============================================
+#
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
+                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
+                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
+                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+cpu_name = arm
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
+                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_S9XX_GLIBC)   \
+                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
+cpu_name = aarch64
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
+cpu_name = mips
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+cpu_name = ppc64
+endian   = big
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+cpu_name = ppc64
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
+cpu_name = riscv64
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
+cpu_name = x86
+endian   = little
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+cpu_name = x86_64
+endian   = little
+endif
+
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --default-library=both
+else
+extra_configure_switches += --default-library=shared
+endif
+
+
+extra_configure_switches += -Dqt=true
+extra_configure_switches += -Dgtk3=true
+
+extra_configure_switches += -Dcue=false
+extra_configure_switches += -Dneon=false
+extra_configure_switches += -Dffaudio=false
+extra_configure_switches += -Dlirc=false
+extra_configure_switches += -Dnotify=false
+extra_configure_switches += -Dcdaudio=false
+extra_configure_switches += -Dopenmpt=false
+extra_configure_switches += -Damidiplug=false
+extra_configure_switches += -Dpipewire=false
+
+
+CFLAGS += -Wno-format-overflow -Wno-maybe-uninitialized
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@echo $(version) > $(SRC_DIR)/.tarball-version
+	@echo ""                                            >  $(cross_file)
+	@echo "[build_machine]"                             >> $(cross_file)
+	@echo "system = '$(shell uname -s | tr 'L' 'l')'"   >> $(cross_file)
+	@echo "cpu_family = '$(shell uname -m)'"            >> $(cross_file)
+	@echo "cpu = '$(shell uname -m)'"                   >> $(cross_file)
+	@echo "endian = '$(shell lscpu | grep Endian | tr -s ' ' | cut -f3 -d' ' | tr 'L' 'l')'" >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[host_machine]"                              >> $(cross_file)
+	@echo "system = 'linux'"                            >> $(cross_file)
+	@echo "cpu_family = '$(cpu_name)'"                  >> $(cross_file)
+	@echo "cpu = '$(cpu_name)'"                         >> $(cross_file)
+	@echo "endian = '$(endian)'"                        >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[target_machine]"                            >> $(cross_file)
+	@echo "system = 'linux'"                            >> $(cross_file)
+	@echo "cpu_family = '$(cpu_name)'"                  >> $(cross_file)
+	@echo "cpu = '$(cpu_name)'"                         >> $(cross_file)
+	@echo "endian = '$(endian)'"                        >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@echo "[binaries]"                                  >> $(cross_file)
+	@echo "c = '$(TOOLCHAIN_PATH)/bin/$(TARGET)-gcc'"   >> $(cross_file)
+	@echo "cpp = '$(TOOLCHAIN_PATH)/bin/$(TARGET)-g++'" >> $(cross_file)
+	@echo "ar = '$(AR)'"                                >> $(cross_file)
+	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
+	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
+	@echo ""                                            >> $(cross_file)
+	@meson setup \
+	    --prefix=/usr \
+	    --libdir=lib$(LIBSUFFIX) \
+	    --libexecdir=/usr/libexec \
+	    --bindir=/usr/bin \
+	    --sbindir=/usr/sbin \
+	    --includedir=/usr/include \
+	    --datadir=/usr/share \
+	    --mandir=/usr/share/man \
+	    --sysconfdir=/etc \
+	    --localstatedir=/var \
+	    --buildtype=release    \
+	    -Dc_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"         \
+	    -Dc_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`"   \
+	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"       \
+	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
+	    $(extra_configure_switches) \
+	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
+	@cd $(build_dir) && ninja -v
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(AUDACIOUS_PKG)
+	@cd $(build_dir) && $(env_sysroot) ninja install
+	# ======= Install Documentation =======
+	@if [ -d $(AUDACIOUS_PKG)/usr/share/man ]; then \
+	  ( cd $(AUDACIOUS_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(AUDACIOUS_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(AUDACIOUS_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(AUDACIOUS_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING INSTALL \
+	         $(AUDACIOUS_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(AUDACIOUS_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(AUDACIOUS_PKG))
+	# ======= Strip binaries =======
+	@( cd $(AUDACIOUS_PKG) ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(AUDACIOUS_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(AUDACIOUS_PKG_DESCRIPTION_FILE): $(AUDACIOUS_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(AUDACIOUS_PKG_DESCRIPTION_FILE) $(AUDACIOUS_PKG_INSTALL_SCRIPT)
+	@cp $(AUDACIOUS_PKG_DESCRIPTION_FILE) $(AUDACIOUS_PKG)/.DESCRIPTION
+	@cp $(AUDACIOUS_PKG_INSTALL_SCRIPT) $(AUDACIOUS_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(AUDACIOUS_PKG)/.REQUIRES
+	@echo "pkgname=$(AUDACIOUS_PKG_NAME)"                            >  $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(AUDACIOUS_PKG_VERSION)"                          >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "arch=$(AUDACIOUS_PKG_ARCH)"                               >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "distroname=$(AUDACIOUS_PKG_DISTRO_NAME)"                  >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "distrover=$(AUDACIOUS_PKG_DISTRO_VERSION)"                >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "group=$(AUDACIOUS_PKG_GROUP)"                             >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(AUDACIOUS_PKG_SHORT_DESCRIPTION)\"" >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "url=$(AUDACIOUS_PKG_URL)"                                 >> $(AUDACIOUS_PKG)/.PKGINFO ; \
+	 echo "license=$(AUDACIOUS_PKG_LICENSE)"                         >> $(AUDACIOUS_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(AUDACIOUS_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: X11/media/audacious-plugins/4.3/PATCHES
===================================================================
Index: X11/media/audacious-plugins/4.3/audacious-plugins-pkg-description.in
===================================================================
--- X11/media/audacious-plugins/4.3/audacious-plugins-pkg-description.in	(nonexistent)
+++ X11/media/audacious-plugins/4.3/audacious-plugins-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                 |-----handy-ruler------------------------------------------------------|
+audacious-plugins: audacious-plugins @VERSION@ (Audacious plugins)
+audacious-plugins:
+audacious-plugins: This is a collection of plugins for Audacious to support additional
+audacious-plugins: media formats.
+audacious-plugins:
+audacious-plugins:
+audacious-plugins:
+audacious-plugins: Homepage: https://audacious-media-player.org
+audacious-plugins:
+audacious-plugins:
+audacious-plugins:
Index: X11/media/audacious-plugins/4.3/audacious-plugins-pkg-install.sh
===================================================================
--- X11/media/audacious-plugins/4.3/audacious-plugins-pkg-install.sh	(nonexistent)
+++ X11/media/audacious-plugins/4.3/audacious-plugins-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: X11/media/audacious-plugins/4.3/audacious-plugins-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: X11/media/audacious-plugins/4.3
===================================================================
--- X11/media/audacious-plugins/4.3	(nonexistent)
+++ X11/media/audacious-plugins/4.3	(revision 29)

Property changes on: X11/media/audacious-plugins/4.3
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: X11/media/pulseaudio/16.1/Makefile
===================================================================
--- X11/media/pulseaudio/16.1/Makefile	(revision 28)
+++ X11/media/pulseaudio/16.1/Makefile	(revision 29)
@@ -72,7 +72,7 @@
 REQUIRES          += media/speex/1.2.1
 REQUIRES          += media/jack2/1.9.21
 ifeq ($(ENABLE_GSTREAMER_SUPPORT),yes)
-REQUIRES          += X11/libs/gstreamer/1.22.0
+REQUIRES          += X11/libs/gst-plugins-base/1.22.0
 endif
 ifeq ($(ENABLE_X11_SUPPORT),yes)
 REQUIRES          += X11/X.org/lib/libX11/1.8.3
Index: X11/media/pulseaudio/16.1-ppc32/Makefile
===================================================================
--- X11/media/pulseaudio/16.1-ppc32/Makefile	(revision 28)
+++ X11/media/pulseaudio/16.1-ppc32/Makefile	(revision 29)
@@ -34,7 +34,7 @@
 REQUIRES          += media/speex/1.2.1-ppc32
 REQUIRES          += media/jack2/1.9.21-ppc32
 ifeq ($(ENABLE_GSTREAMER_SUPPORT),yes)
-REQUIRES          += X11/libs/gstreamer/1.22.0-ppc32
+REQUIRES          += X11/libs/gst-plugins-base/1.22.0-ppc32
 endif
 ifeq ($(ENABLE_X11_SUPPORT),yes)
 REQUIRES          += X11/X.org/lib/libX11/1.8.3-ppc32
Index: X11/media/pulseaudio/16.1-x86_32/Makefile
===================================================================
--- X11/media/pulseaudio/16.1-x86_32/Makefile	(revision 28)
+++ X11/media/pulseaudio/16.1-x86_32/Makefile	(revision 29)
@@ -31,7 +31,7 @@
 REQUIRES          += media/speex/1.2.1-x86_32
 REQUIRES          += media/jack2/1.9.21-x86_32
 ifeq ($(ENABLE_GSTREAMER_SUPPORT),yes)
-REQUIRES          += X11/libs/gstreamer/1.22.0-x86_32
+REQUIRES          += X11/libs/gst-plugins-base/1.22.0-x86_32
 endif
 ifeq ($(ENABLE_X11_SUPPORT),yes)
 REQUIRES          += X11/X.org/lib/libX11/1.8.3-x86_32
Index: app/acl/2.2.53/acl-pkg-description.in
===================================================================
--- app/acl/2.2.53/acl-pkg-description.in	(revision 28)
+++ app/acl/2.2.53/acl-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-   |-----handy-ruler------------------------------------------------------|
-acl: acl @VERSION@ (tools for using POSIX Access Control Lists)
-acl:
-acl: This package contains a set of tools and libraries for manipulating
-acl: POSIX Access Control Lists.  POSIX Access Control Lists (defined in
-acl: POSIX 1003.1e draft standard 17) are used to define more
-acl: fine-grained discretionary access rights for files and directories.
-acl:
-acl:
-acl:
-acl:
-acl:
Index: app/acl/2.2.53/Makefile
===================================================================
--- app/acl/2.2.53/Makefile	(revision 28)
+++ app/acl/2.2.53/Makefile	(nonexistent)
@@ -1,261 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/a/acl
-
-REQUIRES           = app/attr/2.4.48
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 2.2.53
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/a/acl/acl-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/acl-$(version)
-src_dir_name       = acl-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = app
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ACL_PKG_NAME                = acl
-ACL_PKG_VERSION             = 2.2.53
-ACL_PKG_ARCH                = $(PKGARCH)
-ACL_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ACL_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ACL_PKG_GROUP               = $(PKG_GROUP)
-###                          |---handy-ruler-------------------------------|
-ACL_PKG_SHORT_DESCRIPTION   = POSIX Access Control Lists tool
-ACL_PKG_URL                 = $(BUG_URL)
-ACL_PKG_LICENSE             = GPLv2
-ACL_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ACL_PKG_NAME)-pkg-description
-ACL_PKG_DESCRIPTION_FILE_IN = $(ACL_PKG_NAME)-pkg-description.in
-ACL_PKG_INSTALL_SCRIPT      = $(ACL_PKG_NAME)-pkg-install.sh
-
-ACL_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ACL_PKG_NAME)-package
-
-pkg_basename     = $(ACL_PKG_NAME)-$(ACL_PKG_VERSION)-$(ACL_PKG_ARCH)-$(ACL_PKG_DISTRO_NAME)-$(ACL_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ACL_PKG)
-
-extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --libexecdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --datadir=/usr/share
-extra_configure_switches += --mandir=/usr/share/man
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@cd $(SRC_DIR) && \
-	  $(BUILD_ENVIRONMENT) ./configure \
-	  --prefix=/usr               \
-	  --exec-prefix=/usr          \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET)            \
-	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ACL_PKG)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ACL_PKG)/lib$(LIBSUFFIX)
-	@( cd $(ACL_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   cp -a libacl.so.? $(ACL_PKG)/lib$(LIBSUFFIX) ; \
-	   mv libacl.so.?.?.* $(ACL_PKG)/lib$(LIBSUFFIX) ; \
-	   ln -sf ../../lib$(LIBSUFFIX)/libacl.so.?.?.* . \
-	 )
-	# ======= Install Documentation =======
-	@if [ -d $(ACL_PKG)/usr/share/man ]; then \
-	  ( cd $(ACL_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.?  ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	@mkdir -p $(ACL_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/doc/COPYING* \
-	       $(ACL_PKG)/usr/doc/$(src_dir_name)
-	@mv $(ACL_PKG)/usr/share/doc/acl $(ACL_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a README \
-	         $(ACL_PKG)/usr/share/doc/$(src_dir_name) \
-	 )
-	@( cd $(SRC_DIR)/doc ; \
-	   if [ -r CHANGES ]; then \
-	     DOCSDIR=`echo $(ACL_PKG)/usr/share/doc/$(src_dir_name)` ; \
-	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
-	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
-	   fi \
-	 )
-	# ======= remove target path from target libtool *.la files =======
-	@( cd $(ACL_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libacl.la \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ACL_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libacl.la \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.pc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ACL_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ACL_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target binaries =======
-	@( cd $(ACL_PKG)/usr/bin ; \
-	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(ACL_PKG)/lib$(LIBSUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(ACL_PKG_DESCRIPTION_FILE): $(ACL_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ACL_PKG_DESCRIPTION_FILE) $(ACL_PKG_INSTALL_SCRIPT)
-	@cp $(ACL_PKG_DESCRIPTION_FILE) $(ACL_PKG)/.DESCRIPTION
-	@cp $(ACL_PKG_INSTALL_SCRIPT) $(ACL_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ACL_PKG)/.REQUIRES
-	@echo "pkgname=$(ACL_PKG_NAME)"                            >  $(ACL_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ACL_PKG_VERSION)"                          >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "arch=$(ACL_PKG_ARCH)"                               >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ACL_PKG_DISTRO_NAME)"                  >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ACL_PKG_DISTRO_VERSION)"                >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "group=$(ACL_PKG_GROUP)"                             >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ACL_PKG_SHORT_DESCRIPTION)\"" >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "url=$(ACL_PKG_URL)"                                 >> $(ACL_PKG)/.PKGINFO ; \
-	 echo "license=$(ACL_PKG_LICENSE)"                         >> $(ACL_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ACL_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/acl/2.2.53/acl-pkg-install.sh
===================================================================
--- app/acl/2.2.53/acl-pkg-install.sh	(revision 28)
+++ app/acl/2.2.53/acl-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: app/acl/2.2.53/acl-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: app/acl/2.2.53
===================================================================
--- app/acl/2.2.53	(revision 28)
+++ app/acl/2.2.53	(nonexistent)

Property changes on: app/acl/2.2.53
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: app/acl/2.2.53-ppc32/acl-x32-pkg-description.in
===================================================================
--- app/acl/2.2.53-ppc32/acl-x32-pkg-description.in	(revision 28)
+++ app/acl/2.2.53-ppc32/acl-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-       |-----handy-ruler------------------------------------------------------|
-acl-x32: acl-x32 @VERSION@ (tools for using POSIX Access Control Lists)
-acl-x32:
-acl-x32: This package contains a set of tools and libraries for manipulating
-acl-x32: POSIX Access Control Lists.  POSIX Access Control Lists (defined in
-acl-x32: POSIX 1003.1e draft standard 17) are used to define more
-acl-x32: fine-grained discretionary access rights for files and directories.
-acl-x32:
-acl-x32:
-acl-x32:
-acl-x32:
-acl-x32:
Index: app/acl/2.2.53-ppc32/Makefile
===================================================================
--- app/acl/2.2.53-ppc32/Makefile	(revision 28)
+++ app/acl/2.2.53-ppc32/Makefile	(nonexistent)
@@ -1,195 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/a/acl
-
-REQUIRES           = app/acl/2.2.53
-REQUIRES          += app/attr/2.4.48-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 2.2.53
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/a/acl/acl-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/acl-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = app
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ACL_32_PKG_NAME                = acl-x32
-ACL_32_PKG_VERSION             = 2.2.53
-ACL_32_PKG_ARCH                = $(PKGARCH)
-ACL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ACL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ACL_32_PKG_GROUP               = $(PKG_GROUP)
-###                             |---handy-ruler-------------------------------|
-ACL_32_PKG_SHORT_DESCRIPTION   = POSIX Access Control Lists tool
-ACL_32_PKG_URL                 = $(BUG_URL)
-ACL_32_PKG_LICENSE             = GPLv2
-ACL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-pkg-description
-ACL_32_PKG_DESCRIPTION_FILE_IN = $(ACL_32_PKG_NAME)-pkg-description.in
-ACL_32_PKG_INSTALL_SCRIPT      = $(ACL_32_PKG_NAME)-pkg-install.sh
-
-ACL_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-package
-
-pkg_basename     = $(ACL_32_PKG_NAME)-$(ACL_32_PKG_VERSION)-$(ACL_32_PKG_ARCH)-$(ACL_32_PKG_DISTRO_NAME)-$(ACL_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ACL_32_PKG)
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --bindir=/usr/bin/32
-extra_configure_switches += --datadir=/usr/share
-extra_configure_switches += --mandir=/usr/share/man
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@cd $(SRC_DIR) && \
-	  $(BUILD_ENVIRONMENT) ./configure \
-	  --prefix=/usr               \
-	  --exec-prefix=/usr          \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ACL_32_PKG)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
-	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   cp -a libacl.so.? $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   mv libacl.so.?.?.* $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/libacl.so.?.?.* . \
-	 )
-	@rm -rf $(ACL_32_PKG)/usr/include
-	@rm -rf $(ACL_32_PKG)/usr/share
-	# ======= remove target path from target libtool *.la files =======
-	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libacl.la \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ACL_32_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libacl.la \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.pc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ACL_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ACL_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target binaries =======
-	@( cd $(ACL_32_PKG)/usr/bin/32 ; \
-	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(ACL_32_PKG_DESCRIPTION_FILE): $(ACL_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG_INSTALL_SCRIPT)
-	@cp $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG)/.DESCRIPTION
-	@cp $(ACL_32_PKG_INSTALL_SCRIPT) $(ACL_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ACL_32_PKG)/.REQUIRES
-	@echo "pkgname=$(ACL_32_PKG_NAME)"                            >  $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ACL_32_PKG_VERSION)"                          >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(ACL_32_PKG_ARCH)"                               >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ACL_32_PKG_DISTRO_NAME)"                  >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ACL_32_PKG_DISTRO_VERSION)"                >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "group=$(ACL_32_PKG_GROUP)"                             >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ACL_32_PKG_SHORT_DESCRIPTION)\"" >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "url=$(ACL_32_PKG_URL)"                                 >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "license=$(ACL_32_PKG_LICENSE)"                         >> $(ACL_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ACL_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/acl/2.2.53-ppc32/acl-x32-pkg-install.sh
===================================================================
--- app/acl/2.2.53-ppc32/acl-x32-pkg-install.sh	(revision 28)
+++ app/acl/2.2.53-ppc32/acl-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: app/acl/2.2.53-ppc32/acl-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: app/acl/2.2.53-ppc32
===================================================================
--- app/acl/2.2.53-ppc32	(revision 28)
+++ app/acl/2.2.53-ppc32	(nonexistent)

Property changes on: app/acl/2.2.53-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: app/acl/2.2.53-x86_32/acl-x32-pkg-description.in
===================================================================
--- app/acl/2.2.53-x86_32/acl-x32-pkg-description.in	(revision 28)
+++ app/acl/2.2.53-x86_32/acl-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-       |-----handy-ruler------------------------------------------------------|
-acl-x32: acl-x32 @VERSION@ (tools for using POSIX Access Control Lists)
-acl-x32:
-acl-x32: This package contains a set of tools and libraries for manipulating
-acl-x32: POSIX Access Control Lists.  POSIX Access Control Lists (defined in
-acl-x32: POSIX 1003.1e draft standard 17) are used to define more
-acl-x32: fine-grained discretionary access rights for files and directories.
-acl-x32:
-acl-x32:
-acl-x32:
-acl-x32:
-acl-x32:
Index: app/acl/2.2.53-x86_32/Makefile
===================================================================
--- app/acl/2.2.53-x86_32/Makefile	(revision 28)
+++ app/acl/2.2.53-x86_32/Makefile	(nonexistent)
@@ -1,192 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/a/acl
-
-REQUIRES           = app/acl/2.2.53
-REQUIRES          += app/attr/2.4.48-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 2.2.53
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/a/acl/acl-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/acl-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = app
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ACL_32_PKG_NAME                = acl-x32
-ACL_32_PKG_VERSION             = 2.2.53
-ACL_32_PKG_ARCH                = $(PKGARCH)
-ACL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ACL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ACL_32_PKG_GROUP               = $(PKG_GROUP)
-###                             |---handy-ruler-------------------------------|
-ACL_32_PKG_SHORT_DESCRIPTION   = POSIX Access Control Lists tool
-ACL_32_PKG_URL                 = $(BUG_URL)
-ACL_32_PKG_LICENSE             = GPLv2
-ACL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-pkg-description
-ACL_32_PKG_DESCRIPTION_FILE_IN = $(ACL_32_PKG_NAME)-pkg-description.in
-ACL_32_PKG_INSTALL_SCRIPT      = $(ACL_32_PKG_NAME)-pkg-install.sh
-
-ACL_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-package
-
-pkg_basename     = $(ACL_32_PKG_NAME)-$(ACL_32_PKG_VERSION)-$(ACL_32_PKG_ARCH)-$(ACL_32_PKG_DISTRO_NAME)-$(ACL_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ACL_32_PKG)
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --bindir=/usr/bin/32
-extra_configure_switches += --datadir=/usr/share
-extra_configure_switches += --mandir=/usr/share/man
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@cd $(SRC_DIR) && \
-	  $(BUILD_ENVIRONMENT) ./configure \
-	  --prefix=/usr               \
-	  --exec-prefix=/usr          \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ACL_32_PKG)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
-	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   cp -a libacl.so.? $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   mv libacl.so.?.?.* $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/libacl.so.?.?.* . \
-	 )
-	@rm -rf $(ACL_32_PKG)/usr/include
-	@rm -rf $(ACL_32_PKG)/usr/share
-	# ======= remove target path from target libtool *.la files =======
-	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libacl.la \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ACL_32_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libacl.la \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.pc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ACL_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ACL_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target binaries =======
-	@( cd $(ACL_32_PKG)/usr/bin/32 ; \
-	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(ACL_32_PKG_DESCRIPTION_FILE): $(ACL_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG_INSTALL_SCRIPT)
-	@cp $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG)/.DESCRIPTION
-	@cp $(ACL_32_PKG_INSTALL_SCRIPT) $(ACL_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ACL_32_PKG)/.REQUIRES
-	@echo "pkgname=$(ACL_32_PKG_NAME)"                            >  $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ACL_32_PKG_VERSION)"                          >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(ACL_32_PKG_ARCH)"                               >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ACL_32_PKG_DISTRO_NAME)"                  >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ACL_32_PKG_DISTRO_VERSION)"                >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "group=$(ACL_32_PKG_GROUP)"                             >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ACL_32_PKG_SHORT_DESCRIPTION)\"" >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "url=$(ACL_32_PKG_URL)"                                 >> $(ACL_32_PKG)/.PKGINFO ; \
-	 echo "license=$(ACL_32_PKG_LICENSE)"                         >> $(ACL_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ACL_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/acl/2.2.53-x86_32/acl-x32-pkg-install.sh
===================================================================
--- app/acl/2.2.53-x86_32/acl-x32-pkg-install.sh	(revision 28)
+++ app/acl/2.2.53-x86_32/acl-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: app/acl/2.2.53-x86_32/acl-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: app/acl/2.2.53-x86_32
===================================================================
--- app/acl/2.2.53-x86_32	(revision 28)
+++ app/acl/2.2.53-x86_32	(nonexistent)

Property changes on: app/acl/2.2.53-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: app/acl/2.3.1/Makefile
===================================================================
--- app/acl/2.3.1/Makefile	(nonexistent)
+++ app/acl/2.3.1/Makefile	(revision 29)
@@ -0,0 +1,262 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/acl
+
+REQUIRES           = app/attr/2.5.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.3.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/acl/acl-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/acl-$(version)
+src_dir_name       = acl-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ACL_PKG_NAME                = acl
+ACL_PKG_VERSION             = 2.3.1
+ACL_PKG_ARCH                = $(PKGARCH)
+ACL_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ACL_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ACL_PKG_GROUP               = $(PKG_GROUP)
+###                          |---handy-ruler-------------------------------|
+ACL_PKG_SHORT_DESCRIPTION   = POSIX Access Control Lists tool
+ACL_PKG_URL                 = $(BUG_URL)
+ACL_PKG_LICENSE             = GPLv2
+ACL_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ACL_PKG_NAME)-pkg-description
+ACL_PKG_DESCRIPTION_FILE_IN = $(ACL_PKG_NAME)-pkg-description.in
+ACL_PKG_INSTALL_SCRIPT      = $(ACL_PKG_NAME)-pkg-install.sh
+
+ACL_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ACL_PKG_NAME)-package
+
+pkg_basename     = $(ACL_PKG_NAME)-$(ACL_PKG_VERSION)-$(ACL_PKG_ARCH)-$(ACL_PKG_DISTRO_NAME)-$(ACL_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ACL_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --libexecdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --datadir=/usr/share
+extra_configure_switches += --mandir=/usr/share/man
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --exec-prefix=/usr          \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ACL_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ACL_PKG)/lib$(LIBSUFFIX)
+	@( cd $(ACL_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   cp -a libacl.so.? $(ACL_PKG)/lib$(LIBSUFFIX) ; \
+	   mv libacl.so.?.?.* $(ACL_PKG)/lib$(LIBSUFFIX) ; \
+	   ln -sf ../../lib$(LIBSUFFIX)/libacl.so.?.?.* . \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(ACL_PKG)/usr/share/man ]; then \
+	  ( cd $(ACL_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(ACL_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/doc/COPYING* \
+	       $(ACL_PKG)/usr/doc/$(src_dir_name)
+	@mv $(ACL_PKG)/usr/share/doc/acl $(ACL_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a README \
+	         $(ACL_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR)/doc ; \
+	   if [ -r CHANGES ]; then \
+	     DOCSDIR=`echo $(ACL_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
+	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
+	   fi \
+	 )
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(ACL_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libacl.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ACL_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libacl.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ACL_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ACL_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(ACL_PKG)/usr/bin ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(ACL_PKG)/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(ACL_PKG_DESCRIPTION_FILE): $(ACL_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ACL_PKG_DESCRIPTION_FILE) $(ACL_PKG_INSTALL_SCRIPT)
+	@cp $(ACL_PKG_DESCRIPTION_FILE) $(ACL_PKG)/.DESCRIPTION
+	@cp $(ACL_PKG_INSTALL_SCRIPT) $(ACL_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ACL_PKG)/.REQUIRES
+	@echo "pkgname=$(ACL_PKG_NAME)"                            >  $(ACL_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ACL_PKG_VERSION)"                          >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "arch=$(ACL_PKG_ARCH)"                               >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ACL_PKG_DISTRO_NAME)"                  >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ACL_PKG_DISTRO_VERSION)"                >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "group=$(ACL_PKG_GROUP)"                             >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ACL_PKG_SHORT_DESCRIPTION)\"" >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "url=$(ACL_PKG_URL)"                                 >> $(ACL_PKG)/.PKGINFO ; \
+	 echo "license=$(ACL_PKG_LICENSE)"                         >> $(ACL_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ACL_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/acl/2.3.1/PATCHES
===================================================================
Index: app/acl/2.3.1/acl-pkg-description.in
===================================================================
--- app/acl/2.3.1/acl-pkg-description.in	(nonexistent)
+++ app/acl/2.3.1/acl-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+acl: acl @VERSION@ (tools for using POSIX Access Control Lists)
+acl:
+acl: This package contains a set of tools and libraries for manipulating
+acl: POSIX Access Control Lists.  POSIX Access Control Lists (defined in
+acl: POSIX 1003.1e draft standard 17) are used to define more
+acl: fine-grained discretionary access rights for files and directories.
+acl:
+acl:
+acl:
+acl:
+acl:
Index: app/acl/2.3.1/acl-pkg-install.sh
===================================================================
--- app/acl/2.3.1/acl-pkg-install.sh	(nonexistent)
+++ app/acl/2.3.1/acl-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/acl/2.3.1/acl-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/acl/2.3.1
===================================================================
--- app/acl/2.3.1	(nonexistent)
+++ app/acl/2.3.1	(revision 29)

Property changes on: app/acl/2.3.1
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/acl/2.3.1-ppc32/Makefile
===================================================================
--- app/acl/2.3.1-ppc32/Makefile	(nonexistent)
+++ app/acl/2.3.1-ppc32/Makefile	(revision 29)
@@ -0,0 +1,196 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/acl
+
+REQUIRES           = app/acl/2.3.1
+REQUIRES          += app/attr/2.5.1-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.3.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/acl/acl-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/acl-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ACL_32_PKG_NAME                = acl-x32
+ACL_32_PKG_VERSION             = 2.3.1
+ACL_32_PKG_ARCH                = $(PKGARCH)
+ACL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ACL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ACL_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+ACL_32_PKG_SHORT_DESCRIPTION   = POSIX Access Control Lists tool
+ACL_32_PKG_URL                 = $(BUG_URL)
+ACL_32_PKG_LICENSE             = GPLv2
+ACL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-pkg-description
+ACL_32_PKG_DESCRIPTION_FILE_IN = $(ACL_32_PKG_NAME)-pkg-description.in
+ACL_32_PKG_INSTALL_SCRIPT      = $(ACL_32_PKG_NAME)-pkg-install.sh
+
+ACL_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-package
+
+pkg_basename     = $(ACL_32_PKG_NAME)-$(ACL_32_PKG_VERSION)-$(ACL_32_PKG_ARCH)-$(ACL_32_PKG_DISTRO_NAME)-$(ACL_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ACL_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --bindir=/usr/bin/32
+extra_configure_switches += --datadir=/usr/share
+extra_configure_switches += --mandir=/usr/share/man
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --exec-prefix=/usr          \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ACL_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
+	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   cp -a libacl.so.? $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   mv libacl.so.?.?.* $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/libacl.so.?.?.* . \
+	 )
+	@rm -rf $(ACL_32_PKG)/usr/include
+	@rm -rf $(ACL_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libacl.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ACL_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libacl.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ACL_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ACL_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(ACL_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(ACL_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(ACL_32_PKG_DESCRIPTION_FILE): $(ACL_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG_INSTALL_SCRIPT)
+	@cp $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG)/.DESCRIPTION
+	@cp $(ACL_32_PKG_INSTALL_SCRIPT) $(ACL_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ACL_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ACL_32_PKG_NAME)"                            >  $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ACL_32_PKG_VERSION)"                          >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ACL_32_PKG_ARCH)"                               >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ACL_32_PKG_DISTRO_NAME)"                  >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ACL_32_PKG_DISTRO_VERSION)"                >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ACL_32_PKG_GROUP)"                             >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ACL_32_PKG_SHORT_DESCRIPTION)\"" >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ACL_32_PKG_URL)"                                 >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ACL_32_PKG_LICENSE)"                         >> $(ACL_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ACL_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/acl/2.3.1-ppc32/PATCHES
===================================================================
Index: app/acl/2.3.1-ppc32/acl-x32-pkg-description.in
===================================================================
--- app/acl/2.3.1-ppc32/acl-x32-pkg-description.in	(nonexistent)
+++ app/acl/2.3.1-ppc32/acl-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+acl-x32: acl-x32 @VERSION@ (tools for using POSIX Access Control Lists)
+acl-x32:
+acl-x32: This package contains a set of tools and libraries for manipulating
+acl-x32: POSIX Access Control Lists.  POSIX Access Control Lists (defined in
+acl-x32: POSIX 1003.1e draft standard 17) are used to define more
+acl-x32: fine-grained discretionary access rights for files and directories.
+acl-x32:
+acl-x32:
+acl-x32:
+acl-x32:
+acl-x32:
Index: app/acl/2.3.1-ppc32/acl-x32-pkg-install.sh
===================================================================
--- app/acl/2.3.1-ppc32/acl-x32-pkg-install.sh	(nonexistent)
+++ app/acl/2.3.1-ppc32/acl-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/acl/2.3.1-ppc32/acl-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/acl/2.3.1-ppc32
===================================================================
--- app/acl/2.3.1-ppc32	(nonexistent)
+++ app/acl/2.3.1-ppc32	(revision 29)

Property changes on: app/acl/2.3.1-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/acl/2.3.1-x86_32/Makefile
===================================================================
--- app/acl/2.3.1-x86_32/Makefile	(nonexistent)
+++ app/acl/2.3.1-x86_32/Makefile	(revision 29)
@@ -0,0 +1,193 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/acl
+
+REQUIRES           = app/acl/2.3.1
+REQUIRES          += app/attr/2.5.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.3.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/acl/acl-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/acl-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ACL_32_PKG_NAME                = acl-x32
+ACL_32_PKG_VERSION             = 2.3.1
+ACL_32_PKG_ARCH                = $(PKGARCH)
+ACL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ACL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ACL_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+ACL_32_PKG_SHORT_DESCRIPTION   = POSIX Access Control Lists tool
+ACL_32_PKG_URL                 = $(BUG_URL)
+ACL_32_PKG_LICENSE             = GPLv2
+ACL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-pkg-description
+ACL_32_PKG_DESCRIPTION_FILE_IN = $(ACL_32_PKG_NAME)-pkg-description.in
+ACL_32_PKG_INSTALL_SCRIPT      = $(ACL_32_PKG_NAME)-pkg-install.sh
+
+ACL_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ACL_32_PKG_NAME)-package
+
+pkg_basename     = $(ACL_32_PKG_NAME)-$(ACL_32_PKG_VERSION)-$(ACL_32_PKG_ARCH)-$(ACL_32_PKG_DISTRO_NAME)-$(ACL_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ACL_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --bindir=/usr/bin/32
+extra_configure_switches += --datadir=/usr/share
+extra_configure_switches += --mandir=/usr/share/man
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --exec-prefix=/usr          \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ACL_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
+	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   cp -a libacl.so.? $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   mv libacl.so.?.?.* $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/libacl.so.?.?.* . \
+	 )
+	@rm -rf $(ACL_32_PKG)/usr/include
+	@rm -rf $(ACL_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(ACL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libacl.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ACL_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libacl.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libacl.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ACL_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ACL_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target binaries =======
+	@( cd $(ACL_32_PKG)/usr/bin/32 ; \
+	   for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(ACL_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(ACL_32_PKG_DESCRIPTION_FILE): $(ACL_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG_INSTALL_SCRIPT)
+	@cp $(ACL_32_PKG_DESCRIPTION_FILE) $(ACL_32_PKG)/.DESCRIPTION
+	@cp $(ACL_32_PKG_INSTALL_SCRIPT) $(ACL_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ACL_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ACL_32_PKG_NAME)"                            >  $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ACL_32_PKG_VERSION)"                          >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ACL_32_PKG_ARCH)"                               >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ACL_32_PKG_DISTRO_NAME)"                  >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ACL_32_PKG_DISTRO_VERSION)"                >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ACL_32_PKG_GROUP)"                             >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ACL_32_PKG_SHORT_DESCRIPTION)\"" >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ACL_32_PKG_URL)"                                 >> $(ACL_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ACL_32_PKG_LICENSE)"                         >> $(ACL_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ACL_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/acl/2.3.1-x86_32/PATCHES
===================================================================
Index: app/acl/2.3.1-x86_32/acl-x32-pkg-description.in
===================================================================
--- app/acl/2.3.1-x86_32/acl-x32-pkg-description.in	(nonexistent)
+++ app/acl/2.3.1-x86_32/acl-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+acl-x32: acl-x32 @VERSION@ (tools for using POSIX Access Control Lists)
+acl-x32:
+acl-x32: This package contains a set of tools and libraries for manipulating
+acl-x32: POSIX Access Control Lists.  POSIX Access Control Lists (defined in
+acl-x32: POSIX 1003.1e draft standard 17) are used to define more
+acl-x32: fine-grained discretionary access rights for files and directories.
+acl-x32:
+acl-x32:
+acl-x32:
+acl-x32:
+acl-x32:
Index: app/acl/2.3.1-x86_32/acl-x32-pkg-install.sh
===================================================================
--- app/acl/2.3.1-x86_32/acl-x32-pkg-install.sh	(nonexistent)
+++ app/acl/2.3.1-x86_32/acl-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/acl/2.3.1-x86_32/acl-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/acl/2.3.1-x86_32
===================================================================
--- app/acl/2.3.1-x86_32	(nonexistent)
+++ app/acl/2.3.1-x86_32	(revision 29)

Property changes on: app/acl/2.3.1-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/attr/2.4.48/attr-pkg-description.in
===================================================================
--- app/attr/2.4.48/attr-pkg-description.in	(revision 28)
+++ app/attr/2.4.48/attr-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-    |-----handy-ruler------------------------------------------------------|
-attr: attr @VERSION@ (tools for using extended attributes on filesystems)
-attr:
-attr: This package contains a set of tools for manipulating extended
-attr: attributes (name:value pairs associated permanently with files
-attr: and directories) on filesystem objects, and the library and
-attr: header files needed to develop programs which make use of extended
-attr: attributes. Extended attributes are used to provide additional
-attr: functionality to a filesystem. For example, Access Control Lists
-attr: (ACLs) are implemented using extended attributes.
-attr:
-attr:
Index: app/attr/2.4.48/attr-pkg-install.sh
===================================================================
--- app/attr/2.4.48/attr-pkg-install.sh	(revision 28)
+++ app/attr/2.4.48/attr-pkg-install.sh	(nonexistent)
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-
-# Preserve new files
-install_file() {
-  NEW="$1"
-  OLD="`dirname $NEW`/`basename $NEW .new`"
-  # If there's no file by that name, mv it over:
-  if [ ! -r $OLD ]; then
-    mv $NEW $OLD
-  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
-    rm $NEW
-  fi
-  # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  install_file etc/xattr.conf.new
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: app/attr/2.4.48/attr-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: app/attr/2.4.48/Makefile
===================================================================
--- app/attr/2.4.48/Makefile	(revision 28)
+++ app/attr/2.4.48/Makefile	(nonexistent)
@@ -1,241 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/a/attr
-
-ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
-REQUIRES           = dev/gcc/12.2.0
-else
-REQUIRES           = libs/glibc/2.36
-endif
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 2.4.48
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/a/attr/attr-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/attr-$(version)
-src_dir_name       = attr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = app
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ATTR_PKG_NAME                = attr
-ATTR_PKG_VERSION             = 2.4.48
-ATTR_PKG_ARCH                = $(PKGARCH)
-ATTR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ATTR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ATTR_PKG_GROUP               = $(PKG_GROUP)
-###                           |---handy-ruler-------------------------------|
-ATTR_PKG_SHORT_DESCRIPTION   = filesystems extended attributes tools
-ATTR_PKG_URL                 = $(BUG_URL)
-ATTR_PKG_LICENSE             = GPLv2
-ATTR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ATTR_PKG_NAME)-pkg-description
-ATTR_PKG_DESCRIPTION_FILE_IN = $(ATTR_PKG_NAME)-pkg-description.in
-ATTR_PKG_INSTALL_SCRIPT      = $(ATTR_PKG_NAME)-pkg-install.sh
-
-ATTR_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ATTR_PKG_NAME)-package
-
-pkg_basename     = $(ATTR_PKG_NAME)-$(ATTR_PKG_VERSION)-$(ATTR_PKG_ARCH)-$(ATTR_PKG_DISTRO_NAME)-$(ATTR_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ATTR_PKG)
-
-extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --libexecdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --datadir=/usr/share
-extra_configure_switches += --mandir=/usr/share/man
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@cd $(SRC_DIR) && \
-	  $(BUILD_ENVIRONMENT) ./configure \
-	  --prefix=/usr               \
-	  --exec-prefix=/usr          \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET)            \
-	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ATTR_PKG)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mv $(ATTR_PKG)/etc/xattr.conf $(ATTR_PKG)/etc/xattr.conf.new
-	@mkdir -p $(ATTR_PKG)/lib$(LIBSUFFIX)
-	@( cd $(ATTR_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   cp -a libattr.so.? $(ATTR_PKG)/lib$(LIBSUFFIX) ; \
-	   mv libattr.so.?.?.* $(ATTR_PKG)/lib$(LIBSUFFIX) ; \
-	   ln -sf ../../lib$(LIBSUFFIX)/libattr.so.?.?.* . \
-	 )
-	# ======= Install Documentation =======
-	@if [ -d $(ATTR_PKG)/usr/share/man ]; then \
-	  ( cd $(ATTR_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.?  ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	@mkdir -p $(ATTR_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/doc/COPYING* \
-	       $(ATTR_PKG)/usr/doc/$(src_dir_name)
-	@mv $(ATTR_PKG)/usr/share/doc/attr $(ATTR_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a README \
-	         $(ATTR_PKG)/usr/share/doc/$(src_dir_name) \
-	 )
-	@( cd $(SRC_DIR)/doc ; \
-	   if [ -r CHANGES ]; then \
-	     DOCSDIR=`echo $(ATTR_PKG)/usr/share/doc/$(src_dir_name)` ; \
-	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
-	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
-	   fi \
-	 )
-	# ======= remove target path from target libtool *.la files =======
-	@( cd $(ATTR_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libattr.la \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ATTR_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libattr.la \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.pc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ATTR_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ATTR_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-	@touch $@
-
-$(ATTR_PKG_DESCRIPTION_FILE): $(ATTR_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ATTR_PKG_DESCRIPTION_FILE) $(ATTR_PKG_INSTALL_SCRIPT)
-	@cp $(ATTR_PKG_DESCRIPTION_FILE) $(ATTR_PKG)/.DESCRIPTION
-	@cp $(ATTR_PKG_INSTALL_SCRIPT) $(ATTR_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ATTR_PKG)/.REQUIRES
-	@echo "pkgname=$(ATTR_PKG_NAME)"                            >  $(ATTR_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ATTR_PKG_VERSION)"                          >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "arch=$(ATTR_PKG_ARCH)"                               >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ATTR_PKG_DISTRO_NAME)"                  >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ATTR_PKG_DISTRO_VERSION)"                >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "group=$(ATTR_PKG_GROUP)"                             >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ATTR_PKG_SHORT_DESCRIPTION)\"" >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "url=$(ATTR_PKG_URL)"                                 >> $(ATTR_PKG)/.PKGINFO ; \
-	 echo "license=$(ATTR_PKG_LICENSE)"                         >> $(ATTR_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ATTR_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/attr/2.4.48
===================================================================
--- app/attr/2.4.48	(revision 28)
+++ app/attr/2.4.48	(nonexistent)

Property changes on: app/attr/2.4.48
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: app/attr/2.4.48-ppc32/attr-x32-pkg-description.in
===================================================================
--- app/attr/2.4.48-ppc32/attr-x32-pkg-description.in	(revision 28)
+++ app/attr/2.4.48-ppc32/attr-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-attr-x32: attr-x32 @VERSION@ (tools for using extended attributes on FS)
-attr-x32:
-attr-x32: This package contains a set of tools for manipulating extended
-attr-x32: attributes (name:value pairs associated permanently with files
-attr-x32: and directories) on filesystem objects, and the library and
-attr-x32: header files needed to develop programs which make use of extended
-attr-x32: attributes. Extended attributes are used to provide additional
-attr-x32: functionality to a filesystem. For example, Access Control Lists
-attr-x32: (ACLs) are implemented using extended attributes.
-attr-x32:
-attr-x32:
Index: app/attr/2.4.48-ppc32/attr-x32-pkg-install.sh
===================================================================
--- app/attr/2.4.48-ppc32/attr-x32-pkg-install.sh	(revision 28)
+++ app/attr/2.4.48-ppc32/attr-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: app/attr/2.4.48-ppc32/attr-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: app/attr/2.4.48-ppc32/Makefile
===================================================================
--- app/attr/2.4.48-ppc32/Makefile	(revision 28)
+++ app/attr/2.4.48-ppc32/Makefile	(nonexistent)
@@ -1,172 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/a/attr
-
-REQUIRES           = app/attr/2.4.48
-REQUIRES          += libs/glibc/2.36-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 2.4.48
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/a/attr/attr-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/attr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = app
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ATTR_32_PKG_NAME                = attr-x32
-ATTR_32_PKG_VERSION             = 2.4.48
-ATTR_32_PKG_ARCH                = $(PKGARCH)
-ATTR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ATTR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ATTR_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-ATTR_32_PKG_SHORT_DESCRIPTION   = filesystems extended attributes tools
-ATTR_32_PKG_URL                 = $(BUG_URL)
-ATTR_32_PKG_LICENSE             = GPLv2
-ATTR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-pkg-description
-ATTR_32_PKG_DESCRIPTION_FILE_IN = $(ATTR_32_PKG_NAME)-pkg-description.in
-ATTR_32_PKG_INSTALL_SCRIPT      = $(ATTR_32_PKG_NAME)-pkg-install.sh
-
-ATTR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-package
-
-pkg_basename     = $(ATTR_32_PKG_NAME)-$(ATTR_32_PKG_VERSION)-$(ATTR_32_PKG_ARCH)-$(ATTR_32_PKG_DISTRO_NAME)-$(ATTR_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ATTR_32_PKG)
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --bindir=/usr/bin/32
-extra_configure_switches += --datadir=/usr/share
-extra_configure_switches += --mandir=/usr/share/man
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@cd $(SRC_DIR) && \
-	  $(BUILD_ENVIRONMENT) ./configure \
-	  --prefix=/usr               \
-	  --exec-prefix=/usr          \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ATTR_32_PKG)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ATTR_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
-	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   cp -a libattr.so.? $(ATTR_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   mv libattr.so.?.?.* $(ATTR_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/libattr.so.?.?.* . \
-	 )
-	@rm -rf $(ATTR_32_PKG)/etc
-	@rm -rf $(ATTR_32_PKG)/usr/include
-	@rm -rf $(ATTR_32_PKG)/usr/share
-	# ======= remove target path from target libtool *.la files =======
-	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libattr.la \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ATTR_32_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libattr.la \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.pc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ATTR_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ATTR_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-	@touch $@
-
-$(ATTR_32_PKG_DESCRIPTION_FILE): $(ATTR_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG_INSTALL_SCRIPT)
-	@cp $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG)/.DESCRIPTION
-	@cp $(ATTR_32_PKG_INSTALL_SCRIPT) $(ATTR_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ATTR_32_PKG)/.REQUIRES
-	@echo "pkgname=$(ATTR_32_PKG_NAME)"                            >  $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ATTR_32_PKG_VERSION)"                          >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(ATTR_32_PKG_ARCH)"                               >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ATTR_32_PKG_DISTRO_NAME)"                  >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ATTR_32_PKG_DISTRO_VERSION)"                >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "group=$(ATTR_32_PKG_GROUP)"                             >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ATTR_32_PKG_SHORT_DESCRIPTION)\"" >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "url=$(ATTR_32_PKG_URL)"                                 >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "license=$(ATTR_32_PKG_LICENSE)"                         >> $(ATTR_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ATTR_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/attr/2.4.48-ppc32
===================================================================
--- app/attr/2.4.48-ppc32	(revision 28)
+++ app/attr/2.4.48-ppc32	(nonexistent)

Property changes on: app/attr/2.4.48-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: app/attr/2.4.48-x86_32/attr-x32-pkg-description.in
===================================================================
--- app/attr/2.4.48-x86_32/attr-x32-pkg-description.in	(revision 28)
+++ app/attr/2.4.48-x86_32/attr-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-attr-x32: attr-x32 @VERSION@ (tools for using extended attributes on FS)
-attr-x32:
-attr-x32: This package contains a set of tools for manipulating extended
-attr-x32: attributes (name:value pairs associated permanently with files
-attr-x32: and directories) on filesystem objects, and the library and
-attr-x32: header files needed to develop programs which make use of extended
-attr-x32: attributes. Extended attributes are used to provide additional
-attr-x32: functionality to a filesystem. For example, Access Control Lists
-attr-x32: (ACLs) are implemented using extended attributes.
-attr-x32:
-attr-x32:
Index: app/attr/2.4.48-x86_32/attr-x32-pkg-install.sh
===================================================================
--- app/attr/2.4.48-x86_32/attr-x32-pkg-install.sh	(revision 28)
+++ app/attr/2.4.48-x86_32/attr-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: app/attr/2.4.48-x86_32/attr-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: app/attr/2.4.48-x86_32/Makefile
===================================================================
--- app/attr/2.4.48-x86_32/Makefile	(revision 28)
+++ app/attr/2.4.48-x86_32/Makefile	(nonexistent)
@@ -1,169 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/a/attr
-
-REQUIRES           = app/attr/2.4.48
-REQUIRES          += libs/glibc/2.36-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 2.4.48
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/a/attr/attr-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/attr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = app
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ATTR_32_PKG_NAME                = attr-x32
-ATTR_32_PKG_VERSION             = 2.4.48
-ATTR_32_PKG_ARCH                = $(PKGARCH)
-ATTR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ATTR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ATTR_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-ATTR_32_PKG_SHORT_DESCRIPTION   = filesystems extended attributes tools
-ATTR_32_PKG_URL                 = $(BUG_URL)
-ATTR_32_PKG_LICENSE             = GPLv2
-ATTR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-pkg-description
-ATTR_32_PKG_DESCRIPTION_FILE_IN = $(ATTR_32_PKG_NAME)-pkg-description.in
-ATTR_32_PKG_INSTALL_SCRIPT      = $(ATTR_32_PKG_NAME)-pkg-install.sh
-
-ATTR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-package
-
-pkg_basename     = $(ATTR_32_PKG_NAME)-$(ATTR_32_PKG_VERSION)-$(ATTR_32_PKG_ARCH)-$(ATTR_32_PKG_DISTRO_NAME)-$(ATTR_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ATTR_32_PKG)
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --bindir=/usr/bin/32
-extra_configure_switches += --datadir=/usr/share
-extra_configure_switches += --mandir=/usr/share/man
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@cd $(SRC_DIR) && \
-	  $(BUILD_ENVIRONMENT) ./configure \
-	  --prefix=/usr               \
-	  --exec-prefix=/usr          \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ATTR_32_PKG)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ATTR_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
-	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   cp -a libattr.so.? $(ATTR_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   mv libattr.so.?.?.* $(ATTR_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/libattr.so.?.?.* . \
-	 )
-	@rm -rf $(ATTR_32_PKG)/etc
-	@rm -rf $(ATTR_32_PKG)/usr/include
-	@rm -rf $(ATTR_32_PKG)/usr/share
-	# ======= remove target path from target libtool *.la files =======
-	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libattr.la \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ATTR_32_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libattr.la \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.pc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ATTR_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ATTR_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-	@touch $@
-
-$(ATTR_32_PKG_DESCRIPTION_FILE): $(ATTR_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG_INSTALL_SCRIPT)
-	@cp $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG)/.DESCRIPTION
-	@cp $(ATTR_32_PKG_INSTALL_SCRIPT) $(ATTR_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ATTR_32_PKG)/.REQUIRES
-	@echo "pkgname=$(ATTR_32_PKG_NAME)"                            >  $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ATTR_32_PKG_VERSION)"                          >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(ATTR_32_PKG_ARCH)"                               >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ATTR_32_PKG_DISTRO_NAME)"                  >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ATTR_32_PKG_DISTRO_VERSION)"                >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "group=$(ATTR_32_PKG_GROUP)"                             >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ATTR_32_PKG_SHORT_DESCRIPTION)\"" >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "url=$(ATTR_32_PKG_URL)"                                 >> $(ATTR_32_PKG)/.PKGINFO ; \
-	 echo "license=$(ATTR_32_PKG_LICENSE)"                         >> $(ATTR_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ATTR_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/attr/2.4.48-x86_32
===================================================================
--- app/attr/2.4.48-x86_32	(revision 28)
+++ app/attr/2.4.48-x86_32	(nonexistent)

Property changes on: app/attr/2.4.48-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: app/attr/2.5.1/Makefile
===================================================================
--- app/attr/2.5.1/Makefile	(nonexistent)
+++ app/attr/2.5.1/Makefile	(revision 29)
@@ -0,0 +1,242 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/attr
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/12.2.0
+else
+REQUIRES           = libs/glibc/2.36
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.5.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/attr/attr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/attr-$(version)
+src_dir_name       = attr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ATTR_PKG_NAME                = attr
+ATTR_PKG_VERSION             = 2.5.1
+ATTR_PKG_ARCH                = $(PKGARCH)
+ATTR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ATTR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ATTR_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+ATTR_PKG_SHORT_DESCRIPTION   = filesystems extended attributes tools
+ATTR_PKG_URL                 = $(BUG_URL)
+ATTR_PKG_LICENSE             = GPLv2
+ATTR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ATTR_PKG_NAME)-pkg-description
+ATTR_PKG_DESCRIPTION_FILE_IN = $(ATTR_PKG_NAME)-pkg-description.in
+ATTR_PKG_INSTALL_SCRIPT      = $(ATTR_PKG_NAME)-pkg-install.sh
+
+ATTR_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ATTR_PKG_NAME)-package
+
+pkg_basename     = $(ATTR_PKG_NAME)-$(ATTR_PKG_VERSION)-$(ATTR_PKG_ARCH)-$(ATTR_PKG_DISTRO_NAME)-$(ATTR_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ATTR_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --libexecdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --datadir=/usr/share
+extra_configure_switches += --mandir=/usr/share/man
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --exec-prefix=/usr          \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ATTR_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mv $(ATTR_PKG)/etc/xattr.conf $(ATTR_PKG)/etc/xattr.conf.new
+	@mkdir -p $(ATTR_PKG)/lib$(LIBSUFFIX)
+	@( cd $(ATTR_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   cp -a libattr.so.? $(ATTR_PKG)/lib$(LIBSUFFIX) ; \
+	   mv libattr.so.?.?.* $(ATTR_PKG)/lib$(LIBSUFFIX) ; \
+	   ln -sf ../../lib$(LIBSUFFIX)/libattr.so.?.?.* . \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(ATTR_PKG)/usr/share/man ]; then \
+	  ( cd $(ATTR_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(ATTR_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/doc/COPYING* \
+	       $(ATTR_PKG)/usr/doc/$(src_dir_name)
+	@mv $(ATTR_PKG)/usr/share/doc/attr $(ATTR_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a README \
+	         $(ATTR_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR)/doc ; \
+	   if [ -r CHANGES ]; then \
+	     DOCSDIR=`echo $(ATTR_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
+	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
+	   fi \
+	 )
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(ATTR_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libattr.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ATTR_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libattr.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ATTR_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ATTR_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(ATTR_PKG_DESCRIPTION_FILE): $(ATTR_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ATTR_PKG_DESCRIPTION_FILE) $(ATTR_PKG_INSTALL_SCRIPT)
+	@cp $(ATTR_PKG_DESCRIPTION_FILE) $(ATTR_PKG)/.DESCRIPTION
+	@cp $(ATTR_PKG_INSTALL_SCRIPT) $(ATTR_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ATTR_PKG)/.REQUIRES
+	@echo "pkgname=$(ATTR_PKG_NAME)"                            >  $(ATTR_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ATTR_PKG_VERSION)"                          >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "arch=$(ATTR_PKG_ARCH)"                               >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ATTR_PKG_DISTRO_NAME)"                  >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ATTR_PKG_DISTRO_VERSION)"                >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "group=$(ATTR_PKG_GROUP)"                             >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ATTR_PKG_SHORT_DESCRIPTION)\"" >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "url=$(ATTR_PKG_URL)"                                 >> $(ATTR_PKG)/.PKGINFO ; \
+	 echo "license=$(ATTR_PKG_LICENSE)"                         >> $(ATTR_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ATTR_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/attr/2.5.1/PATCHES
===================================================================
Index: app/attr/2.5.1/attr-pkg-description.in
===================================================================
--- app/attr/2.5.1/attr-pkg-description.in	(nonexistent)
+++ app/attr/2.5.1/attr-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler------------------------------------------------------|
+attr: attr @VERSION@ (tools for using extended attributes on filesystems)
+attr:
+attr: This package contains a set of tools for manipulating extended
+attr: attributes (name:value pairs associated permanently with files
+attr: and directories) on filesystem objects, and the library and
+attr: header files needed to develop programs which make use of extended
+attr: attributes. Extended attributes are used to provide additional
+attr: functionality to a filesystem. For example, Access Control Lists
+attr: (ACLs) are implemented using extended attributes.
+attr:
+attr:
Index: app/attr/2.5.1/attr-pkg-install.sh
===================================================================
--- app/attr/2.5.1/attr-pkg-install.sh	(nonexistent)
+++ app/attr/2.5.1/attr-pkg-install.sh	(revision 29)
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  install_file etc/xattr.conf.new
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/attr/2.5.1/attr-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/attr/2.5.1
===================================================================
--- app/attr/2.5.1	(nonexistent)
+++ app/attr/2.5.1	(revision 29)

Property changes on: app/attr/2.5.1
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/attr/2.5.1-ppc32/Makefile
===================================================================
--- app/attr/2.5.1-ppc32/Makefile	(nonexistent)
+++ app/attr/2.5.1-ppc32/Makefile	(revision 29)
@@ -0,0 +1,173 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/attr
+
+REQUIRES           = app/attr/2.5.1
+REQUIRES          += libs/glibc/2.36-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.5.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/attr/attr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/attr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ATTR_32_PKG_NAME                = attr-x32
+ATTR_32_PKG_VERSION             = 2.5.1
+ATTR_32_PKG_ARCH                = $(PKGARCH)
+ATTR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ATTR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ATTR_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+ATTR_32_PKG_SHORT_DESCRIPTION   = filesystems extended attributes tools
+ATTR_32_PKG_URL                 = $(BUG_URL)
+ATTR_32_PKG_LICENSE             = GPLv2
+ATTR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-pkg-description
+ATTR_32_PKG_DESCRIPTION_FILE_IN = $(ATTR_32_PKG_NAME)-pkg-description.in
+ATTR_32_PKG_INSTALL_SCRIPT      = $(ATTR_32_PKG_NAME)-pkg-install.sh
+
+ATTR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-package
+
+pkg_basename     = $(ATTR_32_PKG_NAME)-$(ATTR_32_PKG_VERSION)-$(ATTR_32_PKG_ARCH)-$(ATTR_32_PKG_DISTRO_NAME)-$(ATTR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ATTR_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --bindir=/usr/bin/32
+extra_configure_switches += --datadir=/usr/share
+extra_configure_switches += --mandir=/usr/share/man
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --exec-prefix=/usr          \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ATTR_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ATTR_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
+	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   cp -a libattr.so.? $(ATTR_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   mv libattr.so.?.?.* $(ATTR_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/libattr.so.?.?.* . \
+	 )
+	@rm -rf $(ATTR_32_PKG)/etc
+	@rm -rf $(ATTR_32_PKG)/usr/include
+	@rm -rf $(ATTR_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libattr.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ATTR_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libattr.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ATTR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ATTR_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(ATTR_32_PKG_DESCRIPTION_FILE): $(ATTR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG_INSTALL_SCRIPT)
+	@cp $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG)/.DESCRIPTION
+	@cp $(ATTR_32_PKG_INSTALL_SCRIPT) $(ATTR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ATTR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ATTR_32_PKG_NAME)"                            >  $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ATTR_32_PKG_VERSION)"                          >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ATTR_32_PKG_ARCH)"                               >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ATTR_32_PKG_DISTRO_NAME)"                  >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ATTR_32_PKG_DISTRO_VERSION)"                >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ATTR_32_PKG_GROUP)"                             >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ATTR_32_PKG_SHORT_DESCRIPTION)\"" >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ATTR_32_PKG_URL)"                                 >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ATTR_32_PKG_LICENSE)"                         >> $(ATTR_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ATTR_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/attr/2.5.1-ppc32/PATCHES
===================================================================
Index: app/attr/2.5.1-ppc32/attr-x32-pkg-description.in
===================================================================
--- app/attr/2.5.1-ppc32/attr-x32-pkg-description.in	(nonexistent)
+++ app/attr/2.5.1-ppc32/attr-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+attr-x32: attr-x32 @VERSION@ (tools for using extended attributes on FS)
+attr-x32:
+attr-x32: This package contains a set of tools for manipulating extended
+attr-x32: attributes (name:value pairs associated permanently with files
+attr-x32: and directories) on filesystem objects, and the library and
+attr-x32: header files needed to develop programs which make use of extended
+attr-x32: attributes. Extended attributes are used to provide additional
+attr-x32: functionality to a filesystem. For example, Access Control Lists
+attr-x32: (ACLs) are implemented using extended attributes.
+attr-x32:
+attr-x32:
Index: app/attr/2.5.1-ppc32/attr-x32-pkg-install.sh
===================================================================
--- app/attr/2.5.1-ppc32/attr-x32-pkg-install.sh	(nonexistent)
+++ app/attr/2.5.1-ppc32/attr-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/attr/2.5.1-ppc32/attr-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/attr/2.5.1-ppc32
===================================================================
--- app/attr/2.5.1-ppc32	(nonexistent)
+++ app/attr/2.5.1-ppc32	(revision 29)

Property changes on: app/attr/2.5.1-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/attr/2.5.1-x86_32/Makefile
===================================================================
--- app/attr/2.5.1-x86_32/Makefile	(nonexistent)
+++ app/attr/2.5.1-x86_32/Makefile	(revision 29)
@@ -0,0 +1,170 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/attr
+
+REQUIRES           = app/attr/2.5.1
+REQUIRES          += libs/glibc/2.36-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 2.5.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/attr/attr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/attr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ATTR_32_PKG_NAME                = attr-x32
+ATTR_32_PKG_VERSION             = 2.5.1
+ATTR_32_PKG_ARCH                = $(PKGARCH)
+ATTR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ATTR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ATTR_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+ATTR_32_PKG_SHORT_DESCRIPTION   = filesystems extended attributes tools
+ATTR_32_PKG_URL                 = $(BUG_URL)
+ATTR_32_PKG_LICENSE             = GPLv2
+ATTR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-pkg-description
+ATTR_32_PKG_DESCRIPTION_FILE_IN = $(ATTR_32_PKG_NAME)-pkg-description.in
+ATTR_32_PKG_INSTALL_SCRIPT      = $(ATTR_32_PKG_NAME)-pkg-install.sh
+
+ATTR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ATTR_32_PKG_NAME)-package
+
+pkg_basename     = $(ATTR_32_PKG_NAME)-$(ATTR_32_PKG_VERSION)-$(ATTR_32_PKG_ARCH)-$(ATTR_32_PKG_DISTRO_NAME)-$(ATTR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ATTR_32_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --libexecdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --bindir=/usr/bin/32
+extra_configure_switches += --datadir=/usr/share
+extra_configure_switches += --mandir=/usr/share/man
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@cd $(SRC_DIR) && \
+	  $(BUILD_ENVIRONMENT) ./configure \
+	  --prefix=/usr               \
+	  --exec-prefix=/usr          \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ATTR_32_PKG)
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ATTR_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
+	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   cp -a libattr.so.? $(ATTR_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   mv libattr.so.?.?.* $(ATTR_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/libattr.so.?.?.* . \
+	 )
+	@rm -rf $(ATTR_32_PKG)/etc
+	@rm -rf $(ATTR_32_PKG)/usr/include
+	@rm -rf $(ATTR_32_PKG)/usr/share
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(ATTR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libattr.la \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ATTR_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libattr.la \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libattr.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ATTR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ATTR_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(ATTR_32_PKG_DESCRIPTION_FILE): $(ATTR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG_INSTALL_SCRIPT)
+	@cp $(ATTR_32_PKG_DESCRIPTION_FILE) $(ATTR_32_PKG)/.DESCRIPTION
+	@cp $(ATTR_32_PKG_INSTALL_SCRIPT) $(ATTR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ATTR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ATTR_32_PKG_NAME)"                            >  $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ATTR_32_PKG_VERSION)"                          >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ATTR_32_PKG_ARCH)"                               >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ATTR_32_PKG_DISTRO_NAME)"                  >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ATTR_32_PKG_DISTRO_VERSION)"                >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ATTR_32_PKG_GROUP)"                             >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ATTR_32_PKG_SHORT_DESCRIPTION)\"" >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ATTR_32_PKG_URL)"                                 >> $(ATTR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ATTR_32_PKG_LICENSE)"                         >> $(ATTR_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ATTR_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/attr/2.5.1-x86_32/PATCHES
===================================================================
Index: app/attr/2.5.1-x86_32/attr-x32-pkg-description.in
===================================================================
--- app/attr/2.5.1-x86_32/attr-x32-pkg-description.in	(nonexistent)
+++ app/attr/2.5.1-x86_32/attr-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+attr-x32: attr-x32 @VERSION@ (tools for using extended attributes on FS)
+attr-x32:
+attr-x32: This package contains a set of tools for manipulating extended
+attr-x32: attributes (name:value pairs associated permanently with files
+attr-x32: and directories) on filesystem objects, and the library and
+attr-x32: header files needed to develop programs which make use of extended
+attr-x32: attributes. Extended attributes are used to provide additional
+attr-x32: functionality to a filesystem. For example, Access Control Lists
+attr-x32: (ACLs) are implemented using extended attributes.
+attr-x32:
+attr-x32:
Index: app/attr/2.5.1-x86_32/attr-x32-pkg-install.sh
===================================================================
--- app/attr/2.5.1-x86_32/attr-x32-pkg-install.sh	(nonexistent)
+++ app/attr/2.5.1-x86_32/attr-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/attr/2.5.1-x86_32/attr-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/attr/2.5.1-x86_32
===================================================================
--- app/attr/2.5.1-x86_32	(nonexistent)
+++ app/attr/2.5.1-x86_32	(revision 29)

Property changes on: app/attr/2.5.1-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/bin/4.11.2/Makefile
===================================================================
--- app/bin/4.11.2/Makefile	(revision 28)
+++ app/bin/4.11.2/Makefile	(revision 29)
@@ -76,7 +76,7 @@
 src_done           = $(TARGET_BUILD_DIR)/.source-done
 
 mktemp_version     = 2.7
-mktemp_archive     = $(SRC_PACKAGE_PATH)/packages/a/mktemp/mktemp-$(mktemp_version).tar.bz2
+mktemp_archive     = $(SRC_PACKAGE_PATH)/packages/a/mktemp/mktemp-$(mktemp_version).tar.xz
 MKTEMP_SRC_DIR     = $(TARGET_BUILD_DIR)/mktemp-$(mktemp_version)
 mktemp_src_done    = $(TARGET_BUILD_DIR)/.mktemp-source-done
 
@@ -164,7 +164,7 @@
 
 $(mktemp_src_done): $(mktemp_archive)
 	@echo "Expanding $(mktemp_archive)"
-	@tar xjf $(mktemp_archive) -C $(TARGET_BUILD_DIR)
+	@tar xJf $(mktemp_archive) -C $(TARGET_BUILD_DIR)
 	@touch $@
 
 $(banners_src_done): $(banners_archive)
Index: app/btrfs-progs/5.15.1/Makefile
===================================================================
--- app/btrfs-progs/5.15.1/Makefile	(revision 28)
+++ app/btrfs-progs/5.15.1/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/a/btrfs-progs
 
-REQUIRES           = app/acl/2.2.53
+REQUIRES           = app/acl/2.3.1
 REQUIRES          += libs/lzo/2.10
 REQUIRES          += libs/zstd/1.5.2
 REQUIRES          += app/util-linux/2.38.1
Index: app/coreutils/8.32/Makefile
===================================================================
--- app/coreutils/8.32/Makefile	(revision 28)
+++ app/coreutils/8.32/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/GNU/coreutils
 
-REQUIRES           = app/acl/2.2.53
+REQUIRES           = app/acl/2.3.1
 REQUIRES          += secure/libcap/2.48
 REQUIRES          += net/openssl/1.1.1r
 
Index: app/efibootmgr/18/Makefile
===================================================================
--- app/efibootmgr/18/Makefile	(nonexistent)
+++ app/efibootmgr/18/Makefile	(revision 29)
@@ -0,0 +1,210 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/efibootmgr
+
+REQUIRES           = app/efivar/38
+REQUIRES          += libs/popt/1.18
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 18
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/efibootmgr/efibootmgr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/efibootmgr-$(version)
+src_dir_name       = efibootmgr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source-done
+
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+EFIBOOTMGR_PKG_NAME                = efibootmgr
+EFIBOOTMGR_PKG_VERSION             = 18
+EFIBOOTMGR_PKG_ARCH                = $(PKGARCH)
+EFIBOOTMGR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+EFIBOOTMGR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+EFIBOOTMGR_PKG_GROUP               = $(PKG_GROUP)
+###                                 |---handy-ruler-------------------------------|
+EFIBOOTMGR_PKG_SHORT_DESCRIPTION   = tool to modify UEFI boot entries
+EFIBOOTMGR_PKG_URL                 = $(BUG_URL)
+EFIBOOTMGR_PKG_LICENSE             = GPLv2
+EFIBOOTMGR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(EFIBOOTMGR_PKG_NAME)-pkg-description
+EFIBOOTMGR_PKG_DESCRIPTION_FILE_IN = $(EFIBOOTMGR_PKG_NAME)-pkg-description.in
+EFIBOOTMGR_PKG_INSTALL_SCRIPT      = $(EFIBOOTMGR_PKG_NAME)-pkg-install.sh
+
+EFIBOOTMGR_PKG   = $(CURDIR)/$(TARGET_BUILD_DIR)/$(EFIBOOTMGR_PKG_NAME)-package
+
+pkg_basename     = $(EFIBOOTMGR_PKG_NAME)-$(EFIBOOTMGR_PKG_VERSION)-$(EFIBOOTMGR_PKG_ARCH)-$(EFIBOOTMGR_PKG_DISTRO_NAME)-$(EFIBOOTMGR_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(EFIBOOTMGR_PKG)
+
+
+extra_environment  = prefix=/usr
+extra_environment += bindir=/usr/bin
+extra_environment += sbindir=/usr/sbin
+extra_environment += libdir=/usr/lib$(LIBSUFFIX)
+extra_environment += mandir=/usr/share/man
+extra_environment += EFIDIR=/boot/efi
+
+
+CFLAGS += -fPIC -Wformat=0 -Wno-pointer-sign
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	# ======= Build efibootmgr: =======
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) $(BUILD_ENVIRONMENT) $(extra_environment) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) $(BUILD_ENVIRONMENT) install $(extra_environment) $(env_sysroot) ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(EFIBOOTMGR_PKG)/usr/share/man ]; then \
+	  ( cd $(EFIBOOTMGR_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(EFIBOOTMGR_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(EFIBOOTMGR_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(EFIBOOTMGR_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING INSTALL README.md TODO \
+	         $(EFIBOOTMGR_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(EFIBOOTMGR_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(EFIBOOTMGR_PKG))
+	# ======= Strip binaries =======
+	@( cd $(EFIBOOTMGR_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(EFIBOOTMGR_PKG_DESCRIPTION_FILE): $(EFIBOOTMGR_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(EFIBOOTMGR_PKG_DESCRIPTION_FILE) $(EFIBOOTMGR_PKG_INSTALL_SCRIPT)
+	@cp $(EFIBOOTMGR_PKG_DESCRIPTION_FILE) $(EFIBOOTMGR_PKG)/.DESCRIPTION
+	@cp $(EFIBOOTMGR_PKG_INSTALL_SCRIPT) $(EFIBOOTMGR_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(EFIBOOTMGR_PKG)/.REQUIRES
+	@echo "pkgname=$(EFIBOOTMGR_PKG_NAME)"                            >  $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(EFIBOOTMGR_PKG_VERSION)"                          >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "arch=$(EFIBOOTMGR_PKG_ARCH)"                               >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "distroname=$(EFIBOOTMGR_PKG_DISTRO_NAME)"                  >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "distrover=$(EFIBOOTMGR_PKG_DISTRO_VERSION)"                >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "group=$(EFIBOOTMGR_PKG_GROUP)"                             >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(EFIBOOTMGR_PKG_SHORT_DESCRIPTION)\"" >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "url=$(EFIBOOTMGR_PKG_URL)"                                 >> $(EFIBOOTMGR_PKG)/.PKGINFO ; \
+	 echo "license=$(EFIBOOTMGR_PKG_LICENSE)"                         >> $(EFIBOOTMGR_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(EFIBOOTMGR_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/efibootmgr/18/PATCHES
===================================================================
--- app/efibootmgr/18/PATCHES	(nonexistent)
+++ app/efibootmgr/18/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/a/efibootmgr/patches/efibootmgr-18-wrong-check-reconnect.patch -p0
Index: app/efibootmgr/18/efibootmgr-pkg-description.in
===================================================================
--- app/efibootmgr/18/efibootmgr-pkg-description.in	(nonexistent)
+++ app/efibootmgr/18/efibootmgr-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+efibootmgr: efibootmgr @VERSION@ (tool to modify UEFI boot entries)
+efibootmgr:
+efibootmgr: efibootmgr is a Linux userspace application to modify the Intel
+efibootmgr: Extensible Firmware Interface (EFI) Boot Manager. This application
+efibootmgr: can create and destroy boot entries, change the boot order, change
+efibootmgr: the next running boot option, and more.
+efibootmgr:
+efibootmgr: Homepage: https://github.com/rhboot/efibootmgr
+efibootmgr:
+efibootmgr:
+efibootmgr:
Index: app/efibootmgr/18/efibootmgr-pkg-install.sh
===================================================================
--- app/efibootmgr/18/efibootmgr-pkg-install.sh	(nonexistent)
+++ app/efibootmgr/18/efibootmgr-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/efibootmgr/18/efibootmgr-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/efibootmgr/18
===================================================================
--- app/efibootmgr/18	(nonexistent)
+++ app/efibootmgr/18	(revision 29)

Property changes on: app/efibootmgr/18
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/efivar/38/Makefile
===================================================================
--- app/efivar/38/Makefile	(nonexistent)
+++ app/efivar/38/Makefile	(revision 29)
@@ -0,0 +1,231 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/efivar
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/12.2.0
+else
+REQUIRES           = libs/glibc/2.36
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 38
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/efivar/efivar-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/efivar-$(version)
+src_dir_name       = efivar-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source-done
+
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+EFIVAR_PKG_NAME                = efivar
+EFIVAR_PKG_VERSION             = 38
+EFIVAR_PKG_ARCH                = $(PKGARCH)
+EFIVAR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+EFIVAR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+EFIVAR_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+EFIVAR_PKG_SHORT_DESCRIPTION   = library and utils to handle UEFI variables
+EFIVAR_PKG_URL                 = $(BUG_URL)
+EFIVAR_PKG_LICENSE             = LGPLv2.1
+EFIVAR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(EFIVAR_PKG_NAME)-pkg-description
+EFIVAR_PKG_DESCRIPTION_FILE_IN = $(EFIVAR_PKG_NAME)-pkg-description.in
+EFIVAR_PKG_INSTALL_SCRIPT      = $(EFIVAR_PKG_NAME)-pkg-install.sh
+
+EFIVAR_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(EFIVAR_PKG_NAME)-package
+
+pkg_basename     = $(EFIVAR_PKG_NAME)-$(EFIVAR_PKG_VERSION)-$(EFIVAR_PKG_ARCH)-$(EFIVAR_PKG_DISTRO_NAME)-$(EFIVAR_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(EFIVAR_PKG)
+
+
+extra_environment  = BINDIR=/usr/bin
+extra_environment += LIBDIR=/usr/lib$(LIBSUFFIX)
+extra_environment += MANDIR=/usr/share/man
+
+build_machine_environment  = HOSTCC=gcc
+build_machine_environment += HOSTCCLD=gcc
+build_machine_environment += HOST_CFLAGS=-I/usr/include
+build_machine_environment += HOST_LDFLAGS=-L/usr/lib$(BUILD_MULTILIB_SUFFIX)
+build_machine_environment += HOST_CCLDFLAGS=-L/usr/lib$(BUILD_MULTILIB_SUFFIX)
+
+
+CFLAGS += -fPIC -Wformat=0
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i 's,HOST_MARCH=-march=native,HOST_MARCH=,' src/include/defaults.mk ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	# ======= Build native makeguids tool: =======
+	@( cd $(SRC_DIR)/src/ ; \
+	   $(MAKE) makeguids TOPDIR=.. $(build_machine_environment) ; \
+	   mv makeguids $(TARGET)-makeguids ; \
+	 )
+	# ======= Build target efivar utils and libraries: =======
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) clean ; \
+	   sed -i 's,\./makeguids,\./$(TARGET)-makeguids,' src/Makefile ; \
+	   $(MAKE) $(BUILD_ENVIRONMENT) $(extra_environment) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) $(BUILD_ENVIRONMENT) install $(extra_environment) $(env_sysroot) ; \
+	 )
+	# ======= Install Documentation =======
+	@if [ -d $(EFIVAR_PKG)/usr/share/man ]; then \
+	  ( cd $(EFIVAR_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(EFIVAR_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(EFIVAR_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(EFIVAR_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING README.md TODO \
+	         $(EFIVAR_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(EFIVAR_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(EFIVAR_PKG))
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" efiboot.pc efisec.pc efivar.pc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(EFIVAR_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(EFIVAR_PKG_DESCRIPTION_FILE): $(EFIVAR_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(EFIVAR_PKG_DESCRIPTION_FILE) $(EFIVAR_PKG_INSTALL_SCRIPT)
+	@cp $(EFIVAR_PKG_DESCRIPTION_FILE) $(EFIVAR_PKG)/.DESCRIPTION
+	@cp $(EFIVAR_PKG_INSTALL_SCRIPT) $(EFIVAR_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(EFIVAR_PKG)/.REQUIRES
+	@echo "pkgname=$(EFIVAR_PKG_NAME)"                            >  $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(EFIVAR_PKG_VERSION)"                          >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "arch=$(EFIVAR_PKG_ARCH)"                               >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "distroname=$(EFIVAR_PKG_DISTRO_NAME)"                  >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "distrover=$(EFIVAR_PKG_DISTRO_VERSION)"                >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "group=$(EFIVAR_PKG_GROUP)"                             >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(EFIVAR_PKG_SHORT_DESCRIPTION)\"" >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "url=$(EFIVAR_PKG_URL)"                                 >> $(EFIVAR_PKG)/.PKGINFO ; \
+	 echo "license=$(EFIVAR_PKG_LICENSE)"                         >> $(EFIVAR_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(EFIVAR_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/efivar/38/PATCHES
===================================================================
--- app/efivar/38/PATCHES	(nonexistent)
+++ app/efivar/38/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/a/efivar/patches/efivar-38-gnu-ld-2.36.patch -p0
Index: app/efivar/38/efivar-pkg-description.in
===================================================================
--- app/efivar/38/efivar-pkg-description.in	(nonexistent)
+++ app/efivar/38/efivar-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler------------------------------------------------------|
+efivar: efivar @VERSION@ (library and utils to handle UEFI variables)
+efivar:
+efivar: The efivar package contains a library and utilities for manipulating
+efivar: UEFI (Unified Extensible Firmware Interface) variables.
+efivar:
+efivar: Homepage: https://github.com/rhboot/efivar
+efivar:
+efivar:
+efivar:
+efivar:
+efivar:
Index: app/efivar/38/efivar-pkg-install.sh
===================================================================
--- app/efivar/38/efivar-pkg-install.sh	(nonexistent)
+++ app/efivar/38/efivar-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/efivar/38/efivar-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/efivar/38
===================================================================
--- app/efivar/38	(nonexistent)
+++ app/efivar/38	(revision 29)

Property changes on: app/efivar/38
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/elogind/246.10/Makefile
===================================================================
--- app/elogind/246.10/Makefile	(revision 28)
+++ app/elogind/246.10/Makefile	(revision 29)
@@ -56,7 +56,7 @@
 
 REQUIRES           = secure/libcap/2.48
 REQUIRES          += libs/eudev/3.2.10
-REQUIRES          += app/acl/2.2.53
+REQUIRES          += app/acl/2.3.1
 REQUIRES          += dev/gperf/3.1
 
 # ======= __END_OF_REQUIRES__ =======
Index: app/elogind/246.10-ppc32/Makefile
===================================================================
--- app/elogind/246.10-ppc32/Makefile	(revision 28)
+++ app/elogind/246.10-ppc32/Makefile	(revision 29)
@@ -18,7 +18,7 @@
 REQUIRES           = app/elogind/246.10
 REQUIRES          += secure/libcap/2.48-ppc32
 REQUIRES          += libs/eudev/3.2.10-ppc32
-REQUIRES          += app/acl/2.2.53-ppc32
+REQUIRES          += app/acl/2.3.1-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: app/elogind/246.10-x86_32/Makefile
===================================================================
--- app/elogind/246.10-x86_32/Makefile	(revision 28)
+++ app/elogind/246.10-x86_32/Makefile	(revision 29)
@@ -15,7 +15,7 @@
 REQUIRES           = app/elogind/246.10
 REQUIRES          += secure/libcap/2.48-x86_32
 REQUIRES          += libs/eudev/3.2.10-x86_32
-REQUIRES          += app/acl/2.2.53-x86_32
+REQUIRES          += app/acl/2.3.1-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: app/fakeroot/1.31/Makefile
===================================================================
--- app/fakeroot/1.31/Makefile	(nonexistent)
+++ app/fakeroot/1.31/Makefile	(revision 29)
@@ -0,0 +1,245 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/fakeroot
+
+REQUIRES           = secure/libcap/2.48
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.31
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/fakeroot/fakeroot-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/fakeroot-$(version)
+src_dir_name       = fakeroot-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+script          = $(CURDIR)/scripts/fakeroot.in
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+FAKEROOT_PKG_NAME                = fakeroot
+FAKEROOT_PKG_VERSION             = 1.31
+FAKEROOT_PKG_ARCH                = $(PKGARCH)
+FAKEROOT_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+FAKEROOT_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+FAKEROOT_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+FAKEROOT_PKG_SHORT_DESCRIPTION   = Gives a fake root environment
+FAKEROOT_PKG_URL                 = $(BUG_URL)
+FAKEROOT_PKG_LICENSE             = GPLv3
+FAKEROOT_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(FAKEROOT_PKG_NAME)-pkg-description
+FAKEROOT_PKG_DESCRIPTION_FILE_IN = $(FAKEROOT_PKG_NAME)-pkg-description.in
+FAKEROOT_PKG_INSTALL_SCRIPT      = $(FAKEROOT_PKG_NAME)-pkg-install.sh
+
+FAKEROOT_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(FAKEROOT_PKG_NAME)-package
+
+pkg_basename     = $(FAKEROOT_PKG_NAME)-$(FAKEROOT_PKG_VERSION)-$(FAKEROOT_PKG_ARCH)-$(FAKEROOT_PKG_DISTRO_NAME)-$(FAKEROOT_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(FAKEROOT_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --sysconfdir=/etc
+
+extra_configure_switches += --program-suffix=-sysv
+extra_configure_switches += --disable-static
+extra_configure_switches += --with-ipc=sysv
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; ./bootstrap )
+	@( cd $(SRC_DIR)/doc ; \
+	   $(BUILDSYSTEM)/usr/bin/po4a -k 0 --rm-backups --variable 'srcdir=../doc/' po4a/po4a.cfg ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) $(environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(environment) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(FAKEROOT_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(environment) $(MAKE) install $(env_sysroot)
+	@mkdir -p $(FAKEROOT_PKG)/usr/bin
+	@cat $(script) | sed 's,@LIBDIRSUFFIX@,$(LIBSUFFIX),g' > $(FAKEROOT_PKG)/usr/bin/fakeroot
+	@chmod 755 $(FAKEROOT_PKG)/usr/bin/fakeroot
+	# ======= Install Documentation =======
+	@if [ -d $(FAKEROOT_PKG)/usr/share/man ]; then \
+	  ( cd $(FAKEROOT_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.* ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(FAKEROOT_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
+	       $(FAKEROOT_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(FAKEROOT_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a AUTHORS COPYING INSTALL README \
+	         $(FAKEROOT_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(FAKEROOT_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove target path from target libtool *.la files =======
+	@( cd $(FAKEROOT_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libfakeroot.la ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(FAKEROOT_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libfakeroot.la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libfakeroot.la ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(FAKEROOT_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(FAKEROOT_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(FAKEROOT_PKG_DESCRIPTION_FILE): $(FAKEROOT_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(FAKEROOT_PKG_DESCRIPTION_FILE) $(FAKEROOT_PKG_INSTALL_SCRIPT)
+	@cp $(FAKEROOT_PKG_DESCRIPTION_FILE) $(FAKEROOT_PKG)/.DESCRIPTION
+	@cp $(FAKEROOT_PKG_INSTALL_SCRIPT) $(FAKEROOT_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(FAKEROOT_PKG)/.REQUIRES
+	@echo "pkgname=$(FAKEROOT_PKG_NAME)"                            >  $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(FAKEROOT_PKG_VERSION)"                          >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "arch=$(FAKEROOT_PKG_ARCH)"                               >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "distroname=$(FAKEROOT_PKG_DISTRO_NAME)"                  >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "distrover=$(FAKEROOT_PKG_DISTRO_VERSION)"                >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "group=$(FAKEROOT_PKG_GROUP)"                             >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(FAKEROOT_PKG_SHORT_DESCRIPTION)\"" >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "url=$(FAKEROOT_PKG_URL)"                                 >> $(FAKEROOT_PKG)/.PKGINFO ; \
+	 echo "license=$(FAKEROOT_PKG_LICENSE)"                         >> $(FAKEROOT_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(FAKEROOT_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/fakeroot/1.31/PATCHES
===================================================================
--- app/fakeroot/1.31/PATCHES	(nonexistent)
+++ app/fakeroot/1.31/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/a/fakeroot/patches/fakeroot-1.31-host-os.patch -p0
Index: app/fakeroot/1.31/fakeroot-pkg-description.in
===================================================================
--- app/fakeroot/1.31/fakeroot-pkg-description.in	(nonexistent)
+++ app/fakeroot/1.31/fakeroot-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+fakeroot: fakeroot @VERSION@ (Gives a fake root environment)
+fakeroot:
+fakeroot: Fakeroot makes it possible to run commands in an environment
+fakeroot: faking root privileges.  This is done by setting LD_PRELOAD
+fakeroot: to libfakeroot.so, which provides wrappers around getuid,
+fakeroot: chown, chmod, mknod, stat, and so on, thereby creating
+fakeroot: a fake root environment.
+fakeroot:
+fakeroot:
+fakeroot:
+fakeroot:
Index: app/fakeroot/1.31/fakeroot-pkg-install.sh
===================================================================
--- app/fakeroot/1.31/fakeroot-pkg-install.sh	(nonexistent)
+++ app/fakeroot/1.31/fakeroot-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/fakeroot/1.31/fakeroot-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/fakeroot/1.31/scripts/fakeroot.in
===================================================================
--- app/fakeroot/1.31/scripts/fakeroot.in	(nonexistent)
+++ app/fakeroot/1.31/scripts/fakeroot.in	(revision 29)
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+program=$0
+fakeroot_prefix=$(cd $(dirname $program)/.. ; pwd -P)/usr
+
+shell=$1 ; shift ; option=$1 ; shift
+
+#
+# remove extra spaces:
+#
+args=`echo "${@}" | sed 's/ \{1,\}/ /g'`
+
+${fakeroot_prefix}/bin/fakeroot-sysv --lib ${fakeroot_prefix}/lib@LIBDIRSUFFIX@/libfakeroot-0.so \
+                                     --faked ${fakeroot_prefix}/bin/faked-sysv -- $shell $option "$args"
Index: app/fakeroot/1.31
===================================================================
--- app/fakeroot/1.31	(nonexistent)
+++ app/fakeroot/1.31	(revision 29)

Property changes on: app/fakeroot/1.31
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/gettext/0.21-tools/Makefile
===================================================================
--- app/gettext/0.21-tools/Makefile	(revision 28)
+++ app/gettext/0.21-tools/Makefile	(revision 29)
@@ -57,7 +57,7 @@
 REQUIRES           = app/gettext/0.21
 REQUIRES          += libs/libunistring/0.9.10
 REQUIRES          += libs/libxml2/2.9.9
-REQUIRES          += app/acl/2.2.53
+REQUIRES          += app/acl/2.3.1
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: app/logrotate/3.18.0/Makefile
===================================================================
--- app/logrotate/3.18.0/Makefile	(revision 28)
+++ app/logrotate/3.18.0/Makefile	(revision 29)
@@ -55,7 +55,7 @@
 SOURCE_REQUIRES    = sources/packages/a/logrotate
 
 REQUIRES           = libs/popt/1.18
-REQUIRES          += app/acl/2.2.53
+REQUIRES          += app/acl/2.3.1
 REQUIRES          += app/dcron/4.5
 
 # ======= __END_OF_REQUIRES__ =======
Index: app/patch/2.7.6/Makefile
===================================================================
--- app/patch/2.7.6/Makefile	(revision 28)
+++ app/patch/2.7.6/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/GNU/patch
 
-REQUIRES           = app/attr/2.4.48
+REQUIRES           = app/attr/2.5.1
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: app/patchelf/0.18.0/Makefile
===================================================================
--- app/patchelf/0.18.0/Makefile	(nonexistent)
+++ app/patchelf/0.18.0/Makefile	(revision 29)
@@ -0,0 +1,211 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/a/patchelf
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/12.2.0
+else
+REQUIRES           = libs/glibc/2.36
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 0.18.0
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/a/patchelf/patchelf-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/patchelf-$(version)
+src_dir_name       = patchelf-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = app
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+PATCHELF_PKG_NAME                = patchelf
+PATCHELF_PKG_VERSION             = 0.18.0
+PATCHELF_PKG_ARCH                = $(PKGARCH)
+PATCHELF_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+PATCHELF_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+PATCHELF_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+PATCHELF_PKG_SHORT_DESCRIPTION   = tool to modify ELF binaries
+PATCHELF_PKG_URL                 = $(BUG_URL)
+PATCHELF_PKG_LICENSE             = GPLv3
+PATCHELF_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(PATCHELF_PKG_NAME)-pkg-description
+PATCHELF_PKG_DESCRIPTION_FILE_IN = $(PATCHELF_PKG_NAME)-pkg-description.in
+PATCHELF_PKG_INSTALL_SCRIPT      = $(PATCHELF_PKG_NAME)-pkg-install.sh
+
+PATCHELF_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(PATCHELF_PKG_NAME)-package
+
+pkg_basename     = $(PATCHELF_PKG_NAME)-$(PATCHELF_PKG_VERSION)-$(PATCHELF_PKG_ARCH)-$(PATCHELF_PKG_DISTRO_NAME)-$(PATCHELF_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(PATCHELF_PKG)
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --sysconfdir=/etc
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && \
+	  $(BUILD_ENVIRONMENT) $(environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(environment) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(PATCHELF_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(environment) $(MAKE) install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(PATCHELF_PKG)/usr/share/man ]; then \
+	  ( cd $(PATCHELF_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.* ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(PATCHELF_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(PATCHELF_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(PATCHELF_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING BUGS README.md \
+	         $(PATCHELF_PKG)/usr/share/doc/$(src_dir_name) \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog -a -s ChangeLog ]; then \
+	     DOCSDIR=`echo $(PATCHELF_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(PATCHELF_PKG))
+	# ======= Strip binaries =======
+	@( cd $(PATCHELF_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(PATCHELF_PKG_DESCRIPTION_FILE): $(PATCHELF_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(PATCHELF_PKG_DESCRIPTION_FILE) $(PATCHELF_PKG_INSTALL_SCRIPT)
+	@cp $(PATCHELF_PKG_DESCRIPTION_FILE) $(PATCHELF_PKG)/.DESCRIPTION
+	@cp $(PATCHELF_PKG_INSTALL_SCRIPT) $(PATCHELF_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(PATCHELF_PKG)/.REQUIRES
+	@echo "pkgname=$(PATCHELF_PKG_NAME)"                            >  $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(PATCHELF_PKG_VERSION)"                          >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "arch=$(PATCHELF_PKG_ARCH)"                               >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "distroname=$(PATCHELF_PKG_DISTRO_NAME)"                  >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "distrover=$(PATCHELF_PKG_DISTRO_VERSION)"                >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "group=$(PATCHELF_PKG_GROUP)"                             >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(PATCHELF_PKG_SHORT_DESCRIPTION)\"" >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "url=$(PATCHELF_PKG_URL)"                                 >> $(PATCHELF_PKG)/.PKGINFO ; \
+	 echo "license=$(PATCHELF_PKG_LICENSE)"                         >> $(PATCHELF_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(PATCHELF_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: app/patchelf/0.18.0/PATCHES
===================================================================
Index: app/patchelf/0.18.0/patchelf-pkg-description.in
===================================================================
--- app/patchelf/0.18.0/patchelf-pkg-description.in	(nonexistent)
+++ app/patchelf/0.18.0/patchelf-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+patchelf: patchelf @VERSION@ (tool to modify ELF binaries)
+patchelf:
+patchelf: PatchELF is a utility for modifying an existing ELF executable or
+patchelf: library. It can change the dynamic loader ("ELF interpreter") of an
+patchelf: executable, modify the RPATH, and add/change/remove declared
+patchelf: dependencies on dynamic libraries. PatchELF was written by
+patchelf: Eelco Dolstra.
+patchelf:
+patchelf: Homepage: https://nixos.org/patchelf.html
+patchelf:
+patchelf:
Index: app/patchelf/0.18.0/patchelf-pkg-install.sh
===================================================================
--- app/patchelf/0.18.0/patchelf-pkg-install.sh	(nonexistent)
+++ app/patchelf/0.18.0/patchelf-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: app/patchelf/0.18.0/patchelf-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: app/patchelf/0.18.0
===================================================================
--- app/patchelf/0.18.0	(nonexistent)
+++ app/patchelf/0.18.0	(revision 29)

Property changes on: app/patchelf/0.18.0
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: app/postgresql/14.1/Makefile
===================================================================
--- app/postgresql/14.1/Makefile	(revision 28)
+++ app/postgresql/14.1/Makefile	(revision 29)
@@ -60,7 +60,7 @@
 REQUIRES          += libs/libxml2/2.9.9
 REQUIRES          += libs/libxslt/1.1.34
 REQUIRES          += libs/readline/8.2
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += libs/lz4/1.9.4
 REQUIRES          += net/openssl/1.1.1r
 REQUIRES          += net/krb5/1.19.1
Index: app/postgresql/14.1-ppc32/Makefile
===================================================================
--- app/postgresql/14.1-ppc32/Makefile	(revision 28)
+++ app/postgresql/14.1-ppc32/Makefile	(revision 29)
@@ -22,7 +22,7 @@
 REQUIRES          += libs/libxml2/2.9.9-ppc32
 REQUIRES          += libs/libxslt/1.1.34-ppc32
 REQUIRES          += libs/readline/8.2-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += libs/lz4/1.9.4-ppc32
 REQUIRES          += net/openssl/1.1.1r-ppc32
 REQUIRES          += net/krb5/1.19.1-ppc32
Index: app/postgresql/14.1-x86_32/Makefile
===================================================================
--- app/postgresql/14.1-x86_32/Makefile	(revision 28)
+++ app/postgresql/14.1-x86_32/Makefile	(revision 29)
@@ -19,7 +19,7 @@
 REQUIRES          += libs/libxml2/2.9.9-x86_32
 REQUIRES          += libs/libxslt/1.1.34-x86_32
 REQUIRES          += libs/readline/8.2-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += libs/lz4/1.9.4-x86_32
 REQUIRES          += net/openssl/1.1.1r-x86_32
 REQUIRES          += net/krb5/1.19.1-x86_32
Index: app/procps/3.3.17/Makefile
===================================================================
--- app/procps/3.3.17/Makefile	(revision 28)
+++ app/procps/3.3.17/Makefile	(revision 29)
@@ -151,6 +151,10 @@
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i 's,"#define malloc rpl_malloc","/* #define malloc rpl_malloc */",g'   configure ; \
+	   sed -i 's,"#define malloc rpl_realloc","/* #define malloc rpl_realloc */",g' configure ; \
+	 )
 	@touch $@
 
 $(build_target): $(src_done)
Index: app/procps/3.3.17/PATCHES
===================================================================
--- app/procps/3.3.17/PATCHES	(revision 28)
+++ app/procps/3.3.17/PATCHES	(revision 29)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/a/procps/patches/procps-3.3.17-rpl-malloc.patch -p0
Index: app/procps/3.3.17-ppc32/Makefile
===================================================================
--- app/procps/3.3.17-ppc32/Makefile	(revision 28)
+++ app/procps/3.3.17-ppc32/Makefile	(revision 29)
@@ -114,6 +114,10 @@
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i 's,"#define malloc rpl_malloc","/* #define malloc rpl_malloc */",g'   configure ; \
+	   sed -i 's,"#define malloc rpl_realloc","/* #define malloc rpl_realloc */",g' configure ; \
+	 )
 	@touch $@
 
 $(build_target): $(src_done)
Index: app/procps/3.3.17-ppc32/PATCHES
===================================================================
--- app/procps/3.3.17-ppc32/PATCHES	(revision 28)
+++ app/procps/3.3.17-ppc32/PATCHES	(revision 29)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/a/procps/patches/procps-3.3.17-rpl-malloc.patch -p0
Index: app/procps/3.3.17-x86_32/Makefile
===================================================================
--- app/procps/3.3.17-x86_32/Makefile	(revision 28)
+++ app/procps/3.3.17-x86_32/Makefile	(revision 29)
@@ -111,6 +111,10 @@
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@( cd $(SRC_DIR) ; \
+	   sed -i 's,"#define malloc rpl_malloc","/* #define malloc rpl_malloc */",g'   configure ; \
+	   sed -i 's,"#define malloc rpl_realloc","/* #define malloc rpl_realloc */",g' configure ; \
+	 )
 	@touch $@
 
 $(build_target): $(src_done)
Index: app/procps/3.3.17-x86_32/PATCHES
===================================================================
--- app/procps/3.3.17-x86_32/PATCHES	(revision 28)
+++ app/procps/3.3.17-x86_32/PATCHES	(revision 29)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/a/procps/patches/procps-3.3.17-rpl-malloc.patch -p0
Index: app/sed/4.8/Makefile
===================================================================
--- app/sed/4.8/Makefile	(revision 28)
+++ app/sed/4.8/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/GNU/sed
 
-REQUIRES           = app/acl/2.2.53
+REQUIRES           = app/acl/2.3.1
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: app/sysfsutils/2.1.0/Makefile
===================================================================
--- app/sysfsutils/2.1.0/Makefile	(revision 28)
+++ app/sysfsutils/2.1.0/Makefile	(revision 29)
@@ -60,8 +60,8 @@
 
 
 version              = 2.1.0
-tar_gz_archive       = $(SRC_PACKAGE_PATH)/packages/a/sysfsutils/sysfsutils-$(version).tar.gz
-SRC_ARCHIVE          = $(tar_gz_archive)
+tar_xz_archive       = $(SRC_PACKAGE_PATH)/packages/a/sysfsutils/sysfsutils-$(version).tar.xz
+SRC_ARCHIVE          = $(tar_xz_archive)
 SRC_DIR              = $(TARGET_BUILD_DIR)/sysfsutils-$(version)
 src_dir_name         = sysfsutils-$(version)
 src_done             = $(TARGET_BUILD_DIR)/.source_done
@@ -129,6 +129,11 @@
 extra_configure_switches += --enable-shared=yes
 
 
+CFLAGS += -fcommon -Wno-implicit-fallthrough -Wno-misleading-indentation -Wno-aggressive-loop-optimizations
+CFLAGS += -Wno-sign-compare -Wno-sizeof-array-div -Wno-unused-variable -Wno-unused-parameter -Wno-pointer-sign
+CFLAGS += -Wno-stringop-truncation
+
+
 ####### Dependencies
 
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
Index: app/tar/1.34/Makefile
===================================================================
--- app/tar/1.34/Makefile	(revision 28)
+++ app/tar/1.34/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/GNU/tar
 
-REQUIRES           = app/acl/2.2.53
+REQUIRES           = app/acl/2.3.1
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: app/util-linux/2.38.1/Makefile
===================================================================
--- app/util-linux/2.38.1/Makefile	(revision 28)
+++ app/util-linux/2.38.1/Makefile	(revision 29)
@@ -83,7 +83,7 @@
 bsdstrings_src_done = $(TARGET_BUILD_DIR)/.bsdstrings-source-done
 
 nettools_version    = 1.60-20210110
-nettools_archive    = $(SRC_PACKAGE_PATH)/packages/n/net-tools/net-tools-$(nettools_version).tar.bz2
+nettools_archive    = $(SRC_PACKAGE_PATH)/packages/n/net-tools/net-tools-$(nettools_version).tar.xz
 NETTOOLS_SRC_DIR    = $(TARGET_BUILD_DIR)/net-tools-$(nettools_version)
 nettools_src_done   = $(TARGET_BUILD_DIR)/.nettools-source-done
 
@@ -229,7 +229,7 @@
 
 $(nettools_src_done): $(nettools_archive)
 	@echo "Expanding $(nettools_archive)"
-	@tar xjf $(nettools_archive) -C $(TARGET_BUILD_DIR)
+	@tar xJf $(nettools_archive) -C $(TARGET_BUILD_DIR)
 	@touch $@
 
 $(setserial_src_done): $(setserial_archive)
Index: app/vim/8.2-3709/Makefile
===================================================================
--- app/vim/8.2-3709/Makefile	(revision 28)
+++ app/vim/8.2-3709/Makefile	(revision 29)
@@ -56,7 +56,7 @@
 
 REQUIRES           = app/ctags/5.8
 REQUIRES          += libs/ncurses/6.3
-REQUIRES          += app/acl/2.2.53
+REQUIRES          += app/acl/2.3.1
 REQUIRES          += app/gawk/5.1.0
 REQUIRES          += dev/python2/2.7.18
 REQUIRES          += dev/python3/3.10.8
Index: app/xfsdump/3.1.9/Makefile
===================================================================
--- app/xfsdump/3.1.9/Makefile	(revision 28)
+++ app/xfsdump/3.1.9/Makefile	(revision 29)
@@ -56,7 +56,7 @@
 
 REQUIRES           = libs/ncurses/6.3
 REQUIRES          += app/util-linux/2.38.1
-REQUIRES          += app/acl/2.2.53
+REQUIRES          += app/acl/2.3.1
 REQUIRES          += app/xfsprogs/5.10.0
 REQUIRES          += app/gettext/0.21
 REQUIRES          += libs/dmapi/2.2.12
Index: app/xfsprogs/5.10.0/Makefile
===================================================================
--- app/xfsprogs/5.10.0/Makefile	(revision 28)
+++ app/xfsprogs/5.10.0/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/a/xfsprogs
 
-REQUIRES           = libs/icu4c/68.2
+REQUIRES           = libs/icu4c/73.1
 REQUIRES          += libs/libedit/20191231-3.1
 REQUIRES          += libs/editline/1.17.1
 REQUIRES          += app/util-linux/2.38.1
Index: app/xfsprogs/5.10.0-ppc32/Makefile
===================================================================
--- app/xfsprogs/5.10.0-ppc32/Makefile	(revision 28)
+++ app/xfsprogs/5.10.0-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/a/xfsprogs
 
 REQUIRES           = app/xfsprogs/5.10.0
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += libs/libedit/20191231-3.1-ppc32
 REQUIRES          += libs/editline/1.17.1-ppc32
 REQUIRES          += app/util-linux/2.38.1-ppc32
Index: app/xfsprogs/5.10.0-x86_32/Makefile
===================================================================
--- app/xfsprogs/5.10.0-x86_32/Makefile	(revision 28)
+++ app/xfsprogs/5.10.0-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/a/xfsprogs
 
 REQUIRES           = app/xfsprogs/5.10.0
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += libs/libedit/20191231-3.1-x86_32
 REQUIRES          += libs/editline/1.17.1-x86_32
 REQUIRES          += app/util-linux/2.38.1-x86_32
Index: base/radix-setup/scripts/setup
===================================================================
--- base/radix-setup/scripts/setup	(revision 28)
+++ base/radix-setup/scripts/setup	(revision 29)
@@ -2332,12 +2332,60 @@
   fi
 }
 #
-# End of install packages:
+# End of install packages.
 #
 ####################################################################
 
 ####################################################################
 #
+# Set EFI boot entry:
+#
+set_efiboot_entry() {
+  local uefi=${1}
+  local loader="${2}"
+
+  local devlen=${#device}
+  local partlen=
+
+  let 'partlen = devlen + 1'
+  if [ "${#p}" -gt "0" ] ; then
+    let 'plen++'
+  fi
+
+  local uefi_device=
+  local uefi_partition=
+
+  modprobe efivarfs 1> /dev/null 2> /dev/null
+
+  if [ ! -d '/sys/firmware/efi/efivars' ] ; then return ; fi
+  if [ -z "${uefi}" -o -z "${loader}" ] ; then return ; fi
+
+  uefi_device=$(echo "${uefi}" | cut -b 1-${devlen})
+  uefi_partition=$(echo "${uefi}" | cut -b ${partlen}- | sed 's/[^0-9]*//g')
+
+  #
+  # Remove the previous boot entry if set:
+  #
+  efibootmgr -v | rev | cut -f2- | rev | grep Boot0 | grep "${DISTRO_CAPTION}" | while read line ; do
+    if ! $(echo ${line} | cut -f2- -d' ' | grep -q "${DISTRO_CAPTION}") ; then
+      continue
+    fi
+    efibootmgr -q -B -b $(echo ${line} | cut -b5-8)
+    sleep 1
+  done
+
+  #
+  # Set boot entry:
+  #
+  efibootmgr -q -c -d ${uefi_device} -p ${uefi_partition} -l "${loader}" -L "${DISTRO_CAPTION}-${DISTRO_FULL_VERSION}"
+}
+#
+# End of set EFI boot entry.
+#
+####################################################################
+
+####################################################################
+#
 # Install GRUB:
 #
 UEFI=
@@ -2447,6 +2495,8 @@
                         --config="${grub_load_cfg}" \
                         --output=${UEFI_MPOINT}/efi/boot/bootx64.efi \
                         ${grub_modules}  2>/dev/null 1>/dev/null
+
+  set_efiboot_entry "${UEFI}" "\\efi\\boot\\bootx64.efi"
 }
 
 install_intel_pc32_grub()
Index: base/radix-system/etc/skel/.config/openbox/autostart
===================================================================
--- base/radix-system/etc/skel/.config/openbox/autostart	(revision 28)
+++ base/radix-system/etc/skel/.config/openbox/autostart	(revision 29)
@@ -1,7 +1,7 @@
 
 setxkbmap -model px105 -layout us,ru -variant ,winkeys -option grp:alt_shift_toggle
 
-feh --bg-fill $HOME/pixmaps/desktop/background-2560x1600.jpeg &
+feh --bg-scale $HOME/pixmaps/desktop/background-2560x1600.jpeg &
 
 tint2 &
 nm-applet &
Index: base/radix-system/etc/skel/.config/tint2/tint2rc
===================================================================
--- base/radix-system/etc/skel/.config/tint2/tint2rc	(revision 28)
+++ base/radix-system/etc/skel/.config/tint2/tint2rc	(revision 29)
@@ -163,6 +163,7 @@
 launcher_tooltip = 1
 launcher_item_app = tint2conf.desktop
 launcher_item_app = ~/.local/share/applications/XTerm.desktop
+launcher_item_app = /usr/share/applications/audacious.desktop
 
 #-------------------------------------
 # Clock
Index: dev/flex/2.6.4/Makefile
===================================================================
--- dev/flex/2.6.4/Makefile	(revision 28)
+++ dev/flex/2.6.4/Makefile	(revision 29)
@@ -128,6 +128,7 @@
 extra_configure_switches += --mandir=/usr/share/man
 extra_configure_switches += --disable-dependency-tracking
 extra_configure_switches += --disable-rpath
+
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
 else
@@ -143,6 +144,7 @@
 	$(APPLY_PATCHES)
 	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
 	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
 	   sed -i "/math.h/a #include <malloc.h>" src/flexdef.h ; \
 	 )
 	@touch $@
Index: dev/flex/2.6.4-ppc32/Makefile
===================================================================
--- dev/flex/2.6.4-ppc32/Makefile	(revision 28)
+++ dev/flex/2.6.4-ppc32/Makefile	(revision 29)
@@ -86,6 +86,7 @@
 extra_configure_switches += --bindir=/usr/bin/32
 extra_configure_switches += --disable-dependency-tracking
 extra_configure_switches += --disable-rpath
+
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
 else
@@ -101,6 +102,7 @@
 	$(APPLY_PATCHES)
 	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
 	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
 	   sed -i "/math.h/a #include <malloc.h>" src/flexdef.h ; \
 	 )
 	@touch $@
Index: dev/flex/2.6.4-x86_32/Makefile
===================================================================
--- dev/flex/2.6.4-x86_32/Makefile	(revision 28)
+++ dev/flex/2.6.4-x86_32/Makefile	(revision 29)
@@ -83,6 +83,7 @@
 extra_configure_switches += --bindir=/usr/bin/32
 extra_configure_switches += --disable-dependency-tracking
 extra_configure_switches += --disable-rpath
+
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
 else
@@ -98,6 +99,7 @@
 	$(APPLY_PATCHES)
 	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
 	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
 	   sed -i "/math.h/a #include <malloc.h>" src/flexdef.h ; \
 	 )
 	@touch $@
Index: env/X11/poppler/23.02.0/Makefile
===================================================================
--- env/X11/poppler/23.02.0/Makefile	(revision 28)
+++ env/X11/poppler/23.02.0/Makefile	(revision 29)
@@ -62,7 +62,7 @@
 REQUIRES          += libs/boost/1.77.0
 REQUIRES          += libs/glib2/2.76.0
 REQUIRES          += media/openjpeg2/2.5.0
-REQUIRES          += net/nss/3.64
+REQUIRES          += net/nss/3.89
 REQUIRES          += net/curl/7.75.0
 REQUIRES          += X11/libs/poppler-data/0.4.12
 REQUIRES          += env/X11/cairo/1.17.8
Index: env/X11/poppler/23.02.0-ppc32/Makefile
===================================================================
--- env/X11/poppler/23.02.0-ppc32/Makefile	(revision 28)
+++ env/X11/poppler/23.02.0-ppc32/Makefile	(revision 29)
@@ -23,7 +23,7 @@
 REQUIRES          += libs/boost/1.77.0-ppc32
 REQUIRES          += libs/glib2/2.76.0-ppc32
 REQUIRES          += media/openjpeg2/2.5.0-ppc32
-REQUIRES          += net/nss/3.64-ppc32
+REQUIRES          += net/nss/3.89-ppc32
 REQUIRES          += net/curl/7.75.0-ppc32
 REQUIRES          += env/X11/cairo/1.17.8-ppc32
 
Index: env/X11/poppler/23.02.0-x86_32/Makefile
===================================================================
--- env/X11/poppler/23.02.0-x86_32/Makefile	(revision 28)
+++ env/X11/poppler/23.02.0-x86_32/Makefile	(revision 29)
@@ -20,7 +20,7 @@
 REQUIRES          += libs/boost/1.77.0-x86_32
 REQUIRES          += libs/glib2/2.76.0-x86_32
 REQUIRES          += media/openjpeg2/2.5.0-x86_32
-REQUIRES          += net/nss/3.64-x86_32
+REQUIRES          += net/nss/3.89-x86_32
 REQUIRES          += net/curl/7.75.0-x86_32
 REQUIRES          += env/X11/cairo/1.17.8-x86_32
 
Index: libs/apr/1.7.0-x86_32/apr-x32-pkg-install.sh
===================================================================
--- libs/apr/1.7.0-x86_32/apr-x32-pkg-install.sh	(revision 28)
+++ libs/apr/1.7.0-x86_32/apr-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/apr/1.7.0-x86_32/apr-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/apr/1.7.0-x86_32/PATCHES
===================================================================
--- libs/apr/1.7.0-x86_32/PATCHES	(revision 28)
+++ libs/apr/1.7.0-x86_32/PATCHES	(nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/l/apr/patches/apr-1.7.0-cross.patch        -p0
-../../../sources/packages/l/apr/patches/apr-1.7.0-sizeof-iovec.patch -p0
Index: libs/apr/1.7.0-x86_32/apr-x32-pkg-description.in
===================================================================
--- libs/apr/1.7.0-x86_32/apr-x32-pkg-description.in	(revision 28)
+++ libs/apr/1.7.0-x86_32/apr-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-       |-----handy-ruler------------------------------------------------------|
-apr-x32: apr-x32 @VERSION@ (Apache Portable Runtime)
-apr-x32:
-apr-x32: The mission of the Apache Portable Runtime (APR) is to provide a
-apr-x32: free library of C data structures and routines, forming a system
-apr-x32: portability layer to as many operating systems as possible.
-apr-x32:
-apr-x32:
-apr-x32: Homepage: https://apr.apache.org
-apr-x32:
-apr-x32:
-apr-x32:
Index: libs/apr/1.7.0-x86_32/Makefile
===================================================================
--- libs/apr/1.7.0-x86_32/Makefile	(revision 28)
+++ libs/apr/1.7.0-x86_32/Makefile	(nonexistent)
@@ -1,230 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/apr
-
-REQUIRES           = libs/apr/1.7.0
-REQUIRES          += app/util-linux/2.38.1-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 1.7.0
-major_version      = 1
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr/apr-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/apr-$(version)
-src_dir_name       = apr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_tools_dir    = $(TARGET_BUILD_DIR)/build-tools
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-APR_32_PKG_NAME                = apr-x32
-APR_32_PKG_VERSION             = 1.7.0
-APR_32_PKG_ARCH                = $(PKGARCH)
-APR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-APR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-APR_32_PKG_GROUP               = $(PKG_GROUP)
-###                             |---handy-ruler-------------------------------|
-APR_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime
-APR_32_PKG_URL                 = $(BUG_URL)
-APR_32_PKG_LICENSE             = Apache-v2.0
-APR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-pkg-description
-APR_32_PKG_DESCRIPTION_FILE_IN = $(APR_32_PKG_NAME)-pkg-description.in
-APR_32_PKG_INSTALL_SCRIPT      = $(APR_32_PKG_NAME)-pkg-install.sh
-
-APR_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-package
-
-pkg_basename     = $(APR_32_PKG_NAME)-$(APR_32_PKG_VERSION)-$(APR_32_PKG_ARCH)-$(APR_32_PKG_DISTRO_NAME)-$(APR_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(APR_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --with-installbuilddir=/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-$(major_version)
-extra_configure_switches += --with-devrandom=/dev/urandom
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += ac_cv_file__dev_zero=yes
-extra_configure_switches += ac_cv_func_setpgrp_void=yes
-extra_configure_switches += apr_cv_process_shared_works=yes
-extra_configure_switches += apr_cv_mutex_robust_shared=yes
-extra_configure_switches += apr_cv_tcp_nodelay_with_cork=yes
-
-
-TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_tools_dir)
-	@( cd $(build_tools_dir) ; \
-	  ../$(src_dir_name)/configure --prefix=/usr ; \
-	  $(MAKE) tools/gen_test_char ; \
-	  cp tools/gen_test_char tools/build-machine-gen_test_char ; \
-	 )
-	@mkdir -p $(build_dir)/tools
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
-	     --prefix=/usr               \
-	     --build=$(BUILD)            \
-	     --host=$(TARGET32)          \
-	   $(extra_configure_switches) ; \
-	   sed -i 's,^\(sys_lib_dlsearch_path_spec=\).*,\1"/lib$(MULTILIB_X86_32_SUFFIX) /usr/lib$(MULTILIB_X86_32_SUFFIX) /usr/local/lib$(MULTILIB_X86_32_SUFFIX) /usr/$(TARGET)/lib$(MULTILIB_X86_32_SUFFIX)",' libtool ; \
-	 )
-	@cp $(build_tools_dir)/tools/build-machine-gen_test_char $(build_dir)/tools
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(APR_32_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@( cd $(APR_32_PKG)/usr/include ; \
-	   mv apr-$(major_version)/apr.h . ; \
-	   rm -f apr-$(major_version)/* ; \
-	   mv apr.h apr-$(major_version)/apr-32.h ; \
-	 )
-	@rm -rf $(APR_32_PKG)/usr/share
-	# ======= remove toolchain path from target libtool *.la files =======
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libapr-$(major_version).la ; \
-	 )
-	# ======= tune apr-$(major_version)-config script for development =======
-	@( cd $(APR_32_PKG)/usr/bin/32 ; \
-	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^installbuilddir="/usr,installbuilddir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^\(APR_SOURCE_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)",' apr-$(major_version)-config ; \
-	 )
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
-	   sed -i "s,^apr_builddir=/usr,apr_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	   sed -i "s,^apr_builders=/usr,apr_builders=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	   sed -i "s,^top_builddir=/usr,top_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(APR_32_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libapr-$(major_version).la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libapr-$(major_version).la ; \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-$(major_version).pc ; \
-	 )
-	# ======= tune build configs to the target destination =======
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
-	   sed -i "s,$(BUILD),$(TARGET),g"        apr_rules.mk libtool ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr_rules.mk libtool ; \
-	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr_rules.mk libtool ; \
-	   sed -i "s,$(CROSS_PREFIX),,g"          apr_rules.mk libtool ; \
-	   sed -i "s, --sysroot=,,g"              apr_rules.mk libtool ; \
-	   sed -i "s,$(TOOLCHAIN_PATH),/usr,g"    apr_rules.mk libtool ; \
-	 )
-	@( cd $(APR_32_PKG)/usr/bin/32 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr-$(major_version)-config ; \
-	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr-$(major_version)-config ; \
-	   sed -i "s,$(CROSS_PREFIX),,g"          apr-$(major_version)-config ; \
-	   sed -i "s, --sysroot=,,g"              apr-$(major_version)-config ; \
-	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/x86_32/apr-$(version),g" apr-$(major_version)-config ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(APR_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(APR_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(APR_32_PKG_DESCRIPTION_FILE): $(APR_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG_INSTALL_SCRIPT)
-	@cp $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG)/.DESCRIPTION
-	@cp $(APR_32_PKG_INSTALL_SCRIPT) $(APR_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(APR_32_PKG)/.REQUIRES
-	@echo "pkgname=$(APR_32_PKG_NAME)"                            >  $(APR_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(APR_32_PKG_VERSION)"                          >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(APR_32_PKG_ARCH)"                               >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(APR_32_PKG_DISTRO_NAME)"                  >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(APR_32_PKG_DISTRO_VERSION)"                >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "group=$(APR_32_PKG_GROUP)"                             >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(APR_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "url=$(APR_32_PKG_URL)"                                 >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "license=$(APR_32_PKG_LICENSE)"                         >> $(APR_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(APR_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr/1.7.0-x86_32
===================================================================
--- libs/apr/1.7.0-x86_32	(revision 28)
+++ libs/apr/1.7.0-x86_32	(nonexistent)

Property changes on: libs/apr/1.7.0-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/apr/1.7.0/apr-pkg-install.sh
===================================================================
--- libs/apr/1.7.0/apr-pkg-install.sh	(revision 28)
+++ libs/apr/1.7.0/apr-pkg-install.sh	(nonexistent)
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-# Preserve new files
-install_file() {
-  NEW="$1"
-  OLD="`dirname $NEW`/`basename $NEW .new`"
-  # If there's no file by that name, mv it over:
-  if [ ! -r $OLD ]; then
-    mv $NEW $OLD
-  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
-    rm $NEW
-  fi
-  # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/apr/1.7.0/apr-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/apr/1.7.0/PATCHES
===================================================================
--- libs/apr/1.7.0/PATCHES	(revision 28)
+++ libs/apr/1.7.0/PATCHES	(nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/l/apr/patches/apr-1.7.0-cross.patch        -p0
-../../../sources/packages/l/apr/patches/apr-1.7.0-sizeof-iovec.patch -p0
Index: libs/apr/1.7.0/apr-pkg-description.in
===================================================================
--- libs/apr/1.7.0/apr-pkg-description.in	(revision 28)
+++ libs/apr/1.7.0/apr-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-   |-----handy-ruler------------------------------------------------------|
-apr: apr @VERSION@ (Apache Portable Runtime)
-apr:
-apr: The mission of the Apache Portable Runtime (APR) is to provide a
-apr: free library of C data structures and routines, forming a system
-apr: portability layer to as many operating systems as possible.
-apr:
-apr:
-apr: Homepage: https://apr.apache.org
-apr:
-apr:
-apr:
Index: libs/apr/1.7.0/Makefile
===================================================================
--- libs/apr/1.7.0/Makefile	(revision 28)
+++ libs/apr/1.7.0/Makefile	(nonexistent)
@@ -1,323 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/apr
-
-REQUIRES           = app/util-linux/2.38.1
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 1.7.0
-major_version      = 1
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr/apr-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/apr-$(version)
-src_dir_name       = apr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_tools_dir    = $(TARGET_BUILD_DIR)/build-tools
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-APR_PKG_NAME                = apr
-APR_PKG_VERSION             = 1.7.0
-APR_PKG_ARCH                = $(PKGARCH)
-APR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-APR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-APR_PKG_GROUP               = $(PKG_GROUP)
-###                          |---handy-ruler-------------------------------|
-APR_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime
-APR_PKG_URL                 = $(BUG_URL)
-APR_PKG_LICENSE             = Apache-v2.0
-APR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_PKG_NAME)-pkg-description
-APR_PKG_DESCRIPTION_FILE_IN = $(APR_PKG_NAME)-pkg-description.in
-APR_PKG_INSTALL_SCRIPT      = $(APR_PKG_NAME)-pkg-install.sh
-
-APR_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_PKG_NAME)-package
-
-pkg_basename     = $(APR_PKG_NAME)-$(APR_PKG_VERSION)-$(APR_PKG_ARCH)-$(APR_PKG_DISTRO_NAME)-$(APR_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(APR_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --with-installbuilddir=/usr/lib$(LIBSUFFIX)/apr-$(version)/build-$(major_version)
-extra_configure_switches += --with-devrandom=/dev/urandom
-
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += ac_cv_file__dev_zero=yes
-extra_configure_switches += ac_cv_func_setpgrp_void=yes
-extra_configure_switches += apr_cv_process_shared_works=yes
-extra_configure_switches += apr_cv_mutex_robust_shared=yes
-extra_configure_switches += apr_cv_tcp_nodelay_with_cork=yes
-
-
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_tools_dir)
-	@( cd $(build_tools_dir) ; \
-	  ../$(src_dir_name)/configure --prefix=/usr ; \
-	  $(MAKE) tools/gen_test_char ; \
-	  cp tools/gen_test_char tools/build-machine-gen_test_char ; \
-	 )
-	@mkdir -p $(build_dir)/tools
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
-	     --prefix=/usr               \
-	     --build=$(BUILD)            \
-	     --host=$(TARGET)            \
-	   $(extra_configure_switches) ; \
-	   sed -i 's,^\(sys_lib_dlsearch_path_spec=\).*,\1"/lib$(LIBSUFFIX) /usr/lib$(LIBSUFFIX) /usr/local/lib$(LIBSUFFIX) /usr/$(TARGET)/lib$(LIBSUFFIX)",' libtool ; \
-	 )
-	@cp $(build_tools_dir)/tools/build-machine-gen_test_char $(build_dir)/tools
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(APR_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC) \
-                             $(TOOLCHAIN_POWER8_GLIBC) \
-                             $(TOOLCHAIN_POWER9_GLIBC)),)
-	# ======= copy apr.h for x64 =======
-	@( cd $(APR_PKG)/usr/include/apr-$(major_version) ; \
-	   mv apr.h apr-64.h ; \
-	   echo ''                                                    > apr.h ; \
-	   echo '/**************************'                        >> apr.h ; \
-	   echo '  apr.h - Multilib Header'                          >> apr.h ; \
-	   echo ' **************************/'                       >> apr.h ; \
-	   echo ''                                                   >> apr.h ; \
-	   echo '#ifndef __MULTILIB__APR_H__'                        >> apr.h ; \
-	   echo '#define __MULTILIB__APR_H__'                        >> apr.h ; \
-	   echo ''                                                   >> apr.h ; \
-	   echo '#if defined(__x86_64__)    || \'                    >> apr.h ; \
-	   echo '    defined(__aarch64__)   || \'                    >> apr.h ; \
-	   echo '    defined(__powerpc64__) || \'                    >> apr.h ; \
-	   echo '    defined(__sparc__) && defined(__arch64__) || \' >> apr.h ; \
-	   echo '    defined(__riscv_xlen) && __riscv_xlen == 64'    >> apr.h ; \
-	   echo '#include "apr-64.h"'                                >> apr.h ; \
-	   echo '#else'                                              >> apr.h ; \
-	   echo '#include "apr-32.h"'                                >> apr.h ; \
-	   echo '#endif'                                             >> apr.h ; \
-	   echo ''                                                   >> apr.h ; \
-	   echo '#endif /* __MULTILIB__APR_H__ */'                   >> apr.h ; \
-	 )
-endif
-	@if [ -d $(APR_PKG)/usr/share/man ]; then \
-	  ( cd $(APR_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.?  ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	# ======= Install Documentation =======
-	@mkdir -p $(APR_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/LICENSE $(SRC_DIR)/NOTICE \
-	       $(APR_PKG)/usr/doc/$(src_dir_name)
-	@mkdir -p $(APR_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a LICENSE NOTICE README* docs \
-	         $(APR_PKG)/usr/share/doc/$(src_dir_name) ; \
-	 )
-	@( cd $(APR_PKG)/usr/share/doc/$(src_dir_name)/docs ; \
-	   rm -f *.conf ; \
-	 )
-	@( cd $(SRC_DIR) ; \
-	   if [ -r CHANGES ]; then \
-	     DOCSDIR=`echo $(APR_PKG)/usr/share/doc/$(src_dir_name)` ; \
-	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
-	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
-	   fi \
-	 )
-	# ======= remove toolchain path from target libtool *.la files =======
-	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libapr-$(major_version).la ; \
-	 )
-	# ======= tune apr-$(major_version)-config script for development =======
-	@( cd $(APR_PKG)/usr/bin ; \
-	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^installbuilddir="/usr,installbuilddir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^\(APR_SOURCE_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/apr-$(version)",' apr-$(major_version)-config ; \
-	 )
-	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX)/apr-$(version)/build-$(major_version) ; \
-	   sed -i "s,^apr_builddir=/usr,apr_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	   sed -i "s,^apr_builders=/usr,apr_builders=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	   sed -i "s,^top_builddir=/usr,top_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(APR_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libapr-$(major_version).la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libapr-$(major_version).la ; \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-$(major_version).pc ; \
-	 )
-	# ======= tune build configs to the target destination =======
-	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX)/apr-$(version)/build-$(major_version) ; \
-	   sed -i "s,$(BUILD),$(TARGET),g"        apr_rules.mk libtool ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr_rules.mk libtool ; \
-	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr_rules.mk libtool ; \
-	   sed -i "s,$(CROSS_PREFIX),,g"          apr_rules.mk libtool ; \
-	   sed -i "s, --sysroot=,,g"              apr_rules.mk libtool ; \
-	   sed -i "s,$(TOOLCHAIN_PATH),/usr,g"    apr_rules.mk libtool ; \
-	 )
-	@( cd $(APR_PKG)/usr/bin ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr-$(major_version)-config ; \
-	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr-$(major_version)-config ; \
-	   sed -i "s,$(CROSS_PREFIX),,g"          apr-$(major_version)-config ; \
-	   sed -i "s, --sysroot=,,g"              apr-$(major_version)-config ; \
-	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/apr-$(version),g" apr-$(major_version)-config ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(APR_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(APR_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(APR_PKG_DESCRIPTION_FILE): $(APR_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(APR_PKG_DESCRIPTION_FILE) $(APR_PKG_INSTALL_SCRIPT)
-	@cp $(APR_PKG_DESCRIPTION_FILE) $(APR_PKG)/.DESCRIPTION
-	@cp $(APR_PKG_INSTALL_SCRIPT) $(APR_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(APR_PKG)/.REQUIRES
-	@echo "pkgname=$(APR_PKG_NAME)"                            >  $(APR_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(APR_PKG_VERSION)"                          >> $(APR_PKG)/.PKGINFO ; \
-	 echo "arch=$(APR_PKG_ARCH)"                               >> $(APR_PKG)/.PKGINFO ; \
-	 echo "distroname=$(APR_PKG_DISTRO_NAME)"                  >> $(APR_PKG)/.PKGINFO ; \
-	 echo "distrover=$(APR_PKG_DISTRO_VERSION)"                >> $(APR_PKG)/.PKGINFO ; \
-	 echo "group=$(APR_PKG_GROUP)"                             >> $(APR_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(APR_PKG_SHORT_DESCRIPTION)\"" >> $(APR_PKG)/.PKGINFO ; \
-	 echo "url=$(APR_PKG_URL)"                                 >> $(APR_PKG)/.PKGINFO ; \
-	 echo "license=$(APR_PKG_LICENSE)"                         >> $(APR_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(APR_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr/1.7.0
===================================================================
--- libs/apr/1.7.0	(revision 28)
+++ libs/apr/1.7.0	(nonexistent)

Property changes on: libs/apr/1.7.0
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/apr/1.7.0-ppc32/apr-x32-pkg-install.sh
===================================================================
--- libs/apr/1.7.0-ppc32/apr-x32-pkg-install.sh	(revision 28)
+++ libs/apr/1.7.0-ppc32/apr-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/apr/1.7.0-ppc32/apr-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/apr/1.7.0-ppc32/PATCHES
===================================================================
--- libs/apr/1.7.0-ppc32/PATCHES	(revision 28)
+++ libs/apr/1.7.0-ppc32/PATCHES	(nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/l/apr/patches/apr-1.7.0-cross.patch        -p0
-../../../sources/packages/l/apr/patches/apr-1.7.0-sizeof-iovec.patch -p0
Index: libs/apr/1.7.0-ppc32/apr-x32-pkg-description.in
===================================================================
--- libs/apr/1.7.0-ppc32/apr-x32-pkg-description.in	(revision 28)
+++ libs/apr/1.7.0-ppc32/apr-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-       |-----handy-ruler------------------------------------------------------|
-apr-x32: apr-x32 @VERSION@ (Apache Portable Runtime)
-apr-x32:
-apr-x32: The mission of the Apache Portable Runtime (APR) is to provide a
-apr-x32: free library of C data structures and routines, forming a system
-apr-x32: portability layer to as many operating systems as possible.
-apr-x32:
-apr-x32:
-apr-x32: Homepage: https://apr.apache.org
-apr-x32:
-apr-x32:
-apr-x32:
Index: libs/apr/1.7.0-ppc32/Makefile
===================================================================
--- libs/apr/1.7.0-ppc32/Makefile	(revision 28)
+++ libs/apr/1.7.0-ppc32/Makefile	(nonexistent)
@@ -1,233 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/apr
-
-REQUIRES           = libs/apr/1.7.0
-REQUIRES          += app/util-linux/2.38.1-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 1.7.0
-major_version      = 1
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr/apr-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/apr-$(version)
-src_dir_name       = apr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_tools_dir    = $(TARGET_BUILD_DIR)/build-tools
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-APR_32_PKG_NAME                = apr-x32
-APR_32_PKG_VERSION             = 1.7.0
-APR_32_PKG_ARCH                = $(PKGARCH)
-APR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-APR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-APR_32_PKG_GROUP               = $(PKG_GROUP)
-###                             |---handy-ruler-------------------------------|
-APR_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime
-APR_32_PKG_URL                 = $(BUG_URL)
-APR_32_PKG_LICENSE             = Apache-v2.0
-APR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-pkg-description
-APR_32_PKG_DESCRIPTION_FILE_IN = $(APR_32_PKG_NAME)-pkg-description.in
-APR_32_PKG_INSTALL_SCRIPT      = $(APR_32_PKG_NAME)-pkg-install.sh
-
-APR_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-package
-
-pkg_basename     = $(APR_32_PKG_NAME)-$(APR_32_PKG_VERSION)-$(APR_32_PKG_ARCH)-$(APR_32_PKG_DISTRO_NAME)-$(APR_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(APR_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --with-installbuilddir=/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-$(major_version)
-extra_configure_switches += --with-devrandom=/dev/urandom
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += ac_cv_file__dev_zero=yes
-extra_configure_switches += ac_cv_func_setpgrp_void=yes
-extra_configure_switches += apr_cv_process_shared_works=yes
-extra_configure_switches += apr_cv_mutex_robust_shared=yes
-extra_configure_switches += apr_cv_tcp_nodelay_with_cork=yes
-
-
-TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_tools_dir)
-	@( cd $(build_tools_dir) ; \
-	  ../$(src_dir_name)/configure --prefix=/usr ; \
-	  $(MAKE) tools/gen_test_char ; \
-	  cp tools/gen_test_char tools/build-machine-gen_test_char ; \
-	 )
-	@mkdir -p $(build_dir)/tools
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
-	     --prefix=/usr               \
-	     --build=$(BUILD)            \
-	     --host=$(TARGET32)          \
-	   $(extra_configure_switches) ; \
-	   sed -i 's,^\(sys_lib_dlsearch_path_spec=\).*,\1"/lib$(MULTILIB_PPC32_SUFFIX) /usr/lib$(MULTILIB_PPC32_SUFFIX) /usr/local/lib$(MULTILIB_PPC32_SUFFIX) /usr/$(TARGET)/lib$(MULTILIB_PPC32_SUFFIX)",' libtool ; \
-	 )
-	@cp $(build_tools_dir)/tools/build-machine-gen_test_char $(build_dir)/tools
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(APR_32_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@( cd $(APR_32_PKG)/usr/include ; \
-	   mv apr-$(major_version)/apr.h . ; \
-	   rm -f apr-$(major_version)/* ; \
-	   mv apr.h apr-$(major_version)/apr-32.h ; \
-	 )
-	@rm -rf $(APR_32_PKG)/usr/share
-	# ======= remove toolchain path from target libtool *.la files =======
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libapr-$(major_version).la ; \
-	 )
-	# ======= tune apr-$(major_version)-config script for development =======
-	@( cd $(APR_32_PKG)/usr/bin/32 ; \
-	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^installbuilddir="/usr,installbuilddir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
-	   sed -i 's,^\(APR_SOURCE_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)",' apr-$(major_version)-config ; \
-	 )
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
-	   sed -i "s,^apr_builddir=/usr,apr_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	   sed -i "s,^apr_builders=/usr,apr_builders=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	   sed -i "s,^top_builddir=/usr,top_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(APR_32_PKG))
-	# ======= tune libtool *.la search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libapr-$(major_version).la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libapr-$(major_version).la ; \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-$(major_version).pc ; \
-	 )
-	# ======= tune build configs to the target destination =======
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
-	   sed -i "s,$(BUILD),$(TARGET),g"        apr_rules.mk libtool ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr_rules.mk libtool ; \
-	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr_rules.mk libtool ; \
-	   sed -i "s,$(CROSS_PREFIX),,g"          apr_rules.mk libtool ; \
-	   sed -i "s, --sysroot=,,g"              apr_rules.mk libtool ; \
-	   sed -i "s,$(TOOLCHAIN_PATH),/usr,g"    apr_rules.mk libtool ; \
-	 )
-	@( cd $(APR_32_PKG)/usr/bin/32 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr-$(major_version)-config ; \
-	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr-$(major_version)-config ; \
-	   sed -i "s,$(CROSS_PREFIX),,g"          apr-$(major_version)-config ; \
-	   sed -i "s, --sysroot=,,g"              apr-$(major_version)-config ; \
-	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/ppc32/apr-$(version),g" apr-$(major_version)-config ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(APR_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(APR_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(APR_32_PKG_DESCRIPTION_FILE): $(APR_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG_INSTALL_SCRIPT)
-	@cp $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG)/.DESCRIPTION
-	@cp $(APR_32_PKG_INSTALL_SCRIPT) $(APR_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(APR_32_PKG)/.REQUIRES
-	@echo "pkgname=$(APR_32_PKG_NAME)"                            >  $(APR_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(APR_32_PKG_VERSION)"                          >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(APR_32_PKG_ARCH)"                               >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(APR_32_PKG_DISTRO_NAME)"                  >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(APR_32_PKG_DISTRO_VERSION)"                >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "group=$(APR_32_PKG_GROUP)"                             >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(APR_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "url=$(APR_32_PKG_URL)"                                 >> $(APR_32_PKG)/.PKGINFO ; \
-	 echo "license=$(APR_32_PKG_LICENSE)"                         >> $(APR_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(APR_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr/1.7.0-ppc32
===================================================================
--- libs/apr/1.7.0-ppc32	(revision 28)
+++ libs/apr/1.7.0-ppc32	(nonexistent)

Property changes on: libs/apr/1.7.0-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/apr/1.7.3/Makefile
===================================================================
--- libs/apr/1.7.3/Makefile	(nonexistent)
+++ libs/apr/1.7.3/Makefile	(revision 29)
@@ -0,0 +1,324 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/apr
+
+REQUIRES           = app/util-linux/2.38.1
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.3
+major_version      = 1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr/apr-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/apr-$(version)
+src_dir_name       = apr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_tools_dir    = $(TARGET_BUILD_DIR)/build-tools
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+APR_PKG_NAME                = apr
+APR_PKG_VERSION             = 1.7.3
+APR_PKG_ARCH                = $(PKGARCH)
+APR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+APR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+APR_PKG_GROUP               = $(PKG_GROUP)
+###                          |---handy-ruler-------------------------------|
+APR_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime
+APR_PKG_URL                 = $(BUG_URL)
+APR_PKG_LICENSE             = Apache-v2.0
+APR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_PKG_NAME)-pkg-description
+APR_PKG_DESCRIPTION_FILE_IN = $(APR_PKG_NAME)-pkg-description.in
+APR_PKG_INSTALL_SCRIPT      = $(APR_PKG_NAME)-pkg-install.sh
+
+APR_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_PKG_NAME)-package
+
+pkg_basename     = $(APR_PKG_NAME)-$(APR_PKG_VERSION)-$(APR_PKG_ARCH)-$(APR_PKG_DISTRO_NAME)-$(APR_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(APR_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --with-installbuilddir=/usr/lib$(LIBSUFFIX)/apr-$(version)/build-$(major_version)
+extra_configure_switches += --with-devrandom=/dev/urandom
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += ac_cv_file__dev_zero=yes
+extra_configure_switches += ac_cv_func_setpgrp_void=yes
+extra_configure_switches += apr_cv_process_shared_works=yes
+extra_configure_switches += apr_cv_mutex_robust_shared=yes
+extra_configure_switches += apr_cv_tcp_nodelay_with_cork=yes
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_tools_dir)
+	@( cd $(build_tools_dir) ; \
+	  ../$(src_dir_name)/configure --prefix=/usr ; \
+	  $(MAKE) tools/gen_test_char ; \
+	  cp tools/gen_test_char tools/build-machine-gen_test_char ; \
+	 )
+	@mkdir -p $(build_dir)/tools
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	     --prefix=/usr               \
+	     --build=$(BUILD)            \
+	     --host=$(TARGET)            \
+	   $(extra_configure_switches) ; \
+	   sed -i 's,^\(sys_lib_dlsearch_path_spec=\).*,\1"/lib$(LIBSUFFIX) /usr/lib$(LIBSUFFIX) /usr/local/lib$(LIBSUFFIX) /usr/$(TARGET)/lib$(LIBSUFFIX)",' libtool ; \
+	 )
+	@cp $(build_tools_dir)/tools/build-machine-gen_test_char $(build_dir)/tools
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(APR_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC) \
+                             $(TOOLCHAIN_POWER8_GLIBC) \
+                             $(TOOLCHAIN_POWER9_GLIBC)),)
+	# ======= copy apr.h for x64 =======
+	@( cd $(APR_PKG)/usr/include/apr-$(major_version) ; \
+	   mv apr.h apr-64.h ; \
+	   echo ''                                                    > apr.h ; \
+	   echo '/**************************'                        >> apr.h ; \
+	   echo '  apr.h - Multilib Header'                          >> apr.h ; \
+	   echo ' **************************/'                       >> apr.h ; \
+	   echo ''                                                   >> apr.h ; \
+	   echo '#ifndef __MULTILIB__APR_H__'                        >> apr.h ; \
+	   echo '#define __MULTILIB__APR_H__'                        >> apr.h ; \
+	   echo ''                                                   >> apr.h ; \
+	   echo '#if defined(__x86_64__)    || \'                    >> apr.h ; \
+	   echo '    defined(__aarch64__)   || \'                    >> apr.h ; \
+	   echo '    defined(__powerpc64__) || \'                    >> apr.h ; \
+	   echo '    defined(__sparc__) && defined(__arch64__) || \' >> apr.h ; \
+	   echo '    defined(__riscv_xlen) && __riscv_xlen == 64'    >> apr.h ; \
+	   echo '#include "apr-64.h"'                                >> apr.h ; \
+	   echo '#else'                                              >> apr.h ; \
+	   echo '#include "apr-32.h"'                                >> apr.h ; \
+	   echo '#endif'                                             >> apr.h ; \
+	   echo ''                                                   >> apr.h ; \
+	   echo '#endif /* __MULTILIB__APR_H__ */'                   >> apr.h ; \
+	 )
+endif
+	@if [ -d $(APR_PKG)/usr/share/man ]; then \
+	  ( cd $(APR_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	# ======= Install Documentation =======
+	@mkdir -p $(APR_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/LICENSE $(SRC_DIR)/NOTICE \
+	       $(APR_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(APR_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a LICENSE NOTICE README* docs \
+	         $(APR_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(APR_PKG)/usr/share/doc/$(src_dir_name)/docs ; \
+	   rm -f *.conf ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r CHANGES ]; then \
+	     DOCSDIR=`echo $(APR_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
+	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
+	   fi \
+	 )
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libapr-$(major_version).la ; \
+	 )
+	# ======= tune apr-$(major_version)-config script for development =======
+	@( cd $(APR_PKG)/usr/bin ; \
+	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^installbuilddir="/usr,installbuilddir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^\(APR_SOURCE_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/apr-$(version)",'        apr-$(major_version)-config ; \
+	   sed -i 's,^\(APR_BUILD_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/apr-$(version)/build-1",' apr-$(major_version)-config ; \
+	 )
+	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX)/apr-$(version)/build-$(major_version) ; \
+	   sed -i "s,^apr_builddir=/usr,apr_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	   sed -i "s,^apr_builders=/usr,apr_builders=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	   sed -i "s,^top_builddir=/usr,top_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(APR_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libapr-$(major_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libapr-$(major_version).la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-$(major_version).pc ; \
+	 )
+	# ======= tune build configs to the target destination =======
+	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX)/apr-$(version)/build-$(major_version) ; \
+	   sed -i "s,$(BUILD),$(TARGET),g"        apr_rules.mk libtool ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr_rules.mk libtool ; \
+	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr_rules.mk libtool ; \
+	   sed -i "s,$(CROSS_PREFIX),,g"          apr_rules.mk libtool ; \
+	   sed -i "s, --sysroot=,,g"              apr_rules.mk libtool ; \
+	   sed -i "s,$(TOOLCHAIN_PATH),/usr,g"    apr_rules.mk libtool ; \
+	 )
+	@( cd $(APR_PKG)/usr/bin ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr-$(major_version)-config ; \
+	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr-$(major_version)-config ; \
+	   sed -i "s,$(CROSS_PREFIX),,g"          apr-$(major_version)-config ; \
+	   sed -i "s, --sysroot=,,g"              apr-$(major_version)-config ; \
+	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/apr-$(version),g" apr-$(major_version)-config ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(APR_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(APR_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(APR_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(APR_PKG_DESCRIPTION_FILE): $(APR_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(APR_PKG_DESCRIPTION_FILE) $(APR_PKG_INSTALL_SCRIPT)
+	@cp $(APR_PKG_DESCRIPTION_FILE) $(APR_PKG)/.DESCRIPTION
+	@cp $(APR_PKG_INSTALL_SCRIPT) $(APR_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(APR_PKG)/.REQUIRES
+	@echo "pkgname=$(APR_PKG_NAME)"                            >  $(APR_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(APR_PKG_VERSION)"                          >> $(APR_PKG)/.PKGINFO ; \
+	 echo "arch=$(APR_PKG_ARCH)"                               >> $(APR_PKG)/.PKGINFO ; \
+	 echo "distroname=$(APR_PKG_DISTRO_NAME)"                  >> $(APR_PKG)/.PKGINFO ; \
+	 echo "distrover=$(APR_PKG_DISTRO_VERSION)"                >> $(APR_PKG)/.PKGINFO ; \
+	 echo "group=$(APR_PKG_GROUP)"                             >> $(APR_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(APR_PKG_SHORT_DESCRIPTION)\"" >> $(APR_PKG)/.PKGINFO ; \
+	 echo "url=$(APR_PKG_URL)"                                 >> $(APR_PKG)/.PKGINFO ; \
+	 echo "license=$(APR_PKG_LICENSE)"                         >> $(APR_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(APR_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr/1.7.3/PATCHES
===================================================================
--- libs/apr/1.7.3/PATCHES	(nonexistent)
+++ libs/apr/1.7.3/PATCHES	(revision 29)
@@ -0,0 +1,3 @@
+
+../../../sources/packages/l/apr/patches/apr-1.7.3-cross.patch        -p0
+../../../sources/packages/l/apr/patches/apr-1.7.3-sizeof-iovec.patch -p0
Index: libs/apr/1.7.3/apr-pkg-description.in
===================================================================
--- libs/apr/1.7.3/apr-pkg-description.in	(nonexistent)
+++ libs/apr/1.7.3/apr-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+apr: apr @VERSION@ (Apache Portable Runtime)
+apr:
+apr: The mission of the Apache Portable Runtime (APR) is to provide a
+apr: free library of C data structures and routines, forming a system
+apr: portability layer to as many operating systems as possible.
+apr:
+apr:
+apr: Homepage: https://apr.apache.org
+apr:
+apr:
+apr:
Index: libs/apr/1.7.3/apr-pkg-install.sh
===================================================================
--- libs/apr/1.7.3/apr-pkg-install.sh	(nonexistent)
+++ libs/apr/1.7.3/apr-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/apr/1.7.3/apr-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/apr/1.7.3
===================================================================
--- libs/apr/1.7.3	(nonexistent)
+++ libs/apr/1.7.3	(revision 29)

Property changes on: libs/apr/1.7.3
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/apr/1.7.3-ppc32/Makefile
===================================================================
--- libs/apr/1.7.3-ppc32/Makefile	(nonexistent)
+++ libs/apr/1.7.3-ppc32/Makefile	(revision 29)
@@ -0,0 +1,234 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/apr
+
+REQUIRES           = libs/apr/1.7.3
+REQUIRES          += app/util-linux/2.38.1-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.3
+major_version      = 1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr/apr-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/apr-$(version)
+src_dir_name       = apr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_tools_dir    = $(TARGET_BUILD_DIR)/build-tools
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+APR_32_PKG_NAME                = apr-x32
+APR_32_PKG_VERSION             = 1.7.3
+APR_32_PKG_ARCH                = $(PKGARCH)
+APR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+APR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+APR_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+APR_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime
+APR_32_PKG_URL                 = $(BUG_URL)
+APR_32_PKG_LICENSE             = Apache-v2.0
+APR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-pkg-description
+APR_32_PKG_DESCRIPTION_FILE_IN = $(APR_32_PKG_NAME)-pkg-description.in
+APR_32_PKG_INSTALL_SCRIPT      = $(APR_32_PKG_NAME)-pkg-install.sh
+
+APR_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-package
+
+pkg_basename     = $(APR_32_PKG_NAME)-$(APR_32_PKG_VERSION)-$(APR_32_PKG_ARCH)-$(APR_32_PKG_DISTRO_NAME)-$(APR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(APR_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --with-installbuilddir=/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-$(major_version)
+extra_configure_switches += --with-devrandom=/dev/urandom
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += ac_cv_file__dev_zero=yes
+extra_configure_switches += ac_cv_func_setpgrp_void=yes
+extra_configure_switches += apr_cv_process_shared_works=yes
+extra_configure_switches += apr_cv_mutex_robust_shared=yes
+extra_configure_switches += apr_cv_tcp_nodelay_with_cork=yes
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_tools_dir)
+	@( cd $(build_tools_dir) ; \
+	  ../$(src_dir_name)/configure --prefix=/usr ; \
+	  $(MAKE) tools/gen_test_char ; \
+	  cp tools/gen_test_char tools/build-machine-gen_test_char ; \
+	 )
+	@mkdir -p $(build_dir)/tools
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	     --prefix=/usr               \
+	     --build=$(BUILD)            \
+	     --host=$(TARGET32)          \
+	   $(extra_configure_switches) ; \
+	   sed -i 's,^\(sys_lib_dlsearch_path_spec=\).*,\1"/lib$(MULTILIB_PPC32_SUFFIX) /usr/lib$(MULTILIB_PPC32_SUFFIX) /usr/local/lib$(MULTILIB_PPC32_SUFFIX) /usr/$(TARGET)/lib$(MULTILIB_PPC32_SUFFIX)",' libtool ; \
+	 )
+	@cp $(build_tools_dir)/tools/build-machine-gen_test_char $(build_dir)/tools
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(APR_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@( cd $(APR_32_PKG)/usr/include ; \
+	   mv apr-$(major_version)/apr.h . ; \
+	   rm -f apr-$(major_version)/* ; \
+	   mv apr.h apr-$(major_version)/apr-32.h ; \
+	 )
+	@rm -rf $(APR_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libapr-$(major_version).la ; \
+	 )
+	# ======= tune apr-$(major_version)-config script for development =======
+	@( cd $(APR_32_PKG)/usr/bin/32 ; \
+	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^installbuilddir="/usr,installbuilddir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^\(APR_SOURCE_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)",'        apr-$(major_version)-config ; \
+	   sed -i 's,^\(APR_BUILD_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-1",' apr-$(major_version)-config ; \
+	 )
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
+	   sed -i "s,^apr_builddir=/usr,apr_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	   sed -i "s,^apr_builders=/usr,apr_builders=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	   sed -i "s,^top_builddir=/usr,top_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(APR_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libapr-$(major_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libapr-$(major_version).la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-$(major_version).pc ; \
+	 )
+	# ======= tune build configs to the target destination =======
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
+	   sed -i "s,$(BUILD),$(TARGET),g"        apr_rules.mk libtool ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr_rules.mk libtool ; \
+	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr_rules.mk libtool ; \
+	   sed -i "s,$(CROSS_PREFIX),,g"          apr_rules.mk libtool ; \
+	   sed -i "s, --sysroot=,,g"              apr_rules.mk libtool ; \
+	   sed -i "s,$(TOOLCHAIN_PATH),/usr,g"    apr_rules.mk libtool ; \
+	 )
+	@( cd $(APR_32_PKG)/usr/bin/32 ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr-$(major_version)-config ; \
+	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr-$(major_version)-config ; \
+	   sed -i "s,$(CROSS_PREFIX),,g"          apr-$(major_version)-config ; \
+	   sed -i "s, --sysroot=,,g"              apr-$(major_version)-config ; \
+	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/ppc32/apr-$(version),g" apr-$(major_version)-config ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(APR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(APR_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(APR_32_PKG_DESCRIPTION_FILE): $(APR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG_INSTALL_SCRIPT)
+	@cp $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG)/.DESCRIPTION
+	@cp $(APR_32_PKG_INSTALL_SCRIPT) $(APR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(APR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(APR_32_PKG_NAME)"                            >  $(APR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(APR_32_PKG_VERSION)"                          >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(APR_32_PKG_ARCH)"                               >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(APR_32_PKG_DISTRO_NAME)"                  >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(APR_32_PKG_DISTRO_VERSION)"                >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(APR_32_PKG_GROUP)"                             >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(APR_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(APR_32_PKG_URL)"                                 >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(APR_32_PKG_LICENSE)"                         >> $(APR_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(APR_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr/1.7.3-ppc32/PATCHES
===================================================================
--- libs/apr/1.7.3-ppc32/PATCHES	(nonexistent)
+++ libs/apr/1.7.3-ppc32/PATCHES	(revision 29)
@@ -0,0 +1,3 @@
+
+../../../sources/packages/l/apr/patches/apr-1.7.3-cross.patch        -p0
+../../../sources/packages/l/apr/patches/apr-1.7.3-sizeof-iovec.patch -p0
Index: libs/apr/1.7.3-ppc32/apr-x32-pkg-description.in
===================================================================
--- libs/apr/1.7.3-ppc32/apr-x32-pkg-description.in	(nonexistent)
+++ libs/apr/1.7.3-ppc32/apr-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+apr-x32: apr-x32 @VERSION@ (Apache Portable Runtime)
+apr-x32:
+apr-x32: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-x32: free library of C data structures and routines, forming a system
+apr-x32: portability layer to as many operating systems as possible.
+apr-x32:
+apr-x32:
+apr-x32: Homepage: https://apr.apache.org
+apr-x32:
+apr-x32:
+apr-x32:
Index: libs/apr/1.7.3-ppc32/apr-x32-pkg-install.sh
===================================================================
--- libs/apr/1.7.3-ppc32/apr-x32-pkg-install.sh	(nonexistent)
+++ libs/apr/1.7.3-ppc32/apr-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/apr/1.7.3-ppc32/apr-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/apr/1.7.3-ppc32
===================================================================
--- libs/apr/1.7.3-ppc32	(nonexistent)
+++ libs/apr/1.7.3-ppc32	(revision 29)

Property changes on: libs/apr/1.7.3-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/apr/1.7.3-x86_32/Makefile
===================================================================
--- libs/apr/1.7.3-x86_32/Makefile	(nonexistent)
+++ libs/apr/1.7.3-x86_32/Makefile	(revision 29)
@@ -0,0 +1,231 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/apr
+
+REQUIRES           = libs/apr/1.7.3
+REQUIRES          += app/util-linux/2.38.1-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.7.3
+major_version      = 1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr/apr-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/apr-$(version)
+src_dir_name       = apr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_tools_dir    = $(TARGET_BUILD_DIR)/build-tools
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+APR_32_PKG_NAME                = apr-x32
+APR_32_PKG_VERSION             = 1.7.3
+APR_32_PKG_ARCH                = $(PKGARCH)
+APR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+APR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+APR_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+APR_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime
+APR_32_PKG_URL                 = $(BUG_URL)
+APR_32_PKG_LICENSE             = Apache-v2.0
+APR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-pkg-description
+APR_32_PKG_DESCRIPTION_FILE_IN = $(APR_32_PKG_NAME)-pkg-description.in
+APR_32_PKG_INSTALL_SCRIPT      = $(APR_32_PKG_NAME)-pkg-install.sh
+
+APR_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_32_PKG_NAME)-package
+
+pkg_basename     = $(APR_32_PKG_NAME)-$(APR_32_PKG_VERSION)-$(APR_32_PKG_ARCH)-$(APR_32_PKG_DISTRO_NAME)-$(APR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(APR_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --with-installbuilddir=/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-$(major_version)
+extra_configure_switches += --with-devrandom=/dev/urandom
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += ac_cv_file__dev_zero=yes
+extra_configure_switches += ac_cv_func_setpgrp_void=yes
+extra_configure_switches += apr_cv_process_shared_works=yes
+extra_configure_switches += apr_cv_mutex_robust_shared=yes
+extra_configure_switches += apr_cv_tcp_nodelay_with_cork=yes
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_tools_dir)
+	@( cd $(build_tools_dir) ; \
+	  ../$(src_dir_name)/configure --prefix=/usr ; \
+	  $(MAKE) tools/gen_test_char ; \
+	  cp tools/gen_test_char tools/build-machine-gen_test_char ; \
+	 )
+	@mkdir -p $(build_dir)/tools
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	     --prefix=/usr               \
+	     --build=$(BUILD)            \
+	     --host=$(TARGET32)          \
+	   $(extra_configure_switches) ; \
+	   sed -i 's,^\(sys_lib_dlsearch_path_spec=\).*,\1"/lib$(MULTILIB_X86_32_SUFFIX) /usr/lib$(MULTILIB_X86_32_SUFFIX) /usr/local/lib$(MULTILIB_X86_32_SUFFIX) /usr/$(TARGET)/lib$(MULTILIB_X86_32_SUFFIX)",' libtool ; \
+	 )
+	@cp $(build_tools_dir)/tools/build-machine-gen_test_char $(build_dir)/tools
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(APR_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@( cd $(APR_32_PKG)/usr/include ; \
+	   mv apr-$(major_version)/apr.h . ; \
+	   rm -f apr-$(major_version)/* ; \
+	   mv apr.h apr-$(major_version)/apr-32.h ; \
+	 )
+	@rm -rf $(APR_32_PKG)/usr/share
+	# ======= remove toolchain path from target libtool *.la files =======
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libapr-$(major_version).la ; \
+	 )
+	# ======= tune apr-$(major_version)-config script for development =======
+	@( cd $(APR_32_PKG)/usr/bin/32 ; \
+	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^installbuilddir="/usr,installbuilddir="$(TARGET_DEST_DIR)/usr,g' apr-$(major_version)-config ; \
+	   sed -i 's,^\(APR_SOURCE_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)",'        apr-$(major_version)-config ; \
+	   sed -i 's,^\(APR_BUILD_DIR=\).*,\1"$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-1",' apr-$(major_version)-config ; \
+	 )
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
+	   sed -i "s,^apr_builddir=/usr,apr_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	   sed -i "s,^apr_builders=/usr,apr_builders=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	   sed -i "s,^top_builddir=/usr,top_builddir=$(TARGET_DEST_DIR)/usr," apr_rules.mk ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(APR_32_PKG))
+	# ======= tune libtool *.la search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libapr-$(major_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libapr-$(major_version).la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-$(major_version).pc ; \
+	 )
+	# ======= tune build configs to the target destination =======
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/apr-$(version)/build-$(major_version) ; \
+	   sed -i "s,$(BUILD),$(TARGET),g"        apr_rules.mk libtool ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr_rules.mk libtool ; \
+	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr_rules.mk libtool ; \
+	   sed -i "s,$(CROSS_PREFIX),,g"          apr_rules.mk libtool ; \
+	   sed -i "s, --sysroot=,,g"              apr_rules.mk libtool ; \
+	   sed -i "s,$(TOOLCHAIN_PATH),/usr,g"    apr_rules.mk libtool ; \
+	 )
+	@( cd $(APR_32_PKG)/usr/bin/32 ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g"       apr-$(major_version)-config ; \
+	   sed -i "s,$(CCACHE)$(CROSS_PREFIX),,g" apr-$(major_version)-config ; \
+	   sed -i "s,$(CROSS_PREFIX),,g"          apr-$(major_version)-config ; \
+	   sed -i "s, --sysroot=,,g"              apr-$(major_version)-config ; \
+	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/x86_32/apr-$(version),g" apr-$(major_version)-config ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(APR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(APR_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(APR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(APR_32_PKG_DESCRIPTION_FILE): $(APR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG_INSTALL_SCRIPT)
+	@cp $(APR_32_PKG_DESCRIPTION_FILE) $(APR_32_PKG)/.DESCRIPTION
+	@cp $(APR_32_PKG_INSTALL_SCRIPT) $(APR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(APR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(APR_32_PKG_NAME)"                            >  $(APR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(APR_32_PKG_VERSION)"                          >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(APR_32_PKG_ARCH)"                               >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(APR_32_PKG_DISTRO_NAME)"                  >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(APR_32_PKG_DISTRO_VERSION)"                >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(APR_32_PKG_GROUP)"                             >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(APR_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(APR_32_PKG_URL)"                                 >> $(APR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(APR_32_PKG_LICENSE)"                         >> $(APR_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(APR_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr/1.7.3-x86_32/PATCHES
===================================================================
--- libs/apr/1.7.3-x86_32/PATCHES	(nonexistent)
+++ libs/apr/1.7.3-x86_32/PATCHES	(revision 29)
@@ -0,0 +1,3 @@
+
+../../../sources/packages/l/apr/patches/apr-1.7.3-cross.patch        -p0
+../../../sources/packages/l/apr/patches/apr-1.7.3-sizeof-iovec.patch -p0
Index: libs/apr/1.7.3-x86_32/apr-x32-pkg-description.in
===================================================================
--- libs/apr/1.7.3-x86_32/apr-x32-pkg-description.in	(nonexistent)
+++ libs/apr/1.7.3-x86_32/apr-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+apr-x32: apr-x32 @VERSION@ (Apache Portable Runtime)
+apr-x32:
+apr-x32: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-x32: free library of C data structures and routines, forming a system
+apr-x32: portability layer to as many operating systems as possible.
+apr-x32:
+apr-x32:
+apr-x32: Homepage: https://apr.apache.org
+apr-x32:
+apr-x32:
+apr-x32:
Index: libs/apr/1.7.3-x86_32/apr-x32-pkg-install.sh
===================================================================
--- libs/apr/1.7.3-x86_32/apr-x32-pkg-install.sh	(nonexistent)
+++ libs/apr/1.7.3-x86_32/apr-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/apr/1.7.3-x86_32/apr-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/apr/1.7.3-x86_32
===================================================================
--- libs/apr/1.7.3-x86_32	(nonexistent)
+++ libs/apr/1.7.3-x86_32	(revision 29)

Property changes on: libs/apr/1.7.3-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-description.in
===================================================================
--- libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-description.in	(revision 28)
+++ libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-            |-----handy-ruler------------------------------------------------------|
-apr-util-x32: apr-util-x32 @VERSION@ (Apache Portable Runtime utilities)
-apr-util-x32:
-apr-util-x32: The mission of the Apache Portable Runtime (APR) is to provide a
-apr-util-x32: free library of C data structures and routines, forming a system
-apr-util-x32: portability layer to as many operating systems as possible.
-apr-util-x32:
-apr-util-x32: This package contains additional utility interfaces for APR;
-apr-util-x32: including support for XML, LDAP, database interfaces, URI parsing,
-apr-util-x32: and more.
-apr-util-x32:
-apr-util-x32:
Index: libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-install.sh
===================================================================
--- libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-install.sh	(revision 28)
+++ libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/apr-util/1.6.1-x86_32/apr-util-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/apr-util/1.6.1-x86_32/PATCHES
===================================================================
--- libs/apr-util/1.6.1-x86_32/PATCHES	(revision 28)
+++ libs/apr-util/1.6.1-x86_32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/apr-util/patches/apr-util-1.6.1-dbd.patch -p0
Index: libs/apr-util/1.6.1-x86_32/Makefile
===================================================================
--- libs/apr-util/1.6.1-x86_32/Makefile	(revision 28)
+++ libs/apr-util/1.6.1-x86_32/Makefile	(nonexistent)
@@ -1,219 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/apr-util
-
-REQUIRES           = libs/apr-util/1.6.1
-REQUIRES          += libs/apr/1.7.0-x86_32
-REQUIRES          += libs/expat/2.5.0-x86_32
-REQUIRES          += net/openldap/2.4.58-x86_32
-REQUIRES          += app/postgresql/14.1-x86_32
-REQUIRES          += app/mariadb/10.6.5-x86_32
-REQUIRES          += app/sqlite/3.39.4.0-x86_32
-REQUIRES          += app/db/18.1.40-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 1.6.1
-major_version      = 1
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr-util/apr-util-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/apr-util-$(version)
-src_dir_name       = apr-util-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-APR_UTIL_32_PKG_NAME                = apr-util-x32
-APR_UTIL_32_PKG_VERSION             = 1.6.1
-APR_UTIL_32_PKG_ARCH                = $(PKGARCH)
-APR_UTIL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-APR_UTIL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-APR_UTIL_32_PKG_GROUP               = $(PKG_GROUP)
-###                                  |---handy-ruler-------------------------------|
-APR_UTIL_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime utilities
-APR_UTIL_32_PKG_URL                 = $(BUG_URL)
-APR_UTIL_32_PKG_LICENSE             = Apache-v2.0
-APR_UTIL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-pkg-description
-APR_UTIL_32_PKG_DESCRIPTION_FILE_IN = $(APR_UTIL_32_PKG_NAME)-pkg-description.in
-APR_UTIL_32_PKG_INSTALL_SCRIPT      = $(APR_UTIL_32_PKG_NAME)-pkg-install.sh
-
-APR_UTIL_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-package
-
-pkg_basename     = $(APR_UTIL_32_PKG_NAME)-$(APR_UTIL_32_PKG_VERSION)-$(APR_UTIL_32_PKG_ARCH)-$(APR_UTIL_32_PKG_DISTRO_NAME)-$(APR_UTIL_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(APR_UTIL_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --with-apr=$(TARGET_DEST_DIR)/usr/bin/32/apr-1-config
-extra_configure_switches += --with-expat=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-pgsql=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-mysql=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-sqlite3=$(TARGET_DEST_DIR)/usr
-
-# workaround for BerkeleyDB (see: -ldb-6.9):
-extra_configure_switches += --with-berkeley-db=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += LDADD_dbm_db=-ldb-18.1
-
-extra_configure_switches += --with-openssl=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --disable-util-dso
-extra_configure_switches += --without-sqlite2
-extra_configure_switches += --without-gdbm
-extra_configure_switches += --without-ndbm
-extra_configure_switches += --with-ldap
-
-extra_configure_switches += PGSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-pg_config
-extra_configure_switches += MYSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-mysql_config
-
-
-TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	( cd $(SRC_DIR) ; autoreconf --force --install --no-recursive --warnings=none )
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
-	     --prefix=/usr               \
-	     --build=$(BUILD)            \
-	     --host=$(TARGET)            \
-	   $(extra_configure_switches) ; \
-	   sed -i 's, -ldb-6.9,,g' Makefile apr-util.pc apu-1-config export_vars.sh test/Makefile ; \
-	   sed -i 's,/usr/lib ,/usr/lib$(MULTILIB_X86_32_SUFFIX) ,g' Makefile apr-util.pc \
-	                                                             apu-1-config export_vars.sh \
-	                                                             test/Makefile ; \
-	   sed -i 's,/usr/lib$$,/usr/lib$(MULTILIB_X86_32_SUFFIX),g' Makefile apr-util.pc \
-	                                                             apu-1-config export_vars.sh \
-	                                                             test/Makefile ; \
-	 )
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(APR_UTIL_32_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@rm -rf $(APR_UTIL_32_PKG)/usr/include
-	@rm -rf $(APR_UTIL_32_PKG)/usr/share
-	# ======= Remove toolchain path from target *.{la,pc} files =======
-	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libaprutil-$(major_version).la ; \
-	 )
-	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" apr-util-$(major_version).pc ; \
-	 )
-	# ======= Tune apr-$(major_version)-config script for development =======
-	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
-	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^bindir="/usr,bindir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^\(APR_XML_EXPAT_OLD=\).*,\1"",'                apu-$(major_version)-config ; \
-	   sed -i 's,^\(LDFLAGS=\).*,\1"-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)",' apu-$(major_version)-config ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(APR_UTIL_32_PKG))
-	# ======= Tune *.{la,pc} search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libaprutil-$(major_version).la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libaprutil-$(major_version).la ; \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-util-$(major_version).pc ; \
-	 )
-	# ======= Remove toolchain path from target apu-$(major_version)-config script =======
-	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" apu-$(major_version)-config ; \
-	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/x86_32/build-apr-util-$(version),g" apu-$(major_version)-config ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(APR_UTIL_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(APR_UTIL_32_PKG_DESCRIPTION_FILE): $(APR_UTIL_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG_INSTALL_SCRIPT)
-	@cp $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG)/.DESCRIPTION
-	@cp $(APR_UTIL_32_PKG_INSTALL_SCRIPT) $(APR_UTIL_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(APR_UTIL_32_PKG)/.REQUIRES
-	@echo "pkgname=$(APR_UTIL_32_PKG_NAME)"                            >  $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(APR_UTIL_32_PKG_VERSION)"                          >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(APR_UTIL_32_PKG_ARCH)"                               >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(APR_UTIL_32_PKG_DISTRO_NAME)"                  >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(APR_UTIL_32_PKG_DISTRO_VERSION)"                >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "group=$(APR_UTIL_32_PKG_GROUP)"                             >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(APR_UTIL_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "url=$(APR_UTIL_32_PKG_URL)"                                 >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "license=$(APR_UTIL_32_PKG_LICENSE)"                         >> $(APR_UTIL_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(APR_UTIL_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr-util/1.6.1-x86_32
===================================================================
--- libs/apr-util/1.6.1-x86_32	(revision 28)
+++ libs/apr-util/1.6.1-x86_32	(nonexistent)

Property changes on: libs/apr-util/1.6.1-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/apr-util/1.6.1/PATCHES
===================================================================
--- libs/apr-util/1.6.1/PATCHES	(revision 28)
+++ libs/apr-util/1.6.1/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/apr-util/patches/apr-util-1.6.1-dbd.patch -p0
Index: libs/apr-util/1.6.1/apr-util-pkg-description.in
===================================================================
--- libs/apr-util/1.6.1/apr-util-pkg-description.in	(revision 28)
+++ libs/apr-util/1.6.1/apr-util-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-apr-util: apr-util @VERSION@ (Apache Portable Runtime utilities)
-apr-util:
-apr-util: The mission of the Apache Portable Runtime (APR) is to provide a
-apr-util: free library of C data structures and routines, forming a system
-apr-util: portability layer to as many operating systems as possible.
-apr-util:
-apr-util: This package contains additional utility interfaces for APR;
-apr-util: including support for XML, LDAP, database interfaces, URI parsing,
-apr-util: and more.
-apr-util:
-apr-util:
Index: libs/apr-util/1.6.1/apr-util-pkg-install.sh
===================================================================
--- libs/apr-util/1.6.1/apr-util-pkg-install.sh	(revision 28)
+++ libs/apr-util/1.6.1/apr-util-pkg-install.sh	(nonexistent)
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-# Preserve new files
-install_file() {
-  NEW="$1"
-  OLD="`dirname $NEW`/`basename $NEW .new`"
-  # If there's no file by that name, mv it over:
-  if [ ! -r $OLD ]; then
-    mv $NEW $OLD
-  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
-    rm $NEW
-  fi
-  # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/apr-util/1.6.1/apr-util-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/apr-util/1.6.1/Makefile
===================================================================
--- libs/apr-util/1.6.1/Makefile	(revision 28)
+++ libs/apr-util/1.6.1/Makefile	(nonexistent)
@@ -1,278 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/apr-util
-
-REQUIRES           = libs/apr/1.7.0
-REQUIRES          += libs/expat/2.5.0
-REQUIRES          += net/openldap/2.4.58
-REQUIRES          += app/postgresql/14.1
-REQUIRES          += app/mariadb/10.6.5
-REQUIRES          += app/sqlite/3.39.4.0
-REQUIRES          += app/db/18.1.40
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 1.6.1
-major_version      = 1
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr-util/apr-util-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/apr-util-$(version)
-src_dir_name       = apr-util-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-APR_UTIL_PKG_NAME                = apr-util
-APR_UTIL_PKG_VERSION             = 1.6.1
-APR_UTIL_PKG_ARCH                = $(PKGARCH)
-APR_UTIL_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-APR_UTIL_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-APR_UTIL_PKG_GROUP               = $(PKG_GROUP)
-###                               |---handy-ruler-------------------------------|
-APR_UTIL_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime utilities
-APR_UTIL_PKG_URL                 = $(BUG_URL)
-APR_UTIL_PKG_LICENSE             = Apache-v2.0
-APR_UTIL_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_UTIL_PKG_NAME)-pkg-description
-APR_UTIL_PKG_DESCRIPTION_FILE_IN = $(APR_UTIL_PKG_NAME)-pkg-description.in
-APR_UTIL_PKG_INSTALL_SCRIPT      = $(APR_UTIL_PKG_NAME)-pkg-install.sh
-
-APR_UTIL_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_UTIL_PKG_NAME)-package
-
-pkg_basename     = $(APR_UTIL_PKG_NAME)-$(APR_UTIL_PKG_VERSION)-$(APR_UTIL_PKG_ARCH)-$(APR_UTIL_PKG_DISTRO_NAME)-$(APR_UTIL_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(APR_UTIL_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-
-extra_configure_switches += --with-apr=$(TARGET_DEST_DIR)/usr/bin/apr-1-config
-extra_configure_switches += --with-expat=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-pgsql=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-mysql=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-sqlite3=$(TARGET_DEST_DIR)/usr
-
-# workaround for BerkeleyDB (see: -ldb-6.9):
-extra_configure_switches += --with-berkeley-db=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += LDADD_dbm_db=-ldb-18.1
-
-extra_configure_switches += --with-openssl=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --disable-util-dso
-extra_configure_switches += --without-sqlite2
-extra_configure_switches += --without-gdbm
-extra_configure_switches += --without-ndbm
-extra_configure_switches += --with-ldap
-
-extra_configure_switches += PGSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET)-pg_config
-extra_configure_switches += MYSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET)-mysql_config
-
-
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	( cd $(SRC_DIR) ; autoreconf --force --install --no-recursive --warnings=none )
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
-	     --prefix=/usr               \
-	     --build=$(BUILD)            \
-	     --host=$(TARGET)            \
-	   $(extra_configure_switches) ; \
-	   sed -i 's, -ldb-6.9,,g' Makefile apr-util.pc apu-1-config export_vars.sh test/Makefile ; \
-	 )
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(APR_UTIL_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@if [ -d $(APR_UTIL_PKG)/usr/share/man ]; then \
-	  ( cd $(APR_UTIL_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.?  ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	# ======= Install Documentation =======
-	@mkdir -p $(APR_UTIL_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/LICENSE $(SRC_DIR)/NOTICE \
-	       $(APR_UTIL_PKG)/usr/doc/$(src_dir_name)
-	@mkdir -p $(APR_UTIL_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a LICENSE NOTICE README \
-	         $(APR_UTIL_PKG)/usr/share/doc/$(src_dir_name) ; \
-	 )
-	@( cd $(SRC_DIR) ; \
-	   if [ -r CHANGES ]; then \
-	     DOCSDIR=`echo $(APR_UTIL_PKG)/usr/share/doc/$(src_dir_name)` ; \
-	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
-	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
-	   fi \
-	 )
-	# ======= Remove toolchain path from target *.{la,pc} files =======
-	@( cd $(APR_UTIL_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libaprutil-$(major_version).la ; \
-	 )
-	@( cd $(APR_UTIL_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" apr-util-$(major_version).pc ; \
-	 )
-	# ======= Tune apu-$(major_version)-config script for development =======
-	@( cd $(APR_UTIL_PKG)/usr/bin ; \
-	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^\(APR_XML_EXPAT_OLD=\).*,\1"",'                apu-$(major_version)-config ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(APR_UTIL_PKG))
-	# ======= Tune *.{la,pc} search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libaprutil-$(major_version).la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libaprutil-$(major_version).la ; \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-util-$(major_version).pc ; \
-	 )
-	# ======= Remove toolchain path from target apu-$(major_version)-config script =======
-	@( cd $(APR_UTIL_PKG)/usr/bin ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" apu-$(major_version)-config ; \
-	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/build-apr-util-$(version),g" apu-$(major_version)-config ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(APR_UTIL_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(APR_UTIL_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(APR_UTIL_PKG_DESCRIPTION_FILE): $(APR_UTIL_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(APR_UTIL_PKG_DESCRIPTION_FILE) $(APR_UTIL_PKG_INSTALL_SCRIPT)
-	@cp $(APR_UTIL_PKG_DESCRIPTION_FILE) $(APR_UTIL_PKG)/.DESCRIPTION
-	@cp $(APR_UTIL_PKG_INSTALL_SCRIPT) $(APR_UTIL_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(APR_UTIL_PKG)/.REQUIRES
-	@echo "pkgname=$(APR_UTIL_PKG_NAME)"                            >  $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(APR_UTIL_PKG_VERSION)"                          >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "arch=$(APR_UTIL_PKG_ARCH)"                               >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "distroname=$(APR_UTIL_PKG_DISTRO_NAME)"                  >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "distrover=$(APR_UTIL_PKG_DISTRO_VERSION)"                >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "group=$(APR_UTIL_PKG_GROUP)"                             >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(APR_UTIL_PKG_SHORT_DESCRIPTION)\"" >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "url=$(APR_UTIL_PKG_URL)"                                 >> $(APR_UTIL_PKG)/.PKGINFO ; \
-	 echo "license=$(APR_UTIL_PKG_LICENSE)"                         >> $(APR_UTIL_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(APR_UTIL_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr-util/1.6.1
===================================================================
--- libs/apr-util/1.6.1	(revision 28)
+++ libs/apr-util/1.6.1	(nonexistent)

Property changes on: libs/apr-util/1.6.1
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-description.in
===================================================================
--- libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-description.in	(revision 28)
+++ libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-            |-----handy-ruler------------------------------------------------------|
-apr-util-x32: apr-util-x32 @VERSION@ (Apache Portable Runtime utilities)
-apr-util-x32:
-apr-util-x32: The mission of the Apache Portable Runtime (APR) is to provide a
-apr-util-x32: free library of C data structures and routines, forming a system
-apr-util-x32: portability layer to as many operating systems as possible.
-apr-util-x32:
-apr-util-x32: This package contains additional utility interfaces for APR;
-apr-util-x32: including support for XML, LDAP, database interfaces, URI parsing,
-apr-util-x32: and more.
-apr-util-x32:
-apr-util-x32:
Index: libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-install.sh
===================================================================
--- libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-install.sh	(revision 28)
+++ libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/apr-util/1.6.1-ppc32/apr-util-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/apr-util/1.6.1-ppc32/PATCHES
===================================================================
--- libs/apr-util/1.6.1-ppc32/PATCHES	(revision 28)
+++ libs/apr-util/1.6.1-ppc32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/apr-util/patches/apr-util-1.6.1-dbd.patch -p0
Index: libs/apr-util/1.6.1-ppc32/Makefile
===================================================================
--- libs/apr-util/1.6.1-ppc32/Makefile	(revision 28)
+++ libs/apr-util/1.6.1-ppc32/Makefile	(nonexistent)
@@ -1,222 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/apr-util
-
-REQUIRES           = libs/apr-util/1.6.1
-REQUIRES          += libs/apr/1.7.0-ppc32
-REQUIRES          += libs/expat/2.5.0-ppc32
-REQUIRES          += net/openldap/2.4.58-ppc32
-REQUIRES          += app/postgresql/14.1-ppc32
-REQUIRES          += app/mariadb/10.6.5-ppc32
-REQUIRES          += app/sqlite/3.39.4.0-ppc32
-REQUIRES          += app/db/18.1.40-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 1.6.1
-major_version      = 1
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr-util/apr-util-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/apr-util-$(version)
-src_dir_name       = apr-util-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-APR_UTIL_32_PKG_NAME                = apr-util-x32
-APR_UTIL_32_PKG_VERSION             = 1.6.1
-APR_UTIL_32_PKG_ARCH                = $(PKGARCH)
-APR_UTIL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-APR_UTIL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-APR_UTIL_32_PKG_GROUP               = $(PKG_GROUP)
-###                                  |---handy-ruler-------------------------------|
-APR_UTIL_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime utilities
-APR_UTIL_32_PKG_URL                 = $(BUG_URL)
-APR_UTIL_32_PKG_LICENSE             = Apache-v2.0
-APR_UTIL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-pkg-description
-APR_UTIL_32_PKG_DESCRIPTION_FILE_IN = $(APR_UTIL_32_PKG_NAME)-pkg-description.in
-APR_UTIL_32_PKG_INSTALL_SCRIPT      = $(APR_UTIL_32_PKG_NAME)-pkg-install.sh
-
-APR_UTIL_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-package
-
-pkg_basename     = $(APR_UTIL_32_PKG_NAME)-$(APR_UTIL_32_PKG_VERSION)-$(APR_UTIL_32_PKG_ARCH)-$(APR_UTIL_32_PKG_DISTRO_NAME)-$(APR_UTIL_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(APR_UTIL_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --with-apr=$(TARGET_DEST_DIR)/usr/bin/32/apr-1-config
-extra_configure_switches += --with-expat=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-pgsql=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-mysql=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --with-sqlite3=$(TARGET_DEST_DIR)/usr
-
-# workaround for BerkeleyDB (see: -ldb-6.9):
-extra_configure_switches += --with-berkeley-db=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += LDADD_dbm_db=-ldb-18.1
-
-extra_configure_switches += --with-openssl=$(TARGET_DEST_DIR)/usr
-extra_configure_switches += --disable-util-dso
-extra_configure_switches += --without-sqlite2
-extra_configure_switches += --without-gdbm
-extra_configure_switches += --without-ndbm
-extra_configure_switches += --with-ldap
-
-extra_configure_switches += PGSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-pg_config
-extra_configure_switches += MYSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-mysql_config
-
-
-TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	( cd $(SRC_DIR) ; autoreconf --force --install --no-recursive --warnings=none )
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
-	     --prefix=/usr               \
-	     --build=$(BUILD)            \
-	     --host=$(TARGET)            \
-	   $(extra_configure_switches) ; \
-	   sed -i 's, -ldb-6.9,,g' Makefile apr-util.pc apu-1-config export_vars.sh test/Makefile ; \
-	   sed -i 's,/usr/lib ,/usr/lib$(MULTILIB_PPC32_SUFFIX) ,g' Makefile apr-util.pc \
-	                                                            apu-1-config export_vars.sh \
-	                                                            test/Makefile ; \
-	   sed -i 's,/usr/lib$$,/usr/lib$(MULTILIB_PPC32_SUFFIX),g' Makefile apr-util.pc \
-	                                                            apu-1-config export_vars.sh \
-	                                                            test/Makefile ; \
-	 )
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(APR_UTIL_32_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@rm -rf $(APR_UTIL_32_PKG)/usr/include
-	@rm -rf $(APR_UTIL_32_PKG)/usr/share
-	# ======= Remove toolchain path from target *.{la,pc} files =======
-	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" libaprutil-$(major_version).la ; \
-	 )
-	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" apr-util-$(major_version).pc ; \
-	 )
-	# ======= Tune apr-$(major_version)-config script for development =======
-	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
-	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^bindir="/usr,bindir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
-	   sed -i 's,^\(APR_XML_EXPAT_OLD=\).*,\1"",'                apu-$(major_version)-config ; \
-	   sed -i 's,^\(LDFLAGS=\).*,\1"-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)",' apu-$(major_version)-config ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(APR_UTIL_32_PKG))
-	# ======= Tune *.{la,pc} search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libaprutil-$(major_version).la ; \
-	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libaprutil-$(major_version).la ; \
-	 )
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-util-$(major_version).pc ; \
-	 )
-	# ======= Remove toolchain path from target apu-$(major_version)-config script =======
-	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" apu-$(major_version)-config ; \
-	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/ppc32/build-apr-util-$(version),g" apu-$(major_version)-config ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(APR_UTIL_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifneq ($(PATCHELF),)
-	# ======= Set RPATH/RUNPATH for target shared objects =======
-	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
-	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
-	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
-	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
-	     fi ; \
-	   done ; \
-	 )
-endif
-	@touch $@
-
-$(APR_UTIL_32_PKG_DESCRIPTION_FILE): $(APR_UTIL_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG_INSTALL_SCRIPT)
-	@cp $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG)/.DESCRIPTION
-	@cp $(APR_UTIL_32_PKG_INSTALL_SCRIPT) $(APR_UTIL_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(APR_UTIL_32_PKG)/.REQUIRES
-	@echo "pkgname=$(APR_UTIL_32_PKG_NAME)"                            >  $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(APR_UTIL_32_PKG_VERSION)"                          >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(APR_UTIL_32_PKG_ARCH)"                               >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(APR_UTIL_32_PKG_DISTRO_NAME)"                  >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(APR_UTIL_32_PKG_DISTRO_VERSION)"                >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "group=$(APR_UTIL_32_PKG_GROUP)"                             >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(APR_UTIL_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "url=$(APR_UTIL_32_PKG_URL)"                                 >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
-	 echo "license=$(APR_UTIL_32_PKG_LICENSE)"                         >> $(APR_UTIL_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(APR_UTIL_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr-util/1.6.1-ppc32
===================================================================
--- libs/apr-util/1.6.1-ppc32	(revision 28)
+++ libs/apr-util/1.6.1-ppc32	(nonexistent)

Property changes on: libs/apr-util/1.6.1-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/apr-util/1.6.3/Makefile
===================================================================
--- libs/apr-util/1.6.3/Makefile	(nonexistent)
+++ libs/apr-util/1.6.3/Makefile	(revision 29)
@@ -0,0 +1,278 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/apr-util
+
+REQUIRES           = libs/apr/1.7.3
+REQUIRES          += libs/expat/2.5.0
+REQUIRES          += net/openldap/2.4.58
+REQUIRES          += app/postgresql/14.1
+REQUIRES          += app/mariadb/10.6.5
+REQUIRES          += app/sqlite/3.39.4.0
+REQUIRES          += app/db/18.1.40
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.6.3
+major_version      = 1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr-util/apr-util-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/apr-util-$(version)
+src_dir_name       = apr-util-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+APR_UTIL_PKG_NAME                = apr-util
+APR_UTIL_PKG_VERSION             = 1.6.3
+APR_UTIL_PKG_ARCH                = $(PKGARCH)
+APR_UTIL_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+APR_UTIL_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+APR_UTIL_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+APR_UTIL_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime utilities
+APR_UTIL_PKG_URL                 = $(BUG_URL)
+APR_UTIL_PKG_LICENSE             = Apache-v2.0
+APR_UTIL_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_UTIL_PKG_NAME)-pkg-description
+APR_UTIL_PKG_DESCRIPTION_FILE_IN = $(APR_UTIL_PKG_NAME)-pkg-description.in
+APR_UTIL_PKG_INSTALL_SCRIPT      = $(APR_UTIL_PKG_NAME)-pkg-install.sh
+
+APR_UTIL_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_UTIL_PKG_NAME)-package
+
+pkg_basename     = $(APR_UTIL_PKG_NAME)-$(APR_UTIL_PKG_VERSION)-$(APR_UTIL_PKG_ARCH)-$(APR_UTIL_PKG_DISTRO_NAME)-$(APR_UTIL_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(APR_UTIL_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --with-apr=$(TARGET_DEST_DIR)/usr/bin/apr-1-config
+extra_configure_switches += --with-expat=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-pgsql=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-mysql=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-sqlite3=$(TARGET_DEST_DIR)/usr
+
+# workaround for BerkeleyDB (see: -ldb-6.9):
+extra_configure_switches += --with-berkeley-db=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += LDADD_dbm_db=-ldb-18.1
+
+extra_configure_switches += --with-openssl=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --disable-util-dso
+extra_configure_switches += --without-sqlite2
+extra_configure_switches += --without-gdbm
+extra_configure_switches += --without-ndbm
+extra_configure_switches += --with-ldap
+
+extra_configure_switches += PGSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET)-pg_config
+extra_configure_switches += MYSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET)-mysql_config
+
+
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	( cd $(SRC_DIR) ; autoreconf --force --install --no-recursive --warnings=none )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	     --prefix=/usr               \
+	     --build=$(BUILD)            \
+	     --host=$(TARGET)            \
+	   $(extra_configure_switches) ; \
+	   sed -i 's, -ldb-6.9,,g' Makefile apr-util.pc apu-1-config export_vars.sh test/Makefile ; \
+	 )
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(APR_UTIL_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@if [ -d $(APR_UTIL_PKG)/usr/share/man ]; then \
+	  ( cd $(APR_UTIL_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	# ======= Install Documentation =======
+	@mkdir -p $(APR_UTIL_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/LICENSE $(SRC_DIR)/NOTICE \
+	       $(APR_UTIL_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(APR_UTIL_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a LICENSE NOTICE README \
+	         $(APR_UTIL_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r CHANGES ]; then \
+	     DOCSDIR=`echo $(APR_UTIL_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat CHANGES | head -n 1000 > $$DOCSDIR/CHANGES ; \
+	     touch -r CHANGES $$DOCSDIR/CHANGES ; \
+	   fi \
+	 )
+	# ======= Remove toolchain path from target *.{la,pc} files =======
+	@( cd $(APR_UTIL_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libaprutil-$(major_version).la ; \
+	 )
+	@( cd $(APR_UTIL_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" apr-util-$(major_version).pc ; \
+	 )
+	# ======= Tune apu-$(major_version)-config script for development =======
+	@( cd $(APR_UTIL_PKG)/usr/bin ; \
+	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^\(APR_XML_EXPAT_OLD=\).*,\1"",'                apu-$(major_version)-config ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(APR_UTIL_PKG))
+	# ======= Tune *.{la,pc} search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libaprutil-$(major_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libaprutil-$(major_version).la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-util-$(major_version).pc ; \
+	 )
+	# ======= Remove toolchain path from target apu-$(major_version)-config script =======
+	@( cd $(APR_UTIL_PKG)/usr/bin ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" apu-$(major_version)-config ; \
+	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/build-apr-util-$(version),g" apu-$(major_version)-config ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(APR_UTIL_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(APR_UTIL_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(APR_UTIL_PKG_DESCRIPTION_FILE): $(APR_UTIL_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(APR_UTIL_PKG_DESCRIPTION_FILE) $(APR_UTIL_PKG_INSTALL_SCRIPT)
+	@cp $(APR_UTIL_PKG_DESCRIPTION_FILE) $(APR_UTIL_PKG)/.DESCRIPTION
+	@cp $(APR_UTIL_PKG_INSTALL_SCRIPT) $(APR_UTIL_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(APR_UTIL_PKG)/.REQUIRES
+	@echo "pkgname=$(APR_UTIL_PKG_NAME)"                            >  $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(APR_UTIL_PKG_VERSION)"                          >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "arch=$(APR_UTIL_PKG_ARCH)"                               >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "distroname=$(APR_UTIL_PKG_DISTRO_NAME)"                  >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "distrover=$(APR_UTIL_PKG_DISTRO_VERSION)"                >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "group=$(APR_UTIL_PKG_GROUP)"                             >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(APR_UTIL_PKG_SHORT_DESCRIPTION)\"" >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "url=$(APR_UTIL_PKG_URL)"                                 >> $(APR_UTIL_PKG)/.PKGINFO ; \
+	 echo "license=$(APR_UTIL_PKG_LICENSE)"                         >> $(APR_UTIL_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(APR_UTIL_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr-util/1.6.3/PATCHES
===================================================================
--- libs/apr-util/1.6.3/PATCHES	(nonexistent)
+++ libs/apr-util/1.6.3/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/apr-util/patches/apr-util-1.6.3-dbd.patch -p0
Index: libs/apr-util/1.6.3/apr-util-pkg-description.in
===================================================================
--- libs/apr-util/1.6.3/apr-util-pkg-description.in	(nonexistent)
+++ libs/apr-util/1.6.3/apr-util-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+apr-util: apr-util @VERSION@ (Apache Portable Runtime utilities)
+apr-util:
+apr-util: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util: free library of C data structures and routines, forming a system
+apr-util: portability layer to as many operating systems as possible.
+apr-util:
+apr-util: This package contains additional utility interfaces for APR;
+apr-util: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util: and more.
+apr-util:
+apr-util:
Index: libs/apr-util/1.6.3/apr-util-pkg-install.sh
===================================================================
--- libs/apr-util/1.6.3/apr-util-pkg-install.sh	(nonexistent)
+++ libs/apr-util/1.6.3/apr-util-pkg-install.sh	(revision 29)
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+  NEW="$1"
+  OLD="`dirname $NEW`/`basename $NEW .new`"
+  # If there's no file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/apr-util/1.6.3/apr-util-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/apr-util/1.6.3
===================================================================
--- libs/apr-util/1.6.3	(nonexistent)
+++ libs/apr-util/1.6.3	(revision 29)

Property changes on: libs/apr-util/1.6.3
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/apr-util/1.6.3-ppc32/Makefile
===================================================================
--- libs/apr-util/1.6.3-ppc32/Makefile	(nonexistent)
+++ libs/apr-util/1.6.3-ppc32/Makefile	(revision 29)
@@ -0,0 +1,222 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/apr-util
+
+REQUIRES           = libs/apr-util/1.6.3
+REQUIRES          += libs/apr/1.7.3-ppc32
+REQUIRES          += libs/expat/2.5.0-ppc32
+REQUIRES          += net/openldap/2.4.58-ppc32
+REQUIRES          += app/postgresql/14.1-ppc32
+REQUIRES          += app/mariadb/10.6.5-ppc32
+REQUIRES          += app/sqlite/3.39.4.0-ppc32
+REQUIRES          += app/db/18.1.40-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.6.3
+major_version      = 1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr-util/apr-util-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/apr-util-$(version)
+src_dir_name       = apr-util-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+APR_UTIL_32_PKG_NAME                = apr-util-x32
+APR_UTIL_32_PKG_VERSION             = 1.6.3
+APR_UTIL_32_PKG_ARCH                = $(PKGARCH)
+APR_UTIL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+APR_UTIL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+APR_UTIL_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+APR_UTIL_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime utilities
+APR_UTIL_32_PKG_URL                 = $(BUG_URL)
+APR_UTIL_32_PKG_LICENSE             = Apache-v2.0
+APR_UTIL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-pkg-description
+APR_UTIL_32_PKG_DESCRIPTION_FILE_IN = $(APR_UTIL_32_PKG_NAME)-pkg-description.in
+APR_UTIL_32_PKG_INSTALL_SCRIPT      = $(APR_UTIL_32_PKG_NAME)-pkg-install.sh
+
+APR_UTIL_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-package
+
+pkg_basename     = $(APR_UTIL_32_PKG_NAME)-$(APR_UTIL_32_PKG_VERSION)-$(APR_UTIL_32_PKG_ARCH)-$(APR_UTIL_32_PKG_DISTRO_NAME)-$(APR_UTIL_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(APR_UTIL_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --with-apr=$(TARGET_DEST_DIR)/usr/bin/32/apr-1-config
+extra_configure_switches += --with-expat=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-pgsql=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-mysql=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-sqlite3=$(TARGET_DEST_DIR)/usr
+
+# workaround for BerkeleyDB (see: -ldb-6.9):
+extra_configure_switches += --with-berkeley-db=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += LDADD_dbm_db=-ldb-18.1
+
+extra_configure_switches += --with-openssl=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --disable-util-dso
+extra_configure_switches += --without-sqlite2
+extra_configure_switches += --without-gdbm
+extra_configure_switches += --without-ndbm
+extra_configure_switches += --with-ldap
+
+extra_configure_switches += PGSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-pg_config
+extra_configure_switches += MYSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-mysql_config
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	( cd $(SRC_DIR) ; autoreconf --force --install --no-recursive --warnings=none )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	     --prefix=/usr               \
+	     --build=$(BUILD)            \
+	     --host=$(TARGET)            \
+	   $(extra_configure_switches) ; \
+	   sed -i 's, -ldb-6.9,,g' Makefile apr-util.pc apu-1-config export_vars.sh test/Makefile ; \
+	   sed -i 's,/usr/lib ,/usr/lib$(MULTILIB_PPC32_SUFFIX) ,g' Makefile apr-util.pc \
+	                                                            apu-1-config export_vars.sh \
+	                                                            test/Makefile ; \
+	   sed -i 's,/usr/lib$$,/usr/lib$(MULTILIB_PPC32_SUFFIX),g' Makefile apr-util.pc \
+	                                                            apu-1-config export_vars.sh \
+	                                                            test/Makefile ; \
+	 )
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(APR_UTIL_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(APR_UTIL_32_PKG)/usr/include
+	@rm -rf $(APR_UTIL_32_PKG)/usr/share
+	# ======= Remove toolchain path from target *.{la,pc} files =======
+	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libaprutil-$(major_version).la ; \
+	 )
+	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" apr-util-$(major_version).pc ; \
+	 )
+	# ======= Tune apr-$(major_version)-config script for development =======
+	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
+	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^bindir="/usr,bindir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^\(APR_XML_EXPAT_OLD=\).*,\1"",'                apu-$(major_version)-config ; \
+	   sed -i 's,^\(LDFLAGS=\).*,\1"-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)",' apu-$(major_version)-config ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(APR_UTIL_32_PKG))
+	# ======= Tune *.{la,pc} search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libaprutil-$(major_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libaprutil-$(major_version).la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-util-$(major_version).pc ; \
+	 )
+	# ======= Remove toolchain path from target apu-$(major_version)-config script =======
+	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" apu-$(major_version)-config ; \
+	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/ppc32/build-apr-util-$(version),g" apu-$(major_version)-config ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(APR_UTIL_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(APR_UTIL_32_PKG_DESCRIPTION_FILE): $(APR_UTIL_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG_INSTALL_SCRIPT)
+	@cp $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG)/.DESCRIPTION
+	@cp $(APR_UTIL_32_PKG_INSTALL_SCRIPT) $(APR_UTIL_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(APR_UTIL_32_PKG)/.REQUIRES
+	@echo "pkgname=$(APR_UTIL_32_PKG_NAME)"                            >  $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(APR_UTIL_32_PKG_VERSION)"                          >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(APR_UTIL_32_PKG_ARCH)"                               >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(APR_UTIL_32_PKG_DISTRO_NAME)"                  >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(APR_UTIL_32_PKG_DISTRO_VERSION)"                >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "group=$(APR_UTIL_32_PKG_GROUP)"                             >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(APR_UTIL_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "url=$(APR_UTIL_32_PKG_URL)"                                 >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "license=$(APR_UTIL_32_PKG_LICENSE)"                         >> $(APR_UTIL_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(APR_UTIL_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr-util/1.6.3-ppc32/PATCHES
===================================================================
--- libs/apr-util/1.6.3-ppc32/PATCHES	(nonexistent)
+++ libs/apr-util/1.6.3-ppc32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/apr-util/patches/apr-util-1.6.3-dbd.patch -p0
Index: libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-description.in
===================================================================
--- libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-description.in	(nonexistent)
+++ libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+apr-util-x32: apr-util-x32 @VERSION@ (Apache Portable Runtime utilities)
+apr-util-x32:
+apr-util-x32: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util-x32: free library of C data structures and routines, forming a system
+apr-util-x32: portability layer to as many operating systems as possible.
+apr-util-x32:
+apr-util-x32: This package contains additional utility interfaces for APR;
+apr-util-x32: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util-x32: and more.
+apr-util-x32:
+apr-util-x32:
Index: libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-install.sh
===================================================================
--- libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-install.sh	(nonexistent)
+++ libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/apr-util/1.6.3-ppc32/apr-util-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/apr-util/1.6.3-ppc32
===================================================================
--- libs/apr-util/1.6.3-ppc32	(nonexistent)
+++ libs/apr-util/1.6.3-ppc32	(revision 29)

Property changes on: libs/apr-util/1.6.3-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/apr-util/1.6.3-x86_32/Makefile
===================================================================
--- libs/apr-util/1.6.3-x86_32/Makefile	(nonexistent)
+++ libs/apr-util/1.6.3-x86_32/Makefile	(revision 29)
@@ -0,0 +1,219 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/apr-util
+
+REQUIRES           = libs/apr-util/1.6.3
+REQUIRES          += libs/apr/1.7.3-x86_32
+REQUIRES          += libs/expat/2.5.0-x86_32
+REQUIRES          += net/openldap/2.4.58-x86_32
+REQUIRES          += app/postgresql/14.1-x86_32
+REQUIRES          += app/mariadb/10.6.5-x86_32
+REQUIRES          += app/sqlite/3.39.4.0-x86_32
+REQUIRES          += app/db/18.1.40-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 1.6.3
+major_version      = 1
+tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/l/apr-util/apr-util-$(version).tar.bz2
+SRC_ARCHIVE        = $(tar_bz2_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/apr-util-$(version)
+src_dir_name       = apr-util-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+APR_UTIL_32_PKG_NAME                = apr-util-x32
+APR_UTIL_32_PKG_VERSION             = 1.6.3
+APR_UTIL_32_PKG_ARCH                = $(PKGARCH)
+APR_UTIL_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+APR_UTIL_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+APR_UTIL_32_PKG_GROUP               = $(PKG_GROUP)
+###                                  |---handy-ruler-------------------------------|
+APR_UTIL_32_PKG_SHORT_DESCRIPTION   = Apache Portable Runtime utilities
+APR_UTIL_32_PKG_URL                 = $(BUG_URL)
+APR_UTIL_32_PKG_LICENSE             = Apache-v2.0
+APR_UTIL_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-pkg-description
+APR_UTIL_32_PKG_DESCRIPTION_FILE_IN = $(APR_UTIL_32_PKG_NAME)-pkg-description.in
+APR_UTIL_32_PKG_INSTALL_SCRIPT      = $(APR_UTIL_32_PKG_NAME)-pkg-install.sh
+
+APR_UTIL_32_PKG  = $(CURDIR)/$(TARGET_BUILD_DIR)/$(APR_UTIL_32_PKG_NAME)-package
+
+pkg_basename     = $(APR_UTIL_32_PKG_NAME)-$(APR_UTIL_32_PKG_VERSION)-$(APR_UTIL_32_PKG_ARCH)-$(APR_UTIL_32_PKG_DISTRO_NAME)-$(APR_UTIL_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(APR_UTIL_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --with-apr=$(TARGET_DEST_DIR)/usr/bin/32/apr-1-config
+extra_configure_switches += --with-expat=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-pgsql=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-mysql=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --with-sqlite3=$(TARGET_DEST_DIR)/usr
+
+# workaround for BerkeleyDB (see: -ldb-6.9):
+extra_configure_switches += --with-berkeley-db=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += LDADD_dbm_db=-ldb-18.1
+
+extra_configure_switches += --with-openssl=$(TARGET_DEST_DIR)/usr
+extra_configure_switches += --disable-util-dso
+extra_configure_switches += --without-sqlite2
+extra_configure_switches += --without-gdbm
+extra_configure_switches += --without-ndbm
+extra_configure_switches += --with-ldap
+
+extra_configure_switches += PGSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-pg_config
+extra_configure_switches += MYSQL_CONFIG=$(TARGET_DEST_DIR)/usr/bin/$(TARGET32)-mysql_config
+
+
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	( cd $(SRC_DIR) ; autoreconf --force --install --no-recursive --warnings=none )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	     --prefix=/usr               \
+	     --build=$(BUILD)            \
+	     --host=$(TARGET)            \
+	   $(extra_configure_switches) ; \
+	   sed -i 's, -ldb-6.9,,g' Makefile apr-util.pc apu-1-config export_vars.sh test/Makefile ; \
+	   sed -i 's,/usr/lib ,/usr/lib$(MULTILIB_X86_32_SUFFIX) ,g' Makefile apr-util.pc \
+	                                                             apu-1-config export_vars.sh \
+	                                                             test/Makefile ; \
+	   sed -i 's,/usr/lib$$,/usr/lib$(MULTILIB_X86_32_SUFFIX),g' Makefile apr-util.pc \
+	                                                             apu-1-config export_vars.sh \
+	                                                             test/Makefile ; \
+	 )
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(APR_UTIL_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(APR_UTIL_32_PKG)/usr/include
+	@rm -rf $(APR_UTIL_32_PKG)/usr/share
+	# ======= Remove toolchain path from target *.{la,pc} files =======
+	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" libaprutil-$(major_version).la ; \
+	 )
+	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" apr-util-$(major_version).pc ; \
+	 )
+	# ======= Tune apr-$(major_version)-config script for development =======
+	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
+	   sed -i 's,^prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^bindir="/usr,bindir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' apu-$(major_version)-config ; \
+	   sed -i 's,^\(APR_XML_EXPAT_OLD=\).*,\1"",'                apu-$(major_version)-config ; \
+	   sed -i 's,^\(LDFLAGS=\).*,\1"-L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)",' apu-$(major_version)-config ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(APR_UTIL_32_PKG))
+	# ======= Tune *.{la,pc} search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   libaprutil-$(major_version).la ; \
+	   sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libaprutil-$(major_version).la ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"   apr-util-$(major_version).pc ; \
+	 )
+	# ======= Remove toolchain path from target apu-$(major_version)-config script =======
+	@( cd $(APR_UTIL_32_PKG)/usr/bin/32 ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" apu-$(major_version)-config ; \
+	   sed -i "s,$(CURDIR)/$(TARGET_BUILD_DIR)/build,/usr/src/x86_32/build-apr-util-$(version),g" apu-$(major_version)-config ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(APR_UTIL_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifneq ($(PATCHELF),)
+	# ======= Set RPATH/RUNPATH for target shared objects =======
+	@( cd $(APR_UTIL_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	     fi ; \
+	   done ; \
+	 )
+endif
+	@touch $@
+
+$(APR_UTIL_32_PKG_DESCRIPTION_FILE): $(APR_UTIL_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG_INSTALL_SCRIPT)
+	@cp $(APR_UTIL_32_PKG_DESCRIPTION_FILE) $(APR_UTIL_32_PKG)/.DESCRIPTION
+	@cp $(APR_UTIL_32_PKG_INSTALL_SCRIPT) $(APR_UTIL_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(APR_UTIL_32_PKG)/.REQUIRES
+	@echo "pkgname=$(APR_UTIL_32_PKG_NAME)"                            >  $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(APR_UTIL_32_PKG_VERSION)"                          >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(APR_UTIL_32_PKG_ARCH)"                               >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(APR_UTIL_32_PKG_DISTRO_NAME)"                  >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(APR_UTIL_32_PKG_DISTRO_VERSION)"                >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "group=$(APR_UTIL_32_PKG_GROUP)"                             >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(APR_UTIL_32_PKG_SHORT_DESCRIPTION)\"" >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "url=$(APR_UTIL_32_PKG_URL)"                                 >> $(APR_UTIL_32_PKG)/.PKGINFO ; \
+	 echo "license=$(APR_UTIL_32_PKG_LICENSE)"                         >> $(APR_UTIL_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(APR_UTIL_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/apr-util/1.6.3-x86_32/PATCHES
===================================================================
--- libs/apr-util/1.6.3-x86_32/PATCHES	(nonexistent)
+++ libs/apr-util/1.6.3-x86_32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/apr-util/patches/apr-util-1.6.3-dbd.patch -p0
Index: libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-description.in
===================================================================
--- libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-description.in	(nonexistent)
+++ libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+apr-util-x32: apr-util-x32 @VERSION@ (Apache Portable Runtime utilities)
+apr-util-x32:
+apr-util-x32: The mission of the Apache Portable Runtime (APR) is to provide a
+apr-util-x32: free library of C data structures and routines, forming a system
+apr-util-x32: portability layer to as many operating systems as possible.
+apr-util-x32:
+apr-util-x32: This package contains additional utility interfaces for APR;
+apr-util-x32: including support for XML, LDAP, database interfaces, URI parsing,
+apr-util-x32: and more.
+apr-util-x32:
+apr-util-x32:
Index: libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-install.sh
===================================================================
--- libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-install.sh	(nonexistent)
+++ libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/apr-util/1.6.3-x86_32/apr-util-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/apr-util/1.6.3-x86_32
===================================================================
--- libs/apr-util/1.6.3-x86_32	(nonexistent)
+++ libs/apr-util/1.6.3-x86_32	(revision 29)

Property changes on: libs/apr-util/1.6.3-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/boost/1.77.0/Makefile
===================================================================
--- libs/boost/1.77.0/Makefile	(revision 28)
+++ libs/boost/1.77.0/Makefile	(revision 29)
@@ -56,7 +56,7 @@
 
 REQUIRES           = dev/python2/2.7.18
 REQUIRES          += dev/python3/3.10.8
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += libs/zlib/1.2.13
 REQUIRES          += libs/zstd/1.5.2
 REQUIRES          += app/bzip2/1.0.8
Index: libs/boost/1.77.0-ppc32/Makefile
===================================================================
--- libs/boost/1.77.0-ppc32/Makefile	(revision 28)
+++ libs/boost/1.77.0-ppc32/Makefile	(revision 29)
@@ -18,7 +18,7 @@
 REQUIRES           = libs/boost/1.77.0
 REQUIRES          += dev/python2/2.7.18-ppc32
 REQUIRES          += dev/python3/3.10.8-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += libs/zlib/1.2.13-ppc32
 REQUIRES          += libs/zstd/1.5.2-ppc32
 REQUIRES          += app/bzip2/1.0.8-ppc32
Index: libs/boost/1.77.0-x86_32/Makefile
===================================================================
--- libs/boost/1.77.0-x86_32/Makefile	(revision 28)
+++ libs/boost/1.77.0-x86_32/Makefile	(revision 29)
@@ -15,7 +15,7 @@
 REQUIRES           = libs/boost/1.77.0
 REQUIRES          += dev/python2/2.7.18-x86_32
 REQUIRES          += dev/python3/3.10.8-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += libs/zlib/1.2.13-x86_32
 REQUIRES          += libs/zstd/1.5.2-x86_32
 REQUIRES          += app/bzip2/1.0.8-x86_32
Index: libs/fribidi/1.0.12/Makefile
===================================================================
--- libs/fribidi/1.0.12/Makefile	(revision 28)
+++ libs/fribidi/1.0.12/Makefile	(revision 29)
@@ -238,7 +238,6 @@
 	    -Dc_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`"   \
 	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"       \
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
-	    -Dselinux=disabled          \
 	    -Dbin=true                  \
 	    -Ddocs=true                 \
 	    -Ddeprecated=true           \
Index: libs/fribidi/1.0.12-ppc32/Makefile
===================================================================
--- libs/fribidi/1.0.12-ppc32/Makefile	(revision 28)
+++ libs/fribidi/1.0.12-ppc32/Makefile	(revision 29)
@@ -157,7 +157,6 @@
 	    -Dc_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) -m32 $(LDFLAGS)" | tr -s ' '`"   \
 	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"            \
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) -m32 $(LDFLAGS)" | tr -s ' '`" \
-	    -Dselinux=disabled          \
 	    -Dbin=true                  \
 	    -Ddocs=false                \
 	    -Ddeprecated=true           \
Index: libs/fribidi/1.0.12-x86_32/Makefile
===================================================================
--- libs/fribidi/1.0.12-x86_32/Makefile	(revision 28)
+++ libs/fribidi/1.0.12-x86_32/Makefile	(revision 29)
@@ -154,7 +154,6 @@
 	    -Dc_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) -m32 $(LDFLAGS)" | tr -s ' '`"   \
 	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"            \
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) -m32 $(LDFLAGS)" | tr -s ' '`" \
-	    -Dselinux=disabled          \
 	    -Dbin=true                  \
 	    -Ddocs=false                \
 	    -Ddeprecated=true           \
Index: libs/glib2/2.76.0/Makefile
===================================================================
--- libs/glib2/2.76.0/Makefile	(revision 28)
+++ libs/glib2/2.76.0/Makefile	(revision 29)
@@ -57,7 +57,7 @@
 REQUIRES           = libs/libffi/3.4.4
 REQUIRES          += libs/elfutils/0.187
 REQUIRES          += libs/pcre/8.44
-REQUIRES          += app/attr/2.4.48
+REQUIRES          += app/attr/2.5.1
 REQUIRES          += app/util-linux/2.38.1
 REQUIRES          += libs/libgamin/0.1.10
 
Index: libs/glib2/2.76.0-ppc32/Makefile
===================================================================
--- libs/glib2/2.76.0-ppc32/Makefile	(revision 28)
+++ libs/glib2/2.76.0-ppc32/Makefile	(revision 29)
@@ -19,7 +19,7 @@
 REQUIRES          += libs/libffi/3.4.4-ppc32
 REQUIRES          += libs/elfutils/0.187-ppc32
 REQUIRES          += libs/pcre/8.44-ppc32
-REQUIRES          += app/attr/2.4.48-ppc32
+REQUIRES          += app/attr/2.5.1-ppc32
 REQUIRES          += app/util-linux/2.38.1-ppc32
 REQUIRES          += libs/libgamin/0.1.10-ppc32
 
Index: libs/glib2/2.76.0-x86_32/Makefile
===================================================================
--- libs/glib2/2.76.0-x86_32/Makefile	(revision 28)
+++ libs/glib2/2.76.0-x86_32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 REQUIRES          += libs/libffi/3.4.4-x86_32
 REQUIRES          += libs/elfutils/0.187-x86_32
 REQUIRES          += libs/pcre/8.44-x86_32
-REQUIRES          += app/attr/2.4.48-x86_32
+REQUIRES          += app/attr/2.5.1-x86_32
 REQUIRES          += app/util-linux/2.38.1-x86_32
 REQUIRES          += libs/libgamin/0.1.10-x86_32
 
Index: libs/harfbuzz/3.3.1/Makefile
===================================================================
--- libs/harfbuzz/3.3.1/Makefile	(revision 28)
+++ libs/harfbuzz/3.3.1/Makefile	(revision 29)
@@ -57,7 +57,7 @@
 REQUIRES           = env/freetype/2.11.1
 REQUIRES          += libs/graphite2/1.3.14
 REQUIRES          += libs/glib2/2.76.0
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/harfbuzz/3.3.1-ppc32/Makefile
===================================================================
--- libs/harfbuzz/3.3.1-ppc32/Makefile	(revision 28)
+++ libs/harfbuzz/3.3.1-ppc32/Makefile	(revision 29)
@@ -19,7 +19,7 @@
 REQUIRES          += env/freetype/2.11.1-ppc32
 REQUIRES          += libs/graphite2/1.3.14-ppc32
 REQUIRES          += libs/glib2/2.76.0-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/harfbuzz/3.3.1-x86_32/Makefile
===================================================================
--- libs/harfbuzz/3.3.1-x86_32/Makefile	(revision 28)
+++ libs/harfbuzz/3.3.1-x86_32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 REQUIRES          += env/freetype/2.11.1-x86_32
 REQUIRES          += libs/graphite2/1.3.14-x86_32
 REQUIRES          += libs/glib2/2.76.0-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/icu4c/68.2-ppc32/icu4c-x32-pkg-description.in
===================================================================
--- libs/icu4c/68.2-ppc32/icu4c-x32-pkg-description.in	(revision 28)
+++ libs/icu4c/68.2-ppc32/icu4c-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-         |-----handy-ruler------------------------------------------------------|
-icu4c-x32: icu4c-x32 @VERSION@ (International Components for Unicode)
-icu4c-x32:
-icu4c-x32: The International Components for Unicode (ICU) libraries provide
-icu4c-x32: robust and full-featured Unicode services on a wide variety of
-icu4c-x32: platforms.
-icu4c-x32:
-icu4c-x32: Homepage: http://www.icu-project.org
-icu4c-x32:
-icu4c-x32:
-icu4c-x32:
-icu4c-x32:
Index: libs/icu4c/68.2-ppc32/PATCHES
===================================================================
--- libs/icu4c/68.2-ppc32/PATCHES	(revision 28)
+++ libs/icu4c/68.2-ppc32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/icu4c/patches/icu4c-68.2.patch -p0
Index: libs/icu4c/68.2-ppc32/Makefile
===================================================================
--- libs/icu4c/68.2-ppc32/Makefile	(revision 28)
+++ libs/icu4c/68.2-ppc32/Makefile	(nonexistent)
@@ -1,210 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/icu4c
-
-REQUIRES           = libs/icu4c/68.2
-REQUIRES          += libs/glibc/2.36-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 68.2
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/icu4c/icu4c-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/icu4c-$(version)
-src_dir_name       = icu4c-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_host_dir     = $(TARGET_BUILD_DIR)/build_host
-build_target_dir   = $(TARGET_BUILD_DIR)/build_target
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ICU4C_32_PKG_NAME                = icu4c-x32
-ICU4C_32_PKG_VERSION             = 68.2
-ICU4C_32_PKG_ARCH                = $(PKGARCH)
-ICU4C_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ICU4C_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ICU4C_32_PKG_GROUP               = $(PKG_GROUP)
-###                               |---handy-ruler-------------------------------|
-ICU4C_32_PKG_SHORT_DESCRIPTION   = International Components for Unicode
-ICU4C_32_PKG_URL                 = $(BUG_URL)
-ICU4C_32_PKG_LICENSE             = ICU
-ICU4C_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-pkg-description
-ICU4C_32_PKG_DESCRIPTION_FILE_IN = $(ICU4C_32_PKG_NAME)-pkg-description.in
-ICU4C_32_PKG_INSTALL_SCRIPT      = $(ICU4C_32_PKG_NAME)-pkg-install.sh
-
-ICU4C_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-package
-
-pkg_basename     = $(ICU4C_32_PKG_NAME)-$(ICU4C_32_PKG_VERSION)-$(ICU4C_32_PKG_ARCH)-$(ICU4C_32_PKG_DISTRO_NAME)-$(ICU4C_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(ICU4C_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --localstatedir=/var
-extra_configure_switches += --disable-samples
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += --with-cross-build=$(CURDIR)/$(build_host_dir)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/source
-	@( cd $(SRC_DIR)/source/config ; \
-	   sed -i "s,^LDFLAGSICUDT,#LDFLAGSICUDT," mh-linux ; \
-	 )
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_host_dir)
-	@mkdir -p $(build_target_dir)
-	@cd $(build_host_dir) && $(CURDIR)/$(SRC_DIR)/source/runConfigureICU Linux/gcc
-	@cd $(build_host_dir) && $(MAKE)
-	@cd $(build_target_dir) && \
-	  $(BUILD_ENVIRONMENT) $(CURDIR)/$(SRC_DIR)/source/configure \
-	  --prefix=/usr               \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ICU4C_32_PKG)
-	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ICU4C_32_PKG)/usr/bin/32
-	@( cd $(ICU4C_32_PKG)/usr/bin ; \
-	   find . -type f | xargs mv -t 32 ; \
-	 )
-	@mkdir -p $(ICU4C_32_PKG)/usr/sbin/32
-	@( cd $(ICU4C_32_PKG)/usr/sbin ; \
-	   find . -type f | xargs mv -t 32 ; \
-	 )
-	@rm -rf $(ICU4C_32_PKG)/usr/include
-	@rm -rf $(ICU4C_32_PKG)/usr/share
-ifeq ($(__ENABLE_STATIC__),yes)
-	# ======= change permissions of *.a files =======
-	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   chmod 0644 *.a ; \
-	 )
-endif
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ICU4C_32_PKG))
-	# ======= tune icu-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
-	   sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,' icu-config ; \
-	   sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,' icu-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" icu-i18n.pc icu-io.pc icu-uc.pc \
-	 )
-	# ======= tune Makefile.inc to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
-	   sed -i 's,prefix = /usr,prefix = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
-	   sed -i 's,libdir = /usr,libdir = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
-	 )
-	# ======= tune icu-config for target system =======
-	@( cd $(ICU4C_32_PKG)/usr/bin/32 ; \
-	   sed -i 's,^AR=.*,AR="ar",'             icu-config ; \
-	   sed -i 's,^CC=.*,CC="gcc -m32",'       icu-config ; \
-	   sed -i 's,^CPP=.*,CPP="gcc -E",'       icu-config ; \
-	   sed -i 's,^CXX=.*,CXX="g++ -m32",'     icu-config ; \
-	   sed -i 's,^RANLIB=.*,RANLIB="ranlib",' icu-config ; \
-	 )
-	# ======= tune Makefile.inc for target system =======
-	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
-	   sed -i 's,^AR =.*,AR = ar,'             Makefile.inc ; \
-	   sed -i 's,^CC =.*,CC = gcc -m32,'       Makefile.inc ; \
-	   sed -i 's,^CPP =.*,CPP = gcc -E,'       Makefile.inc ; \
-	   sed -i 's,^CXX =.*,CXX = g++ -m32,'     Makefile.inc ; \
-	   sed -i 's,^RANLIB =.*,RANLIB = ranlib,' Makefile.inc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ICU4C_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ICU4C_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-	@touch $@
-
-$(ICU4C_32_PKG_DESCRIPTION_FILE): $(ICU4C_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG_INSTALL_SCRIPT)
-	@cp $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG)/.DESCRIPTION
-	@cp $(ICU4C_32_PKG_INSTALL_SCRIPT) $(ICU4C_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ICU4C_32_PKG)/.REQUIRES
-	@echo "pkgname=$(ICU4C_32_PKG_NAME)"                            >  $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ICU4C_32_PKG_VERSION)"                          >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(ICU4C_32_PKG_ARCH)"                               >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ICU4C_32_PKG_DISTRO_NAME)"                  >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ICU4C_32_PKG_DISTRO_VERSION)"                >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "group=$(ICU4C_32_PKG_GROUP)"                             >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ICU4C_32_PKG_SHORT_DESCRIPTION)\"" >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "url=$(ICU4C_32_PKG_URL)"                                 >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "license=$(ICU4C_32_PKG_LICENSE)"                         >> $(ICU4C_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ICU4C_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/icu4c/68.2-ppc32/icu4c-x32-pkg-install.sh
===================================================================
--- libs/icu4c/68.2-ppc32/icu4c-x32-pkg-install.sh	(revision 28)
+++ libs/icu4c/68.2-ppc32/icu4c-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/icu4c/68.2-ppc32/icu4c-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/icu4c/68.2-ppc32
===================================================================
--- libs/icu4c/68.2-ppc32	(revision 28)
+++ libs/icu4c/68.2-ppc32	(nonexistent)

Property changes on: libs/icu4c/68.2-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/icu4c/68.2-x86_32/icu4c-x32-pkg-description.in
===================================================================
--- libs/icu4c/68.2-x86_32/icu4c-x32-pkg-description.in	(revision 28)
+++ libs/icu4c/68.2-x86_32/icu4c-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-         |-----handy-ruler------------------------------------------------------|
-icu4c-x32: icu4c-x32 @VERSION@ (International Components for Unicode)
-icu4c-x32:
-icu4c-x32: The International Components for Unicode (ICU) libraries provide
-icu4c-x32: robust and full-featured Unicode services on a wide variety of
-icu4c-x32: platforms.
-icu4c-x32:
-icu4c-x32: Homepage: http://www.icu-project.org
-icu4c-x32:
-icu4c-x32:
-icu4c-x32:
-icu4c-x32:
Index: libs/icu4c/68.2-x86_32/PATCHES
===================================================================
--- libs/icu4c/68.2-x86_32/PATCHES	(revision 28)
+++ libs/icu4c/68.2-x86_32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/icu4c/patches/icu4c-68.2.patch -p0
Index: libs/icu4c/68.2-x86_32/Makefile
===================================================================
--- libs/icu4c/68.2-x86_32/Makefile	(revision 28)
+++ libs/icu4c/68.2-x86_32/Makefile	(nonexistent)
@@ -1,207 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/icu4c
-
-REQUIRES           = libs/icu4c/68.2
-REQUIRES          += libs/glibc/2.36-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 68.2
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/icu4c/icu4c-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/icu4c-$(version)
-src_dir_name       = icu4c-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_host_dir     = $(TARGET_BUILD_DIR)/build_host
-build_target_dir   = $(TARGET_BUILD_DIR)/build_target
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ICU4C_32_PKG_NAME                = icu4c-x32
-ICU4C_32_PKG_VERSION             = 68.2
-ICU4C_32_PKG_ARCH                = $(PKGARCH)
-ICU4C_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ICU4C_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ICU4C_32_PKG_GROUP               = $(PKG_GROUP)
-###                               |---handy-ruler-------------------------------|
-ICU4C_32_PKG_SHORT_DESCRIPTION   = International Components for Unicode
-ICU4C_32_PKG_URL                 = $(BUG_URL)
-ICU4C_32_PKG_LICENSE             = ICU
-ICU4C_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-pkg-description
-ICU4C_32_PKG_DESCRIPTION_FILE_IN = $(ICU4C_32_PKG_NAME)-pkg-description.in
-ICU4C_32_PKG_INSTALL_SCRIPT      = $(ICU4C_32_PKG_NAME)-pkg-install.sh
-
-ICU4C_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-package
-
-pkg_basename     = $(ICU4C_32_PKG_NAME)-$(ICU4C_32_PKG_VERSION)-$(ICU4C_32_PKG_ARCH)-$(ICU4C_32_PKG_DISTRO_NAME)-$(ICU4C_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(ICU4C_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --localstatedir=/var
-extra_configure_switches += --disable-samples
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += --with-cross-build=$(CURDIR)/$(build_host_dir)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/source
-	@( cd $(SRC_DIR)/source/config ; \
-	   sed -i "s,^LDFLAGSICUDT,#LDFLAGSICUDT," mh-linux ; \
-	 )
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_host_dir)
-	@mkdir -p $(build_target_dir)
-	@cd $(build_host_dir) && $(CURDIR)/$(SRC_DIR)/source/runConfigureICU Linux/gcc
-	@cd $(build_host_dir) && $(MAKE)
-	@cd $(build_target_dir) && \
-	  $(BUILD_ENVIRONMENT) $(CURDIR)/$(SRC_DIR)/source/configure \
-	  --prefix=/usr               \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ICU4C_32_PKG)
-	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@mkdir -p $(ICU4C_32_PKG)/usr/bin/32
-	@( cd $(ICU4C_32_PKG)/usr/bin ; \
-	   find . -type f | xargs mv -t 32 ; \
-	 )
-	@mkdir -p $(ICU4C_32_PKG)/usr/sbin/32
-	@( cd $(ICU4C_32_PKG)/usr/sbin ; \
-	   find . -type f | xargs mv -t 32 ; \
-	 )
-	@rm -rf $(ICU4C_32_PKG)/usr/include
-	@rm -rf $(ICU4C_32_PKG)/usr/share
-ifeq ($(__ENABLE_STATIC__),yes)
-	# ======= change permissions of *.a files =======
-	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   chmod 0644 *.a ; \
-	 )
-endif
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ICU4C_32_PKG))
-	# ======= tune icu-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
-	   sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,' icu-config ; \
-	   sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,' icu-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" icu-i18n.pc icu-io.pc icu-uc.pc \
-	 )
-	# ======= tune Makefile.inc to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
-	   sed -i 's,prefix = /usr,prefix = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
-	   sed -i 's,libdir = /usr,libdir = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
-	 )
-	# ======= tune icu-config for target system =======
-	@( cd $(ICU4C_32_PKG)/usr/bin/32 ; \
-	   sed -i 's,^AR=.*,AR="ar",'             icu-config ; \
-	   sed -i 's,^CC=.*,CC="gcc -m32",'       icu-config ; \
-	   sed -i 's,^CPP=.*,CPP="gcc -E",'       icu-config ; \
-	   sed -i 's,^CXX=.*,CXX="g++ -m32",'     icu-config ; \
-	   sed -i 's,^RANLIB=.*,RANLIB="ranlib",' icu-config ; \
-	 )
-	# ======= tune Makefile.inc for target system =======
-	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
-	   sed -i 's,^AR =.*,AR = ar,'             Makefile.inc ; \
-	   sed -i 's,^CC =.*,CC = gcc -m32,'       Makefile.inc ; \
-	   sed -i 's,^CPP =.*,CPP = gcc -E,'       Makefile.inc ; \
-	   sed -i 's,^CXX =.*,CXX = g++ -m32,'     Makefile.inc ; \
-	   sed -i 's,^RANLIB =.*,RANLIB = ranlib,' Makefile.inc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ICU4C_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ICU4C_32_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-	@touch $@
-
-$(ICU4C_32_PKG_DESCRIPTION_FILE): $(ICU4C_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG_INSTALL_SCRIPT)
-	@cp $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG)/.DESCRIPTION
-	@cp $(ICU4C_32_PKG_INSTALL_SCRIPT) $(ICU4C_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ICU4C_32_PKG)/.REQUIRES
-	@echo "pkgname=$(ICU4C_32_PKG_NAME)"                            >  $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ICU4C_32_PKG_VERSION)"                          >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(ICU4C_32_PKG_ARCH)"                               >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ICU4C_32_PKG_DISTRO_NAME)"                  >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ICU4C_32_PKG_DISTRO_VERSION)"                >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "group=$(ICU4C_32_PKG_GROUP)"                             >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ICU4C_32_PKG_SHORT_DESCRIPTION)\"" >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "url=$(ICU4C_32_PKG_URL)"                                 >> $(ICU4C_32_PKG)/.PKGINFO ; \
-	 echo "license=$(ICU4C_32_PKG_LICENSE)"                         >> $(ICU4C_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ICU4C_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/icu4c/68.2-x86_32/icu4c-x32-pkg-install.sh
===================================================================
--- libs/icu4c/68.2-x86_32/icu4c-x32-pkg-install.sh	(revision 28)
+++ libs/icu4c/68.2-x86_32/icu4c-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/icu4c/68.2-x86_32/icu4c-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/icu4c/68.2-x86_32
===================================================================
--- libs/icu4c/68.2-x86_32	(revision 28)
+++ libs/icu4c/68.2-x86_32	(nonexistent)

Property changes on: libs/icu4c/68.2-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/icu4c/68.2/icu4c-pkg-install.sh
===================================================================
--- libs/icu4c/68.2/icu4c-pkg-install.sh	(revision 28)
+++ libs/icu4c/68.2/icu4c-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: libs/icu4c/68.2/icu4c-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: libs/icu4c/68.2/icu4c-pkg-description.in
===================================================================
--- libs/icu4c/68.2/icu4c-pkg-description.in	(revision 28)
+++ libs/icu4c/68.2/icu4c-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-     |-----handy-ruler------------------------------------------------------|
-icu4c: icu4c @VERSION@ (International Components for Unicode)
-icu4c:
-icu4c: The International Components for Unicode (ICU) libraries provide
-icu4c: robust and full-featured Unicode services on a wide variety of
-icu4c: platforms.
-icu4c:
-icu4c: Homepage: http://www.icu-project.org
-icu4c:
-icu4c:
-icu4c:
-icu4c:
Index: libs/icu4c/68.2/PATCHES
===================================================================
--- libs/icu4c/68.2/PATCHES	(revision 28)
+++ libs/icu4c/68.2/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/icu4c/patches/icu4c-68.2.patch -p0
Index: libs/icu4c/68.2/Makefile
===================================================================
--- libs/icu4c/68.2/Makefile	(revision 28)
+++ libs/icu4c/68.2/Makefile	(nonexistent)
@@ -1,264 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/l/icu4c
-
-ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
-REQUIRES           = dev/gcc/12.2.0
-else
-REQUIRES           = libs/glibc/2.36
-endif
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 68.2
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/icu4c/icu4c-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/icu4c-$(version)
-src_dir_name       = icu4c-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_host_dir     = $(TARGET_BUILD_DIR)/build_host
-build_target_dir   = $(TARGET_BUILD_DIR)/build_target
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = libs
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-ICU4C_PKG_NAME                = icu4c
-ICU4C_PKG_VERSION             = 68.2
-ICU4C_PKG_ARCH                = $(PKGARCH)
-ICU4C_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-ICU4C_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-ICU4C_PKG_GROUP               = $(PKG_GROUP)
-###                            |---handy-ruler-------------------------------|
-ICU4C_PKG_SHORT_DESCRIPTION   = International Components for Unicode
-ICU4C_PKG_URL                 = $(BUG_URL)
-ICU4C_PKG_LICENSE             = ICU
-ICU4C_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ICU4C_PKG_NAME)-pkg-description
-ICU4C_PKG_DESCRIPTION_FILE_IN = $(ICU4C_PKG_NAME)-pkg-description.in
-ICU4C_PKG_INSTALL_SCRIPT      = $(ICU4C_PKG_NAME)-pkg-install.sh
-
-ICU4C_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ICU4C_PKG_NAME)-package
-
-pkg_basename     = $(ICU4C_PKG_NAME)-$(ICU4C_PKG_VERSION)-$(ICU4C_PKG_ARCH)-$(ICU4C_PKG_DISTRO_NAME)-$(ICU4C_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(ICU4C_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --localstatedir=/var
-extra_configure_switches += --disable-samples
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += --with-cross-build=$(CURDIR)/$(build_host_dir)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/source
-	@( cd $(SRC_DIR)/source/config ; \
-	   sed -i "s,^LDFLAGSICUDT,#LDFLAGSICUDT," mh-linux ; \
-	 )
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_host_dir)
-	@mkdir -p $(build_target_dir)
-	@cd $(build_host_dir) && $(CURDIR)/$(SRC_DIR)/source/runConfigureICU Linux/gcc
-	@cd $(build_host_dir) && $(MAKE)
-	@cd $(build_target_dir) && \
-	  $(BUILD_ENVIRONMENT) $(CURDIR)/$(SRC_DIR)/source/configure \
-	  --prefix=/usr               \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET)            \
-	  $(extra_configure_switches)
-	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(ICU4C_PKG)
-	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	# ======= Install Documentation =======
-	@if [ -d $(ICU4C_PKG)/usr/share/man ]; then \
-	  ( cd $(ICU4C_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.? ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	@mkdir -p $(ICU4C_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/LICENSE $(SRC_DIR)/license.html $(SRC_DIR)/icu4c.css \
-	       $(ICU4C_PKG)/usr/doc/$(src_dir_name)
-	@mkdir -p $(ICU4C_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a LICENSE *.html *.css *.md \
-	         $(ICU4C_PKG)/usr/share/doc/$(src_dir_name) ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	# ======= change permissions of *.a files =======
-	@( cd $(ICU4C_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   chmod 0644 *.a ; \
-	 )
-endif
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(ICU4C_PKG))
-	# ======= tune icu-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
-	   sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,' icu-config ; \
-	   sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,' icu-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" icu-i18n.pc icu-io.pc icu-uc.pc \
-	 )
-	# ======= tune Makefile.inc to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/icu/$(ICU4C_PKG_VERSION) ; \
-	   sed -i 's,prefix = /usr,prefix = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
-	   sed -i 's,libdir = /usr,libdir = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
-	 )
-	# ======= tune icu-config for target system =======
-	@( cd $(ICU4C_PKG)/usr/bin ; \
-	   sed -i 's,^AR=.*,AR="ar",'             icu-config ; \
-	   sed -i 's,^CC=.*,CC="gcc",'            icu-config ; \
-	   sed -i 's,^CPP=.*,CPP="gcc -E",'       icu-config ; \
-	   sed -i 's,^CXX=.*,CXX="g++",'          icu-config ; \
-	   sed -i 's,^RANLIB=.*,RANLIB="ranlib",' icu-config ; \
-	 )
-	# ======= tune Makefile.inc for target system =======
-	@( cd $(ICU4C_PKG)/usr/lib$(LIBSUFFIX)/icu/$(ICU4C_PKG_VERSION) ; \
-	   sed -i 's,^AR =.*,AR = ar,'             Makefile.inc ; \
-	   sed -i 's,^CC =.*,CC = gcc,'            Makefile.inc ; \
-	   sed -i 's,^CPP =.*,CPP = gcc -E,'       Makefile.inc ; \
-	   sed -i 's,^CXX =.*,CXX = g++,'          Makefile.inc ; \
-	   sed -i 's,^RANLIB =.*,RANLIB = ranlib,' Makefile.inc ; \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(ICU4C_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(ICU4C_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
-	@touch $@
-
-$(ICU4C_PKG_DESCRIPTION_FILE): $(ICU4C_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(ICU4C_PKG_DESCRIPTION_FILE) $(ICU4C_PKG_INSTALL_SCRIPT)
-	@cp $(ICU4C_PKG_DESCRIPTION_FILE) $(ICU4C_PKG)/.DESCRIPTION
-	@cp $(ICU4C_PKG_INSTALL_SCRIPT) $(ICU4C_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(ICU4C_PKG)/.REQUIRES
-	@echo "pkgname=$(ICU4C_PKG_NAME)"                            >  $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(ICU4C_PKG_VERSION)"                          >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "arch=$(ICU4C_PKG_ARCH)"                               >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "distroname=$(ICU4C_PKG_DISTRO_NAME)"                  >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "distrover=$(ICU4C_PKG_DISTRO_VERSION)"                >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "group=$(ICU4C_PKG_GROUP)"                             >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(ICU4C_PKG_SHORT_DESCRIPTION)\"" >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "url=$(ICU4C_PKG_URL)"                                 >> $(ICU4C_PKG)/.PKGINFO ; \
-	 echo "license=$(ICU4C_PKG_LICENSE)"                         >> $(ICU4C_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(ICU4C_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/icu4c/68.2
===================================================================
--- libs/icu4c/68.2	(revision 28)
+++ libs/icu4c/68.2	(nonexistent)

Property changes on: libs/icu4c/68.2
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: libs/icu4c/73.1/Makefile
===================================================================
--- libs/icu4c/73.1/Makefile	(nonexistent)
+++ libs/icu4c/73.1/Makefile	(revision 29)
@@ -0,0 +1,265 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/icu4c
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/12.2.0
+else
+REQUIRES           = libs/glibc/2.36
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 73.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/icu4c/icu4c-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/icu4c-$(version)
+src_dir_name       = icu4c-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_host_dir     = $(TARGET_BUILD_DIR)/build_host
+build_target_dir   = $(TARGET_BUILD_DIR)/build_target
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ICU4C_PKG_NAME                = icu4c
+ICU4C_PKG_VERSION             = 73.1
+ICU4C_PKG_ARCH                = $(PKGARCH)
+ICU4C_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ICU4C_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ICU4C_PKG_GROUP               = $(PKG_GROUP)
+###                            |---handy-ruler-------------------------------|
+ICU4C_PKG_SHORT_DESCRIPTION   = International Components for Unicode
+ICU4C_PKG_URL                 = $(BUG_URL)
+ICU4C_PKG_LICENSE             = ICU
+ICU4C_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ICU4C_PKG_NAME)-pkg-description
+ICU4C_PKG_DESCRIPTION_FILE_IN = $(ICU4C_PKG_NAME)-pkg-description.in
+ICU4C_PKG_INSTALL_SCRIPT      = $(ICU4C_PKG_NAME)-pkg-install.sh
+
+ICU4C_PKG        = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ICU4C_PKG_NAME)-package
+
+pkg_basename     = $(ICU4C_PKG_NAME)-$(ICU4C_PKG_VERSION)-$(ICU4C_PKG_ARCH)-$(ICU4C_PKG_DISTRO_NAME)-$(ICU4C_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(ICU4C_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --disable-samples
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += --with-cross-build=$(CURDIR)/$(build_host_dir)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/source
+	@( cd $(SRC_DIR)/source/config ; \
+	   sed -i "s,^LDFLAGSICUDT,#LDFLAGSICUDT," mh-linux ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_host_dir)
+	@mkdir -p $(build_target_dir)
+	@cd $(build_host_dir) && $(CURDIR)/$(SRC_DIR)/source/runConfigureICU Linux/gcc
+	@cd $(build_host_dir) && $(MAKE)
+	@cd $(build_target_dir) && \
+	  $(BUILD_ENVIRONMENT) $(CURDIR)/$(SRC_DIR)/source/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ICU4C_PKG)
+	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@if [ -d $(ICU4C_PKG)/usr/share/man ]; then \
+	  ( cd $(ICU4C_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.? ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	@mkdir -p $(ICU4C_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/LICENSE $(SRC_DIR)/license.html $(SRC_DIR)/icu4c.css \
+	       $(ICU4C_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(ICU4C_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a LICENSE *.html *.css *.md \
+	         $(ICU4C_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	# ======= change permissions of *.a files =======
+	@( cd $(ICU4C_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   chmod 0644 *.a ; \
+	 )
+endif
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ICU4C_PKG))
+	# ======= tune icu-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
+	   sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,' icu-config ; \
+	   sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,' icu-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" icu-i18n.pc icu-io.pc icu-uc.pc \
+	 )
+	# ======= tune Makefile.inc to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/icu/$(ICU4C_PKG_VERSION) ; \
+	   sed -i 's,prefix = /usr,prefix = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
+	   sed -i 's,libdir = /usr,libdir = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
+	 )
+	# ======= tune icu-config for target system =======
+	@( cd $(ICU4C_PKG)/usr/bin ; \
+	   sed -i 's,^AR=.*,AR="ar",'             icu-config ; \
+	   sed -i 's,^CC=.*,CC="gcc",'            icu-config ; \
+	   sed -i 's,^CPP=.*,CPP="gcc -E",'       icu-config ; \
+	   sed -i 's,^CXX=.*,CXX="g++",'          icu-config ; \
+	   sed -i 's,^RANLIB=.*,RANLIB="ranlib",' icu-config ; \
+	 )
+	# ======= tune Makefile.inc for target system =======
+	@( cd $(ICU4C_PKG)/usr/lib$(LIBSUFFIX)/icu/$(ICU4C_PKG_VERSION) ; \
+	   sed -i 's,^AR =.*,AR = ar,'             Makefile.inc ; \
+	   sed -i 's,^CC =.*,CC = gcc,'            Makefile.inc ; \
+	   sed -i 's,^CPP =.*,CPP = gcc -E,'       Makefile.inc ; \
+	   sed -i 's,^CXX =.*,CXX = g++,'          Makefile.inc ; \
+	   sed -i 's,^RANLIB =.*,RANLIB = ranlib,' Makefile.inc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ICU4C_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ICU4C_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(ICU4C_PKG_DESCRIPTION_FILE): $(ICU4C_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ICU4C_PKG_DESCRIPTION_FILE) $(ICU4C_PKG_INSTALL_SCRIPT)
+	@cp $(ICU4C_PKG_DESCRIPTION_FILE) $(ICU4C_PKG)/.DESCRIPTION
+	@cp $(ICU4C_PKG_INSTALL_SCRIPT) $(ICU4C_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ICU4C_PKG)/.REQUIRES
+	@echo "pkgname=$(ICU4C_PKG_NAME)"                            >  $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ICU4C_PKG_VERSION)"                          >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "arch=$(ICU4C_PKG_ARCH)"                               >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ICU4C_PKG_DISTRO_NAME)"                  >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ICU4C_PKG_DISTRO_VERSION)"                >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "group=$(ICU4C_PKG_GROUP)"                             >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ICU4C_PKG_SHORT_DESCRIPTION)\"" >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "url=$(ICU4C_PKG_URL)"                                 >> $(ICU4C_PKG)/.PKGINFO ; \
+	 echo "license=$(ICU4C_PKG_LICENSE)"                         >> $(ICU4C_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ICU4C_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/icu4c/73.1/PATCHES
===================================================================
--- libs/icu4c/73.1/PATCHES	(nonexistent)
+++ libs/icu4c/73.1/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/icu4c/patches/icu4c-73.1.patch -p0
Index: libs/icu4c/73.1/icu4c-pkg-description.in
===================================================================
--- libs/icu4c/73.1/icu4c-pkg-description.in	(nonexistent)
+++ libs/icu4c/73.1/icu4c-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler------------------------------------------------------|
+icu4c: icu4c @VERSION@ (International Components for Unicode)
+icu4c:
+icu4c: The International Components for Unicode (ICU) libraries provide
+icu4c: robust and full-featured Unicode services on a wide variety of
+icu4c: platforms.
+icu4c:
+icu4c: Homepage: http://www.icu-project.org
+icu4c:
+icu4c:
+icu4c:
+icu4c:
Index: libs/icu4c/73.1/icu4c-pkg-install.sh
===================================================================
--- libs/icu4c/73.1/icu4c-pkg-install.sh	(nonexistent)
+++ libs/icu4c/73.1/icu4c-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/icu4c/73.1/icu4c-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/icu4c/73.1
===================================================================
--- libs/icu4c/73.1	(nonexistent)
+++ libs/icu4c/73.1	(revision 29)

Property changes on: libs/icu4c/73.1
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/icu4c/73.1-ppc32/Makefile
===================================================================
--- libs/icu4c/73.1-ppc32/Makefile	(nonexistent)
+++ libs/icu4c/73.1-ppc32/Makefile	(revision 29)
@@ -0,0 +1,211 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/icu4c
+
+REQUIRES           = libs/icu4c/73.1
+REQUIRES          += libs/glibc/2.36-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 73.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/icu4c/icu4c-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/icu4c-$(version)
+src_dir_name       = icu4c-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_host_dir     = $(TARGET_BUILD_DIR)/build_host
+build_target_dir   = $(TARGET_BUILD_DIR)/build_target
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ICU4C_32_PKG_NAME                = icu4c-x32
+ICU4C_32_PKG_VERSION             = 73.1
+ICU4C_32_PKG_ARCH                = $(PKGARCH)
+ICU4C_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ICU4C_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ICU4C_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+ICU4C_32_PKG_SHORT_DESCRIPTION   = International Components for Unicode
+ICU4C_32_PKG_URL                 = $(BUG_URL)
+ICU4C_32_PKG_LICENSE             = ICU
+ICU4C_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-pkg-description
+ICU4C_32_PKG_DESCRIPTION_FILE_IN = $(ICU4C_32_PKG_NAME)-pkg-description.in
+ICU4C_32_PKG_INSTALL_SCRIPT      = $(ICU4C_32_PKG_NAME)-pkg-install.sh
+
+ICU4C_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-package
+
+pkg_basename     = $(ICU4C_32_PKG_NAME)-$(ICU4C_32_PKG_VERSION)-$(ICU4C_32_PKG_ARCH)-$(ICU4C_32_PKG_DISTRO_NAME)-$(ICU4C_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(ICU4C_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --disable-samples
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += --with-cross-build=$(CURDIR)/$(build_host_dir)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/source
+	@( cd $(SRC_DIR)/source/config ; \
+	   sed -i "s,^LDFLAGSICUDT,#LDFLAGSICUDT," mh-linux ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_host_dir)
+	@mkdir -p $(build_target_dir)
+	@cd $(build_host_dir) && $(CURDIR)/$(SRC_DIR)/source/runConfigureICU Linux/gcc
+	@cd $(build_host_dir) && $(MAKE)
+	@cd $(build_target_dir) && \
+	  $(BUILD_ENVIRONMENT) $(CURDIR)/$(SRC_DIR)/source/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ICU4C_32_PKG)
+	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ICU4C_32_PKG)/usr/bin/32
+	@( cd $(ICU4C_32_PKG)/usr/bin ; \
+	   find . -type f | xargs mv -t 32 ; \
+	 )
+	@mkdir -p $(ICU4C_32_PKG)/usr/sbin/32
+	@( cd $(ICU4C_32_PKG)/usr/sbin ; \
+	   find . -type f | xargs mv -t 32 ; \
+	 )
+	@rm -rf $(ICU4C_32_PKG)/usr/include
+	@rm -rf $(ICU4C_32_PKG)/usr/share
+ifeq ($(__ENABLE_STATIC__),yes)
+	# ======= change permissions of *.a files =======
+	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   chmod 0644 *.a ; \
+	 )
+endif
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ICU4C_32_PKG))
+	# ======= tune icu-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,' icu-config ; \
+	   sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,' icu-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" icu-i18n.pc icu-io.pc icu-uc.pc \
+	 )
+	# ======= tune Makefile.inc to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
+	   sed -i 's,prefix = /usr,prefix = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
+	   sed -i 's,libdir = /usr,libdir = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
+	 )
+	# ======= tune icu-config for target system =======
+	@( cd $(ICU4C_32_PKG)/usr/bin/32 ; \
+	   sed -i 's,^AR=.*,AR="ar",'             icu-config ; \
+	   sed -i 's,^CC=.*,CC="gcc -m32",'       icu-config ; \
+	   sed -i 's,^CPP=.*,CPP="gcc -E",'       icu-config ; \
+	   sed -i 's,^CXX=.*,CXX="g++ -m32",'     icu-config ; \
+	   sed -i 's,^RANLIB=.*,RANLIB="ranlib",' icu-config ; \
+	 )
+	# ======= tune Makefile.inc for target system =======
+	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
+	   sed -i 's,^AR =.*,AR = ar,'             Makefile.inc ; \
+	   sed -i 's,^CC =.*,CC = gcc -m32,'       Makefile.inc ; \
+	   sed -i 's,^CPP =.*,CPP = gcc -E,'       Makefile.inc ; \
+	   sed -i 's,^CXX =.*,CXX = g++ -m32,'     Makefile.inc ; \
+	   sed -i 's,^RANLIB =.*,RANLIB = ranlib,' Makefile.inc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ICU4C_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ICU4C_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(ICU4C_32_PKG_DESCRIPTION_FILE): $(ICU4C_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG_INSTALL_SCRIPT)
+	@cp $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG)/.DESCRIPTION
+	@cp $(ICU4C_32_PKG_INSTALL_SCRIPT) $(ICU4C_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ICU4C_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ICU4C_32_PKG_NAME)"                            >  $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ICU4C_32_PKG_VERSION)"                          >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ICU4C_32_PKG_ARCH)"                               >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ICU4C_32_PKG_DISTRO_NAME)"                  >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ICU4C_32_PKG_DISTRO_VERSION)"                >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ICU4C_32_PKG_GROUP)"                             >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ICU4C_32_PKG_SHORT_DESCRIPTION)\"" >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ICU4C_32_PKG_URL)"                                 >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ICU4C_32_PKG_LICENSE)"                         >> $(ICU4C_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ICU4C_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/icu4c/73.1-ppc32/PATCHES
===================================================================
--- libs/icu4c/73.1-ppc32/PATCHES	(nonexistent)
+++ libs/icu4c/73.1-ppc32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/icu4c/patches/icu4c-73.1.patch -p0
Index: libs/icu4c/73.1-ppc32/icu4c-x32-pkg-description.in
===================================================================
--- libs/icu4c/73.1-ppc32/icu4c-x32-pkg-description.in	(nonexistent)
+++ libs/icu4c/73.1-ppc32/icu4c-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+icu4c-x32: icu4c-x32 @VERSION@ (International Components for Unicode)
+icu4c-x32:
+icu4c-x32: The International Components for Unicode (ICU) libraries provide
+icu4c-x32: robust and full-featured Unicode services on a wide variety of
+icu4c-x32: platforms.
+icu4c-x32:
+icu4c-x32: Homepage: http://www.icu-project.org
+icu4c-x32:
+icu4c-x32:
+icu4c-x32:
+icu4c-x32:
Index: libs/icu4c/73.1-ppc32/icu4c-x32-pkg-install.sh
===================================================================
--- libs/icu4c/73.1-ppc32/icu4c-x32-pkg-install.sh	(nonexistent)
+++ libs/icu4c/73.1-ppc32/icu4c-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/icu4c/73.1-ppc32/icu4c-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/icu4c/73.1-ppc32
===================================================================
--- libs/icu4c/73.1-ppc32	(nonexistent)
+++ libs/icu4c/73.1-ppc32	(revision 29)

Property changes on: libs/icu4c/73.1-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/icu4c/73.1-x86_32/Makefile
===================================================================
--- libs/icu4c/73.1-x86_32/Makefile	(nonexistent)
+++ libs/icu4c/73.1-x86_32/Makefile	(revision 29)
@@ -0,0 +1,208 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/l/icu4c
+
+REQUIRES           = libs/icu4c/73.1
+REQUIRES          += libs/glibc/2.36-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 73.1
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/icu4c/icu4c-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/icu4c-$(version)
+src_dir_name       = icu4c-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_host_dir     = $(TARGET_BUILD_DIR)/build_host
+build_target_dir   = $(TARGET_BUILD_DIR)/build_target
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = libs
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+ICU4C_32_PKG_NAME                = icu4c-x32
+ICU4C_32_PKG_VERSION             = 73.1
+ICU4C_32_PKG_ARCH                = $(PKGARCH)
+ICU4C_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+ICU4C_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+ICU4C_32_PKG_GROUP               = $(PKG_GROUP)
+###                               |---handy-ruler-------------------------------|
+ICU4C_32_PKG_SHORT_DESCRIPTION   = International Components for Unicode
+ICU4C_32_PKG_URL                 = $(BUG_URL)
+ICU4C_32_PKG_LICENSE             = ICU
+ICU4C_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-pkg-description
+ICU4C_32_PKG_DESCRIPTION_FILE_IN = $(ICU4C_32_PKG_NAME)-pkg-description.in
+ICU4C_32_PKG_INSTALL_SCRIPT      = $(ICU4C_32_PKG_NAME)-pkg-install.sh
+
+ICU4C_32_PKG     = $(CURDIR)/$(TARGET_BUILD_DIR)/$(ICU4C_32_PKG_NAME)-package
+
+pkg_basename     = $(ICU4C_32_PKG_NAME)-$(ICU4C_32_PKG_VERSION)-$(ICU4C_32_PKG_ARCH)-$(ICU4C_32_PKG_DISTRO_NAME)-$(ICU4C_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(ICU4C_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --disable-samples
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += --with-cross-build=$(CURDIR)/$(build_host_dir)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/source
+	@( cd $(SRC_DIR)/source/config ; \
+	   sed -i "s,^LDFLAGSICUDT,#LDFLAGSICUDT," mh-linux ; \
+	 )
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_host_dir)
+	@mkdir -p $(build_target_dir)
+	@cd $(build_host_dir) && $(CURDIR)/$(SRC_DIR)/source/runConfigureICU Linux/gcc
+	@cd $(build_host_dir) && $(MAKE)
+	@cd $(build_target_dir) && \
+	  $(BUILD_ENVIRONMENT) $(CURDIR)/$(SRC_DIR)/source/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(ICU4C_32_PKG)
+	@cd $(build_target_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@mkdir -p $(ICU4C_32_PKG)/usr/bin/32
+	@( cd $(ICU4C_32_PKG)/usr/bin ; \
+	   find . -type f | xargs mv -t 32 ; \
+	 )
+	@mkdir -p $(ICU4C_32_PKG)/usr/sbin/32
+	@( cd $(ICU4C_32_PKG)/usr/sbin ; \
+	   find . -type f | xargs mv -t 32 ; \
+	 )
+	@rm -rf $(ICU4C_32_PKG)/usr/include
+	@rm -rf $(ICU4C_32_PKG)/usr/share
+ifeq ($(__ENABLE_STATIC__),yes)
+	# ======= change permissions of *.a files =======
+	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   chmod 0644 *.a ; \
+	 )
+endif
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(ICU4C_32_PKG))
+	# ======= tune icu-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,' icu-config ; \
+	   sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,' icu-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" icu-i18n.pc icu-io.pc icu-uc.pc \
+	 )
+	# ======= tune Makefile.inc to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
+	   sed -i 's,prefix = /usr,prefix = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
+	   sed -i 's,libdir = /usr,libdir = $(TARGET_DEST_DIR)/usr,' Makefile.inc ; \
+	 )
+	# ======= tune icu-config for target system =======
+	@( cd $(ICU4C_32_PKG)/usr/bin/32 ; \
+	   sed -i 's,^AR=.*,AR="ar",'             icu-config ; \
+	   sed -i 's,^CC=.*,CC="gcc -m32",'       icu-config ; \
+	   sed -i 's,^CPP=.*,CPP="gcc -E",'       icu-config ; \
+	   sed -i 's,^CXX=.*,CXX="g++ -m32",'     icu-config ; \
+	   sed -i 's,^RANLIB=.*,RANLIB="ranlib",' icu-config ; \
+	 )
+	# ======= tune Makefile.inc for target system =======
+	@( cd $(ICU4C_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/icu/$(ICU4C_32_PKG_VERSION) ; \
+	   sed -i 's,^AR =.*,AR = ar,'             Makefile.inc ; \
+	   sed -i 's,^CC =.*,CC = gcc -m32,'       Makefile.inc ; \
+	   sed -i 's,^CPP =.*,CPP = gcc -E,'       Makefile.inc ; \
+	   sed -i 's,^CXX =.*,CXX = g++ -m32,'     Makefile.inc ; \
+	   sed -i 's,^RANLIB =.*,RANLIB = ranlib,' Makefile.inc ; \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(ICU4C_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+ifeq ($(__ENABLE_STATIC__),yes)
+	@( cd $(ICU4C_32_PKG) ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+endif
+	@touch $@
+
+$(ICU4C_32_PKG_DESCRIPTION_FILE): $(ICU4C_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG_INSTALL_SCRIPT)
+	@cp $(ICU4C_32_PKG_DESCRIPTION_FILE) $(ICU4C_32_PKG)/.DESCRIPTION
+	@cp $(ICU4C_32_PKG_INSTALL_SCRIPT) $(ICU4C_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(ICU4C_32_PKG)/.REQUIRES
+	@echo "pkgname=$(ICU4C_32_PKG_NAME)"                            >  $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(ICU4C_32_PKG_VERSION)"                          >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(ICU4C_32_PKG_ARCH)"                               >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(ICU4C_32_PKG_DISTRO_NAME)"                  >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(ICU4C_32_PKG_DISTRO_VERSION)"                >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "group=$(ICU4C_32_PKG_GROUP)"                             >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(ICU4C_32_PKG_SHORT_DESCRIPTION)\"" >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "url=$(ICU4C_32_PKG_URL)"                                 >> $(ICU4C_32_PKG)/.PKGINFO ; \
+	 echo "license=$(ICU4C_32_PKG_LICENSE)"                         >> $(ICU4C_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(ICU4C_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: libs/icu4c/73.1-x86_32/PATCHES
===================================================================
--- libs/icu4c/73.1-x86_32/PATCHES	(nonexistent)
+++ libs/icu4c/73.1-x86_32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/l/icu4c/patches/icu4c-73.1.patch -p0
Index: libs/icu4c/73.1-x86_32/icu4c-x32-pkg-description.in
===================================================================
--- libs/icu4c/73.1-x86_32/icu4c-x32-pkg-description.in	(nonexistent)
+++ libs/icu4c/73.1-x86_32/icu4c-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+icu4c-x32: icu4c-x32 @VERSION@ (International Components for Unicode)
+icu4c-x32:
+icu4c-x32: The International Components for Unicode (ICU) libraries provide
+icu4c-x32: robust and full-featured Unicode services on a wide variety of
+icu4c-x32: platforms.
+icu4c-x32:
+icu4c-x32: Homepage: http://www.icu-project.org
+icu4c-x32:
+icu4c-x32:
+icu4c-x32:
+icu4c-x32:
Index: libs/icu4c/73.1-x86_32/icu4c-x32-pkg-install.sh
===================================================================
--- libs/icu4c/73.1-x86_32/icu4c-x32-pkg-install.sh	(nonexistent)
+++ libs/icu4c/73.1-x86_32/icu4c-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: libs/icu4c/73.1-x86_32/icu4c-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: libs/icu4c/73.1-x86_32
===================================================================
--- libs/icu4c/73.1-x86_32	(nonexistent)
+++ libs/icu4c/73.1-x86_32	(revision 29)

Property changes on: libs/icu4c/73.1-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: libs/libarchive/3.5.2/Makefile
===================================================================
--- libs/libarchive/3.5.2/Makefile	(revision 28)
+++ libs/libarchive/3.5.2/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/l/libarchive
 
-REQUIRES           = app/acl/2.2.53
+REQUIRES           = app/acl/2.3.1
 REQUIRES          += app/bzip2/1.0.8
 REQUIRES          += app/xz/5.2.7
 REQUIRES          += libs/lz4/1.9.4
Index: libs/libarchive/3.5.2-ppc32/Makefile
===================================================================
--- libs/libarchive/3.5.2-ppc32/Makefile	(revision 28)
+++ libs/libarchive/3.5.2-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libarchive
 
 REQUIRES           = libs/libarchive/3.5.2
-REQUIRES          += app/acl/2.2.53-ppc32
+REQUIRES          += app/acl/2.3.1-ppc32
 REQUIRES          += app/bzip2/1.0.8-ppc32
 REQUIRES          += app/xz/5.2.7-ppc32
 REQUIRES          += libs/lz4/1.9.4-ppc32
Index: libs/libarchive/3.5.2-x86_32/Makefile
===================================================================
--- libs/libarchive/3.5.2-x86_32/Makefile	(revision 28)
+++ libs/libarchive/3.5.2-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libarchive
 
 REQUIRES           = libs/libarchive/3.5.2
-REQUIRES          += app/acl/2.2.53-x86_32
+REQUIRES          += app/acl/2.3.1-x86_32
 REQUIRES          += app/bzip2/1.0.8-x86_32
 REQUIRES          += app/xz/5.2.7-x86_32
 REQUIRES          += libs/lz4/1.9.4-x86_32
Index: libs/libcap-ng/0.8.2/Makefile
===================================================================
--- libs/libcap-ng/0.8.2/Makefile	(revision 28)
+++ libs/libcap-ng/0.8.2/Makefile	(revision 29)
@@ -126,6 +126,7 @@
 extra_configure_switches += --sysconfdir=/etc
 extra_configure_switches += --with-python
 extra_configure_switches += --with-python3
+
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
 else
@@ -159,6 +160,7 @@
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
 	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
 	   find . -exec touch -t 201903190437.43 {} \; \
 	 )
 	@touch $@
Index: libs/libcap-ng/0.8.2-ppc32/Makefile
===================================================================
--- libs/libcap-ng/0.8.2-ppc32/Makefile	(revision 28)
+++ libs/libcap-ng/0.8.2-ppc32/Makefile	(revision 29)
@@ -90,6 +90,7 @@
 
 extra_configure_switches += --with-python=yes
 extra_configure_switches += --with-python3=yes
+
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
 else
@@ -123,6 +124,7 @@
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
 	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
 	   find . -exec touch -t 201903190437.43 {} \; \
 	 )
 	@touch $@
Index: libs/libcap-ng/0.8.2-x86_32/Makefile
===================================================================
--- libs/libcap-ng/0.8.2-x86_32/Makefile	(revision 28)
+++ libs/libcap-ng/0.8.2-x86_32/Makefile	(revision 29)
@@ -87,6 +87,7 @@
 
 extra_configure_switches += --with-python=yes
 extra_configure_switches += --with-python3=yes
+
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
 else
@@ -120,6 +121,7 @@
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
 	@( cd $(SRC_DIR) ; \
+	   autoreconf -vif ; \
 	   find . -exec touch -t 201903190437.43 {} \; \
 	 )
 	@touch $@
Index: libs/libical/3.0.9/Makefile
===================================================================
--- libs/libical/3.0.9/Makefile	(revision 28)
+++ libs/libical/3.0.9/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/l/libical
 
-REQUIRES           = libs/icu4c/68.2
+REQUIRES           = libs/icu4c/73.1
 REQUIRES          += libs/glib2/2.76.0
 REQUIRES          += libs/libxml2/2.9.9
 REQUIRES          += app/db/18.1.40
Index: libs/libical/3.0.9-ppc32/Makefile
===================================================================
--- libs/libical/3.0.9-ppc32/Makefile	(revision 28)
+++ libs/libical/3.0.9-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libical
 
 REQUIRES           = libs/libical/3.0.9
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += libs/glib2/2.76.0-ppc32
 REQUIRES          += libs/libxml2/2.9.9-ppc32
 REQUIRES          += app/db/18.1.40-ppc32
Index: libs/libical/3.0.9-x86_32/Makefile
===================================================================
--- libs/libical/3.0.9-x86_32/Makefile	(revision 28)
+++ libs/libical/3.0.9-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libical
 
 REQUIRES           = libs/libical/3.0.9
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += libs/glib2/2.76.0-x86_32
 REQUIRES          += libs/libxml2/2.9.9-x86_32
 REQUIRES          += app/db/18.1.40-x86_32
Index: libs/libpsl/0.21.1/Makefile
===================================================================
--- libs/libpsl/0.21.1/Makefile	(revision 28)
+++ libs/libpsl/0.21.1/Makefile	(revision 29)
@@ -55,7 +55,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libpsl
 
 REQUIRES           = libs/libidn2/2.3.0
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += dev/python3/3.10.8
 
 # ======= __END_OF_REQUIRES__ =======
Index: libs/libpsl/0.21.1-ppc32/Makefile
===================================================================
--- libs/libpsl/0.21.1-ppc32/Makefile	(revision 28)
+++ libs/libpsl/0.21.1-ppc32/Makefile	(revision 29)
@@ -17,7 +17,7 @@
 
 REQUIRES           = libs/libpsl/0.21.1
 REQUIRES          += libs/libidn2/2.3.0-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/libpsl/0.21.1-x86_32/Makefile
===================================================================
--- libs/libpsl/0.21.1-x86_32/Makefile	(revision 28)
+++ libs/libpsl/0.21.1-x86_32/Makefile	(revision 29)
@@ -14,7 +14,7 @@
 
 REQUIRES           = libs/libpsl/0.21.1
 REQUIRES          += libs/libidn2/2.3.0-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/libxml2/2.9.9/Makefile
===================================================================
--- libs/libxml2/2.9.9/Makefile	(revision 28)
+++ libs/libxml2/2.9.9/Makefile	(revision 29)
@@ -56,7 +56,7 @@
 
 REQUIRES           = libs/zlib/1.2.13
 REQUIRES          += app/xz/5.2.7
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += libs/readline/8.2
 REQUIRES          += dev/python2/2.7.18
 REQUIRES          += dev/python3/3.10.8
@@ -64,8 +64,8 @@
 # ======= __END_OF_REQUIRES__ =======
 
 version            = 2.9.9
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxml2/libxml2-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxml2/libxml2-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/libxml2-$(version)
 src_dir_name       = libxml2-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
Index: libs/libxml2/2.9.9-ppc32/Makefile
===================================================================
--- libs/libxml2/2.9.9-ppc32/Makefile	(revision 28)
+++ libs/libxml2/2.9.9-ppc32/Makefile	(revision 29)
@@ -18,7 +18,7 @@
 REQUIRES           = libs/libxml2/2.9.9
 REQUIRES          += libs/zlib/1.2.13-ppc32
 REQUIRES          += app/xz/5.2.7-ppc32
-REQUIRES          += libs/icu4c/68.2-ppc32
+REQUIRES          += libs/icu4c/73.1-ppc32
 REQUIRES          += libs/readline/8.2-ppc32
 REQUIRES          += dev/python2/2.7.18-ppc32
 REQUIRES          += dev/python3/3.10.8-ppc32
@@ -26,8 +26,8 @@
 # ======= __END_OF_REQUIRES__ =======
 
 version            = 2.9.9
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxml2/libxml2-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxml2/libxml2-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/libxml2-$(version)
 src_dir_name       = libxml2-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
Index: libs/libxml2/2.9.9-x86_32/Makefile
===================================================================
--- libs/libxml2/2.9.9-x86_32/Makefile	(revision 28)
+++ libs/libxml2/2.9.9-x86_32/Makefile	(revision 29)
@@ -15,7 +15,7 @@
 REQUIRES           = libs/libxml2/2.9.9
 REQUIRES          += libs/zlib/1.2.13-x86_32
 REQUIRES          += app/xz/5.2.7-x86_32
-REQUIRES          += libs/icu4c/68.2-x86_32
+REQUIRES          += libs/icu4c/73.1-x86_32
 REQUIRES          += libs/readline/8.2-x86_32
 REQUIRES          += dev/python2/2.7.18-x86_32
 REQUIRES          += dev/python3/3.10.8-x86_32
@@ -23,8 +23,8 @@
 # ======= __END_OF_REQUIRES__ =======
 
 version            = 2.9.9
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxml2/libxml2-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxml2/libxml2-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/libxml2-$(version)
 src_dir_name       = libxml2-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
Index: libs/libxslt/1.1.34/Makefile
===================================================================
--- libs/libxslt/1.1.34/Makefile	(revision 28)
+++ libs/libxslt/1.1.34/Makefile	(revision 29)
@@ -61,8 +61,8 @@
 
 
 version            = 1.1.34
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxslt/libxslt-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxslt/libxslt-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/libxslt-$(version)
 src_dir_name       = libxslt-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
Index: libs/libxslt/1.1.34-ppc32/Makefile
===================================================================
--- libs/libxslt/1.1.34-ppc32/Makefile	(revision 28)
+++ libs/libxslt/1.1.34-ppc32/Makefile	(revision 29)
@@ -23,8 +23,8 @@
 
 
 version            = 1.1.34
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxslt/libxslt-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxslt/libxslt-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/libxslt-$(version)
 src_dir_name       = libxslt-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
Index: libs/libxslt/1.1.34-x86_32/Makefile
===================================================================
--- libs/libxslt/1.1.34-x86_32/Makefile	(revision 28)
+++ libs/libxslt/1.1.34-x86_32/Makefile	(revision 29)
@@ -20,8 +20,8 @@
 
 
 version            = 1.1.34
-tar_gz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxslt/libxslt-$(version).tar.gz
-SRC_ARCHIVE        = $(tar_gz_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/l/libxslt/libxslt-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/libxslt-$(version)
 src_dir_name       = libxslt-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source_done
Index: libs/ncurses/6.3/Makefile
===================================================================
--- libs/ncurses/6.3/Makefile	(revision 28)
+++ libs/ncurses/6.3/Makefile	(revision 29)
@@ -61,8 +61,8 @@
 
 version              = 6.3
 date                 = 20221029
-tar_gz_archive       = $(SRC_PACKAGE_PATH)/GNU/ncurses/$(version)/ncurses-$(version)-$(date).tgz
-SRC_ARCHIVE          = $(tar_gz_archive)
+tar_xz_archive       = $(SRC_PACKAGE_PATH)/GNU/ncurses/$(version)/ncurses-$(version)-$(date).tar.xz
+SRC_ARCHIVE          = $(tar_xz_archive)
 SRC_DIR              = $(TARGET_BUILD_DIR)/ncurses-$(version)-$(date)
 src_dir_name         = ncurses-$(version)-$(date)
 doc_dir_name         = ncurses-$(version)
Index: libs/ncurses/6.3-ppc32/Makefile
===================================================================
--- libs/ncurses/6.3-ppc32/Makefile	(revision 28)
+++ libs/ncurses/6.3-ppc32/Makefile	(revision 29)
@@ -23,8 +23,8 @@
 
 version              = 6.3
 date                 = 20221029
-tar_gz_archive       = $(SRC_PACKAGE_PATH)/GNU/ncurses/$(version)/ncurses-$(version)-$(date).tgz
-SRC_ARCHIVE          = $(tar_gz_archive)
+tar_xz_archive       = $(SRC_PACKAGE_PATH)/GNU/ncurses/$(version)/ncurses-$(version)-$(date).tar.xz
+SRC_ARCHIVE          = $(tar_xz_archive)
 SRC_DIR              = $(TARGET_BUILD_DIR)/ncurses-$(version)-$(date)
 src_dir_name         = ncurses-$(version)-$(date)
 src_done             = $(TARGET_BUILD_DIR)/.source_done
Index: libs/ncurses/6.3-x86_32/Makefile
===================================================================
--- libs/ncurses/6.3-x86_32/Makefile	(revision 28)
+++ libs/ncurses/6.3-x86_32/Makefile	(revision 29)
@@ -20,8 +20,8 @@
 
 version              = 6.3
 date                 = 20221029
-tar_gz_archive       = $(SRC_PACKAGE_PATH)/GNU/ncurses/$(version)/ncurses-$(version)-$(date).tgz
-SRC_ARCHIVE          = $(tar_gz_archive)
+tar_xz_archive       = $(SRC_PACKAGE_PATH)/GNU/ncurses/$(version)/ncurses-$(version)-$(date).tar.xz
+SRC_ARCHIVE          = $(tar_xz_archive)
 SRC_DIR              = $(TARGET_BUILD_DIR)/ncurses-$(version)-$(date)
 src_dir_name         = ncurses-$(version)-$(date)
 src_done             = $(TARGET_BUILD_DIR)/.source_done
Index: libs/serf/1.3.9/Makefile
===================================================================
--- libs/serf/1.3.9/Makefile	(revision 28)
+++ libs/serf/1.3.9/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/l/serf
 
-REQUIRES           = libs/apr-util/1.6.1
+REQUIRES           = libs/apr-util/1.6.3
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/serf/1.3.9-ppc32/Makefile
===================================================================
--- libs/serf/1.3.9-ppc32/Makefile	(revision 28)
+++ libs/serf/1.3.9-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/l/serf
 
 REQUIRES           = libs/serf/1.3.9
-REQUIRES          += libs/apr-util/1.6.1-ppc32
+REQUIRES          += libs/apr-util/1.6.3-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: libs/serf/1.3.9-x86_32/Makefile
===================================================================
--- libs/serf/1.3.9-x86_32/Makefile	(revision 28)
+++ libs/serf/1.3.9-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/l/serf
 
 REQUIRES           = libs/serf/1.3.9
-REQUIRES          += libs/apr-util/1.6.1-x86_32
+REQUIRES          += libs/apr-util/1.6.3-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: media/madplay/0.15.2b/Makefile
===================================================================
--- media/madplay/0.15.2b/Makefile	(revision 28)
+++ media/madplay/0.15.2b/Makefile	(revision 29)
@@ -52,7 +52,7 @@
 include ../../../build-system/constants.mk
 
 
-SOURCE_REQUIRES    = sources/packages/m/mad/libmad
+SOURCE_REQUIRES    = sources/packages/m/mad/madplay
 
 REQUIRES           = media/esound/0.2.41
 REQUIRES          += media/libid3tag/0.15.1b
Index: net/NetworkManager/1.31.3/Makefile
===================================================================
--- net/NetworkManager/1.31.3/Makefile	(revision 28)
+++ net/NetworkManager/1.31.3/Makefile	(revision 29)
@@ -64,7 +64,7 @@
 REQUIRES          += net/libndp/1.7
 REQUIRES          += net/bluez/5.62
 REQUIRES          += net/ppp/2.4.9
-REQUIRES          += net/nss/3.64
+REQUIRES          += net/nss/3.89
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -176,7 +176,9 @@
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
+TARGET_PLUGINS_RPATH = /usr/lib$(LIBSUFFIX)/NetworkManager/$(version)
 
+
 ####### Dependencies
 
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
@@ -333,6 +335,12 @@
 	     fi ; \
 	   done ; \
 	 )
+	# ======= Set RPATH/RUNPATH for target plugins =======
+	@( cd $(LIBNM_PKG)/usr/lib$(LIBSUFFIX)/NetworkManager/$(version) ; \
+	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+	     $(PATCHELF) --set-rpath $(TARGET_PLUGINS_RPATH):$(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+	   done ; \
+	 )
 endif
 	@touch $@
 
Index: net/NetworkManager/1.31.3/PATCHES
===================================================================
--- net/NetworkManager/1.31.3/PATCHES	(revision 28)
+++ net/NetworkManager/1.31.3/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/GNOME/core/NetworkManager/patches/NetworkManager-1.31.3-dhcpcd-graceful-exit.patch -p0
Index: net/cyrus-imapd/3.4.4/Makefile
===================================================================
--- net/cyrus-imapd/3.4.4/Makefile	(revision 28)
+++ net/cyrus-imapd/3.4.4/Makefile	(revision 29)
@@ -61,7 +61,7 @@
 REQUIRES          += dev/perl/5.36.0
 REQUIRES          += libs/jansson/2.13.1
 REQUIRES          += libs/libxml2/2.9.9
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += libs/zstd/1.5.2
 REQUIRES          += libs/zlib/1.2.13
 REQUIRES          += libs/pcre/8.44
Index: net/net-tools/1.60/Makefile
===================================================================
--- net/net-tools/1.60/Makefile	(revision 28)
+++ net/net-tools/1.60/Makefile	(revision 29)
@@ -64,8 +64,8 @@
 
 
 version            = 1.60-20210110
-tar_bz2_archive    = $(SRC_PACKAGE_PATH)/packages/n/net-tools/net-tools-$(version).tar.bz2
-SRC_ARCHIVE        = $(tar_bz2_archive)
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/net-tools/net-tools-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
 SRC_DIR            = $(TARGET_BUILD_DIR)/net-tools-$(version)
 src_dir_name       = net-tools-$(version)
 src_done           = $(TARGET_BUILD_DIR)/.source-done
Index: net/nspr/4.30-ppc32/nspr-x32-pkg-description.in
===================================================================
--- net/nspr/4.30-ppc32/nspr-x32-pkg-description.in	(revision 28)
+++ net/nspr/4.30-ppc32/nspr-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-nspr-x32: nspr-x32 @VERSION@ (Netscape Portable Runtime)
-nspr-x32:
-nspr-x32: Netscape Portable Runtime (NSPR) provides a platform-neutral API for
-nspr-x32: system level and libc-like functions. The API is used in the Mozilla
-nspr-x32: clients, many of Red Hat's and Sun's server applications, and other
-nspr-x32: software offerings.
-nspr-x32:
-nspr-x32:
-nspr-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
-nspr-x32:
-nspr-x32:
Index: net/nspr/4.30-ppc32/nspr-x32-pkg-install.sh
===================================================================
--- net/nspr/4.30-ppc32/nspr-x32-pkg-install.sh	(revision 28)
+++ net/nspr/4.30-ppc32/nspr-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: net/nspr/4.30-ppc32/nspr-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/nspr/4.30-ppc32/PATCHES
===================================================================
--- net/nspr/4.30-ppc32/PATCHES	(revision 28)
+++ net/nspr/4.30-ppc32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/n/mozilla-nspr/patches/nspr-4.30-linux.patch -p0
Index: net/nspr/4.30-ppc32/Makefile
===================================================================
--- net/nspr/4.30-ppc32/Makefile	(revision 28)
+++ net/nspr/4.30-ppc32/Makefile	(nonexistent)
@@ -1,179 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/n/mozilla-nspr
-
-REQUIRES           = net/nspr/4.30
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 4.30
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nspr/nspr-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/nspr-$(version)
-src_dir_name       = nspr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-NSPR_32_PKG_NAME                = nspr-x32
-NSPR_32_PKG_VERSION             = 4.30
-NSPR_32_PKG_ARCH                = $(PKGARCH)
-NSPR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-NSPR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-NSPR_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-NSPR_32_PKG_SHORT_DESCRIPTION   = Netscape Portable Runtime
-NSPR_32_PKG_URL                 = $(BUG_URL)
-NSPR_32_PKG_LICENSE             = MPLv2
-NSPR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-pkg-description
-NSPR_32_PKG_DESCRIPTION_FILE_IN = $(NSPR_32_PKG_NAME)-pkg-description.in
-NSPR_32_PKG_INSTALL_SCRIPT      = $(NSPR_32_PKG_NAME)-pkg-install.sh
-
-NSPR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-package
-
-pkg_basename     = $(NSPR_32_PKG_NAME)-$(NSPR_32_PKG_VERSION)-$(NSPR_32_PKG_ARCH)-$(NSPR_32_PKG_DISTRO_NAME)-$(NSPR_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(NSPR_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --localstatedir=/var
-extra_configure_switches += --enable-strip=no
-
-extra_configure_switches += --enable-ipv6
-extra_configure_switches += --with-mozilla
-extra_configure_switches += --with-pthreads
-
-nspr_environment  = HOST_CC=gcc
-nspr_environment += HOST_CFLAGS="-I. -I/usr/include -g -O2"
-nspr_environment += HOST_LDFLAGS=
-
-CFLAGS += -Wno-unused-but-set-variable
-
-LDFLAGS += -Wl,-rpath=/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_dir)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) ../$(src_dir_name)/configure \
-	  --prefix=/usr               \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(NSPR_32_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@rm -rf $(NSPR_32_PKG)/usr/include
-	@rm -rf $(NSPR_32_PKG)/usr/share
-	# ======= remove executable attribute of static libraries =======
-	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   chmod a-x *.a ; \
-	 )
-	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   ln -sf nspr.pc mozilla-nspr.pc ; \
-	 )
-	# ======= tune nspr-config for target system =======
-	@( cd $(NSPR_32_PKG)/usr/bin/32 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" nspr-config ; \
-	   rm -f compile-et.pl prerr.properties ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(NSPR_32_PKG))
-	# ======= tune nspr-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"     nspr-config ; \
-	   sed -i "s,-L/lib,-L$(TARGET_DEST_DIR)/lib,g" nspr-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nspr.pc \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(NSPR_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(NSPR_32_PKG_DESCRIPTION_FILE): $(NSPR_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG_INSTALL_SCRIPT)
-	@cp $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG)/.DESCRIPTION
-	@cp $(NSPR_32_PKG_INSTALL_SCRIPT) $(NSPR_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(NSPR_32_PKG)/.REQUIRES
-	@echo "pkgname=$(NSPR_32_PKG_NAME)"                            >  $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(NSPR_32_PKG_VERSION)"                          >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(NSPR_32_PKG_ARCH)"                               >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(NSPR_32_PKG_DISTRO_NAME)"                  >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(NSPR_32_PKG_DISTRO_VERSION)"                >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "group=$(NSPR_32_PKG_GROUP)"                             >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(NSPR_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "url=$(NSPR_32_PKG_URL)"                                 >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "license=$(NSPR_32_PKG_LICENSE)"                         >> $(NSPR_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(NSPR_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nspr/4.30-ppc32
===================================================================
--- net/nspr/4.30-ppc32	(revision 28)
+++ net/nspr/4.30-ppc32	(nonexistent)

Property changes on: net/nspr/4.30-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nspr/4.30-x86_32/nspr-x32-pkg-description.in
===================================================================
--- net/nspr/4.30-x86_32/nspr-x32-pkg-description.in	(revision 28)
+++ net/nspr/4.30-x86_32/nspr-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-nspr-x32: nspr-x32 @VERSION@ (Netscape Portable Runtime)
-nspr-x32:
-nspr-x32: Netscape Portable Runtime (NSPR) provides a platform-neutral API for
-nspr-x32: system level and libc-like functions. The API is used in the Mozilla
-nspr-x32: clients, many of Red Hat's and Sun's server applications, and other
-nspr-x32: software offerings.
-nspr-x32:
-nspr-x32:
-nspr-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
-nspr-x32:
-nspr-x32:
Index: net/nspr/4.30-x86_32/nspr-x32-pkg-install.sh
===================================================================
--- net/nspr/4.30-x86_32/nspr-x32-pkg-install.sh	(revision 28)
+++ net/nspr/4.30-x86_32/nspr-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: net/nspr/4.30-x86_32/nspr-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/nspr/4.30-x86_32/PATCHES
===================================================================
--- net/nspr/4.30-x86_32/PATCHES	(revision 28)
+++ net/nspr/4.30-x86_32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/n/mozilla-nspr/patches/nspr-4.30-linux.patch -p0
Index: net/nspr/4.30-x86_32/Makefile
===================================================================
--- net/nspr/4.30-x86_32/Makefile	(revision 28)
+++ net/nspr/4.30-x86_32/Makefile	(nonexistent)
@@ -1,176 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/n/mozilla-nspr
-
-REQUIRES           = net/nspr/4.30
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 4.30
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nspr/nspr-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/nspr-$(version)
-src_dir_name       = nspr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-NSPR_32_PKG_NAME                = nspr-x32
-NSPR_32_PKG_VERSION             = 4.30
-NSPR_32_PKG_ARCH                = $(PKGARCH)
-NSPR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-NSPR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-NSPR_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-NSPR_32_PKG_SHORT_DESCRIPTION   = Netscape Portable Runtime
-NSPR_32_PKG_URL                 = $(BUG_URL)
-NSPR_32_PKG_LICENSE             = MPLv2
-NSPR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-pkg-description
-NSPR_32_PKG_DESCRIPTION_FILE_IN = $(NSPR_32_PKG_NAME)-pkg-description.in
-NSPR_32_PKG_INSTALL_SCRIPT      = $(NSPR_32_PKG_NAME)-pkg-install.sh
-
-NSPR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-package
-
-pkg_basename     = $(NSPR_32_PKG_NAME)-$(NSPR_32_PKG_VERSION)-$(NSPR_32_PKG_ARCH)-$(NSPR_32_PKG_DISTRO_NAME)-$(NSPR_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(NSPR_32_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --localstatedir=/var
-extra_configure_switches += --enable-strip=no
-
-extra_configure_switches += --enable-ipv6
-extra_configure_switches += --with-mozilla
-extra_configure_switches += --with-pthreads
-
-nspr_environment  = HOST_CC=gcc
-nspr_environment += HOST_CFLAGS="-I. -I/usr/include -g -O2"
-nspr_environment += HOST_LDFLAGS=
-
-CFLAGS += -Wno-unused-but-set-variable
-
-LDFLAGS += -Wl,-rpath=/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_dir)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) ../$(src_dir_name)/configure \
-	  --prefix=/usr               \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET32)          \
-	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(NSPR_32_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	@rm -rf $(NSPR_32_PKG)/usr/include
-	@rm -rf $(NSPR_32_PKG)/usr/share
-	# ======= remove executable attribute of static libraries =======
-	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   chmod a-x *.a ; \
-	 )
-	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   ln -sf nspr.pc mozilla-nspr.pc ; \
-	 )
-	# ======= tune nspr-config for target system =======
-	@( cd $(NSPR_32_PKG)/usr/bin/32 ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" nspr-config ; \
-	   rm -f compile-et.pl prerr.properties ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(NSPR_32_PKG))
-	# ======= tune nspr-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"     nspr-config ; \
-	   sed -i "s,-L/lib,-L$(TARGET_DEST_DIR)/lib,g" nspr-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nspr.pc \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(NSPR_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(NSPR_32_PKG_DESCRIPTION_FILE): $(NSPR_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG_INSTALL_SCRIPT)
-	@cp $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG)/.DESCRIPTION
-	@cp $(NSPR_32_PKG_INSTALL_SCRIPT) $(NSPR_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(NSPR_32_PKG)/.REQUIRES
-	@echo "pkgname=$(NSPR_32_PKG_NAME)"                            >  $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(NSPR_32_PKG_VERSION)"                          >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(NSPR_32_PKG_ARCH)"                               >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(NSPR_32_PKG_DISTRO_NAME)"                  >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(NSPR_32_PKG_DISTRO_VERSION)"                >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "group=$(NSPR_32_PKG_GROUP)"                             >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(NSPR_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "url=$(NSPR_32_PKG_URL)"                                 >> $(NSPR_32_PKG)/.PKGINFO ; \
-	 echo "license=$(NSPR_32_PKG_LICENSE)"                         >> $(NSPR_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(NSPR_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nspr/4.30-x86_32
===================================================================
--- net/nspr/4.30-x86_32	(revision 28)
+++ net/nspr/4.30-x86_32	(nonexistent)

Property changes on: net/nspr/4.30-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nspr/4.30/PATCHES
===================================================================
--- net/nspr/4.30/PATCHES	(revision 28)
+++ net/nspr/4.30/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/n/mozilla-nspr/patches/nspr-4.30-linux.patch -p0
Index: net/nspr/4.30/Makefile
===================================================================
--- net/nspr/4.30/Makefile	(revision 28)
+++ net/nspr/4.30/Makefile	(nonexistent)
@@ -1,244 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/n/mozilla-nspr
-
-ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
-REQUIRES           = dev/gcc/12.2.0
-else
-REQUIRES           = libs/glibc/2.36
-endif
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 4.30
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nspr/nspr-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/nspr-$(version)
-src_dir_name       = nspr-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-NSPR_PKG_NAME                = nspr
-NSPR_PKG_VERSION             = 4.30
-NSPR_PKG_ARCH                = $(PKGARCH)
-NSPR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-NSPR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-NSPR_PKG_GROUP               = $(PKG_GROUP)
-###                           |---handy-ruler-------------------------------|
-NSPR_PKG_SHORT_DESCRIPTION   = Netscape Portable Runtime
-NSPR_PKG_URL                 = $(BUG_URL)
-NSPR_PKG_LICENSE             = MPLv2
-NSPR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSPR_PKG_NAME)-pkg-description
-NSPR_PKG_DESCRIPTION_FILE_IN = $(NSPR_PKG_NAME)-pkg-description.in
-NSPR_PKG_INSTALL_SCRIPT      = $(NSPR_PKG_NAME)-pkg-install.sh
-
-NSPR_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSPR_PKG_NAME)-package
-
-pkg_basename     = $(NSPR_PKG_NAME)-$(NSPR_PKG_VERSION)-$(NSPR_PKG_ARCH)-$(NSPR_PKG_DISTRO_NAME)-$(NSPR_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot  = DESTDIR=$(NSPR_PKG)
-
-
-extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --mandir=/usr/share/man
-extra_configure_switches += --sysconfdir=/etc
-extra_configure_switches += --localstatedir=/var
-extra_configure_switches += --enable-strip=no
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)       $(TOOLCHAIN_RK33XX_GLIBC)   \
-                             $(TOOLCHAIN_RK339X_GLIBC)   $(TOOLCHAIN_S9XX_GLIBC)     \
-                             $(TOOLCHAIN_A311X_GLIBC)    $(TOOLCHAIN_M1000_GLIBC)    \
-                             $(TOOLCHAIN_POWER8_GLIBC)   $(TOOLCHAIN_POWER9_GLIBC)   \
-                             $(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC) \
-                             $(TOOLCHAIN_RISCV64_GLIBC)  $(TOOLCHAIN_X86_64_GLIBC)),)
-extra_configure_switches += --enable-64bit=yes
-endif
-
-extra_configure_switches += --enable-ipv6
-extra_configure_switches += --with-mozilla
-extra_configure_switches += --with-pthreads
-
-nspr_environment  = HOST_CC=gcc
-nspr_environment += HOST_CFLAGS="-I. -I/usr/include -g -O2"
-nspr_environment += HOST_LDFLAGS=
-
-CFLAGS += -Wno-unused-but-set-variable
-
-LDFLAGS += -Wl,-rpath=/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(build_dir)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) ../$(src_dir_name)/configure \
-	  --prefix=/usr               \
-	  --build=$(BUILD)            \
-	  --host=$(TARGET)            \
-	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) $(MAKE)
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(NSPR_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
-	# ======= Install Documentation =======
-	@mkdir -p $(NSPR_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/LICENSE \
-	       $(NSPR_PKG)/usr/doc/$(src_dir_name)
-	@mkdir -p $(NSPR_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a LICENSE \
-	         $(NSPR_PKG)/usr/share/doc/$(src_dir_name) ; \
-	 )
-	@( cd $(SRC_DIR) ; \
-	   if [ -r ChangeLog ]; then \
-	     DOCSDIR=`echo $(NSPR_PKG)/usr/share/doc/$(src_dir_name)` ; \
-	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
-	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
-	   fi \
-	 )
-	# ======= remove /usr/include/md we do not need =======
-	@rm -rf $(NSPR_PKG)/usr/include/md
-	# ======= remove executable attribute of static libraries =======
-	@( cd $(NSPR_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   chmod a-x *.a ; \
-	 )
-	@( cd $(NSPR_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   ln -sf nspr.pc mozilla-nspr.pc ; \
-	 )
-	# ======= tune nspr-config for target system =======
-	@( cd $(NSPR_PKG)/usr/bin ; \
-	   sed -i "s,$(TARGET_DEST_DIR),,g" nspr-config ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(NSPR_PKG))
-	# ======= tune nspr-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"     nspr-config ; \
-	   sed -i "s,-L/lib,-L$(TARGET_DEST_DIR)/lib,g" nspr-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nspr.pc \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(NSPR_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(NSPR_PKG_DESCRIPTION_FILE): $(NSPR_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(NSPR_PKG_DESCRIPTION_FILE) $(NSPR_PKG_INSTALL_SCRIPT)
-	@cp $(NSPR_PKG_DESCRIPTION_FILE) $(NSPR_PKG)/.DESCRIPTION
-	@cp $(NSPR_PKG_INSTALL_SCRIPT) $(NSPR_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(NSPR_PKG)/.REQUIRES
-	@echo "pkgname=$(NSPR_PKG_NAME)"                            >  $(NSPR_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(NSPR_PKG_VERSION)"                          >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "arch=$(NSPR_PKG_ARCH)"                               >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "distroname=$(NSPR_PKG_DISTRO_NAME)"                  >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "distrover=$(NSPR_PKG_DISTRO_VERSION)"                >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "group=$(NSPR_PKG_GROUP)"                             >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(NSPR_PKG_SHORT_DESCRIPTION)\"" >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "url=$(NSPR_PKG_URL)"                                 >> $(NSPR_PKG)/.PKGINFO ; \
-	 echo "license=$(NSPR_PKG_LICENSE)"                         >> $(NSPR_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(NSPR_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nspr/4.30/nspr-pkg-description.in
===================================================================
--- net/nspr/4.30/nspr-pkg-description.in	(revision 28)
+++ net/nspr/4.30/nspr-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-    |-----handy-ruler------------------------------------------------------|
-nspr: nspr @VERSION@ (Netscape Portable Runtime)
-nspr:
-nspr: Netscape Portable Runtime (NSPR) provides a platform-neutral API for
-nspr: system level and libc-like functions. The API is used in the Mozilla
-nspr: clients, many of Red Hat's and Sun's server applications, and other
-nspr: software offerings.
-nspr:
-nspr:
-nspr: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
-nspr:
-nspr:
Index: net/nspr/4.30/nspr-pkg-install.sh
===================================================================
--- net/nspr/4.30/nspr-pkg-install.sh	(revision 28)
+++ net/nspr/4.30/nspr-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: net/nspr/4.30/nspr-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/nspr/4.30
===================================================================
--- net/nspr/4.30	(revision 28)
+++ net/nspr/4.30	(nonexistent)

Property changes on: net/nspr/4.30
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nspr/4.35/Makefile
===================================================================
--- net/nspr/4.35/Makefile	(nonexistent)
+++ net/nspr/4.35/Makefile	(revision 29)
@@ -0,0 +1,244 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/mozilla-nspr
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES           = dev/gcc/12.2.0
+else
+REQUIRES           = libs/glibc/2.36
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.35
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nspr/nspr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/nspr-$(version)
+src_dir_name       = nspr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+NSPR_PKG_NAME                = nspr
+NSPR_PKG_VERSION             = 4.35
+NSPR_PKG_ARCH                = $(PKGARCH)
+NSPR_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+NSPR_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+NSPR_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+NSPR_PKG_SHORT_DESCRIPTION   = Netscape Portable Runtime
+NSPR_PKG_URL                 = $(BUG_URL)
+NSPR_PKG_LICENSE             = MPLv2
+NSPR_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSPR_PKG_NAME)-pkg-description
+NSPR_PKG_DESCRIPTION_FILE_IN = $(NSPR_PKG_NAME)-pkg-description.in
+NSPR_PKG_INSTALL_SCRIPT      = $(NSPR_PKG_NAME)-pkg-install.sh
+
+NSPR_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSPR_PKG_NAME)-package
+
+pkg_basename     = $(NSPR_PKG_NAME)-$(NSPR_PKG_VERSION)-$(NSPR_PKG_ARCH)-$(NSPR_PKG_DISTRO_NAME)-$(NSPR_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(NSPR_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-strip=no
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)       $(TOOLCHAIN_RK33XX_GLIBC)   \
+                             $(TOOLCHAIN_RK339X_GLIBC)   $(TOOLCHAIN_S9XX_GLIBC)     \
+                             $(TOOLCHAIN_A311X_GLIBC)    $(TOOLCHAIN_M1000_GLIBC)    \
+                             $(TOOLCHAIN_POWER8_GLIBC)   $(TOOLCHAIN_POWER9_GLIBC)   \
+                             $(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC) \
+                             $(TOOLCHAIN_RISCV64_GLIBC)  $(TOOLCHAIN_X86_64_GLIBC)),)
+extra_configure_switches += --enable-64bit=yes
+endif
+
+extra_configure_switches += --enable-ipv6
+extra_configure_switches += --with-mozilla
+extra_configure_switches += --with-pthreads
+
+nspr_environment  = HOST_CC=gcc
+nspr_environment += HOST_CFLAGS="-I. -I/usr/include -g -O2"
+nspr_environment += HOST_LDFLAGS=
+
+CFLAGS += -Wno-unused-but-set-variable
+
+LDFLAGS += -Wl,-rpath=/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET)            \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(NSPR_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	# ======= Install Documentation =======
+	@mkdir -p $(NSPR_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/LICENSE \
+	       $(NSPR_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(NSPR_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a LICENSE \
+	         $(NSPR_PKG)/usr/share/doc/$(src_dir_name) ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(NSPR_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= remove /usr/include/md we do not need =======
+	@rm -rf $(NSPR_PKG)/usr/include/md
+	# ======= remove executable attribute of static libraries =======
+	@( cd $(NSPR_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   chmod a-x *.a ; \
+	 )
+	@( cd $(NSPR_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   ln -sf nspr.pc mozilla-nspr.pc ; \
+	 )
+	# ======= tune nspr-config for target system =======
+	@( cd $(NSPR_PKG)/usr/bin ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" nspr-config ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(NSPR_PKG))
+	# ======= tune nspr-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"     nspr-config ; \
+	   sed -i "s,-L/lib,-L$(TARGET_DEST_DIR)/lib,g" nspr-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nspr.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(NSPR_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(NSPR_PKG_DESCRIPTION_FILE): $(NSPR_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(NSPR_PKG_DESCRIPTION_FILE) $(NSPR_PKG_INSTALL_SCRIPT)
+	@cp $(NSPR_PKG_DESCRIPTION_FILE) $(NSPR_PKG)/.DESCRIPTION
+	@cp $(NSPR_PKG_INSTALL_SCRIPT) $(NSPR_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(NSPR_PKG)/.REQUIRES
+	@echo "pkgname=$(NSPR_PKG_NAME)"                            >  $(NSPR_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(NSPR_PKG_VERSION)"                          >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "arch=$(NSPR_PKG_ARCH)"                               >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "distroname=$(NSPR_PKG_DISTRO_NAME)"                  >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "distrover=$(NSPR_PKG_DISTRO_VERSION)"                >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "group=$(NSPR_PKG_GROUP)"                             >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(NSPR_PKG_SHORT_DESCRIPTION)\"" >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "url=$(NSPR_PKG_URL)"                                 >> $(NSPR_PKG)/.PKGINFO ; \
+	 echo "license=$(NSPR_PKG_LICENSE)"                         >> $(NSPR_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(NSPR_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nspr/4.35/PATCHES
===================================================================
--- net/nspr/4.35/PATCHES	(nonexistent)
+++ net/nspr/4.35/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/mozilla-nspr/patches/nspr-4.35-linux.patch -p0
Index: net/nspr/4.35/nspr-pkg-description.in
===================================================================
--- net/nspr/4.35/nspr-pkg-description.in	(nonexistent)
+++ net/nspr/4.35/nspr-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler------------------------------------------------------|
+nspr: nspr @VERSION@ (Netscape Portable Runtime)
+nspr:
+nspr: Netscape Portable Runtime (NSPR) provides a platform-neutral API for
+nspr: system level and libc-like functions. The API is used in the Mozilla
+nspr: clients, many of Red Hat's and Sun's server applications, and other
+nspr: software offerings.
+nspr:
+nspr:
+nspr: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
+nspr:
+nspr:
Index: net/nspr/4.35/nspr-pkg-install.sh
===================================================================
--- net/nspr/4.35/nspr-pkg-install.sh	(nonexistent)
+++ net/nspr/4.35/nspr-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: net/nspr/4.35/nspr-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/nspr/4.35
===================================================================
--- net/nspr/4.35	(nonexistent)
+++ net/nspr/4.35	(revision 29)

Property changes on: net/nspr/4.35
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nspr/4.35-ppc32/Makefile
===================================================================
--- net/nspr/4.35-ppc32/Makefile	(nonexistent)
+++ net/nspr/4.35-ppc32/Makefile	(revision 29)
@@ -0,0 +1,179 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/mozilla-nspr
+
+REQUIRES           = net/nspr/4.35
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.35
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nspr/nspr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/nspr-$(version)
+src_dir_name       = nspr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+NSPR_32_PKG_NAME                = nspr-x32
+NSPR_32_PKG_VERSION             = 4.35
+NSPR_32_PKG_ARCH                = $(PKGARCH)
+NSPR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+NSPR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+NSPR_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+NSPR_32_PKG_SHORT_DESCRIPTION   = Netscape Portable Runtime
+NSPR_32_PKG_URL                 = $(BUG_URL)
+NSPR_32_PKG_LICENSE             = MPLv2
+NSPR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-pkg-description
+NSPR_32_PKG_DESCRIPTION_FILE_IN = $(NSPR_32_PKG_NAME)-pkg-description.in
+NSPR_32_PKG_INSTALL_SCRIPT      = $(NSPR_32_PKG_NAME)-pkg-install.sh
+
+NSPR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-package
+
+pkg_basename     = $(NSPR_32_PKG_NAME)-$(NSPR_32_PKG_VERSION)-$(NSPR_32_PKG_ARCH)-$(NSPR_32_PKG_DISTRO_NAME)-$(NSPR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(NSPR_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-strip=no
+
+extra_configure_switches += --enable-ipv6
+extra_configure_switches += --with-mozilla
+extra_configure_switches += --with-pthreads
+
+nspr_environment  = HOST_CC=gcc
+nspr_environment += HOST_CFLAGS="-I. -I/usr/include -g -O2"
+nspr_environment += HOST_LDFLAGS=
+
+CFLAGS += -Wno-unused-but-set-variable
+
+LDFLAGS += -Wl,-rpath=/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(NSPR_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(NSPR_32_PKG)/usr/include
+	@rm -rf $(NSPR_32_PKG)/usr/share
+	# ======= remove executable attribute of static libraries =======
+	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   chmod a-x *.a ; \
+	 )
+	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   ln -sf nspr.pc mozilla-nspr.pc ; \
+	 )
+	# ======= tune nspr-config for target system =======
+	@( cd $(NSPR_32_PKG)/usr/bin/32 ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" nspr-config ; \
+	   rm -f compile-et.pl prerr.properties ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(NSPR_32_PKG))
+	# ======= tune nspr-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"     nspr-config ; \
+	   sed -i "s,-L/lib,-L$(TARGET_DEST_DIR)/lib,g" nspr-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nspr.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(NSPR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(NSPR_32_PKG_DESCRIPTION_FILE): $(NSPR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG_INSTALL_SCRIPT)
+	@cp $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG)/.DESCRIPTION
+	@cp $(NSPR_32_PKG_INSTALL_SCRIPT) $(NSPR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(NSPR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(NSPR_32_PKG_NAME)"                            >  $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(NSPR_32_PKG_VERSION)"                          >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(NSPR_32_PKG_ARCH)"                               >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(NSPR_32_PKG_DISTRO_NAME)"                  >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(NSPR_32_PKG_DISTRO_VERSION)"                >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(NSPR_32_PKG_GROUP)"                             >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(NSPR_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(NSPR_32_PKG_URL)"                                 >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(NSPR_32_PKG_LICENSE)"                         >> $(NSPR_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(NSPR_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nspr/4.35-ppc32/PATCHES
===================================================================
--- net/nspr/4.35-ppc32/PATCHES	(nonexistent)
+++ net/nspr/4.35-ppc32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/mozilla-nspr/patches/nspr-4.35-linux.patch -p0
Index: net/nspr/4.35-ppc32/nspr-x32-pkg-description.in
===================================================================
--- net/nspr/4.35-ppc32/nspr-x32-pkg-description.in	(nonexistent)
+++ net/nspr/4.35-ppc32/nspr-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+nspr-x32: nspr-x32 @VERSION@ (Netscape Portable Runtime)
+nspr-x32:
+nspr-x32: Netscape Portable Runtime (NSPR) provides a platform-neutral API for
+nspr-x32: system level and libc-like functions. The API is used in the Mozilla
+nspr-x32: clients, many of Red Hat's and Sun's server applications, and other
+nspr-x32: software offerings.
+nspr-x32:
+nspr-x32:
+nspr-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
+nspr-x32:
+nspr-x32:
Index: net/nspr/4.35-ppc32/nspr-x32-pkg-install.sh
===================================================================
--- net/nspr/4.35-ppc32/nspr-x32-pkg-install.sh	(nonexistent)
+++ net/nspr/4.35-ppc32/nspr-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: net/nspr/4.35-ppc32/nspr-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/nspr/4.35-ppc32
===================================================================
--- net/nspr/4.35-ppc32	(nonexistent)
+++ net/nspr/4.35-ppc32	(revision 29)

Property changes on: net/nspr/4.35-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nspr/4.35-x86_32/Makefile
===================================================================
--- net/nspr/4.35-x86_32/Makefile	(nonexistent)
+++ net/nspr/4.35-x86_32/Makefile	(revision 29)
@@ -0,0 +1,176 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/mozilla-nspr
+
+REQUIRES           = net/nspr/4.35
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 4.35
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nspr/nspr-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/nspr-$(version)
+src_dir_name       = nspr-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+NSPR_32_PKG_NAME                = nspr-x32
+NSPR_32_PKG_VERSION             = 4.35
+NSPR_32_PKG_ARCH                = $(PKGARCH)
+NSPR_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+NSPR_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+NSPR_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+NSPR_32_PKG_SHORT_DESCRIPTION   = Netscape Portable Runtime
+NSPR_32_PKG_URL                 = $(BUG_URL)
+NSPR_32_PKG_LICENSE             = MPLv2
+NSPR_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-pkg-description
+NSPR_32_PKG_DESCRIPTION_FILE_IN = $(NSPR_32_PKG_NAME)-pkg-description.in
+NSPR_32_PKG_INSTALL_SCRIPT      = $(NSPR_32_PKG_NAME)-pkg-install.sh
+
+NSPR_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSPR_32_PKG_NAME)-package
+
+pkg_basename     = $(NSPR_32_PKG_NAME)-$(NSPR_32_PKG_VERSION)-$(NSPR_32_PKG_ARCH)-$(NSPR_32_PKG_DISTRO_NAME)-$(NSPR_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot  = DESTDIR=$(NSPR_32_PKG)
+
+
+extra_configure_switches  = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --mandir=/usr/share/man
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --sysconfdir=/etc
+extra_configure_switches += --localstatedir=/var
+extra_configure_switches += --enable-strip=no
+
+extra_configure_switches += --enable-ipv6
+extra_configure_switches += --with-mozilla
+extra_configure_switches += --with-pthreads
+
+nspr_environment  = HOST_CC=gcc
+nspr_environment += HOST_CFLAGS="-I. -I/usr/include -g -O2"
+nspr_environment += HOST_LDFLAGS=
+
+CFLAGS += -Wno-unused-but-set-variable
+
+LDFLAGS += -Wl,-rpath=/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(build_dir)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) ../$(src_dir_name)/configure \
+	  --prefix=/usr               \
+	  --build=$(BUILD)            \
+	  --host=$(TARGET32)          \
+	  $(extra_configure_switches)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(nspr_environment) $(MAKE)
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(NSPR_32_PKG)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@rm -rf $(NSPR_32_PKG)/usr/include
+	@rm -rf $(NSPR_32_PKG)/usr/share
+	# ======= remove executable attribute of static libraries =======
+	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   chmod a-x *.a ; \
+	 )
+	@( cd $(NSPR_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   ln -sf nspr.pc mozilla-nspr.pc ; \
+	 )
+	# ======= tune nspr-config for target system =======
+	@( cd $(NSPR_32_PKG)/usr/bin/32 ; \
+	   sed -i "s,$(TARGET_DEST_DIR),,g" nspr-config ; \
+	   rm -f compile-et.pl prerr.properties ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(NSPR_32_PKG))
+	# ======= tune nspr-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g"     nspr-config ; \
+	   sed -i "s,-L/lib,-L$(TARGET_DEST_DIR)/lib,g" nspr-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nspr.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(NSPR_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(NSPR_32_PKG_DESCRIPTION_FILE): $(NSPR_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG_INSTALL_SCRIPT)
+	@cp $(NSPR_32_PKG_DESCRIPTION_FILE) $(NSPR_32_PKG)/.DESCRIPTION
+	@cp $(NSPR_32_PKG_INSTALL_SCRIPT) $(NSPR_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(NSPR_32_PKG)/.REQUIRES
+	@echo "pkgname=$(NSPR_32_PKG_NAME)"                            >  $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(NSPR_32_PKG_VERSION)"                          >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(NSPR_32_PKG_ARCH)"                               >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(NSPR_32_PKG_DISTRO_NAME)"                  >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(NSPR_32_PKG_DISTRO_VERSION)"                >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "group=$(NSPR_32_PKG_GROUP)"                             >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(NSPR_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "url=$(NSPR_32_PKG_URL)"                                 >> $(NSPR_32_PKG)/.PKGINFO ; \
+	 echo "license=$(NSPR_32_PKG_LICENSE)"                         >> $(NSPR_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(NSPR_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nspr/4.35-x86_32/PATCHES
===================================================================
--- net/nspr/4.35-x86_32/PATCHES	(nonexistent)
+++ net/nspr/4.35-x86_32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/mozilla-nspr/patches/nspr-4.35-linux.patch -p0
Index: net/nspr/4.35-x86_32/nspr-x32-pkg-description.in
===================================================================
--- net/nspr/4.35-x86_32/nspr-x32-pkg-description.in	(nonexistent)
+++ net/nspr/4.35-x86_32/nspr-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+nspr-x32: nspr-x32 @VERSION@ (Netscape Portable Runtime)
+nspr-x32:
+nspr-x32: Netscape Portable Runtime (NSPR) provides a platform-neutral API for
+nspr-x32: system level and libc-like functions. The API is used in the Mozilla
+nspr-x32: clients, many of Red Hat's and Sun's server applications, and other
+nspr-x32: software offerings.
+nspr-x32:
+nspr-x32:
+nspr-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR
+nspr-x32:
+nspr-x32:
Index: net/nspr/4.35-x86_32/nspr-x32-pkg-install.sh
===================================================================
--- net/nspr/4.35-x86_32/nspr-x32-pkg-install.sh	(nonexistent)
+++ net/nspr/4.35-x86_32/nspr-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: net/nspr/4.35-x86_32/nspr-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/nspr/4.35-x86_32
===================================================================
--- net/nspr/4.35-x86_32	(nonexistent)
+++ net/nspr/4.35-x86_32	(revision 29)

Property changes on: net/nspr/4.35-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nss/3.64-ppc32/nss-x32-pkg-description.in
===================================================================
--- net/nss/3.64-ppc32/nss-x32-pkg-description.in	(revision 28)
+++ net/nss/3.64-ppc32/nss-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-       |-----handy-ruler------------------------------------------------------|
-nss-x32: nss-x32 @VERSION@ (Network Security Services)
-nss-x32:
-nss-x32: Network Security Services (NSS) is a set of libraries designed to
-nss-x32: support cross-platform development of security-enabled client and
-nss-x32: server applications. Applications built with NSS can support
-nss-x32: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
-nss-x32: X.509 v3 certificates, and other security standards.
-nss-x32:
-nss-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
-nss-x32:
-nss-x32:
Index: net/nss/3.64-ppc32/PATCHES
===================================================================
--- net/nss/3.64-ppc32/PATCHES	(revision 28)
+++ net/nss/3.64-ppc32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/n/mozilla-nss/patches/nss-3.64-build-tree.patch -p0
Index: net/nss/3.64-ppc32/config/nss.pc.in
===================================================================
--- net/nss/3.64-ppc32/config/nss.pc.in	(revision 28)
+++ net/nss/3.64-ppc32/config/nss.pc.in	(nonexistent)
@@ -1,11 +0,0 @@
-prefix=@PREFIX@
-exec_prefix=${prefix}
-libdir=/usr/lib@LIBDIRSUFFIX@
-includedir=${prefix}/include/nss
-
-Name: NSS
-Description: Network Security Services
-Version: @VERSION@
-Requires: nspr >= @NSPR_VERSION@ sqlite3
-Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3  -lnssutil3
-Cflags: -I${includedir}
Index: net/nss/3.64-ppc32/config/nss-config.in
===================================================================
--- net/nss/3.64-ppc32/config/nss-config.in	(revision 28)
+++ net/nss/3.64-ppc32/config/nss-config.in	(nonexistent)
@@ -1,144 +0,0 @@
-#!/bin/sh
-
-prefix=@PREFIX@
-
-major_version=@MOD_MAJOR_VERSION@
-minor_version=@MOD_MINOR_VERSION@
-patch_version=@MOD_PATCH_VERSION@
-
-usage()
-{
-	cat <<EOF
-Usage: nss-config [OPTIONS] [LIBRARIES]
-Options:
-	[--prefix[=DIR]]
-	[--exec-prefix[=DIR]]
-	[--includedir[=DIR]]
-	[--libdir[=DIR]]
-	[--version]
-	[--libs]
-	[--cflags]
-Dynamic Libraries:
-	nss
-	nssutil
-	ssl
-	smime
-EOF
-	exit $1
-}
-
-if test $# -eq 0; then
-  usage 1 1>&2
-fi
-
-lib_ssl=yes
-lib_smime=yes
-lib_nss=yes
-lib_nssutil=yes
-
-while test $# -gt 0; do
-  case "$1" in
-  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      ;;
-    --prefix)
-      echo_prefix=yes
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      ;;
-    --exec-prefix)
-      echo_exec_prefix=yes
-      ;;
-    --includedir=*)
-      includedir=$optarg
-      ;;
-    --includedir)
-      echo_includedir=yes
-      ;;
-    --libdir=*)
-      libdir=$optarg
-      ;;
-    --libdir)
-      echo_libdir=yes
-      ;;
-    --version)
-      echo ${major_version}.${minor_version}.${patch_version}
-      ;;
-    --cflags)
-      echo_cflags=yes
-      ;;
-    --libs)
-      echo_libs=yes
-      ;;
-    ssl)
-      lib_ssl=yes
-      ;;
-    smime)
-      lib_smime=yes
-      ;;
-    nss)
-      lib_nss=yes
-      ;;
-    nssutil)
-      lib_nssutil=yes
-      ;;
-    *)
-      usage 1 1>&2
-      ;;
-  esac
-  shift
-done
-
-# Set variables that may be dependent upon other variables
-if test -z "$exec_prefix"; then
-    exec_prefix=`pkg-config --variable=exec_prefix nss`
-fi
-if test -z "$includedir"; then
-    includedir=`pkg-config --variable=includedir nss`
-fi
-if test -z "$libdir"; then
-    libdir=`pkg-config --variable=libdir nss`
-fi
-
-if test "$echo_prefix" = "yes"; then
-  echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
-  echo $exec_prefix
-fi
-
-if test "$echo_includedir" = "yes"; then
-  echo $includedir
-fi
-
-if test "$echo_libdir" = "yes"; then
-  echo $libdir
-fi
-
-if test "$echo_cflags" = "yes"; then
-  echo -I$includedir
-fi
-
-if test "$echo_libs" = "yes"; then
-  libdirs="-Wl,-rpath-link,$libdir -L$libdir"
-  if test -n "$lib_ssl"; then
-    libdirs="$libdirs -lssl${major_version}"
-  fi
-  if test -n "$lib_smime"; then
-    libdirs="$libdirs -lsmime${major_version}"
-  fi
-  if test -n "$lib_nss"; then
-    libdirs="$libdirs -lnss${major_version}"
-  fi
-  if test -n "$lib_nssutil"; then
-    libdirs="$libdirs -lnssutil${major_version}"
-  fi
-  echo $libdirs
-fi
Index: net/nss/3.64-ppc32/config
===================================================================
--- net/nss/3.64-ppc32/config	(revision 28)
+++ net/nss/3.64-ppc32/config	(nonexistent)

Property changes on: net/nss/3.64-ppc32/config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nss/3.64-ppc32/Makefile
===================================================================
--- net/nss/3.64-ppc32/Makefile	(revision 28)
+++ net/nss/3.64-ppc32/Makefile	(nonexistent)
@@ -1,247 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-NO_CCACHE    = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/n/mozilla-nss
-
-REQUIRES           = net/nss/3.64
-REQUIRES          += net/nspr/4.30-ppc32
-REQUIRES          += app/sqlite/3.39.4.0-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 3.64
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nss/nss-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/nss-$(version)
-src_dir_name       = nss-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-nss_config_in      = $(CURDIR)/config/nss-config.in
-nss_pc_in          = $(CURDIR)/config/nss.pc.in
-
-nspr_version       = $(strip \
-                       $(foreach pkg, $(REQUIRES), \
-                         $(if $(shell echo $(pkg) | grep "net/nspr/"),\
-                           $(shell echo $(pkg) | cut -f 3 -d '/' | cut -f 1 -d '-'),)))
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-NSS_32_PKG_NAME                = nss-x32
-NSS_32_PKG_VERSION             = 3.64
-NSS_32_PKG_ARCH                = $(PKGARCH)
-NSS_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-NSS_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-NSS_32_PKG_GROUP               = $(PKG_GROUP)
-###                             |---handy-ruler-------------------------------|
-NSS_32_PKG_SHORT_DESCRIPTION   = Mozilla Network Security Services
-NSS_32_PKG_URL                 = $(BUG_URL)
-NSS_32_PKG_LICENSE             = MPLv2
-NSS_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-pkg-description
-NSS_32_PKG_DESCRIPTION_FILE_IN = $(NSS_32_PKG_NAME)-pkg-description.in
-NSS_32_PKG_INSTALL_SCRIPT      = $(NSS_32_PKG_NAME)-pkg-install.sh
-
-NSS_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-package
-
-pkg_basename     = $(NSS_32_PKG_NAME)-$(NSS_32_PKG_VERSION)-$(NSS_32_PKG_ARCH)-$(NSS_32_PKG_DISTRO_NAME)-$(NSS_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-#
-# BUILD Machine environment
-#
-nss_build_environment  = NATIVE_CC=gcc
-nss_build_environment += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
-nss_build_environment += OS_TARGET=Linux
-nss_build_environment += OS_RELEASE=
-nss_build_environment += OS_REL_CFLAGS=
-nss_build_environment += CPU_ARCH=x86_64
-nss_build_environment += USE_64=1
-nss_build_environment += ARCHFLAG=-m64
-nss_build_environment += LIBC_TAG=_glibc
-nss_build_environment += USE_PTHREADS=1
-nss_build_environment += BUILD_OPT=1
-nss_build_environment += OPT_CODE_SIZE=1
-
-NSS_BUILD_OBJ_DIR      = Linux_x86_64_cc_glibc_PTH_64_OPT.OBJ
-
-#
-# TARGET Machine environment
-#
-nss_environment     = NATIVE_CC=gcc
-nss_environment    += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
-nss_environment    += OS_TARGET=Linux
-nss_environment    += OS_RELEASE=
-nss_environment    += OS_REL_CFLAGS="$(ARCH_DEFS) -I$(TARGET_DEST_DIR)/usr/include/nspr"
-
-nss_environment    += USE_32=1
-nss_environment    += ARCHFLAG="$(ARCH_FLAGS)"
-
-nss_environment    += LIBC_TAG=_$(TARGET)-gcc_glibc
-nss_environment    += USE_PTHREADS=1
-nss_environment    += BUILD_OPT=1
-nss_environment    += OPT_CODE_SIZE=1
-nss_environment    += NSDISTMODE="copy"
-
-nss_environment    += USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_USE_SYSTEM_SQLITE=1
-
-nss_environment    += CC="$(CC) --sysroot=$(TARGET_DEST_DIR)"
-nss_environment    += CCC="$(CXX) --sysroot=$(TARGET_DEST_DIR)"
-nss_environment    += RANLIB="$(RANLIB)"
-
-nss_environment    += NSPR_LDFLAGS=" -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)"
-nss_environment    += RPATH=-Wl,-rpath,'/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)'
-
-nss_environment    += CROSS_COMPILE=1
-nss_environment    += NSS_ENABLE_WERROR=0
-
-#
-# TARGET Machine HW depended environment
-#
-nss_environment    += OS_TEST=ppc
-nss_environment    += CPU_ARCH=ppc
-NSS_TARGET_OBJ_DIR  = Linux_ppc_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	# ======= add NSPR LDFLAGS =======
-	@( cd $(SRC_DIR)/coreconf ; \
-	   sed -i "s,^\(MKSHLIB.*\).*,\1 $$\(NSPR_LDFLAGS\)," Linux.mk ; \
-	 )
-	# ======= make nsinstall utils for BUILD Machine =======
-	@( cd $(SRC_DIR)/coreconf/nsinstall ; \
-	   $(MAKE) $(nss_build_environment) ; \
-	   mkdir -p $(NSS_TARGET_OBJ_DIR)   ; \
-	   cd $(NSS_BUILD_OBJ_DIR) && cp -a * ../$(NSS_TARGET_OBJ_DIR)/ ; \
-	   touch ../$(NSS_TARGET_OBJ_DIR)/nsinstall ; \
-	 )
-	# ======= build NSS =======
-	@( cd $(SRC_DIR) ; \
-	   $(MAKE) $(nss_environment) ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(NSS_32_PKG)/usr/{bin/32,lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig}
-	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
-	   for file in certutil cmsutil crlutil derdump modutil pk12util \
-	               pp shlibsign signtool signver ssltap vfychain vfyserv ; do \
-	     cp -a bin/$$file  $(NSS_32_PKG)/usr/bin/32 ; \
-	   done ; \
-	   cp -a lib/* $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	 )
-	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	   rm -f *test* *dbm* *.a ; \
-	 )
-	# ======= keep some static libraries =======
-	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
-	   cp -a lib/lib{crmf,nssb,nssckfw}.a $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
-	 )
-	@( cd $(SRC_DIR)/cmd/smimetools ; \
-	   cp -a smime $(NSS_32_PKG)/usr/bin/32 ; \
-	   chmod 0755 $(NSS_32_PKG)/usr/bin/32/smime ; \
-	   sed -i -e 's,/usr/local/bin,/usr/bin,g' $(NSS_32_PKG)/usr/bin/32/smime ; \
-	 )
-	# ======= install 'nss.pc' pkgconfig file =======
-	@sed -e "s,@PREFIX@,/usr,g" \
-	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_PPC32_SUFFIX),g" \
-	     -e "s,@VERSION@,$(version),g" \
-	     -e "s,@NSPR_VERSION@,$(nspr_version),g" \
-	     $(nss_pc_in) > $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig/nss.pc
-	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   ln -sf nss.pc mozilla-nss.pc ; \
-	 )
-	# ======= install 'nss-config' script =======
-	@sed -e "s,@PREFIX@,/usr,g" \
-	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_PPC32_SUFFIX),g" \
-	     -e "s,@MOD_MAJOR_VERSION@,$(shell echo $(version) | cut -f 1 -d '.'),g" \
-	     -e "s,@MOD_MINOR_VERSION@,$(shell echo $(version) | cut -f 2 -d '.'),g" \
-	     -e "s,@MOD_PATCH_VERSION@,$(shell echo $(version) | cut -f 3 -d '.'),g" \
-	     $(nss_config_in) > $(NSS_32_PKG)/usr/bin/32/nss-config
-	@chmod 755 $(NSS_32_PKG)/usr/bin/32/nss-config
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(NSS_32_PKG))
-	# ======= tune nss-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss.pc \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(NSS_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
-	 )
-	@touch $@
-
-$(NSS_32_PKG_DESCRIPTION_FILE): $(NSS_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG_INSTALL_SCRIPT)
-	@cp $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG)/.DESCRIPTION
-	@cp $(NSS_32_PKG_INSTALL_SCRIPT) $(NSS_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(NSS_32_PKG)/.REQUIRES
-	@echo "pkgname=$(NSS_32_PKG_NAME)"                            >  $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(NSS_32_PKG_VERSION)"                          >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(NSS_32_PKG_ARCH)"                               >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(NSS_32_PKG_DISTRO_NAME)"                  >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(NSS_32_PKG_DISTRO_VERSION)"                >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "group=$(NSS_32_PKG_GROUP)"                             >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(NSS_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "url=$(NSS_32_PKG_URL)"                                 >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "license=$(NSS_32_PKG_LICENSE)"                         >> $(NSS_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(NSS_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nss/3.64-ppc32/nss-x32-pkg-install.sh
===================================================================
--- net/nss/3.64-ppc32/nss-x32-pkg-install.sh	(revision 28)
+++ net/nss/3.64-ppc32/nss-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: net/nss/3.64-ppc32/nss-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/nss/3.64-ppc32
===================================================================
--- net/nss/3.64-ppc32	(revision 28)
+++ net/nss/3.64-ppc32	(nonexistent)

Property changes on: net/nss/3.64-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nss/3.64-x86_32/nss-x32-pkg-description.in
===================================================================
--- net/nss/3.64-x86_32/nss-x32-pkg-description.in	(revision 28)
+++ net/nss/3.64-x86_32/nss-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-       |-----handy-ruler------------------------------------------------------|
-nss-x32: nss-x32 @VERSION@ (Network Security Services)
-nss-x32:
-nss-x32: Network Security Services (NSS) is a set of libraries designed to
-nss-x32: support cross-platform development of security-enabled client and
-nss-x32: server applications. Applications built with NSS can support
-nss-x32: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
-nss-x32: X.509 v3 certificates, and other security standards.
-nss-x32:
-nss-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
-nss-x32:
-nss-x32:
Index: net/nss/3.64-x86_32/PATCHES
===================================================================
--- net/nss/3.64-x86_32/PATCHES	(revision 28)
+++ net/nss/3.64-x86_32/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/n/mozilla-nss/patches/nss-3.64-build-tree.patch -p0
Index: net/nss/3.64-x86_32/config/nss.pc.in
===================================================================
--- net/nss/3.64-x86_32/config/nss.pc.in	(revision 28)
+++ net/nss/3.64-x86_32/config/nss.pc.in	(nonexistent)
@@ -1,11 +0,0 @@
-prefix=@PREFIX@
-exec_prefix=${prefix}
-libdir=/usr/lib@LIBDIRSUFFIX@
-includedir=${prefix}/include/nss
-
-Name: NSS
-Description: Network Security Services
-Version: @VERSION@
-Requires: nspr >= @NSPR_VERSION@ sqlite3
-Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3  -lnssutil3
-Cflags: -I${includedir}
Index: net/nss/3.64-x86_32/config/nss-config.in
===================================================================
--- net/nss/3.64-x86_32/config/nss-config.in	(revision 28)
+++ net/nss/3.64-x86_32/config/nss-config.in	(nonexistent)
@@ -1,144 +0,0 @@
-#!/bin/sh
-
-prefix=@PREFIX@
-
-major_version=@MOD_MAJOR_VERSION@
-minor_version=@MOD_MINOR_VERSION@
-patch_version=@MOD_PATCH_VERSION@
-
-usage()
-{
-	cat <<EOF
-Usage: nss-config [OPTIONS] [LIBRARIES]
-Options:
-	[--prefix[=DIR]]
-	[--exec-prefix[=DIR]]
-	[--includedir[=DIR]]
-	[--libdir[=DIR]]
-	[--version]
-	[--libs]
-	[--cflags]
-Dynamic Libraries:
-	nss
-	nssutil
-	ssl
-	smime
-EOF
-	exit $1
-}
-
-if test $# -eq 0; then
-  usage 1 1>&2
-fi
-
-lib_ssl=yes
-lib_smime=yes
-lib_nss=yes
-lib_nssutil=yes
-
-while test $# -gt 0; do
-  case "$1" in
-  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      ;;
-    --prefix)
-      echo_prefix=yes
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      ;;
-    --exec-prefix)
-      echo_exec_prefix=yes
-      ;;
-    --includedir=*)
-      includedir=$optarg
-      ;;
-    --includedir)
-      echo_includedir=yes
-      ;;
-    --libdir=*)
-      libdir=$optarg
-      ;;
-    --libdir)
-      echo_libdir=yes
-      ;;
-    --version)
-      echo ${major_version}.${minor_version}.${patch_version}
-      ;;
-    --cflags)
-      echo_cflags=yes
-      ;;
-    --libs)
-      echo_libs=yes
-      ;;
-    ssl)
-      lib_ssl=yes
-      ;;
-    smime)
-      lib_smime=yes
-      ;;
-    nss)
-      lib_nss=yes
-      ;;
-    nssutil)
-      lib_nssutil=yes
-      ;;
-    *)
-      usage 1 1>&2
-      ;;
-  esac
-  shift
-done
-
-# Set variables that may be dependent upon other variables
-if test -z "$exec_prefix"; then
-    exec_prefix=`pkg-config --variable=exec_prefix nss`
-fi
-if test -z "$includedir"; then
-    includedir=`pkg-config --variable=includedir nss`
-fi
-if test -z "$libdir"; then
-    libdir=`pkg-config --variable=libdir nss`
-fi
-
-if test "$echo_prefix" = "yes"; then
-  echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
-  echo $exec_prefix
-fi
-
-if test "$echo_includedir" = "yes"; then
-  echo $includedir
-fi
-
-if test "$echo_libdir" = "yes"; then
-  echo $libdir
-fi
-
-if test "$echo_cflags" = "yes"; then
-  echo -I$includedir
-fi
-
-if test "$echo_libs" = "yes"; then
-  libdirs="-Wl,-rpath-link,$libdir -L$libdir"
-  if test -n "$lib_ssl"; then
-    libdirs="$libdirs -lssl${major_version}"
-  fi
-  if test -n "$lib_smime"; then
-    libdirs="$libdirs -lsmime${major_version}"
-  fi
-  if test -n "$lib_nss"; then
-    libdirs="$libdirs -lnss${major_version}"
-  fi
-  if test -n "$lib_nssutil"; then
-    libdirs="$libdirs -lnssutil${major_version}"
-  fi
-  echo $libdirs
-fi
Index: net/nss/3.64-x86_32/config
===================================================================
--- net/nss/3.64-x86_32/config	(revision 28)
+++ net/nss/3.64-x86_32/config	(nonexistent)

Property changes on: net/nss/3.64-x86_32/config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nss/3.64-x86_32/Makefile
===================================================================
--- net/nss/3.64-x86_32/Makefile	(revision 28)
+++ net/nss/3.64-x86_32/Makefile	(nonexistent)
@@ -1,243 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-NO_CCACHE    = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/n/mozilla-nss
-
-REQUIRES           = net/nss/3.64
-REQUIRES          += net/nspr/4.30-x86_32
-REQUIRES          += app/sqlite/3.39.4.0-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 3.64
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nss/nss-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/nss-$(version)
-src_dir_name       = nss-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-nss_config_in      = $(CURDIR)/config/nss-config.in
-nss_pc_in          = $(CURDIR)/config/nss.pc.in
-
-nspr_version       = $(strip \
-                       $(foreach pkg, $(REQUIRES), \
-                         $(if $(shell echo $(pkg) | grep "net/nspr/"),\
-                           $(shell echo $(pkg) | cut -f 3 -d '/' | cut -f 1 -d '-'),)))
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-NSS_32_PKG_NAME                = nss-x32
-NSS_32_PKG_VERSION             = 3.64
-NSS_32_PKG_ARCH                = $(PKGARCH)
-NSS_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-NSS_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-NSS_32_PKG_GROUP               = $(PKG_GROUP)
-###                             |---handy-ruler-------------------------------|
-NSS_32_PKG_SHORT_DESCRIPTION   = Mozilla Network Security Services
-NSS_32_PKG_URL                 = $(BUG_URL)
-NSS_32_PKG_LICENSE             = MPLv2
-NSS_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-pkg-description
-NSS_32_PKG_DESCRIPTION_FILE_IN = $(NSS_32_PKG_NAME)-pkg-description.in
-NSS_32_PKG_INSTALL_SCRIPT      = $(NSS_32_PKG_NAME)-pkg-install.sh
-
-NSS_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-package
-
-pkg_basename     = $(NSS_32_PKG_NAME)-$(NSS_32_PKG_VERSION)-$(NSS_32_PKG_ARCH)-$(NSS_32_PKG_DISTRO_NAME)-$(NSS_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-#
-# BUILD Machine environment
-#
-nss_build_environment  = NATIVE_CC=gcc
-nss_build_environment += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
-nss_build_environment += OS_TARGET=Linux
-nss_build_environment += OS_RELEASE=
-nss_build_environment += OS_REL_CFLAGS=
-nss_build_environment += CPU_ARCH=x86_64
-nss_build_environment += USE_64=1
-nss_build_environment += ARCHFLAG=-m64
-nss_build_environment += LIBC_TAG=_glibc
-nss_build_environment += USE_PTHREADS=1
-nss_build_environment += BUILD_OPT=1
-nss_build_environment += OPT_CODE_SIZE=1
-
-NSS_BUILD_OBJ_DIR      = Linux_x86_64_cc_glibc_PTH_64_OPT.OBJ
-
-#
-# TARGET Machine environment
-#
-nss_environment     = NATIVE_CC=gcc
-nss_environment    += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
-nss_environment    += OS_TARGET=Linux
-nss_environment    += OS_RELEASE=
-nss_environment    += OS_REL_CFLAGS="$(ARCH_DEFS) -I$(TARGET_DEST_DIR)/usr/include/nspr"
-
-nss_environment    += USE_32=1
-nss_environment    += ARCHFLAG="$(ARCH_FLAGS)"
-
-nss_environment    += LIBC_TAG=_$(TARGET)-gcc_glibc
-nss_environment    += USE_PTHREADS=1
-nss_environment    += BUILD_OPT=1
-nss_environment    += OPT_CODE_SIZE=1
-nss_environment    += NSDISTMODE="copy"
-
-nss_environment    += USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_USE_SYSTEM_SQLITE=1
-
-nss_environment    += CC="$(CC) --sysroot=$(TARGET_DEST_DIR)"
-nss_environment    += CCC="$(CXX) --sysroot=$(TARGET_DEST_DIR)"
-nss_environment    += RANLIB="$(RANLIB)"
-
-nss_environment    += NSPR_LDFLAGS=" -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)"
-nss_environment    += RPATH=-Wl,-rpath,'/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)'
-
-nss_environment    += CROSS_COMPILE=1
-nss_environment    += NSS_ENABLE_WERROR=0
-
-#
-# TARGET Machine HW depended environment
-#
-nss_environment    += CPU_ARCH=x86
-NSS_TARGET_OBJ_DIR  = Linux_x86_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	# ======= add NSPR LDFLAGS =======
-	@( cd $(SRC_DIR)/coreconf ; \
-	   sed -i "s,^\(MKSHLIB.*\).*,\1 $$\(NSPR_LDFLAGS\)," Linux.mk ; \
-	 )
-	# ======= make nsinstall utils for BUILD Machine =======
-	@( cd $(SRC_DIR)/coreconf/nsinstall ; \
-	   $(MAKE) $(nss_build_environment) ; \
-	   mkdir -p $(NSS_TARGET_OBJ_DIR)   ; \
-	   cd $(NSS_BUILD_OBJ_DIR) && cp -a * ../$(NSS_TARGET_OBJ_DIR)/ ; \
-	   touch ../$(NSS_TARGET_OBJ_DIR)/nsinstall ; \
-	 )
-	# ======= build NSS =======
-	@( cd $(SRC_DIR) ; \
-	   $(MAKE) $(nss_environment) ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(NSS_32_PKG)/usr/{bin/32,lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig}
-	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
-	   for file in certutil cmsutil crlutil derdump modutil pk12util \
-	               pp shlibsign signtool signver ssltap vfychain vfyserv ; do \
-	     cp -a bin/$$file  $(NSS_32_PKG)/usr/bin/32 ; \
-	   done ; \
-	   cp -a lib/* $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	 )
-	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	   rm -f *test* *dbm* *.a ; \
-	 )
-	# ======= keep some static libraries =======
-	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
-	   cp -a lib/lib{crmf,nssb,nssckfw}.a $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
-	 )
-	@( cd $(SRC_DIR)/cmd/smimetools ; \
-	   cp -a smime $(NSS_32_PKG)/usr/bin/32 ; \
-	   chmod 0755 $(NSS_32_PKG)/usr/bin/32/smime ; \
-	   sed -i -e 's,/usr/local/bin,/usr/bin,g' $(NSS_32_PKG)/usr/bin/32/smime ; \
-	 )
-	# ======= install 'nss.pc' pkgconfig file =======
-	@sed -e "s,@PREFIX@,/usr,g" \
-	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_X86_32_SUFFIX),g" \
-	     -e "s,@VERSION@,$(version),g" \
-	     -e "s,@NSPR_VERSION@,$(nspr_version),g" \
-	     $(nss_pc_in) > $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig/nss.pc
-	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   ln -sf nss.pc mozilla-nss.pc ; \
-	 )
-	# ======= install 'nss-config' script =======
-	@sed -e "s,@PREFIX@,/usr,g" \
-	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_X86_32_SUFFIX),g" \
-	     -e "s,@MOD_MAJOR_VERSION@,$(shell echo $(version) | cut -f 1 -d '.'),g" \
-	     -e "s,@MOD_MINOR_VERSION@,$(shell echo $(version) | cut -f 2 -d '.'),g" \
-	     -e "s,@MOD_PATCH_VERSION@,$(shell echo $(version) | cut -f 3 -d '.'),g" \
-	     $(nss_config_in) > $(NSS_32_PKG)/usr/bin/32/nss-config
-	@chmod 755 $(NSS_32_PKG)/usr/bin/32/nss-config
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(NSS_32_PKG))
-	# ======= tune nss-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss.pc \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(NSS_32_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
-	 )
-	@touch $@
-
-$(NSS_32_PKG_DESCRIPTION_FILE): $(NSS_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG_INSTALL_SCRIPT)
-	@cp $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG)/.DESCRIPTION
-	@cp $(NSS_32_PKG_INSTALL_SCRIPT) $(NSS_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(NSS_32_PKG)/.REQUIRES
-	@echo "pkgname=$(NSS_32_PKG_NAME)"                            >  $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(NSS_32_PKG_VERSION)"                          >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(NSS_32_PKG_ARCH)"                               >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(NSS_32_PKG_DISTRO_NAME)"                  >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(NSS_32_PKG_DISTRO_VERSION)"                >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "group=$(NSS_32_PKG_GROUP)"                             >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(NSS_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "url=$(NSS_32_PKG_URL)"                                 >> $(NSS_32_PKG)/.PKGINFO ; \
-	 echo "license=$(NSS_32_PKG_LICENSE)"                         >> $(NSS_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(NSS_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nss/3.64-x86_32/nss-x32-pkg-install.sh
===================================================================
--- net/nss/3.64-x86_32/nss-x32-pkg-install.sh	(revision 28)
+++ net/nss/3.64-x86_32/nss-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: net/nss/3.64-x86_32/nss-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/nss/3.64-x86_32
===================================================================
--- net/nss/3.64-x86_32	(revision 28)
+++ net/nss/3.64-x86_32	(nonexistent)

Property changes on: net/nss/3.64-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nss/3.64/nss-pkg-description.in
===================================================================
--- net/nss/3.64/nss-pkg-description.in	(revision 28)
+++ net/nss/3.64/nss-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-   |-----handy-ruler------------------------------------------------------|
-nss: nss @VERSION@ (Network Security Services)
-nss:
-nss: Network Security Services (NSS) is a set of libraries designed to
-nss: support cross-platform development of security-enabled client and
-nss: server applications. Applications built with NSS can support
-nss: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
-nss: X.509 v3 certificates, and other security standards.
-nss:
-nss: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
-nss:
-nss:
Index: net/nss/3.64/PATCHES
===================================================================
--- net/nss/3.64/PATCHES	(revision 28)
+++ net/nss/3.64/PATCHES	(nonexistent)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/n/mozilla-nss/patches/nss-3.64-build-tree.patch -p0
Index: net/nss/3.64/config/nss.pc.in
===================================================================
--- net/nss/3.64/config/nss.pc.in	(revision 28)
+++ net/nss/3.64/config/nss.pc.in	(nonexistent)
@@ -1,11 +0,0 @@
-prefix=@PREFIX@
-exec_prefix=${prefix}
-libdir=/usr/lib@LIBDIRSUFFIX@
-includedir=${prefix}/include/nss
-
-Name: NSS
-Description: Network Security Services
-Version: @VERSION@
-Requires: nspr >= @NSPR_VERSION@ sqlite3
-Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3  -lnssutil3
-Cflags: -I${includedir}
Index: net/nss/3.64/config/nss-config.in
===================================================================
--- net/nss/3.64/config/nss-config.in	(revision 28)
+++ net/nss/3.64/config/nss-config.in	(nonexistent)
@@ -1,144 +0,0 @@
-#!/bin/sh
-
-prefix=@PREFIX@
-
-major_version=@MOD_MAJOR_VERSION@
-minor_version=@MOD_MINOR_VERSION@
-patch_version=@MOD_PATCH_VERSION@
-
-usage()
-{
-	cat <<EOF
-Usage: nss-config [OPTIONS] [LIBRARIES]
-Options:
-	[--prefix[=DIR]]
-	[--exec-prefix[=DIR]]
-	[--includedir[=DIR]]
-	[--libdir[=DIR]]
-	[--version]
-	[--libs]
-	[--cflags]
-Dynamic Libraries:
-	nss
-	nssutil
-	ssl
-	smime
-EOF
-	exit $1
-}
-
-if test $# -eq 0; then
-  usage 1 1>&2
-fi
-
-lib_ssl=yes
-lib_smime=yes
-lib_nss=yes
-lib_nssutil=yes
-
-while test $# -gt 0; do
-  case "$1" in
-  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      ;;
-    --prefix)
-      echo_prefix=yes
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      ;;
-    --exec-prefix)
-      echo_exec_prefix=yes
-      ;;
-    --includedir=*)
-      includedir=$optarg
-      ;;
-    --includedir)
-      echo_includedir=yes
-      ;;
-    --libdir=*)
-      libdir=$optarg
-      ;;
-    --libdir)
-      echo_libdir=yes
-      ;;
-    --version)
-      echo ${major_version}.${minor_version}.${patch_version}
-      ;;
-    --cflags)
-      echo_cflags=yes
-      ;;
-    --libs)
-      echo_libs=yes
-      ;;
-    ssl)
-      lib_ssl=yes
-      ;;
-    smime)
-      lib_smime=yes
-      ;;
-    nss)
-      lib_nss=yes
-      ;;
-    nssutil)
-      lib_nssutil=yes
-      ;;
-    *)
-      usage 1 1>&2
-      ;;
-  esac
-  shift
-done
-
-# Set variables that may be dependent upon other variables
-if test -z "$exec_prefix"; then
-    exec_prefix=`pkg-config --variable=exec_prefix nss`
-fi
-if test -z "$includedir"; then
-    includedir=`pkg-config --variable=includedir nss`
-fi
-if test -z "$libdir"; then
-    libdir=`pkg-config --variable=libdir nss`
-fi
-
-if test "$echo_prefix" = "yes"; then
-  echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
-  echo $exec_prefix
-fi
-
-if test "$echo_includedir" = "yes"; then
-  echo $includedir
-fi
-
-if test "$echo_libdir" = "yes"; then
-  echo $libdir
-fi
-
-if test "$echo_cflags" = "yes"; then
-  echo -I$includedir
-fi
-
-if test "$echo_libs" = "yes"; then
-  libdirs="-Wl,-rpath-link,$libdir -L$libdir"
-  if test -n "$lib_ssl"; then
-    libdirs="$libdirs -lssl${major_version}"
-  fi
-  if test -n "$lib_smime"; then
-    libdirs="$libdirs -lsmime${major_version}"
-  fi
-  if test -n "$lib_nss"; then
-    libdirs="$libdirs -lnss${major_version}"
-  fi
-  if test -n "$lib_nssutil"; then
-    libdirs="$libdirs -lnssutil${major_version}"
-  fi
-  echo $libdirs
-fi
Index: net/nss/3.64/config
===================================================================
--- net/nss/3.64/config	(revision 28)
+++ net/nss/3.64/config	(nonexistent)

Property changes on: net/nss/3.64/config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nss/3.64/Makefile
===================================================================
--- net/nss/3.64/Makefile	(revision 28)
+++ net/nss/3.64/Makefile	(nonexistent)
@@ -1,363 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-NO_CCACHE    = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/n/mozilla-nss
-
-REQUIRES           = net/nspr/4.30
-REQUIRES          += app/sqlite/3.39.4.0
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 3.64
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nss/nss-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/nss-$(version)
-src_dir_name       = nss-$(version)
-doc_dir_name       = nss-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source-done
-
-PATCHES = PATCHES
-
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-nss_config_in      = $(CURDIR)/config/nss-config.in
-nss_pc_in          = $(CURDIR)/config/nss.pc.in
-
-nspr_version       = $(strip \
-                       $(foreach pkg, $(REQUIRES), \
-                         $(if $(shell echo $(pkg) | grep "net/nspr/"),\
-                           $(shell echo $(pkg) | cut -f 3 -d '/' | cut -f 1 -d '-'),)))
-
-####### Targets
-
-PKG_GROUP = net
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-NSS_PKG_NAME                = nss
-NSS_PKG_VERSION             = 3.64
-NSS_PKG_ARCH                = $(PKGARCH)
-NSS_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-NSS_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-NSS_PKG_GROUP               = $(PKG_GROUP)
-###                          |---handy-ruler-------------------------------|
-NSS_PKG_SHORT_DESCRIPTION   = Mozilla Network Security Services
-NSS_PKG_URL                 = $(BUG_URL)
-NSS_PKG_LICENSE             = MPLv2
-NSS_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSS_PKG_NAME)-pkg-description
-NSS_PKG_DESCRIPTION_FILE_IN = $(NSS_PKG_NAME)-pkg-description.in
-NSS_PKG_INSTALL_SCRIPT      = $(NSS_PKG_NAME)-pkg-install.sh
-
-NSS_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSS_PKG_NAME)-package
-
-pkg_basename     = $(NSS_PKG_NAME)-$(NSS_PKG_VERSION)-$(NSS_PKG_ARCH)-$(NSS_PKG_DISTRO_NAME)-$(NSS_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-#
-# BUILD Machine environment
-#
-nss_build_environment  = NATIVE_CC=gcc
-nss_build_environment += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
-nss_build_environment += OS_TARGET=Linux
-nss_build_environment += OS_RELEASE=
-nss_build_environment += OS_REL_CFLAGS=
-nss_build_environment += CPU_ARCH=x86_64
-nss_build_environment += USE_64=1
-nss_build_environment += ARCHFLAG=-m64
-nss_build_environment += LIBC_TAG=_glibc
-nss_build_environment += USE_PTHREADS=1
-nss_build_environment += BUILD_OPT=1
-nss_build_environment += OPT_CODE_SIZE=1
-
-NSS_BUILD_OBJ_DIR      = Linux_x86_64_cc_glibc_PTH_64_OPT.OBJ
-
-#
-# TARGET Machine environment
-#
-nss_environment     = NATIVE_CC=gcc
-nss_environment    += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
-nss_environment    += OS_TARGET=Linux
-nss_environment    += OS_RELEASE=
-nss_environment    += OS_REL_CFLAGS="$(ARCH_DEFS) -I$(TARGET_DEST_DIR)/usr/include/nspr"
-
-ifneq ($(filter $(HARDWARE),$(TOOLCHAIN_POWER8_GLIBC)   $(TOOLCHAIN_POWER9_GLIBC)   \
-                            $(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC) \
-                            $(HARDWARE_INTEL_PC64)),)
-nss_environment    += ARCHFLAG="-m64 $(ARCH_FLAGS)"
-else
-nss_environment    += ARCHFLAG="$(ARCH_FLAGS)"
-endif
-
-nss_environment    += LIBC_TAG=_$(TARGET)-gcc_glibc
-nss_environment    += USE_PTHREADS=1
-nss_environment    += BUILD_OPT=1
-nss_environment    += OPT_CODE_SIZE=1
-nss_environment    += NSDISTMODE="copy"
-
-nss_environment    += USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_USE_SYSTEM_SQLITE=1
-
-nss_environment    += CC="$(CC) --sysroot=$(TARGET_DEST_DIR)"
-nss_environment    += CCC="$(CXX) --sysroot=$(TARGET_DEST_DIR)"
-nss_environment    += RANLIB="$(RANLIB)"
-
-nss_environment    += NSPR_LDFLAGS=" -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)"
-nss_environment    += RPATH=-Wl,-rpath,'/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)'
-
-nss_environment    += CROSS_COMPILE=1
-nss_environment    += NSS_ENABLE_WERROR=0
-
-#
-# TARGET Machine HW depended environment
-#
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
-                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
-                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
-                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
-nss_environment    += OS_TEST=arm
-nss_environment    += OS_TEST=arm
-nss_environment    += CPU_ARCH=arm
-NSS_TARGET_OBJ_DIR  = Linux_arm_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
-                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_S9XX_GLIBC)   \
-                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
-nss_environment    += USE_64=1
-nss_environment    += OS_TEST=aarch64
-nss_environment    += CPU_ARCH=aarch64
-NSS_TARGET_OBJ_DIR  = Linux_aarch64_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC)),)
-nss_environment    += CPU_ARCH=mips32r2
-NSS_TARGET_OBJ_DIR  = Linux_mips32r2_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_P5600_GLIBC)),)
-nss_environment    += CPU_ARCH=mips32r5
-NSS_TARGET_OBJ_DIR  = Linux_mips32r5_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-nss_environment    += USE_64=1
-nss_environment    += OS_TEST=ppc64
-nss_environment    += CPU_ARCH=ppc
-NSS_TARGET_OBJ_DIR  = Linux_ppc_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
-nss_environment    += USE_64=1
-nss_environment    += OS_TEST=ppc64le
-nss_environment    += CPU_ARCH=ppc
-NSS_TARGET_OBJ_DIR  = Linux_ppc_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
-nss_environment    += USE_64=1
-nss_environment    += CPU_ARCH=riscv64
-NSS_TARGET_OBJ_DIR  = Linux_riscv64_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
-nss_environment    += CPU_ARCH=x86
-NSS_TARGET_OBJ_DIR  = Linux_x86_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-nss_environment    += USE_64=1
-nss_environment    += CPU_ARCH=x86_64
-NSS_TARGET_OBJ_DIR  = Linux_x86_64_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
-endif
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	# ======= add NSPR LDFLAGS =======
-	@( cd $(SRC_DIR)/coreconf ; \
-	   sed -i "s,^\(MKSHLIB.*\).*,\1 $$\(NSPR_LDFLAGS\)," Linux.mk ; \
-	 )
-	# ======= make nsinstall utils for BUILD Machine =======
-	@( cd $(SRC_DIR)/coreconf/nsinstall ; \
-	   $(MAKE) $(nss_build_environment) ; \
-	   mkdir -p $(NSS_TARGET_OBJ_DIR)       ; \
-	   cd $(NSS_BUILD_OBJ_DIR) && cp -a * ../$(NSS_TARGET_OBJ_DIR)/ ; \
-	   touch ../$(NSS_TARGET_OBJ_DIR)/nsinstall ; \
-	 )
-	# ======= build NSS =======
-	@( cd $(SRC_DIR) ; \
-	   $(MAKE) $(nss_environment) ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(NSS_PKG)/usr/{bin,lib$(LIBSUFFIX)/pkgconfig,include/nss}
-	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
-	   for file in certutil cmsutil crlutil derdump modutil pk12util \
-	               pp shlibsign signtool signver ssltap vfychain vfyserv ; do \
-	     cp -a bin/$$file $(NSS_PKG)/usr/bin ; \
-	   done ; \
-	   cp -a lib/* $(NSS_PKG)/usr/lib$(LIBSUFFIX) ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/dist/public ; \
-	   cp -a nss/* $(NSS_PKG)/usr/include/nss ; \
-	 )
-	@( cd $(NSS_PKG)/usr/lib$(LIBSUFFIX) ; \
-	   rm -f *test* *dbm* *.a ; \
-	 )
-	# ======= keep some static libraries =======
-	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
-	   cp -a lib/lib{crmf,nssb,nssckfw}.a $(NSS_PKG)/usr/lib$(LIBSUFFIX) ; \
-	 )
-	@( cd $(SRC_DIR)/cmd/smimetools ; \
-	   cp -a smime $(NSS_PKG)/usr/bin ; \
-	   chmod 0755 $(NSS_PKG)/usr/bin/smime ; \
-	   sed -i -e 's,/usr/local/bin,/usr/bin,g' $(NSS_PKG)/usr/bin/smime ; \
-	 )
-	# ======= Install Documentation =======
-	@mkdir -p $(NSS_PKG)/usr/doc/$(src_dir_name)
-	@cp -a $(SRC_DIR)/COPYING \
-	       $(NSS_PKG)/usr/doc/$(src_dir_name)
-	@mkdir -p $(NSS_PKG)/usr/share/doc/$(src_dir_name)
-	@( cd $(SRC_DIR) ; \
-	   cp -a COPYING readme.md doc/html \
-	         $(NSS_PKG)/usr/share/doc/$(src_dir_name) ; \
-	   if [ -r .hg_archival.txt ]; then \
-	     cat .hg_archival.txt > $(NSS_PKG)/usr/share/doc/$(src_dir_name)/source-revision ; \
-	   fi ; \
-	   rm -f $(NSS_PKG)/usr/share/doc/$(src_dir_name)/html/.hgignore ; \
-	 )
-	@( cd $(SRC_DIR) ; \
-	   if [ -r ChangeLog ]; then \
-	     DOCSDIR=`echo $(NSS_PKG)/usr/share/doc/$(src_dir_name)` ; \
-	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
-	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
-	   fi \
-	 )
-	# ======= install 'nss.pc' pkgconfig file =======
-	@sed -e "s,@PREFIX@,/usr,g" \
-	     -e "s,@LIBDIRSUFFIX@,$(LIBSUFFIX),g" \
-	     -e "s,@VERSION@,$(version),g" \
-	     -e "s,@NSPR_VERSION@,$(nspr_version),g" \
-	     $(nss_pc_in) > $(NSS_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig/nss.pc
-	@( cd $(NSS_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   ln -sf nss.pc mozilla-nss.pc ; \
-	 )
-	# ======= install 'nss-config' script =======
-	@sed -e "s,@PREFIX@,/usr,g" \
-	     -e "s,@LIBDIRSUFFIX@,$(LIBSUFFIX),g" \
-	     -e "s,@MOD_MAJOR_VERSION@,$(shell echo $(version) | cut -f 1 -d '.'),g" \
-	     -e "s,@MOD_MINOR_VERSION@,$(shell echo $(version) | cut -f 2 -d '.'),g" \
-	     -e "s,@MOD_PATCH_VERSION@,$(shell echo $(version) | cut -f 3 -d '.'),g" \
-	     $(nss_config_in) > $(NSS_PKG)/usr/bin/nss-config
-	@chmod 755 $(NSS_PKG)/usr/bin/nss-config
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(NSS_PKG))
-	# ======= tune nss-config to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss-config ; \
-	 )
-	# ======= tune pkg-config *.pc search path to the target destination for development =======
-	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
-	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss.pc \
-	 )
-	# ======= Strip binaries =======
-	@( cd $(NSS_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(NSS_PKG_DESCRIPTION_FILE): $(NSS_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(NSS_PKG_DESCRIPTION_FILE) $(NSS_PKG_INSTALL_SCRIPT)
-	@cp $(NSS_PKG_DESCRIPTION_FILE) $(NSS_PKG)/.DESCRIPTION
-	@cp $(NSS_PKG_INSTALL_SCRIPT) $(NSS_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(NSS_PKG)/.REQUIRES
-	@echo "pkgname=$(NSS_PKG_NAME)"                            >  $(NSS_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(NSS_PKG_VERSION)"                          >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "arch=$(NSS_PKG_ARCH)"                               >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "distroname=$(NSS_PKG_DISTRO_NAME)"                  >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "distrover=$(NSS_PKG_DISTRO_VERSION)"                >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "group=$(NSS_PKG_GROUP)"                             >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(NSS_PKG_SHORT_DESCRIPTION)\"" >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "url=$(NSS_PKG_URL)"                                 >> $(NSS_PKG)/.PKGINFO ; \
-	 echo "license=$(NSS_PKG_LICENSE)"                         >> $(NSS_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(NSS_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nss/3.64/nss-pkg-install.sh
===================================================================
--- net/nss/3.64/nss-pkg-install.sh	(revision 28)
+++ net/nss/3.64/nss-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: net/nss/3.64/nss-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/nss/3.64
===================================================================
--- net/nss/3.64	(revision 28)
+++ net/nss/3.64	(nonexistent)

Property changes on: net/nss/3.64
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/nss/3.89/Makefile
===================================================================
--- net/nss/3.89/Makefile	(nonexistent)
+++ net/nss/3.89/Makefile	(revision 29)
@@ -0,0 +1,363 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+NO_CCACHE    = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/mozilla-nss
+
+REQUIRES           = net/nspr/4.35
+REQUIRES          += app/sqlite/3.39.4.0
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 3.89
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nss/nss-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/nss-$(version)
+src_dir_name       = nss-$(version)
+doc_dir_name       = nss-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source-done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+nss_config_in      = $(CURDIR)/config/nss-config.in
+nss_pc_in          = $(CURDIR)/config/nss.pc.in
+
+nspr_version       = $(strip \
+                       $(foreach pkg, $(REQUIRES), \
+                         $(if $(shell echo $(pkg) | grep "net/nspr/"),\
+                           $(shell echo $(pkg) | cut -f 3 -d '/' | cut -f 1 -d '-'),)))
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+NSS_PKG_NAME                = nss
+NSS_PKG_VERSION             = 3.89
+NSS_PKG_ARCH                = $(PKGARCH)
+NSS_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+NSS_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+NSS_PKG_GROUP               = $(PKG_GROUP)
+###                          |---handy-ruler-------------------------------|
+NSS_PKG_SHORT_DESCRIPTION   = Mozilla Network Security Services
+NSS_PKG_URL                 = $(BUG_URL)
+NSS_PKG_LICENSE             = MPLv2
+NSS_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSS_PKG_NAME)-pkg-description
+NSS_PKG_DESCRIPTION_FILE_IN = $(NSS_PKG_NAME)-pkg-description.in
+NSS_PKG_INSTALL_SCRIPT      = $(NSS_PKG_NAME)-pkg-install.sh
+
+NSS_PKG          = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSS_PKG_NAME)-package
+
+pkg_basename     = $(NSS_PKG_NAME)-$(NSS_PKG_VERSION)-$(NSS_PKG_ARCH)-$(NSS_PKG_DISTRO_NAME)-$(NSS_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+#
+# BUILD Machine environment
+#
+nss_build_environment  = NATIVE_CC=gcc
+nss_build_environment += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
+nss_build_environment += OS_TARGET=Linux
+nss_build_environment += OS_RELEASE=
+nss_build_environment += OS_REL_CFLAGS=
+nss_build_environment += CPU_ARCH=x86_64
+nss_build_environment += USE_64=1
+nss_build_environment += ARCHFLAG=-m64
+nss_build_environment += LIBC_TAG=_glibc
+nss_build_environment += USE_PTHREADS=1
+nss_build_environment += BUILD_OPT=1
+nss_build_environment += OPT_CODE_SIZE=1
+
+NSS_BUILD_OBJ_DIR      = Linux_x86_64_cc_glibc_PTH_64_OPT.OBJ
+
+#
+# TARGET Machine environment
+#
+nss_environment     = NATIVE_CC=gcc
+nss_environment    += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
+nss_environment    += OS_TARGET=Linux
+nss_environment    += OS_RELEASE=
+nss_environment    += OS_REL_CFLAGS="$(ARCH_DEFS) -I$(TARGET_DEST_DIR)/usr/include/nspr"
+
+ifneq ($(filter $(HARDWARE),$(TOOLCHAIN_POWER8_GLIBC)   $(TOOLCHAIN_POWER9_GLIBC)   \
+                            $(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC) \
+                            $(HARDWARE_INTEL_PC64)),)
+nss_environment    += ARCHFLAG="-m64 $(ARCH_FLAGS)"
+else
+nss_environment    += ARCHFLAG="$(ARCH_FLAGS)"
+endif
+
+nss_environment    += LIBC_TAG=_$(TARGET)-gcc_glibc
+nss_environment    += USE_PTHREADS=1
+nss_environment    += BUILD_OPT=1
+nss_environment    += OPT_CODE_SIZE=1
+nss_environment    += NSDISTMODE="copy"
+
+nss_environment    += USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_USE_SYSTEM_SQLITE=1
+
+nss_environment    += CC="$(CC) --sysroot=$(TARGET_DEST_DIR)"
+nss_environment    += CCC="$(CXX) --sysroot=$(TARGET_DEST_DIR)"
+nss_environment    += RANLIB="$(RANLIB)"
+
+nss_environment    += NSPR_LDFLAGS=" -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)"
+nss_environment    += RPATH=-Wl,-rpath,'/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)'
+
+nss_environment    += CROSS_COMPILE=1
+nss_environment    += NSS_ENABLE_WERROR=0
+
+#
+# TARGET Machine HW depended environment
+#
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
+                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
+                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
+                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+nss_environment    += OS_TEST=arm
+nss_environment    += OS_TEST=arm
+nss_environment    += CPU_ARCH=arm
+NSS_TARGET_OBJ_DIR  = Linux_arm_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
+                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_S9XX_GLIBC)   \
+                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
+nss_environment    += USE_64=1
+nss_environment    += OS_TEST=aarch64
+nss_environment    += CPU_ARCH=aarch64
+NSS_TARGET_OBJ_DIR  = Linux_aarch64_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC)),)
+nss_environment    += CPU_ARCH=mips32r2
+NSS_TARGET_OBJ_DIR  = Linux_mips32r2_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_P5600_GLIBC)),)
+nss_environment    += CPU_ARCH=mips32r5
+NSS_TARGET_OBJ_DIR  = Linux_mips32r5_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+nss_environment    += USE_64=1
+nss_environment    += OS_TEST=ppc64
+nss_environment    += CPU_ARCH=ppc
+NSS_TARGET_OBJ_DIR  = Linux_ppc_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+nss_environment    += USE_64=1
+nss_environment    += OS_TEST=ppc64le
+nss_environment    += CPU_ARCH=ppc
+NSS_TARGET_OBJ_DIR  = Linux_ppc_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
+nss_environment    += USE_64=1
+nss_environment    += CPU_ARCH=riscv64
+NSS_TARGET_OBJ_DIR  = Linux_riscv64_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
+nss_environment    += CPU_ARCH=x86
+NSS_TARGET_OBJ_DIR  = Linux_x86_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+nss_environment    += USE_64=1
+nss_environment    += CPU_ARCH=x86_64
+NSS_TARGET_OBJ_DIR  = Linux_x86_64_$(TARGET)-gcc_glibc_PTH_64_OPT.OBJ
+endif
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	# ======= add NSPR LDFLAGS =======
+	@( cd $(SRC_DIR)/coreconf ; \
+	   sed -i "s,^\(MKSHLIB.*\).*,\1 $$\(NSPR_LDFLAGS\)," Linux.mk ; \
+	 )
+	# ======= make nsinstall utils for BUILD Machine =======
+	@( cd $(SRC_DIR)/coreconf/nsinstall ; \
+	   $(MAKE) $(nss_build_environment) ; \
+	   mkdir -p $(NSS_TARGET_OBJ_DIR)       ; \
+	   cd $(NSS_BUILD_OBJ_DIR) && cp -a * ../$(NSS_TARGET_OBJ_DIR)/ ; \
+	   touch ../$(NSS_TARGET_OBJ_DIR)/nsinstall ; \
+	 )
+	# ======= build NSS =======
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) $(nss_environment) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(NSS_PKG)/usr/{bin,lib$(LIBSUFFIX)/pkgconfig,include/nss}
+	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
+	   for file in certutil cmsutil crlutil derdump modutil pk12util \
+	               pp shlibsign signtool signver ssltap vfychain vfyserv ; do \
+	     cp -a bin/$$file $(NSS_PKG)/usr/bin ; \
+	   done ; \
+	   cp -a lib/* $(NSS_PKG)/usr/lib$(LIBSUFFIX) ; \
+	 )
+	@( cd $(TARGET_BUILD_DIR)/dist/public ; \
+	   cp -a nss/* $(NSS_PKG)/usr/include/nss ; \
+	 )
+	@( cd $(NSS_PKG)/usr/lib$(LIBSUFFIX) ; \
+	   rm -f *test* *dbm* *.a ; \
+	 )
+	# ======= keep some static libraries =======
+	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
+	   cp -a lib/lib{crmf,nssb,nssckfw}.a $(NSS_PKG)/usr/lib$(LIBSUFFIX) ; \
+	 )
+	@( cd $(SRC_DIR)/cmd/smimetools ; \
+	   cp -a smime $(NSS_PKG)/usr/bin ; \
+	   chmod 0755 $(NSS_PKG)/usr/bin/smime ; \
+	   sed -i -e 's,/usr/local/bin,/usr/bin,g' $(NSS_PKG)/usr/bin/smime ; \
+	 )
+	# ======= Install Documentation =======
+	@mkdir -p $(NSS_PKG)/usr/doc/$(src_dir_name)
+	@cp -a $(SRC_DIR)/COPYING \
+	       $(NSS_PKG)/usr/doc/$(src_dir_name)
+	@mkdir -p $(NSS_PKG)/usr/share/doc/$(src_dir_name)
+	@( cd $(SRC_DIR) ; \
+	   cp -a COPYING readme.md doc/html \
+	         $(NSS_PKG)/usr/share/doc/$(src_dir_name) ; \
+	   if [ -r .hg_archival.txt ]; then \
+	     cat .hg_archival.txt > $(NSS_PKG)/usr/share/doc/$(src_dir_name)/source-revision ; \
+	   fi ; \
+	   rm -f $(NSS_PKG)/usr/share/doc/$(src_dir_name)/html/.hgignore ; \
+	 )
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(NSS_PKG)/usr/share/doc/$(src_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= install 'nss.pc' pkgconfig file =======
+	@sed -e "s,@PREFIX@,/usr,g" \
+	     -e "s,@LIBDIRSUFFIX@,$(LIBSUFFIX),g" \
+	     -e "s,@VERSION@,$(version),g" \
+	     -e "s,@NSPR_VERSION@,$(nspr_version),g" \
+	     $(nss_pc_in) > $(NSS_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig/nss.pc
+	@( cd $(NSS_PKG)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   ln -sf nss.pc mozilla-nss.pc ; \
+	 )
+	# ======= install 'nss-config' script =======
+	@sed -e "s,@PREFIX@,/usr,g" \
+	     -e "s,@LIBDIRSUFFIX@,$(LIBSUFFIX),g" \
+	     -e "s,@MOD_MAJOR_VERSION@,$(shell echo $(version) | cut -f 1 -d '.'),g" \
+	     -e "s,@MOD_MINOR_VERSION@,$(shell echo $(version) | cut -f 2 -d '.'),g" \
+	     -e "s,@MOD_PATCH_VERSION@,$(shell echo $(version) | cut -f 3 -d '.'),g" \
+	     $(nss_config_in) > $(NSS_PKG)/usr/bin/nss-config
+	@chmod 755 $(NSS_PKG)/usr/bin/nss-config
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(NSS_PKG))
+	# ======= tune nss-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(NSS_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(NSS_PKG_DESCRIPTION_FILE): $(NSS_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(NSS_PKG_DESCRIPTION_FILE) $(NSS_PKG_INSTALL_SCRIPT)
+	@cp $(NSS_PKG_DESCRIPTION_FILE) $(NSS_PKG)/.DESCRIPTION
+	@cp $(NSS_PKG_INSTALL_SCRIPT) $(NSS_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(NSS_PKG)/.REQUIRES
+	@echo "pkgname=$(NSS_PKG_NAME)"                            >  $(NSS_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(NSS_PKG_VERSION)"                          >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "arch=$(NSS_PKG_ARCH)"                               >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "distroname=$(NSS_PKG_DISTRO_NAME)"                  >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "distrover=$(NSS_PKG_DISTRO_VERSION)"                >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "group=$(NSS_PKG_GROUP)"                             >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(NSS_PKG_SHORT_DESCRIPTION)\"" >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "url=$(NSS_PKG_URL)"                                 >> $(NSS_PKG)/.PKGINFO ; \
+	 echo "license=$(NSS_PKG_LICENSE)"                         >> $(NSS_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(NSS_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nss/3.89/PATCHES
===================================================================
--- net/nss/3.89/PATCHES	(nonexistent)
+++ net/nss/3.89/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/mozilla-nss/patches/nss-3.89-build-tree.patch -p0
Index: net/nss/3.89/config/nss-config.in
===================================================================
--- net/nss/3.89/config/nss-config.in	(nonexistent)
+++ net/nss/3.89/config/nss-config.in	(revision 29)
@@ -0,0 +1,144 @@
+#!/bin/sh
+
+prefix=@PREFIX@
+
+major_version=@MOD_MAJOR_VERSION@
+minor_version=@MOD_MINOR_VERSION@
+patch_version=@MOD_PATCH_VERSION@
+
+usage()
+{
+	cat <<EOF
+Usage: nss-config [OPTIONS] [LIBRARIES]
+Options:
+	[--prefix[=DIR]]
+	[--exec-prefix[=DIR]]
+	[--includedir[=DIR]]
+	[--libdir[=DIR]]
+	[--version]
+	[--libs]
+	[--cflags]
+Dynamic Libraries:
+	nss
+	nssutil
+	ssl
+	smime
+EOF
+	exit $1
+}
+
+if test $# -eq 0; then
+  usage 1 1>&2
+fi
+
+lib_ssl=yes
+lib_smime=yes
+lib_nss=yes
+lib_nssutil=yes
+
+while test $# -gt 0; do
+  case "$1" in
+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  case $1 in
+    --prefix=*)
+      prefix=$optarg
+      ;;
+    --prefix)
+      echo_prefix=yes
+      ;;
+    --exec-prefix=*)
+      exec_prefix=$optarg
+      ;;
+    --exec-prefix)
+      echo_exec_prefix=yes
+      ;;
+    --includedir=*)
+      includedir=$optarg
+      ;;
+    --includedir)
+      echo_includedir=yes
+      ;;
+    --libdir=*)
+      libdir=$optarg
+      ;;
+    --libdir)
+      echo_libdir=yes
+      ;;
+    --version)
+      echo ${major_version}.${minor_version}.${patch_version}
+      ;;
+    --cflags)
+      echo_cflags=yes
+      ;;
+    --libs)
+      echo_libs=yes
+      ;;
+    ssl)
+      lib_ssl=yes
+      ;;
+    smime)
+      lib_smime=yes
+      ;;
+    nss)
+      lib_nss=yes
+      ;;
+    nssutil)
+      lib_nssutil=yes
+      ;;
+    *)
+      usage 1 1>&2
+      ;;
+  esac
+  shift
+done
+
+# Set variables that may be dependent upon other variables
+if test -z "$exec_prefix"; then
+    exec_prefix=`pkg-config --variable=exec_prefix nss`
+fi
+if test -z "$includedir"; then
+    includedir=`pkg-config --variable=includedir nss`
+fi
+if test -z "$libdir"; then
+    libdir=`pkg-config --variable=libdir nss`
+fi
+
+if test "$echo_prefix" = "yes"; then
+  echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+  echo $exec_prefix
+fi
+
+if test "$echo_includedir" = "yes"; then
+  echo $includedir
+fi
+
+if test "$echo_libdir" = "yes"; then
+  echo $libdir
+fi
+
+if test "$echo_cflags" = "yes"; then
+  echo -I$includedir
+fi
+
+if test "$echo_libs" = "yes"; then
+  libdirs="-Wl,-rpath-link,$libdir -L$libdir"
+  if test -n "$lib_ssl"; then
+    libdirs="$libdirs -lssl${major_version}"
+  fi
+  if test -n "$lib_smime"; then
+    libdirs="$libdirs -lsmime${major_version}"
+  fi
+  if test -n "$lib_nss"; then
+    libdirs="$libdirs -lnss${major_version}"
+  fi
+  if test -n "$lib_nssutil"; then
+    libdirs="$libdirs -lnssutil${major_version}"
+  fi
+  echo $libdirs
+fi
Index: net/nss/3.89/config/nss.pc.in
===================================================================
--- net/nss/3.89/config/nss.pc.in	(nonexistent)
+++ net/nss/3.89/config/nss.pc.in	(revision 29)
@@ -0,0 +1,11 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+libdir=/usr/lib@LIBDIRSUFFIX@
+includedir=${prefix}/include/nss
+
+Name: NSS
+Description: Network Security Services
+Version: @VERSION@
+Requires: nspr >= @NSPR_VERSION@ sqlite3
+Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3  -lnssutil3
+Cflags: -I${includedir}
Index: net/nss/3.89/config
===================================================================
--- net/nss/3.89/config	(nonexistent)
+++ net/nss/3.89/config	(revision 29)

Property changes on: net/nss/3.89/config
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nss/3.89/nss-pkg-description.in
===================================================================
--- net/nss/3.89/nss-pkg-description.in	(nonexistent)
+++ net/nss/3.89/nss-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+nss: nss @VERSION@ (Network Security Services)
+nss:
+nss: Network Security Services (NSS) is a set of libraries designed to
+nss: support cross-platform development of security-enabled client and
+nss: server applications. Applications built with NSS can support
+nss: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
+nss: X.509 v3 certificates, and other security standards.
+nss:
+nss: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+nss:
+nss:
Index: net/nss/3.89/nss-pkg-install.sh
===================================================================
--- net/nss/3.89/nss-pkg-install.sh	(nonexistent)
+++ net/nss/3.89/nss-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: net/nss/3.89/nss-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/nss/3.89
===================================================================
--- net/nss/3.89	(nonexistent)
+++ net/nss/3.89	(revision 29)

Property changes on: net/nss/3.89
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nss/3.89-ppc32/Makefile
===================================================================
--- net/nss/3.89-ppc32/Makefile	(nonexistent)
+++ net/nss/3.89-ppc32/Makefile	(revision 29)
@@ -0,0 +1,247 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+NO_CCACHE    = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/mozilla-nss
+
+REQUIRES           = net/nss/3.89
+REQUIRES          += net/nspr/4.35-ppc32
+REQUIRES          += app/sqlite/3.39.4.0-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 3.89
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nss/nss-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/nss-$(version)
+src_dir_name       = nss-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+nss_config_in      = $(CURDIR)/config/nss-config.in
+nss_pc_in          = $(CURDIR)/config/nss.pc.in
+
+nspr_version       = $(strip \
+                       $(foreach pkg, $(REQUIRES), \
+                         $(if $(shell echo $(pkg) | grep "net/nspr/"),\
+                           $(shell echo $(pkg) | cut -f 3 -d '/' | cut -f 1 -d '-'),)))
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+NSS_32_PKG_NAME                = nss-x32
+NSS_32_PKG_VERSION             = 3.89
+NSS_32_PKG_ARCH                = $(PKGARCH)
+NSS_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+NSS_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+NSS_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+NSS_32_PKG_SHORT_DESCRIPTION   = Mozilla Network Security Services
+NSS_32_PKG_URL                 = $(BUG_URL)
+NSS_32_PKG_LICENSE             = MPLv2
+NSS_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-pkg-description
+NSS_32_PKG_DESCRIPTION_FILE_IN = $(NSS_32_PKG_NAME)-pkg-description.in
+NSS_32_PKG_INSTALL_SCRIPT      = $(NSS_32_PKG_NAME)-pkg-install.sh
+
+NSS_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-package
+
+pkg_basename     = $(NSS_32_PKG_NAME)-$(NSS_32_PKG_VERSION)-$(NSS_32_PKG_ARCH)-$(NSS_32_PKG_DISTRO_NAME)-$(NSS_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+#
+# BUILD Machine environment
+#
+nss_build_environment  = NATIVE_CC=gcc
+nss_build_environment += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
+nss_build_environment += OS_TARGET=Linux
+nss_build_environment += OS_RELEASE=
+nss_build_environment += OS_REL_CFLAGS=
+nss_build_environment += CPU_ARCH=x86_64
+nss_build_environment += USE_64=1
+nss_build_environment += ARCHFLAG=-m64
+nss_build_environment += LIBC_TAG=_glibc
+nss_build_environment += USE_PTHREADS=1
+nss_build_environment += BUILD_OPT=1
+nss_build_environment += OPT_CODE_SIZE=1
+
+NSS_BUILD_OBJ_DIR      = Linux_x86_64_cc_glibc_PTH_64_OPT.OBJ
+
+#
+# TARGET Machine environment
+#
+nss_environment     = NATIVE_CC=gcc
+nss_environment    += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
+nss_environment    += OS_TARGET=Linux
+nss_environment    += OS_RELEASE=
+nss_environment    += OS_REL_CFLAGS="$(ARCH_DEFS) -I$(TARGET_DEST_DIR)/usr/include/nspr"
+
+nss_environment    += USE_32=1
+nss_environment    += ARCHFLAG="$(ARCH_FLAGS)"
+
+nss_environment    += LIBC_TAG=_$(TARGET)-gcc_glibc
+nss_environment    += USE_PTHREADS=1
+nss_environment    += BUILD_OPT=1
+nss_environment    += OPT_CODE_SIZE=1
+nss_environment    += NSDISTMODE="copy"
+
+nss_environment    += USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_USE_SYSTEM_SQLITE=1
+
+nss_environment    += CC="$(CC) --sysroot=$(TARGET_DEST_DIR)"
+nss_environment    += CCC="$(CXX) --sysroot=$(TARGET_DEST_DIR)"
+nss_environment    += RANLIB="$(RANLIB)"
+
+nss_environment    += NSPR_LDFLAGS=" -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)"
+nss_environment    += RPATH=-Wl,-rpath,'/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)'
+
+nss_environment    += CROSS_COMPILE=1
+nss_environment    += NSS_ENABLE_WERROR=0
+
+#
+# TARGET Machine HW depended environment
+#
+nss_environment    += OS_TEST=ppc
+nss_environment    += CPU_ARCH=ppc
+NSS_TARGET_OBJ_DIR  = Linux_ppc_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	# ======= add NSPR LDFLAGS =======
+	@( cd $(SRC_DIR)/coreconf ; \
+	   sed -i "s,^\(MKSHLIB.*\).*,\1 $$\(NSPR_LDFLAGS\)," Linux.mk ; \
+	 )
+	# ======= make nsinstall utils for BUILD Machine =======
+	@( cd $(SRC_DIR)/coreconf/nsinstall ; \
+	   $(MAKE) $(nss_build_environment) ; \
+	   mkdir -p $(NSS_TARGET_OBJ_DIR)   ; \
+	   cd $(NSS_BUILD_OBJ_DIR) && cp -a * ../$(NSS_TARGET_OBJ_DIR)/ ; \
+	   touch ../$(NSS_TARGET_OBJ_DIR)/nsinstall ; \
+	 )
+	# ======= build NSS =======
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) $(nss_environment) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(NSS_32_PKG)/usr/{bin/32,lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig}
+	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
+	   for file in certutil cmsutil crlutil derdump modutil pk12util \
+	               pp shlibsign signtool signver ssltap vfychain vfyserv ; do \
+	     cp -a bin/$$file  $(NSS_32_PKG)/usr/bin/32 ; \
+	   done ; \
+	   cp -a lib/* $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	 )
+	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	   rm -f *test* *dbm* *.a ; \
+	 )
+	# ======= keep some static libraries =======
+	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
+	   cp -a lib/lib{crmf,nssb,nssckfw}.a $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+	 )
+	@( cd $(SRC_DIR)/cmd/smimetools ; \
+	   cp -a smime $(NSS_32_PKG)/usr/bin/32 ; \
+	   chmod 0755 $(NSS_32_PKG)/usr/bin/32/smime ; \
+	   sed -i -e 's,/usr/local/bin,/usr/bin,g' $(NSS_32_PKG)/usr/bin/32/smime ; \
+	 )
+	# ======= install 'nss.pc' pkgconfig file =======
+	@sed -e "s,@PREFIX@,/usr,g" \
+	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_PPC32_SUFFIX),g" \
+	     -e "s,@VERSION@,$(version),g" \
+	     -e "s,@NSPR_VERSION@,$(nspr_version),g" \
+	     $(nss_pc_in) > $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig/nss.pc
+	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   ln -sf nss.pc mozilla-nss.pc ; \
+	 )
+	# ======= install 'nss-config' script =======
+	@sed -e "s,@PREFIX@,/usr,g" \
+	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_PPC32_SUFFIX),g" \
+	     -e "s,@MOD_MAJOR_VERSION@,$(shell echo $(version) | cut -f 1 -d '.'),g" \
+	     -e "s,@MOD_MINOR_VERSION@,$(shell echo $(version) | cut -f 2 -d '.'),g" \
+	     -e "s,@MOD_PATCH_VERSION@,$(shell echo $(version) | cut -f 3 -d '.'),g" \
+	     $(nss_config_in) > $(NSS_32_PKG)/usr/bin/32/nss-config
+	@chmod 755 $(NSS_32_PKG)/usr/bin/32/nss-config
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(NSS_32_PKG))
+	# ======= tune nss-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(NSS_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(NSS_32_PKG_DESCRIPTION_FILE): $(NSS_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG_INSTALL_SCRIPT)
+	@cp $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG)/.DESCRIPTION
+	@cp $(NSS_32_PKG_INSTALL_SCRIPT) $(NSS_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(NSS_32_PKG)/.REQUIRES
+	@echo "pkgname=$(NSS_32_PKG_NAME)"                            >  $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(NSS_32_PKG_VERSION)"                          >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(NSS_32_PKG_ARCH)"                               >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(NSS_32_PKG_DISTRO_NAME)"                  >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(NSS_32_PKG_DISTRO_VERSION)"                >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "group=$(NSS_32_PKG_GROUP)"                             >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(NSS_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "url=$(NSS_32_PKG_URL)"                                 >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "license=$(NSS_32_PKG_LICENSE)"                         >> $(NSS_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(NSS_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nss/3.89-ppc32/PATCHES
===================================================================
--- net/nss/3.89-ppc32/PATCHES	(nonexistent)
+++ net/nss/3.89-ppc32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/mozilla-nss/patches/nss-3.89-build-tree.patch -p0
Index: net/nss/3.89-ppc32/config/nss-config.in
===================================================================
--- net/nss/3.89-ppc32/config/nss-config.in	(nonexistent)
+++ net/nss/3.89-ppc32/config/nss-config.in	(revision 29)
@@ -0,0 +1,144 @@
+#!/bin/sh
+
+prefix=@PREFIX@
+
+major_version=@MOD_MAJOR_VERSION@
+minor_version=@MOD_MINOR_VERSION@
+patch_version=@MOD_PATCH_VERSION@
+
+usage()
+{
+	cat <<EOF
+Usage: nss-config [OPTIONS] [LIBRARIES]
+Options:
+	[--prefix[=DIR]]
+	[--exec-prefix[=DIR]]
+	[--includedir[=DIR]]
+	[--libdir[=DIR]]
+	[--version]
+	[--libs]
+	[--cflags]
+Dynamic Libraries:
+	nss
+	nssutil
+	ssl
+	smime
+EOF
+	exit $1
+}
+
+if test $# -eq 0; then
+  usage 1 1>&2
+fi
+
+lib_ssl=yes
+lib_smime=yes
+lib_nss=yes
+lib_nssutil=yes
+
+while test $# -gt 0; do
+  case "$1" in
+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  case $1 in
+    --prefix=*)
+      prefix=$optarg
+      ;;
+    --prefix)
+      echo_prefix=yes
+      ;;
+    --exec-prefix=*)
+      exec_prefix=$optarg
+      ;;
+    --exec-prefix)
+      echo_exec_prefix=yes
+      ;;
+    --includedir=*)
+      includedir=$optarg
+      ;;
+    --includedir)
+      echo_includedir=yes
+      ;;
+    --libdir=*)
+      libdir=$optarg
+      ;;
+    --libdir)
+      echo_libdir=yes
+      ;;
+    --version)
+      echo ${major_version}.${minor_version}.${patch_version}
+      ;;
+    --cflags)
+      echo_cflags=yes
+      ;;
+    --libs)
+      echo_libs=yes
+      ;;
+    ssl)
+      lib_ssl=yes
+      ;;
+    smime)
+      lib_smime=yes
+      ;;
+    nss)
+      lib_nss=yes
+      ;;
+    nssutil)
+      lib_nssutil=yes
+      ;;
+    *)
+      usage 1 1>&2
+      ;;
+  esac
+  shift
+done
+
+# Set variables that may be dependent upon other variables
+if test -z "$exec_prefix"; then
+    exec_prefix=`pkg-config --variable=exec_prefix nss`
+fi
+if test -z "$includedir"; then
+    includedir=`pkg-config --variable=includedir nss`
+fi
+if test -z "$libdir"; then
+    libdir=`pkg-config --variable=libdir nss`
+fi
+
+if test "$echo_prefix" = "yes"; then
+  echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+  echo $exec_prefix
+fi
+
+if test "$echo_includedir" = "yes"; then
+  echo $includedir
+fi
+
+if test "$echo_libdir" = "yes"; then
+  echo $libdir
+fi
+
+if test "$echo_cflags" = "yes"; then
+  echo -I$includedir
+fi
+
+if test "$echo_libs" = "yes"; then
+  libdirs="-Wl,-rpath-link,$libdir -L$libdir"
+  if test -n "$lib_ssl"; then
+    libdirs="$libdirs -lssl${major_version}"
+  fi
+  if test -n "$lib_smime"; then
+    libdirs="$libdirs -lsmime${major_version}"
+  fi
+  if test -n "$lib_nss"; then
+    libdirs="$libdirs -lnss${major_version}"
+  fi
+  if test -n "$lib_nssutil"; then
+    libdirs="$libdirs -lnssutil${major_version}"
+  fi
+  echo $libdirs
+fi
Index: net/nss/3.89-ppc32/config/nss.pc.in
===================================================================
--- net/nss/3.89-ppc32/config/nss.pc.in	(nonexistent)
+++ net/nss/3.89-ppc32/config/nss.pc.in	(revision 29)
@@ -0,0 +1,11 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+libdir=/usr/lib@LIBDIRSUFFIX@
+includedir=${prefix}/include/nss
+
+Name: NSS
+Description: Network Security Services
+Version: @VERSION@
+Requires: nspr >= @NSPR_VERSION@ sqlite3
+Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3  -lnssutil3
+Cflags: -I${includedir}
Index: net/nss/3.89-ppc32/config
===================================================================
--- net/nss/3.89-ppc32/config	(nonexistent)
+++ net/nss/3.89-ppc32/config	(revision 29)

Property changes on: net/nss/3.89-ppc32/config
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nss/3.89-ppc32/nss-x32-pkg-description.in
===================================================================
--- net/nss/3.89-ppc32/nss-x32-pkg-description.in	(nonexistent)
+++ net/nss/3.89-ppc32/nss-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+nss-x32: nss-x32 @VERSION@ (Network Security Services)
+nss-x32:
+nss-x32: Network Security Services (NSS) is a set of libraries designed to
+nss-x32: support cross-platform development of security-enabled client and
+nss-x32: server applications. Applications built with NSS can support
+nss-x32: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
+nss-x32: X.509 v3 certificates, and other security standards.
+nss-x32:
+nss-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+nss-x32:
+nss-x32:
Index: net/nss/3.89-ppc32/nss-x32-pkg-install.sh
===================================================================
--- net/nss/3.89-ppc32/nss-x32-pkg-install.sh	(nonexistent)
+++ net/nss/3.89-ppc32/nss-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: net/nss/3.89-ppc32/nss-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/nss/3.89-ppc32
===================================================================
--- net/nss/3.89-ppc32	(nonexistent)
+++ net/nss/3.89-ppc32	(revision 29)

Property changes on: net/nss/3.89-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nss/3.89-x86_32/Makefile
===================================================================
--- net/nss/3.89-x86_32/Makefile	(nonexistent)
+++ net/nss/3.89-x86_32/Makefile	(revision 29)
@@ -0,0 +1,243 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+NO_CCACHE    = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/n/mozilla-nss
+
+REQUIRES           = net/nss/3.89
+REQUIRES          += net/nspr/4.35-x86_32
+REQUIRES          += app/sqlite/3.39.4.0-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 3.89
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/n/mozilla-nss/nss-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/nss-$(version)
+src_dir_name       = nss-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+nss_config_in      = $(CURDIR)/config/nss-config.in
+nss_pc_in          = $(CURDIR)/config/nss.pc.in
+
+nspr_version       = $(strip \
+                       $(foreach pkg, $(REQUIRES), \
+                         $(if $(shell echo $(pkg) | grep "net/nspr/"),\
+                           $(shell echo $(pkg) | cut -f 3 -d '/' | cut -f 1 -d '-'),)))
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+NSS_32_PKG_NAME                = nss-x32
+NSS_32_PKG_VERSION             = 3.89
+NSS_32_PKG_ARCH                = $(PKGARCH)
+NSS_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+NSS_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+NSS_32_PKG_GROUP               = $(PKG_GROUP)
+###                             |---handy-ruler-------------------------------|
+NSS_32_PKG_SHORT_DESCRIPTION   = Mozilla Network Security Services
+NSS_32_PKG_URL                 = $(BUG_URL)
+NSS_32_PKG_LICENSE             = MPLv2
+NSS_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-pkg-description
+NSS_32_PKG_DESCRIPTION_FILE_IN = $(NSS_32_PKG_NAME)-pkg-description.in
+NSS_32_PKG_INSTALL_SCRIPT      = $(NSS_32_PKG_NAME)-pkg-install.sh
+
+NSS_32_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(NSS_32_PKG_NAME)-package
+
+pkg_basename     = $(NSS_32_PKG_NAME)-$(NSS_32_PKG_VERSION)-$(NSS_32_PKG_ARCH)-$(NSS_32_PKG_DISTRO_NAME)-$(NSS_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+#
+# BUILD Machine environment
+#
+nss_build_environment  = NATIVE_CC=gcc
+nss_build_environment += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
+nss_build_environment += OS_TARGET=Linux
+nss_build_environment += OS_RELEASE=
+nss_build_environment += OS_REL_CFLAGS=
+nss_build_environment += CPU_ARCH=x86_64
+nss_build_environment += USE_64=1
+nss_build_environment += ARCHFLAG=-m64
+nss_build_environment += LIBC_TAG=_glibc
+nss_build_environment += USE_PTHREADS=1
+nss_build_environment += BUILD_OPT=1
+nss_build_environment += OPT_CODE_SIZE=1
+
+NSS_BUILD_OBJ_DIR      = Linux_x86_64_cc_glibc_PTH_64_OPT.OBJ
+
+#
+# TARGET Machine environment
+#
+nss_environment     = NATIVE_CC=gcc
+nss_environment    += NATIVE_FLAGS="-I. -I/usr/include -g -O2 -Wno-error=nonnull -Wno-nonnull"
+nss_environment    += OS_TARGET=Linux
+nss_environment    += OS_RELEASE=
+nss_environment    += OS_REL_CFLAGS="$(ARCH_DEFS) -I$(TARGET_DEST_DIR)/usr/include/nspr"
+
+nss_environment    += USE_32=1
+nss_environment    += ARCHFLAG="$(ARCH_FLAGS)"
+
+nss_environment    += LIBC_TAG=_$(TARGET)-gcc_glibc
+nss_environment    += USE_PTHREADS=1
+nss_environment    += BUILD_OPT=1
+nss_environment    += OPT_CODE_SIZE=1
+nss_environment    += NSDISTMODE="copy"
+
+nss_environment    += USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_USE_SYSTEM_SQLITE=1
+
+nss_environment    += CC="$(CC) --sysroot=$(TARGET_DEST_DIR)"
+nss_environment    += CCC="$(CXX) --sysroot=$(TARGET_DEST_DIR)"
+nss_environment    += RANLIB="$(RANLIB)"
+
+nss_environment    += NSPR_LDFLAGS=" -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)"
+nss_environment    += RPATH=-Wl,-rpath,'/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)'
+
+nss_environment    += CROSS_COMPILE=1
+nss_environment    += NSS_ENABLE_WERROR=0
+
+#
+# TARGET Machine HW depended environment
+#
+nss_environment    += CPU_ARCH=x86
+NSS_TARGET_OBJ_DIR  = Linux_x86_$(TARGET)-gcc_glibc_PTH_OPT.OBJ
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@touch $@
+
+$(build_target): $(src_done)
+	# ======= add NSPR LDFLAGS =======
+	@( cd $(SRC_DIR)/coreconf ; \
+	   sed -i "s,^\(MKSHLIB.*\).*,\1 $$\(NSPR_LDFLAGS\)," Linux.mk ; \
+	 )
+	# ======= make nsinstall utils for BUILD Machine =======
+	@( cd $(SRC_DIR)/coreconf/nsinstall ; \
+	   $(MAKE) $(nss_build_environment) ; \
+	   mkdir -p $(NSS_TARGET_OBJ_DIR)   ; \
+	   cd $(NSS_BUILD_OBJ_DIR) && cp -a * ../$(NSS_TARGET_OBJ_DIR)/ ; \
+	   touch ../$(NSS_TARGET_OBJ_DIR)/nsinstall ; \
+	 )
+	# ======= build NSS =======
+	@( cd $(SRC_DIR) ; \
+	   $(MAKE) $(nss_environment) ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(NSS_32_PKG)/usr/{bin/32,lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig}
+	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
+	   for file in certutil cmsutil crlutil derdump modutil pk12util \
+	               pp shlibsign signtool signver ssltap vfychain vfyserv ; do \
+	     cp -a bin/$$file  $(NSS_32_PKG)/usr/bin/32 ; \
+	   done ; \
+	   cp -a lib/* $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	 )
+	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	   rm -f *test* *dbm* *.a ; \
+	 )
+	# ======= keep some static libraries =======
+	@( cd $(TARGET_BUILD_DIR)/dist/$(NSS_TARGET_OBJ_DIR) ; \
+	   cp -a lib/lib{crmf,nssb,nssckfw}.a $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+	 )
+	@( cd $(SRC_DIR)/cmd/smimetools ; \
+	   cp -a smime $(NSS_32_PKG)/usr/bin/32 ; \
+	   chmod 0755 $(NSS_32_PKG)/usr/bin/32/smime ; \
+	   sed -i -e 's,/usr/local/bin,/usr/bin,g' $(NSS_32_PKG)/usr/bin/32/smime ; \
+	 )
+	# ======= install 'nss.pc' pkgconfig file =======
+	@sed -e "s,@PREFIX@,/usr,g" \
+	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_X86_32_SUFFIX),g" \
+	     -e "s,@VERSION@,$(version),g" \
+	     -e "s,@NSPR_VERSION@,$(nspr_version),g" \
+	     $(nss_pc_in) > $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig/nss.pc
+	@( cd $(NSS_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   ln -sf nss.pc mozilla-nss.pc ; \
+	 )
+	# ======= install 'nss-config' script =======
+	@sed -e "s,@PREFIX@,/usr,g" \
+	     -e "s,@LIBDIRSUFFIX@,$(MULTILIB_X86_32_SUFFIX),g" \
+	     -e "s,@MOD_MAJOR_VERSION@,$(shell echo $(version) | cut -f 1 -d '.'),g" \
+	     -e "s,@MOD_MINOR_VERSION@,$(shell echo $(version) | cut -f 2 -d '.'),g" \
+	     -e "s,@MOD_PATCH_VERSION@,$(shell echo $(version) | cut -f 3 -d '.'),g" \
+	     $(nss_config_in) > $(NSS_32_PKG)/usr/bin/32/nss-config
+	@chmod 755 $(NSS_32_PKG)/usr/bin/32/nss-config
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(NSS_32_PKG))
+	# ======= tune nss-config to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss-config ; \
+	 )
+	# ======= tune pkg-config *.pc search path to the target destination for development =======
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" nss.pc \
+	 )
+	# ======= Strip binaries =======
+	@( cd $(NSS_32_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null \
+	 )
+	@touch $@
+
+$(NSS_32_PKG_DESCRIPTION_FILE): $(NSS_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG_INSTALL_SCRIPT)
+	@cp $(NSS_32_PKG_DESCRIPTION_FILE) $(NSS_32_PKG)/.DESCRIPTION
+	@cp $(NSS_32_PKG_INSTALL_SCRIPT) $(NSS_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(NSS_32_PKG)/.REQUIRES
+	@echo "pkgname=$(NSS_32_PKG_NAME)"                            >  $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(NSS_32_PKG_VERSION)"                          >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(NSS_32_PKG_ARCH)"                               >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(NSS_32_PKG_DISTRO_NAME)"                  >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(NSS_32_PKG_DISTRO_VERSION)"                >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "group=$(NSS_32_PKG_GROUP)"                             >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(NSS_32_PKG_SHORT_DESCRIPTION)\"" >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "url=$(NSS_32_PKG_URL)"                                 >> $(NSS_32_PKG)/.PKGINFO ; \
+	 echo "license=$(NSS_32_PKG_LICENSE)"                         >> $(NSS_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(NSS_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/nss/3.89-x86_32/PATCHES
===================================================================
--- net/nss/3.89-x86_32/PATCHES	(nonexistent)
+++ net/nss/3.89-x86_32/PATCHES	(revision 29)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/mozilla-nss/patches/nss-3.89-build-tree.patch -p0
Index: net/nss/3.89-x86_32/config/nss-config.in
===================================================================
--- net/nss/3.89-x86_32/config/nss-config.in	(nonexistent)
+++ net/nss/3.89-x86_32/config/nss-config.in	(revision 29)
@@ -0,0 +1,144 @@
+#!/bin/sh
+
+prefix=@PREFIX@
+
+major_version=@MOD_MAJOR_VERSION@
+minor_version=@MOD_MINOR_VERSION@
+patch_version=@MOD_PATCH_VERSION@
+
+usage()
+{
+	cat <<EOF
+Usage: nss-config [OPTIONS] [LIBRARIES]
+Options:
+	[--prefix[=DIR]]
+	[--exec-prefix[=DIR]]
+	[--includedir[=DIR]]
+	[--libdir[=DIR]]
+	[--version]
+	[--libs]
+	[--cflags]
+Dynamic Libraries:
+	nss
+	nssutil
+	ssl
+	smime
+EOF
+	exit $1
+}
+
+if test $# -eq 0; then
+  usage 1 1>&2
+fi
+
+lib_ssl=yes
+lib_smime=yes
+lib_nss=yes
+lib_nssutil=yes
+
+while test $# -gt 0; do
+  case "$1" in
+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  case $1 in
+    --prefix=*)
+      prefix=$optarg
+      ;;
+    --prefix)
+      echo_prefix=yes
+      ;;
+    --exec-prefix=*)
+      exec_prefix=$optarg
+      ;;
+    --exec-prefix)
+      echo_exec_prefix=yes
+      ;;
+    --includedir=*)
+      includedir=$optarg
+      ;;
+    --includedir)
+      echo_includedir=yes
+      ;;
+    --libdir=*)
+      libdir=$optarg
+      ;;
+    --libdir)
+      echo_libdir=yes
+      ;;
+    --version)
+      echo ${major_version}.${minor_version}.${patch_version}
+      ;;
+    --cflags)
+      echo_cflags=yes
+      ;;
+    --libs)
+      echo_libs=yes
+      ;;
+    ssl)
+      lib_ssl=yes
+      ;;
+    smime)
+      lib_smime=yes
+      ;;
+    nss)
+      lib_nss=yes
+      ;;
+    nssutil)
+      lib_nssutil=yes
+      ;;
+    *)
+      usage 1 1>&2
+      ;;
+  esac
+  shift
+done
+
+# Set variables that may be dependent upon other variables
+if test -z "$exec_prefix"; then
+    exec_prefix=`pkg-config --variable=exec_prefix nss`
+fi
+if test -z "$includedir"; then
+    includedir=`pkg-config --variable=includedir nss`
+fi
+if test -z "$libdir"; then
+    libdir=`pkg-config --variable=libdir nss`
+fi
+
+if test "$echo_prefix" = "yes"; then
+  echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+  echo $exec_prefix
+fi
+
+if test "$echo_includedir" = "yes"; then
+  echo $includedir
+fi
+
+if test "$echo_libdir" = "yes"; then
+  echo $libdir
+fi
+
+if test "$echo_cflags" = "yes"; then
+  echo -I$includedir
+fi
+
+if test "$echo_libs" = "yes"; then
+  libdirs="-Wl,-rpath-link,$libdir -L$libdir"
+  if test -n "$lib_ssl"; then
+    libdirs="$libdirs -lssl${major_version}"
+  fi
+  if test -n "$lib_smime"; then
+    libdirs="$libdirs -lsmime${major_version}"
+  fi
+  if test -n "$lib_nss"; then
+    libdirs="$libdirs -lnss${major_version}"
+  fi
+  if test -n "$lib_nssutil"; then
+    libdirs="$libdirs -lnssutil${major_version}"
+  fi
+  echo $libdirs
+fi
Index: net/nss/3.89-x86_32/config/nss.pc.in
===================================================================
--- net/nss/3.89-x86_32/config/nss.pc.in	(nonexistent)
+++ net/nss/3.89-x86_32/config/nss.pc.in	(revision 29)
@@ -0,0 +1,11 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+libdir=/usr/lib@LIBDIRSUFFIX@
+includedir=${prefix}/include/nss
+
+Name: NSS
+Description: Network Security Services
+Version: @VERSION@
+Requires: nspr >= @NSPR_VERSION@ sqlite3
+Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3  -lnssutil3
+Cflags: -I${includedir}
Index: net/nss/3.89-x86_32/config
===================================================================
--- net/nss/3.89-x86_32/config	(nonexistent)
+++ net/nss/3.89-x86_32/config	(revision 29)

Property changes on: net/nss/3.89-x86_32/config
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/nss/3.89-x86_32/nss-x32-pkg-description.in
===================================================================
--- net/nss/3.89-x86_32/nss-x32-pkg-description.in	(nonexistent)
+++ net/nss/3.89-x86_32/nss-x32-pkg-description.in	(revision 29)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+nss-x32: nss-x32 @VERSION@ (Network Security Services)
+nss-x32:
+nss-x32: Network Security Services (NSS) is a set of libraries designed to
+nss-x32: support cross-platform development of security-enabled client and
+nss-x32: server applications. Applications built with NSS can support
+nss-x32: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
+nss-x32: X.509 v3 certificates, and other security standards.
+nss-x32:
+nss-x32: see: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
+nss-x32:
+nss-x32:
Index: net/nss/3.89-x86_32/nss-x32-pkg-install.sh
===================================================================
--- net/nss/3.89-x86_32/nss-x32-pkg-install.sh	(nonexistent)
+++ net/nss/3.89-x86_32/nss-x32-pkg-install.sh	(revision 29)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: net/nss/3.89-x86_32/nss-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/nss/3.89-x86_32
===================================================================
--- net/nss/3.89-x86_32	(nonexistent)
+++ net/nss/3.89-x86_32	(revision 29)

Property changes on: net/nss/3.89-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/php/8.1.2/Makefile
===================================================================
--- net/php/8.1.2/Makefile	(revision 28)
+++ net/php/8.1.2/Makefile	(revision 29)
@@ -76,7 +76,7 @@
 REQUIRES          += libs/libxml2/2.9.9
 REQUIRES          += libs/libxslt/1.1.34
 REQUIRES          += libs/libedit/20191231-3.1
-REQUIRES          += libs/icu4c/68.2
+REQUIRES          += libs/icu4c/73.1
 REQUIRES          += libs/libzip/1.9.2
 REQUIRES          += libs/libsodium/1.0.18
 REQUIRES          += libs/serf/1.3.9
Index: products/X11/Makefile
===================================================================
--- products/X11/Makefile	(revision 28)
+++ products/X11/Makefile	(revision 29)
@@ -727,7 +727,24 @@
 #######
 REQUIRES += X11/net/nm-applet/1.30.0
 
+#######
+####### applications:
+#######
 
+REQUIRES += X11/app/ffmpeg/4.4.4
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+REQUIRES += X11/app/ffmpeg/4.4.4-ppc32
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+REQUIRES += X11/app/ffmpeg/4.4.4-x86_32
+endif
+
+#######
+####### Desktop applications:
+#######
+REQUIRES += X11/media/audacious-plugins/4.3
+
+
 # ======= __END_OF_REQUIRES__ =======
 
 
Index: products/base/Makefile
===================================================================
--- products/base/Makefile	(revision 28)
+++ products/base/Makefile	(revision 29)
@@ -605,6 +605,10 @@
 REQUIRES += app/nvme-cli/1.13
 REQUIRES += app/gptfdisk/1.0.7
 
+REQUIRES += app/efibootmgr/18
+REQUIRES += app/fakeroot/1.31
+REQUIRES += app/patchelf/0.18.0
+
 REQUIRES += app/file/5.39
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
 REQUIRES += app/file/5.39-ppc32
@@ -1096,22 +1100,22 @@
 
 #            ...     ...
 #             │       │
-#             │       ├── net/nspr/4.30
-#             │       │   ├── net/nspr/4.30-ppc32
-#             │       │   ├── net/nspr/4.30-x86_32
+#             │       ├── net/nspr/4.35
+#             │       │   ├── net/nspr/4.35-ppc32
+#             │       │   ├── net/nspr/4.35-x86_32
 #             │       │   │
-#             │       │   ├── net/nss/3.64 ■  ────────────────────── app/sqlite/3.39.4.0
+#             │       │   ├── net/nss/3.89 ■  ────────────────────── app/sqlite/3.39.4.0
 #             │       │   │   ├── net/nss/3.23-ppc32                 ├── app/sqlite/3.39.4.0-ppc32
 #             │       │   │   └── net/nss/3.23-x86_32                └── app/sqlite/3.39.4.0-x86_32
 #             │       │  ...
 #            ...     ...
 
-REQUIRES += net/nss/3.64
+REQUIRES += net/nss/3.89
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-REQUIRES += net/nss/3.64-ppc32
+REQUIRES += net/nss/3.89-ppc32
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-REQUIRES += net/nss/3.64-x86_32
+REQUIRES += net/nss/3.89-x86_32
 endif
 
 REQUIRES += net/libqmi/1.28.2
Index: secure/libcap/2.48/Makefile
===================================================================
--- secure/libcap/2.48/Makefile	(revision 28)
+++ secure/libcap/2.48/Makefile	(revision 29)
@@ -54,7 +54,7 @@
 
 SOURCE_REQUIRES    = sources/packages/l/libcap
 
-REQUIRES           = app/attr/2.4.48
+REQUIRES           = app/attr/2.5.1
 REQUIRES          += secure/pam/1.5.1
 
 # ======= __END_OF_REQUIRES__ =======
Index: secure/libcap/2.48-ppc32/Makefile
===================================================================
--- secure/libcap/2.48-ppc32/Makefile	(revision 28)
+++ secure/libcap/2.48-ppc32/Makefile	(revision 29)
@@ -16,7 +16,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libcap
 
 REQUIRES           = secure/libcap/2.48
-REQUIRES          += app/attr/2.4.48-ppc32
+REQUIRES          += app/attr/2.5.1-ppc32
 REQUIRES          += secure/pam/1.5.1-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
Index: secure/libcap/2.48-x86_32/Makefile
===================================================================
--- secure/libcap/2.48-x86_32/Makefile	(revision 28)
+++ secure/libcap/2.48-x86_32/Makefile	(revision 29)
@@ -13,7 +13,7 @@
 SOURCE_REQUIRES    = sources/packages/l/libcap
 
 REQUIRES           = secure/libcap/2.48
-REQUIRES          += app/attr/2.4.48-x86_32
+REQUIRES          += app/attr/2.5.1-x86_32
 REQUIRES          += secure/pam/1.5.1-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
Index: secure/shadow/4.8.1/Makefile
===================================================================
--- secure/shadow/4.8.1/Makefile	(revision 28)
+++ secure/shadow/4.8.1/Makefile	(revision 29)
@@ -55,7 +55,7 @@
 SOURCE_REQUIRES    = sources/packages/s/shadow
 
 REQUIRES           = secure/pam/1.5.1
-REQUIRES          += app/acl/2.2.53
+REQUIRES          += app/acl/2.3.1
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: sources/GNOME/core/NetworkManager/Makefile
===================================================================
--- sources/GNOME/core/NetworkManager/Makefile	(revision 28)
+++ sources/GNOME/core/NetworkManager/Makefile	(revision 29)
@@ -14,10 +14,14 @@
 tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
 sha1s       = $(addsuffix .sha1sum, $(tarballs))
 
+patches     = $(CURDIR)/patches/NetworkManager-1.31.3-dhcpcd-graceful-exit.patch
 
-BUILD_TARGETS = $(tarballs) $(sha1s)
+.NOTPARALLEL: $(patches)
 
 
+BUILD_TARGETS = $(tarballs) $(sha1s) $(patches)
+
+
 include ../../../../build-system/core.mk
 
 
@@ -43,5 +47,10 @@
 	   fi ; \
 	 done
 
+$(patches): $(sha1s)
+	@echo -e "\n======= Create Patches =======\n" ; \
+	 ( cd create-1.31.3-dhcpcd-graceful-exit-patch ; ./create.patch.sh ) ; \
+	 echo -e "\n"
+
 download_clean:
-	@rm -f $(tarballs) $(sha1s)
+	@rm -f $(tarballs) $(sha1s) $(patches)
Index: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-client.c
===================================================================
--- sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-client.c	(nonexistent)
+++ sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-client.c	(revision 29)
@@ -0,0 +1,1368 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2005 - 2010 Red Hat, Inc.
+ */
+
+#include "src/core/nm-default-daemon.h"
+
+#include "nm-dhcp-client.h"
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <linux/rtnetlink.h>
+
+#include "libnm-glib-aux/nm-dedup-multi.h"
+#include "libnm-glib-aux/nm-random-utils.h"
+
+#include "NetworkManagerUtils.h"
+#include "nm-utils.h"
+#include "nm-dhcp-utils.h"
+#include "nm-dhcp-options.h"
+#include "libnm-platform/nm-platform.h"
+
+#include "nm-dhcp-client-logging.h"
+
+/*****************************************************************************/
+
+enum { SIGNAL_STATE_CHANGED, SIGNAL_PREFIX_DELEGATED, LAST_SIGNAL };
+
+static guint signals[LAST_SIGNAL] = {0};
+
+NM_GOBJECT_PROPERTIES_DEFINE(NMDhcpClient,
+                             PROP_ADDR_FAMILY,
+                             PROP_FLAGS,
+                             PROP_HWADDR,
+                             PROP_BROADCAST_HWADDR,
+                             PROP_IFACE,
+                             PROP_IFINDEX,
+                             PROP_MULTI_IDX,
+                             PROP_ROUTE_METRIC,
+                             PROP_ROUTE_TABLE,
+                             PROP_TIMEOUT,
+                             PROP_UUID,
+                             PROP_IAID,
+                             PROP_IAID_EXPLICIT,
+                             PROP_HOSTNAME,
+                             PROP_HOSTNAME_FLAGS,
+                             PROP_MUD_URL,
+                             PROP_VENDOR_CLASS_IDENTIFIER,
+                             PROP_REJECT_SERVERS, );
+
+typedef struct _NMDhcpClientPrivate {
+    NMDedupMultiIndex * multi_idx;
+    char *              iface;
+    GBytes *            hwaddr;
+    GBytes *            bcast_hwaddr;
+    char *              uuid;
+    GBytes *            client_id;
+    char *              hostname;
+    const char **       reject_servers;
+    char *              mud_url;
+    GBytes *            vendor_class_identifier;
+    pid_t               pid;
+    guint               timeout_id;
+    guint               watch_id;
+    int                 addr_family;
+    int                 ifindex;
+    guint32             route_table;
+    guint32             route_metric;
+    guint32             timeout;
+    guint32             iaid;
+    NMDhcpState         state;
+    NMDhcpHostnameFlags hostname_flags;
+    bool                info_only : 1;
+    bool                use_fqdn : 1;
+    bool                iaid_explicit : 1;
+} NMDhcpClientPrivate;
+
+G_DEFINE_ABSTRACT_TYPE(NMDhcpClient, nm_dhcp_client, G_TYPE_OBJECT)
+
+#define NM_DHCP_CLIENT_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR(self, NMDhcpClient, NM_IS_DHCP_CLIENT)
+
+/*****************************************************************************/
+
+pid_t
+nm_dhcp_client_get_pid(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), -1);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->pid;
+}
+
+NMDedupMultiIndex *
+nm_dhcp_client_get_multi_idx(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->multi_idx;
+}
+
+const char *
+nm_dhcp_client_get_iface(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->iface;
+}
+
+int
+nm_dhcp_client_get_ifindex(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), -1);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->ifindex;
+}
+
+int
+nm_dhcp_client_get_addr_family(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), AF_UNSPEC);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->addr_family;
+}
+
+const char *
+nm_dhcp_client_get_uuid(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->uuid;
+}
+
+GBytes *
+nm_dhcp_client_get_hw_addr(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->hwaddr;
+}
+
+GBytes *
+nm_dhcp_client_get_broadcast_hw_addr(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->bcast_hwaddr;
+}
+
+guint32
+nm_dhcp_client_get_route_table(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), RT_TABLE_MAIN);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->route_table;
+}
+
+void
+nm_dhcp_client_set_route_table(NMDhcpClient *self, guint32 route_table)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    if (route_table != priv->route_table) {
+        priv->route_table = route_table;
+        _notify(self, PROP_ROUTE_TABLE);
+    }
+}
+
+guint32
+nm_dhcp_client_get_route_metric(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), G_MAXUINT32);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->route_metric;
+}
+
+void
+nm_dhcp_client_set_route_metric(NMDhcpClient *self, guint32 route_metric)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    if (route_metric != priv->route_metric) {
+        priv->route_metric = route_metric;
+        _notify(self, PROP_ROUTE_METRIC);
+    }
+}
+
+guint32
+nm_dhcp_client_get_timeout(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), 0);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->timeout;
+}
+
+guint32
+nm_dhcp_client_get_iaid(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), 0);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->iaid;
+}
+
+gboolean
+nm_dhcp_client_get_iaid_explicit(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->iaid_explicit;
+}
+
+GBytes *
+nm_dhcp_client_get_client_id(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->client_id;
+}
+
+static void
+_set_client_id(NMDhcpClient *self, GBytes *client_id, gboolean take)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    nm_assert(!client_id || g_bytes_get_size(client_id) >= 2);
+
+    if (priv->client_id == client_id
+        || (priv->client_id && client_id && g_bytes_equal(priv->client_id, client_id))) {
+        if (take && client_id)
+            g_bytes_unref(client_id);
+        return;
+    }
+
+    if (priv->client_id)
+        g_bytes_unref(priv->client_id);
+    priv->client_id = client_id;
+    if (!take && client_id)
+        g_bytes_ref(client_id);
+
+    {
+        gs_free char *s = NULL;
+
+        _LOGT("%s: set %s",
+              nm_dhcp_client_get_addr_family(self) == AF_INET6 ? "duid" : "client-id",
+              priv->client_id ? (s = nm_dhcp_utils_duid_to_string(priv->client_id)) : "default");
+    }
+}
+
+void
+nm_dhcp_client_set_client_id(NMDhcpClient *self, GBytes *client_id)
+{
+    g_return_if_fail(NM_IS_DHCP_CLIENT(self));
+    g_return_if_fail(!client_id || g_bytes_get_size(client_id) >= 2);
+
+    _set_client_id(self, client_id, FALSE);
+}
+
+void
+nm_dhcp_client_set_client_id_bin(NMDhcpClient *self,
+                                 guint8        type,
+                                 const guint8 *client_id,
+                                 gsize         len)
+{
+    guint8 *buf;
+    GBytes *b;
+
+    g_return_if_fail(NM_IS_DHCP_CLIENT(self));
+    g_return_if_fail(client_id);
+    g_return_if_fail(len > 0);
+
+    buf    = g_malloc(len + 1);
+    buf[0] = type;
+    memcpy(buf + 1, client_id, len);
+    b = g_bytes_new_take(buf, len + 1);
+    _set_client_id(self, b, TRUE);
+}
+
+const char *
+nm_dhcp_client_get_hostname(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->hostname;
+}
+
+NMDhcpHostnameFlags
+nm_dhcp_client_get_hostname_flags(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NM_DHCP_HOSTNAME_FLAG_NONE);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->hostname_flags;
+}
+
+gboolean
+nm_dhcp_client_get_info_only(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->info_only;
+}
+
+gboolean
+nm_dhcp_client_get_use_fqdn(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->use_fqdn;
+}
+
+const char *
+nm_dhcp_client_get_mud_url(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->mud_url;
+}
+
+GBytes *
+nm_dhcp_client_get_vendor_class_identifier(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return NM_DHCP_CLIENT_GET_PRIVATE(self)->vendor_class_identifier;
+}
+
+const char *const *
+nm_dhcp_client_get_reject_servers(NMDhcpClient *self)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), NULL);
+
+    return (const char *const *) NM_DHCP_CLIENT_GET_PRIVATE(self)->reject_servers;
+}
+
+/*****************************************************************************/
+
+static const char *state_table[NM_DHCP_STATE_MAX + 1] = {
+    [NM_DHCP_STATE_UNKNOWN]    = "unknown",
+    [NM_DHCP_STATE_BOUND]      = "bound",
+    [NM_DHCP_STATE_EXTENDED]   = "extended",
+    [NM_DHCP_STATE_TIMEOUT]    = "timeout",
+    [NM_DHCP_STATE_EXPIRE]     = "expire",
+    [NM_DHCP_STATE_DONE]       = "done",
+    [NM_DHCP_STATE_FAIL]       = "fail",
+    [NM_DHCP_STATE_TERMINATED] = "terminated",
+};
+
+static const char *
+state_to_string(NMDhcpState state)
+{
+    if ((gsize) state < G_N_ELEMENTS(state_table))
+        return state_table[state];
+    return NULL;
+}
+
+static NMDhcpState
+reason_to_state(NMDhcpClient *self, const char *iface, const char *reason)
+{
+    if (g_ascii_strcasecmp(reason, "bound") == 0 || g_ascii_strcasecmp(reason, "bound6") == 0)
+        return NM_DHCP_STATE_BOUND;
+    else if (g_ascii_strcasecmp(reason, "renew") == 0 || g_ascii_strcasecmp(reason, "renew6") == 0
+             || g_ascii_strcasecmp(reason, "reboot") == 0
+             || g_ascii_strcasecmp(reason, "rebind") == 0
+             || g_ascii_strcasecmp(reason, "rebind6") == 0)
+        return NM_DHCP_STATE_EXTENDED;
+    else if (g_ascii_strcasecmp(reason, "timeout") == 0)
+        return NM_DHCP_STATE_TIMEOUT;
+    else if (g_ascii_strcasecmp(reason, "nak") == 0 || g_ascii_strcasecmp(reason, "expire") == 0
+             || g_ascii_strcasecmp(reason, "expire6") == 0)
+        return NM_DHCP_STATE_EXPIRE;
+    else if (g_ascii_strcasecmp(reason, "end") == 0 || g_ascii_strcasecmp(reason, "stop") == 0
+             || g_ascii_strcasecmp(reason, "stopped") == 0)
+        return NM_DHCP_STATE_DONE;
+    else if (g_ascii_strcasecmp(reason, "fail") == 0 || g_ascii_strcasecmp(reason, "abend") == 0)
+        return NM_DHCP_STATE_FAIL;
+    else if (g_ascii_strcasecmp(reason, "preinit") == 0)
+        return NM_DHCP_STATE_NOOP;
+
+    _LOGD("unmapped DHCP state '%s'", reason);
+    return NM_DHCP_STATE_UNKNOWN;
+}
+
+/*****************************************************************************/
+
+static void
+timeout_cleanup(NMDhcpClient *self)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    nm_clear_g_source(&priv->timeout_id);
+}
+
+static void
+watch_cleanup(NMDhcpClient *self)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    nm_clear_g_source(&priv->watch_id);
+}
+
+void
+nm_dhcp_client_stop_pid(pid_t pid, const char *iface, int sig)
+{
+    char *name = iface ? g_strdup_printf("dhcp-client-%s", iface) : NULL;
+
+    g_return_if_fail(pid > 1);
+
+    nm_utils_kill_child_sync(pid,
+                             sig,
+                             LOGD_DHCP,
+                             name ?: "dhcp-client",
+                             NULL,
+                             1000 / 2,
+                             1000 / 20);
+    g_free(name);
+}
+
+static void
+stop(NMDhcpClient *self, gboolean release)
+{
+    NMDhcpClientPrivate *priv;
+
+    g_return_if_fail(NM_IS_DHCP_CLIENT(self));
+
+    priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    if (priv->pid > 0) {
+        /* Clean up the watch handler since we're explicitly killing the daemon */
+        watch_cleanup(self);
+        nm_dhcp_client_stop_pid(priv->pid, priv->iface, SIGTERM);
+    }
+    priv->pid = -1;
+}
+
+void
+nm_dhcp_client_set_state(NMDhcpClient *self,
+                         NMDhcpState   new_state,
+                         NMIPConfig *  ip_config,
+                         GHashTable *  options)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    if (NM_IN_SET(new_state, NM_DHCP_STATE_BOUND, NM_DHCP_STATE_EXTENDED)) {
+        g_return_if_fail(NM_IS_IP_CONFIG_ADDR_FAMILY(ip_config, priv->addr_family));
+        g_return_if_fail(options);
+    } else {
+        g_return_if_fail(!ip_config);
+        g_return_if_fail(!options);
+    }
+
+    if (new_state >= NM_DHCP_STATE_BOUND)
+        timeout_cleanup(self);
+    if (new_state >= NM_DHCP_STATE_TIMEOUT)
+        watch_cleanup(self);
+
+    /* The client may send same-state transitions for RENEW/REBIND events and
+     * the lease may have changed, so handle same-state transitions for the
+     * EXTENDED and BOUND states.  Ignore same-state transitions for other
+     * events since the lease won't have changed and the state was already handled.
+     */
+    if ((priv->state == new_state)
+        && !NM_IN_SET(new_state, NM_DHCP_STATE_BOUND, NM_DHCP_STATE_EXTENDED))
+        return;
+
+    if (_LOGD_ENABLED()) {
+        gs_free const char **keys = NULL;
+        guint                i, nkeys;
+
+        keys = nm_utils_strdict_get_keys(options, TRUE, &nkeys);
+        for (i = 0; i < nkeys; i++) {
+            _LOGD("option %-20s => '%s'", keys[i], (char *) g_hash_table_lookup(options, keys[i]));
+        }
+    }
+
+    if (_LOGT_ENABLED() && priv->addr_family == AF_INET6) {
+        gs_free char *event_id = NULL;
+
+        event_id = nm_dhcp_utils_get_dhcp6_event_id(options);
+        if (event_id)
+            _LOGT("event-id: \"%s\"", event_id);
+    }
+
+    if (_LOGI_ENABLED()) {
+        const char *req_str =
+            NM_IS_IPv4(priv->addr_family)
+                ? nm_dhcp_option_request_string(AF_INET, NM_DHCP_OPTION_DHCP4_NM_IP_ADDRESS)
+                : nm_dhcp_option_request_string(AF_INET6, NM_DHCP_OPTION_DHCP6_NM_IP_ADDRESS);
+        const char *addr = nm_g_hash_table_lookup(options, req_str);
+
+        _LOGI("state changed %s -> %s%s%s%s",
+              state_to_string(priv->state),
+              state_to_string(new_state),
+              NM_PRINT_FMT_QUOTED(addr, ", address=", addr, "", ""));
+    }
+
+    priv->state = new_state;
+    g_signal_emit(G_OBJECT(self), signals[SIGNAL_STATE_CHANGED], 0, new_state, ip_config, options);
+}
+
+static gboolean
+transaction_timeout(gpointer user_data)
+{
+    NMDhcpClient *       self = NM_DHCP_CLIENT(user_data);
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    priv->timeout_id = 0;
+    _LOGW("request timed out");
+    nm_dhcp_client_set_state(self, NM_DHCP_STATE_TIMEOUT, NULL, NULL);
+    return G_SOURCE_REMOVE;
+}
+
+static void
+daemon_watch_cb(GPid pid, int status, gpointer user_data)
+{
+    NMDhcpClient *       self = NM_DHCP_CLIENT(user_data);
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    g_return_if_fail(priv->watch_id);
+    priv->watch_id = 0;
+
+    if (WIFEXITED(status))
+        _LOGI("client pid %d exited with status %d", pid, WEXITSTATUS(status));
+    else if (WIFSIGNALED(status))
+        _LOGI("client pid %d killed by signal %d", pid, WTERMSIG(status));
+    else if (WIFSTOPPED(status))
+        _LOGI("client pid %d stopped by signal %d", pid, WSTOPSIG(status));
+    else if (WIFCONTINUED(status))
+        _LOGI("client pid %d resumed (by SIGCONT)", pid);
+    else
+        _LOGW("client died abnormally");
+
+    priv->pid = -1;
+
+    nm_dhcp_client_set_state(self, NM_DHCP_STATE_TERMINATED, NULL, NULL);
+}
+
+void
+nm_dhcp_client_start_timeout(NMDhcpClient *self)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    g_return_if_fail(priv->timeout_id == 0);
+
+    /* Set up a timeout on the transaction to kill it after the timeout */
+
+    if (priv->timeout == NM_DHCP_TIMEOUT_INFINITY)
+        return;
+
+    priv->timeout_id = g_timeout_add_seconds(priv->timeout, transaction_timeout, self);
+}
+
+void
+nm_dhcp_client_watch_child(NMDhcpClient *self, pid_t pid)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    g_return_if_fail(priv->pid == -1);
+    priv->pid = pid;
+
+    nm_dhcp_client_start_timeout(self);
+
+    g_return_if_fail(priv->watch_id == 0);
+    priv->watch_id = g_child_watch_add(pid, daemon_watch_cb, self);
+}
+
+void
+nm_dhcp_client_stop_watch_child(NMDhcpClient *self, pid_t pid)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    g_return_if_fail(priv->pid == pid);
+    priv->pid = -1;
+
+    watch_cleanup(self);
+    timeout_cleanup(self);
+}
+
+gboolean
+nm_dhcp_client_start_ip4(NMDhcpClient *self,
+                         GBytes *      client_id,
+                         const char *  dhcp_anycast_addr,
+                         const char *  last_ip4_address,
+                         GError **     error)
+{
+    NMDhcpClientPrivate *priv;
+
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+
+    priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+    g_return_val_if_fail(priv->pid == -1, FALSE);
+    g_return_val_if_fail(priv->addr_family == AF_INET, FALSE);
+    g_return_val_if_fail(priv->uuid != NULL, FALSE);
+
+    if (priv->timeout == NM_DHCP_TIMEOUT_INFINITY)
+        _LOGI("activation: beginning transaction (no timeout)");
+    else
+        _LOGI("activation: beginning transaction (timeout in %u seconds)", (guint) priv->timeout);
+
+    nm_dhcp_client_set_client_id(self, client_id);
+
+    return NM_DHCP_CLIENT_GET_CLASS(self)->ip4_start(self,
+                                                     dhcp_anycast_addr,
+                                                     last_ip4_address,
+                                                     error);
+}
+
+gboolean
+nm_dhcp_client_accept(NMDhcpClient *self, GError **error)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+
+    if (NM_DHCP_CLIENT_GET_CLASS(self)->accept) {
+        return NM_DHCP_CLIENT_GET_CLASS(self)->accept(self, error);
+    }
+
+    return TRUE;
+}
+
+gboolean
+nm_dhcp_client_decline(NMDhcpClient *self, const char *error_message, GError **error)
+{
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+
+    if (NM_DHCP_CLIENT_GET_CLASS(self)->decline) {
+        return NM_DHCP_CLIENT_GET_CLASS(self)->decline(self, error_message, error);
+    }
+
+    return TRUE;
+}
+
+static GBytes *
+get_duid(NMDhcpClient *self)
+{
+    return NULL;
+}
+
+gboolean
+nm_dhcp_client_start_ip6(NMDhcpClient *            self,
+                         GBytes *                  client_id,
+                         gboolean                  enforce_duid,
+                         const char *              dhcp_anycast_addr,
+                         const struct in6_addr *   ll_addr,
+                         NMSettingIP6ConfigPrivacy privacy,
+                         guint                     needed_prefixes,
+                         GError **                 error)
+{
+    NMDhcpClientPrivate *priv;
+    gs_unref_bytes GBytes *own_client_id = NULL;
+
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+    g_return_val_if_fail(client_id, FALSE);
+
+    priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    g_return_val_if_fail(priv->pid == -1, FALSE);
+    g_return_val_if_fail(priv->addr_family == AF_INET6, FALSE);
+    g_return_val_if_fail(priv->uuid != NULL, FALSE);
+    g_return_val_if_fail(!priv->client_id, FALSE);
+
+    if (!enforce_duid)
+        own_client_id = NM_DHCP_CLIENT_GET_CLASS(self)->get_duid(self);
+
+    _set_client_id(self, own_client_id ?: client_id, FALSE);
+
+    if (priv->timeout == NM_DHCP_TIMEOUT_INFINITY)
+        _LOGI("activation: beginning transaction (no timeout)");
+    else
+        _LOGI("activation: beginning transaction (timeout in %u seconds)", (guint) priv->timeout);
+
+    return NM_DHCP_CLIENT_GET_CLASS(self)
+        ->ip6_start(self, dhcp_anycast_addr, ll_addr, privacy, needed_prefixes, error);
+}
+
+void
+nm_dhcp_client_stop_existing(const char *pid_file, const char *binary_name)
+{
+    guint64       start_time;
+    pid_t         pid, ppid;
+    const char *  exe;
+    char          proc_path[NM_STRLEN("/proc/%lu/cmdline") + 100];
+    gs_free char *pid_contents = NULL, *proc_contents = NULL;
+
+    /* Check for an existing instance and stop it */
+    if (!g_file_get_contents(pid_file, &pid_contents, NULL, NULL))
+        return;
+
+    pid = _nm_utils_ascii_str_to_int64(pid_contents, 10, 1, G_MAXINT64, 0);
+    if (pid <= 0)
+        goto out;
+
+    start_time = nm_utils_get_start_time_for_pid(pid, NULL, &ppid);
+    if (start_time == 0)
+        goto out;
+
+    nm_sprintf_buf(proc_path, "/proc/%lu/cmdline", (unsigned long) pid);
+    if (!g_file_get_contents(proc_path, &proc_contents, NULL, NULL))
+        goto out;
+
+    exe = strrchr(proc_contents, '/');
+    if (exe)
+        exe++;
+    else
+        exe = proc_contents;
+    if (!nm_streq0(exe, binary_name))
+        goto out;
+
+    if (ppid == getpid()) {
+        /* the process is our own child. */
+        nm_utils_kill_child_sync(pid, SIGTERM, LOGD_DHCP, "dhcp-client", NULL, 1000 / 2, 1000 / 20);
+    } else {
+        nm_utils_kill_process_sync(pid,
+                                   start_time,
+                                   SIGTERM,
+                                   LOGD_DHCP,
+                                   "dhcp-client",
+                                   1000 / 2,
+                                   1000 / 20,
+                                   2000);
+    }
+
+out:
+    if (remove(pid_file) == -1) {
+        int errsv = errno;
+
+        nm_log_dbg(LOGD_DHCP,
+                   "dhcp: could not remove pid file \"%s\": %s (%d)",
+                   pid_file,
+                   nm_strerror_native(errsv),
+                   errsv);
+    }
+}
+
+void
+nm_dhcp_client_stop(NMDhcpClient *self, gboolean release)
+{
+    NMDhcpClientPrivate *priv;
+    pid_t                old_pid = 0;
+
+    g_return_if_fail(NM_IS_DHCP_CLIENT(self));
+
+    priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    /* Kill the DHCP client */
+    old_pid = priv->pid;
+    NM_DHCP_CLIENT_GET_CLASS(self)->stop(self, release);
+    if (old_pid > 0)
+        _LOGI("canceled DHCP transaction, DHCP client pid %d", old_pid);
+    else
+        _LOGI("canceled DHCP transaction");
+    nm_assert(priv->pid == -1);
+
+    nm_dhcp_client_set_state(self, NM_DHCP_STATE_TERMINATED, NULL, NULL);
+}
+
+/*****************************************************************************/
+
+static char *
+bytearray_variant_to_string(NMDhcpClient *self, GVariant *value, const char *key)
+{
+    const guint8 *array;
+    gsize         length;
+    GString *     str;
+    int           i;
+    unsigned char c;
+    char *        converted = NULL;
+
+    g_return_val_if_fail(value != NULL, NULL);
+
+    array = g_variant_get_fixed_array(value, &length, 1);
+
+    /* Since the DHCP options come through environment variables, they should
+     * already be UTF-8 safe, but just make sure.
+     */
+    str = g_string_sized_new(length);
+    for (i = 0; i < length; i++) {
+        c = array[i];
+
+        /* Convert NULLs to spaces and non-ASCII characters to ? */
+        if (c == '\0')
+            c = ' ';
+        else if (c > 127)
+            c = '?';
+        str = g_string_append_c(str, c);
+    }
+    str = g_string_append_c(str, '\0');
+
+    converted = str->str;
+    if (!g_utf8_validate(converted, -1, NULL))
+        _LOGW("option '%s' couldn't be converted to UTF-8", key);
+    g_string_free(str, FALSE);
+    return converted;
+}
+
+static int
+label_is_unknown_xyz(const char *label)
+{
+    if (!NM_STR_HAS_PREFIX(label, "unknown_"))
+        return -EINVAL;
+
+    label += NM_STRLEN("unknown_");
+    if (label[0] != '2' || !g_ascii_isdigit(label[1]) || !g_ascii_isdigit(label[2])
+        || label[3] != '\0')
+        return -EINVAL;
+
+    return _nm_utils_ascii_str_to_int64(label, 10, 224, 254, -EINVAL);
+}
+
+#define OLD_TAG "old_"
+#define NEW_TAG "new_"
+
+static void
+maybe_add_option(NMDhcpClient *self, GHashTable *hash, const char *key, GVariant *value)
+{
+    char *str_value = NULL;
+
+    g_return_if_fail(g_variant_is_of_type(value, G_VARIANT_TYPE_BYTESTRING));
+
+    if (g_str_has_prefix(key, OLD_TAG))
+        return;
+
+    /* Filter out stuff that's not actually new DHCP options */
+    if (NM_IN_STRSET(key, "interface", "pid", "reason", "dhcp_message_type"))
+        return;
+
+    if (NM_STR_HAS_PREFIX(key, NEW_TAG))
+        key += NM_STRLEN(NEW_TAG);
+    if (NM_STR_HAS_PREFIX(key, "private_") || !key[0])
+        return;
+
+    str_value = bytearray_variant_to_string(self, value, key);
+    if (str_value) {
+        int priv_opt_num;
+
+        g_hash_table_insert(hash, g_strdup(key), str_value);
+
+        /* dhclient has no special labels for private dhcp options: it uses "unknown_xyz"
+         * labels for that. We need to identify those to alias them to our "private_xyz"
+         * format unused in the internal dchp plugins.
+         */
+        if ((priv_opt_num = label_is_unknown_xyz(key)) > 0) {
+            gs_free guint8 *check_val = NULL;
+            char *          hex_str   = NULL;
+            gsize           len;
+
+            /* dhclient passes values from dhcp private options in its own "string" format:
+             * if the raw values are printable as ascii strings, it will pass the string
+             * representation; if the values are not printable as an ascii string, it will
+             * pass a string displaying the hex values (hex string). Try to enforce passing
+             * always an hex string, converting string representation if needed.
+             */
+            check_val = nm_utils_hexstr2bin_alloc(str_value, FALSE, TRUE, ":", 0, &len);
+            hex_str   = nm_utils_bin2hexstr_full(check_val ?: (guint8 *) str_value,
+                                               check_val ? len : strlen(str_value),
+                                               ':',
+                                               FALSE,
+                                               NULL);
+            g_hash_table_insert(hash, g_strdup_printf("private_%d", priv_opt_num), hex_str);
+        }
+    }
+}
+
+void
+nm_dhcp_client_emit_ipv6_prefix_delegated(NMDhcpClient *self, const NMPlatformIP6Address *prefix)
+{
+    g_signal_emit(G_OBJECT(self), signals[SIGNAL_PREFIX_DELEGATED], 0, prefix);
+}
+
+gboolean
+nm_dhcp_client_handle_event(gpointer      unused,
+                            const char *  iface,
+                            int           pid,
+                            GVariant *    options,
+                            const char *  reason,
+                            NMDhcpClient *self)
+{
+    NMDhcpClientPrivate *priv;
+    guint32              old_state;
+    guint32              new_state;
+    gs_unref_hashtable GHashTable *str_options = NULL;
+    gs_unref_object NMIPConfig *ip_config      = NULL;
+    NMPlatformIP6Address        prefix         = {
+        0,
+    };
+
+    g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
+    g_return_val_if_fail(iface != NULL, FALSE);
+    g_return_val_if_fail(pid > 0, FALSE);
+    g_return_val_if_fail(g_variant_is_of_type(options, G_VARIANT_TYPE_VARDICT), FALSE);
+    g_return_val_if_fail(reason != NULL, FALSE);
+
+    priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    if (g_strcmp0(priv->iface, iface) != 0)
+        return FALSE;
+    if (priv->pid != pid)
+        return FALSE;
+
+    old_state = priv->state;
+    new_state = reason_to_state(self, priv->iface, reason);
+    _LOGD("DHCP state '%s' -> '%s' (reason: '%s')",
+          state_to_string(old_state),
+          state_to_string(new_state),
+          reason);
+
+    if (new_state == NM_DHCP_STATE_NOOP)
+        return TRUE;
+
+    if (NM_IN_SET(new_state, NM_DHCP_STATE_BOUND, NM_DHCP_STATE_EXTENDED)) {
+        GVariantIter iter;
+        const char * name;
+        GVariant *   value;
+
+        /* Copy options */
+        str_options = g_hash_table_new_full(nm_str_hash, g_str_equal, g_free, g_free);
+        g_variant_iter_init(&iter, options);
+        while (g_variant_iter_next(&iter, "{&sv}", &name, &value)) {
+            maybe_add_option(self, str_options, name, value);
+            g_variant_unref(value);
+        }
+
+        /* Create the IP config */
+        if (g_hash_table_size(str_options) > 0) {
+            if (priv->addr_family == AF_INET) {
+                ip_config = NM_IP_CONFIG_CAST(
+                    nm_dhcp_utils_ip4_config_from_options(nm_dhcp_client_get_multi_idx(self),
+                                                          priv->ifindex,
+                                                          priv->iface,
+                                                          str_options,
+                                                          priv->route_table,
+                                                          priv->route_metric));
+            } else {
+                prefix    = nm_dhcp_utils_ip6_prefix_from_options(str_options);
+                ip_config = NM_IP_CONFIG_CAST(
+                    nm_dhcp_utils_ip6_config_from_options(nm_dhcp_client_get_multi_idx(self),
+                                                          priv->ifindex,
+                                                          priv->iface,
+                                                          str_options,
+                                                          priv->info_only));
+            }
+        } else
+            g_warn_if_reached();
+    }
+
+    if (!IN6_IS_ADDR_UNSPECIFIED(&prefix.address)) {
+        /* If we got an IPv6 prefix to delegate, we don't change the state
+         * of the DHCP client instance. Instead, we just signal the prefix
+         * to the device. */
+        nm_dhcp_client_emit_ipv6_prefix_delegated(self, &prefix);
+    } else {
+        /* Fail if no valid IP config was received */
+        if (NM_IN_SET(new_state, NM_DHCP_STATE_BOUND, NM_DHCP_STATE_EXTENDED) && !ip_config) {
+            _LOGW("client bound but IP config not received");
+            new_state = NM_DHCP_STATE_FAIL;
+            nm_clear_pointer(&str_options, g_hash_table_unref);
+        }
+
+        nm_dhcp_client_set_state(self, new_state, ip_config, str_options);
+    }
+
+    return TRUE;
+}
+
+gboolean
+nm_dhcp_client_server_id_is_rejected(NMDhcpClient *self, gconstpointer addr)
+{
+    NMDhcpClientPrivate *priv  = NM_DHCP_CLIENT_GET_PRIVATE(self);
+    in_addr_t            addr4 = *(in_addr_t *) addr;
+    guint                i;
+
+    /* IPv6 not implemented yet */
+    nm_assert(priv->addr_family == AF_INET);
+
+    if (!priv->reject_servers || !priv->reject_servers[0])
+        return FALSE;
+
+    for (i = 0; priv->reject_servers[i]; i++) {
+        in_addr_t r_addr;
+        in_addr_t mask;
+        int       r_prefix;
+
+        if (!nm_utils_parse_inaddr_prefix_bin(AF_INET,
+                                              priv->reject_servers[i],
+                                              NULL,
+                                              &r_addr,
+                                              &r_prefix))
+            nm_assert_not_reached();
+        mask = _nm_utils_ip4_prefix_to_netmask(r_prefix < 0 ? 32 : r_prefix);
+        if ((addr4 & mask) == (r_addr & mask))
+            return TRUE;
+    }
+
+    return FALSE;
+}
+
+/*****************************************************************************/
+
+static void
+get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(object);
+
+    switch (prop_id) {
+    case PROP_IFACE:
+        g_value_set_string(value, priv->iface);
+        break;
+    case PROP_IFINDEX:
+        g_value_set_int(value, priv->ifindex);
+        break;
+    case PROP_HWADDR:
+        g_value_set_boxed(value, priv->hwaddr);
+        break;
+    case PROP_BROADCAST_HWADDR:
+        g_value_set_boxed(value, priv->bcast_hwaddr);
+        break;
+    case PROP_ADDR_FAMILY:
+        g_value_set_int(value, priv->addr_family);
+        break;
+    case PROP_UUID:
+        g_value_set_string(value, priv->uuid);
+        break;
+    case PROP_IAID:
+        g_value_set_uint(value, priv->iaid);
+        break;
+    case PROP_IAID_EXPLICIT:
+        g_value_set_boolean(value, priv->iaid_explicit);
+        break;
+    case PROP_HOSTNAME:
+        g_value_set_string(value, priv->hostname);
+        break;
+    case PROP_ROUTE_METRIC:
+        g_value_set_uint(value, priv->route_metric);
+        break;
+    case PROP_ROUTE_TABLE:
+        g_value_set_uint(value, priv->route_table);
+        break;
+    case PROP_TIMEOUT:
+        g_value_set_uint(value, priv->timeout);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+        break;
+    }
+}
+
+static void
+set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+{
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(object);
+    guint                flags;
+
+    switch (prop_id) {
+    case PROP_FLAGS:
+        /* construct-only */
+        flags = g_value_get_uint(value);
+        nm_assert(
+            (flags & ~((guint)(NM_DHCP_CLIENT_FLAGS_INFO_ONLY | NM_DHCP_CLIENT_FLAGS_USE_FQDN)))
+            == 0);
+        priv->info_only = NM_FLAGS_HAS(flags, NM_DHCP_CLIENT_FLAGS_INFO_ONLY);
+        priv->use_fqdn  = NM_FLAGS_HAS(flags, NM_DHCP_CLIENT_FLAGS_USE_FQDN);
+        break;
+    case PROP_MULTI_IDX:
+        /* construct-only */
+        priv->multi_idx = g_value_get_pointer(value);
+        if (!priv->multi_idx)
+            g_return_if_reached();
+        nm_dedup_multi_index_ref(priv->multi_idx);
+        break;
+    case PROP_IFACE:
+        /* construct-only */
+        priv->iface = g_value_dup_string(value);
+        g_return_if_fail(priv->iface);
+        nm_assert(nm_utils_ifname_valid_kernel(priv->iface, NULL));
+        break;
+    case PROP_IFINDEX:
+        /* construct-only */
+        priv->ifindex = g_value_get_int(value);
+        g_return_if_fail(priv->ifindex > 0);
+        break;
+    case PROP_HWADDR:
+        /* construct-only */
+        priv->hwaddr = g_value_dup_boxed(value);
+        break;
+    case PROP_BROADCAST_HWADDR:
+        /* construct-only */
+        priv->bcast_hwaddr = g_value_dup_boxed(value);
+        break;
+    case PROP_ADDR_FAMILY:
+        /* construct-only */
+        priv->addr_family = g_value_get_int(value);
+        if (!NM_IN_SET(priv->addr_family, AF_INET, AF_INET6))
+            g_return_if_reached();
+        break;
+    case PROP_UUID:
+        /* construct-only */
+        priv->uuid = g_value_dup_string(value);
+        break;
+    case PROP_IAID:
+        /* construct-only */
+        priv->iaid = g_value_get_uint(value);
+        break;
+    case PROP_IAID_EXPLICIT:
+        /* construct-only */
+        priv->iaid_explicit = g_value_get_boolean(value);
+        break;
+    case PROP_HOSTNAME:
+        /* construct-only */
+        priv->hostname = g_value_dup_string(value);
+        break;
+    case PROP_HOSTNAME_FLAGS:
+        /* construct-only */
+        priv->hostname_flags = g_value_get_uint(value);
+        break;
+    case PROP_MUD_URL:
+        /* construct-only */
+        priv->mud_url = g_value_dup_string(value);
+        break;
+    case PROP_ROUTE_TABLE:
+        priv->route_table = g_value_get_uint(value);
+        break;
+    case PROP_ROUTE_METRIC:
+        priv->route_metric = g_value_get_uint(value);
+        break;
+    case PROP_TIMEOUT:
+        /* construct-only */
+        priv->timeout = g_value_get_uint(value);
+        break;
+    case PROP_VENDOR_CLASS_IDENTIFIER:
+        /* construct-only */
+        priv->vendor_class_identifier = g_value_dup_boxed(value);
+        break;
+    case PROP_REJECT_SERVERS:
+        /* construct-only */
+        priv->reject_servers = nm_utils_strv_dup_packed(g_value_get_boxed(value), -1);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+        break;
+    }
+}
+
+/*****************************************************************************/
+
+static void
+nm_dhcp_client_init(NMDhcpClient *self)
+{
+    NMDhcpClientPrivate *priv;
+
+    priv        = G_TYPE_INSTANCE_GET_PRIVATE(self, NM_TYPE_DHCP_CLIENT, NMDhcpClientPrivate);
+    self->_priv = priv;
+
+    c_list_init(&self->dhcp_client_lst);
+
+    priv->pid = -1;
+}
+
+static void
+dispose(GObject *object)
+{
+    NMDhcpClient *       self = NM_DHCP_CLIENT(object);
+    NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
+
+    /* Stopping the client is left up to the controlling device
+     * explicitly since we may want to quit NetworkManager but not terminate
+     * the DHCP client.
+     */
+
+    nm_assert(c_list_is_empty(&self->dhcp_client_lst));
+
+    watch_cleanup(self);
+    timeout_cleanup(self);
+
+    nm_clear_g_free(&priv->iface);
+    nm_clear_g_free(&priv->hostname);
+    nm_clear_g_free(&priv->uuid);
+    nm_clear_g_free(&priv->mud_url);
+    nm_clear_g_free(&priv->reject_servers);
+    nm_clear_pointer(&priv->client_id, g_bytes_unref);
+    nm_clear_pointer(&priv->hwaddr, g_bytes_unref);
+    nm_clear_pointer(&priv->bcast_hwaddr, g_bytes_unref);
+    nm_clear_pointer(&priv->vendor_class_identifier, g_bytes_unref);
+
+    G_OBJECT_CLASS(nm_dhcp_client_parent_class)->dispose(object);
+
+    priv->multi_idx = nm_dedup_multi_index_unref(priv->multi_idx);
+}
+
+static void
+nm_dhcp_client_class_init(NMDhcpClientClass *client_class)
+{
+    GObjectClass *object_class = G_OBJECT_CLASS(client_class);
+
+    g_type_class_add_private(client_class, sizeof(NMDhcpClientPrivate));
+
+    object_class->dispose      = dispose;
+    object_class->get_property = get_property;
+    object_class->set_property = set_property;
+
+    client_class->stop     = stop;
+    client_class->get_duid = get_duid;
+
+    obj_properties[PROP_MULTI_IDX] =
+        g_param_spec_pointer(NM_DHCP_CLIENT_MULTI_IDX,
+                             "",
+                             "",
+                             G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_IFACE] =
+        g_param_spec_string(NM_DHCP_CLIENT_INTERFACE,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_IFINDEX] =
+        g_param_spec_int(NM_DHCP_CLIENT_IFINDEX,
+                         "",
+                         "",
+                         -1,
+                         G_MAXINT,
+                         -1,
+                         G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_HWADDR] =
+        g_param_spec_boxed(NM_DHCP_CLIENT_HWADDR,
+                           "",
+                           "",
+                           G_TYPE_BYTES,
+                           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_BROADCAST_HWADDR] =
+        g_param_spec_boxed(NM_DHCP_CLIENT_BROADCAST_HWADDR,
+                           "",
+                           "",
+                           G_TYPE_BYTES,
+                           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_ADDR_FAMILY] =
+        g_param_spec_int(NM_DHCP_CLIENT_ADDR_FAMILY,
+                         "",
+                         "",
+                         0,
+                         G_MAXINT,
+                         AF_UNSPEC,
+                         G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_UUID] =
+        g_param_spec_string(NM_DHCP_CLIENT_UUID,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_IAID] =
+        g_param_spec_uint(NM_DHCP_CLIENT_IAID,
+                          "",
+                          "",
+                          0,
+                          G_MAXUINT32,
+                          0,
+                          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_IAID_EXPLICIT] =
+        g_param_spec_boolean(NM_DHCP_CLIENT_IAID_EXPLICIT,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_HOSTNAME] =
+        g_param_spec_string(NM_DHCP_CLIENT_HOSTNAME,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_HOSTNAME_FLAGS] =
+        g_param_spec_uint(NM_DHCP_CLIENT_HOSTNAME_FLAGS,
+                          "",
+                          "",
+                          0,
+                          G_MAXUINT32,
+                          NM_DHCP_HOSTNAME_FLAG_NONE,
+                          G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_MUD_URL] =
+        g_param_spec_string(NM_DHCP_CLIENT_MUD_URL,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_ROUTE_TABLE] =
+        g_param_spec_uint(NM_DHCP_CLIENT_ROUTE_TABLE,
+                          "",
+                          "",
+                          0,
+                          G_MAXUINT32,
+                          RT_TABLE_MAIN,
+                          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_ROUTE_METRIC] =
+        g_param_spec_uint(NM_DHCP_CLIENT_ROUTE_METRIC,
+                          "",
+                          "",
+                          0,
+                          G_MAXUINT32,
+                          0,
+                          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    G_STATIC_ASSERT_EXPR(G_MAXINT32 == NM_DHCP_TIMEOUT_INFINITY);
+    obj_properties[PROP_TIMEOUT] =
+        g_param_spec_uint(NM_DHCP_CLIENT_TIMEOUT,
+                          "",
+                          "",
+                          1,
+                          G_MAXINT32,
+                          NM_DHCP_TIMEOUT_DEFAULT,
+                          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_FLAGS] =
+        g_param_spec_uint(NM_DHCP_CLIENT_FLAGS,
+                          "",
+                          "",
+                          0,
+                          G_MAXUINT32,
+                          0,
+                          G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_VENDOR_CLASS_IDENTIFIER] =
+        g_param_spec_boxed(NM_DHCP_CLIENT_VENDOR_CLASS_IDENTIFIER,
+                           "",
+                           "",
+                           G_TYPE_BYTES,
+                           G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    obj_properties[PROP_REJECT_SERVERS] =
+        g_param_spec_boxed(NM_DHCP_CLIENT_REJECT_SERVERS,
+                           "",
+                           "",
+                           G_TYPE_STRV,
+                           G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
+    signals[SIGNAL_STATE_CHANGED] = g_signal_new(NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED,
+                                                 G_OBJECT_CLASS_TYPE(object_class),
+                                                 G_SIGNAL_RUN_FIRST,
+                                                 0,
+                                                 NULL,
+                                                 NULL,
+                                                 NULL,
+                                                 G_TYPE_NONE,
+                                                 3,
+                                                 G_TYPE_UINT,
+                                                 G_TYPE_OBJECT,
+                                                 G_TYPE_HASH_TABLE);
+
+    signals[SIGNAL_PREFIX_DELEGATED] = g_signal_new(NM_DHCP_CLIENT_SIGNAL_PREFIX_DELEGATED,
+                                                    G_OBJECT_CLASS_TYPE(object_class),
+                                                    G_SIGNAL_RUN_FIRST,
+                                                    0,
+                                                    NULL,
+                                                    NULL,
+                                                    NULL,
+                                                    G_TYPE_NONE,
+                                                    1,
+                                                    G_TYPE_POINTER);
+}
Index: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-client.h
===================================================================
--- sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-client.h	(nonexistent)
+++ sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-client.h	(revision 29)
@@ -0,0 +1,233 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2005 - 2010 Red Hat, Inc.
+ */
+
+#ifndef __NETWORKMANAGER_DHCP_CLIENT_H__
+#define __NETWORKMANAGER_DHCP_CLIENT_H__
+
+#include "nm-setting-ip4-config.h"
+#include "nm-setting-ip6-config.h"
+#include "nm-ip4-config.h"
+#include "nm-ip6-config.h"
+#include "nm-dhcp-utils.h"
+
+#define NM_DHCP_TIMEOUT_DEFAULT  ((guint32) 45) /* default DHCP timeout, in seconds */
+#define NM_DHCP_TIMEOUT_INFINITY ((guint32) G_MAXINT32)
+
+#define NM_TYPE_DHCP_CLIENT (nm_dhcp_client_get_type())
+#define NM_DHCP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DHCP_CLIENT, NMDhcpClient))
+#define NM_DHCP_CLIENT_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DHCP_CLIENT, NMDhcpClientClass))
+#define NM_IS_DHCP_CLIENT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DHCP_CLIENT))
+#define NM_IS_DHCP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DHCP_CLIENT))
+#define NM_DHCP_CLIENT_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DHCP_CLIENT, NMDhcpClientClass))
+
+#define NM_DHCP_CLIENT_ADDR_FAMILY             "addr-family"
+#define NM_DHCP_CLIENT_FLAGS                   "flags"
+#define NM_DHCP_CLIENT_HWADDR                  "hwaddr"
+#define NM_DHCP_CLIENT_BROADCAST_HWADDR        "broadcast-hwaddr"
+#define NM_DHCP_CLIENT_IFINDEX                 "ifindex"
+#define NM_DHCP_CLIENT_INTERFACE               "iface"
+#define NM_DHCP_CLIENT_MULTI_IDX               "multi-idx"
+#define NM_DHCP_CLIENT_HOSTNAME                "hostname"
+#define NM_DHCP_CLIENT_MUD_URL                 "mud-url"
+#define NM_DHCP_CLIENT_ROUTE_METRIC            "route-metric"
+#define NM_DHCP_CLIENT_ROUTE_TABLE             "route-table"
+#define NM_DHCP_CLIENT_TIMEOUT                 "timeout"
+#define NM_DHCP_CLIENT_UUID                    "uuid"
+#define NM_DHCP_CLIENT_IAID                    "iaid"
+#define NM_DHCP_CLIENT_IAID_EXPLICIT           "iaid-explicit"
+#define NM_DHCP_CLIENT_HOSTNAME_FLAGS          "hostname-flags"
+#define NM_DHCP_CLIENT_VENDOR_CLASS_IDENTIFIER "vendor-class-identifier"
+#define NM_DHCP_CLIENT_REJECT_SERVERS          "reject-servers"
+
+#define NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED    "state-changed"
+#define NM_DHCP_CLIENT_SIGNAL_PREFIX_DELEGATED "prefix-delegated"
+
+typedef enum {
+    NM_DHCP_STATE_UNKNOWN = 0,
+    NM_DHCP_STATE_BOUND,      /* new lease */
+    NM_DHCP_STATE_EXTENDED,   /* lease extended */
+    NM_DHCP_STATE_TIMEOUT,    /* timed out contacting server */
+    NM_DHCP_STATE_DONE,       /* client reported it's stopping */
+    NM_DHCP_STATE_EXPIRE,     /* lease expired or NAKed */
+    NM_DHCP_STATE_FAIL,       /* failed for some reason */
+    NM_DHCP_STATE_TERMINATED, /* client is no longer running */
+    NM_DHCP_STATE_NOOP,       /* state is a non operation for NetworkManager */
+    __NM_DHCP_STATE_MAX,
+    NM_DHCP_STATE_MAX = __NM_DHCP_STATE_MAX - 1,
+} NMDhcpState;
+
+struct _NMDhcpClientPrivate;
+
+typedef struct {
+    GObject                      parent;
+    struct _NMDhcpClientPrivate *_priv;
+    CList                        dhcp_client_lst;
+} NMDhcpClient;
+
+typedef enum {
+    NM_DHCP_CLIENT_FLAGS_INFO_ONLY = (1LL << 0),
+    NM_DHCP_CLIENT_FLAGS_USE_FQDN  = (1LL << 1),
+} NMDhcpClientFlags;
+
+typedef struct {
+    GObjectClass parent;
+
+    gboolean (*ip4_start)(NMDhcpClient *self,
+                          const char *  anycast_addr,
+                          const char *  last_ip4_address,
+                          GError **     error);
+
+    gboolean (*accept)(NMDhcpClient *self, GError **error);
+
+    gboolean (*decline)(NMDhcpClient *self, const char *error_message, GError **error);
+
+    gboolean (*ip6_start)(NMDhcpClient *            self,
+                          const char *              anycast_addr,
+                          const struct in6_addr *   ll_addr,
+                          NMSettingIP6ConfigPrivacy privacy,
+                          guint                     needed_prefixes,
+                          GError **                 error);
+
+    void (*stop)(NMDhcpClient *self, gboolean release);
+
+    /**
+     * get_duid:
+     * @self: the #NMDhcpClient
+     *
+     * Attempts to find an existing DHCPv6 DUID for this client in the DHCP
+     * client's persistent configuration.  Returned DUID should be the binary
+     * representation of the DUID.  If no DUID is found, %NULL should be
+     * returned.
+     */
+    GBytes *(*get_duid)(NMDhcpClient *self);
+} NMDhcpClientClass;
+
+GType nm_dhcp_client_get_type(void);
+
+struct _NMDedupMultiIndex *nm_dhcp_client_get_multi_idx(NMDhcpClient *self);
+
+pid_t nm_dhcp_client_get_pid(NMDhcpClient *self);
+
+int nm_dhcp_client_get_addr_family(NMDhcpClient *self);
+
+const char *nm_dhcp_client_get_iface(NMDhcpClient *self);
+
+int nm_dhcp_client_get_ifindex(NMDhcpClient *self);
+
+const char *nm_dhcp_client_get_uuid(NMDhcpClient *self);
+
+GBytes *nm_dhcp_client_get_duid(NMDhcpClient *self);
+
+GBytes *nm_dhcp_client_get_hw_addr(NMDhcpClient *self);
+
+GBytes *nm_dhcp_client_get_broadcast_hw_addr(NMDhcpClient *self);
+
+guint32 nm_dhcp_client_get_route_table(NMDhcpClient *self);
+
+void nm_dhcp_client_set_route_table(NMDhcpClient *self, guint32 route_table);
+
+guint32 nm_dhcp_client_get_route_metric(NMDhcpClient *self);
+
+void nm_dhcp_client_set_route_metric(NMDhcpClient *self, guint32 route_metric);
+
+guint32 nm_dhcp_client_get_timeout(NMDhcpClient *self);
+
+guint32 nm_dhcp_client_get_iaid(NMDhcpClient *self);
+
+gboolean nm_dhcp_client_get_iaid_explicit(NMDhcpClient *self);
+
+GBytes *nm_dhcp_client_get_client_id(NMDhcpClient *self);
+
+const char *       nm_dhcp_client_get_hostname(NMDhcpClient *self);
+const char *       nm_dhcp_client_get_mud_url(NMDhcpClient *self);
+const char *const *nm_dhcp_client_get_reject_servers(NMDhcpClient *self);
+
+NMDhcpHostnameFlags nm_dhcp_client_get_hostname_flags(NMDhcpClient *self);
+
+gboolean nm_dhcp_client_get_info_only(NMDhcpClient *self);
+
+gboolean nm_dhcp_client_get_use_fqdn(NMDhcpClient *self);
+
+GBytes *nm_dhcp_client_get_vendor_class_identifier(NMDhcpClient *self);
+
+gboolean nm_dhcp_client_start_ip4(NMDhcpClient *self,
+                                  GBytes *      client_id,
+                                  const char *  dhcp_anycast_addr,
+                                  const char *  last_ip4_address,
+                                  GError **     error);
+
+gboolean nm_dhcp_client_start_ip6(NMDhcpClient *            self,
+                                  GBytes *                  client_id,
+                                  gboolean                  enforce_duid,
+                                  const char *              dhcp_anycast_addr,
+                                  const struct in6_addr *   ll_addr,
+                                  NMSettingIP6ConfigPrivacy privacy,
+                                  guint                     needed_prefixes,
+                                  GError **                 error);
+
+gboolean nm_dhcp_client_accept(NMDhcpClient *self, GError **error);
+
+gboolean nm_dhcp_client_decline(NMDhcpClient *self, const char *error_message, GError **error);
+
+void nm_dhcp_client_stop(NMDhcpClient *self, gboolean release);
+
+/* Backend helpers for subclasses */
+void nm_dhcp_client_stop_existing(const char *pid_file, const char *binary_name);
+
+void nm_dhcp_client_stop_pid(pid_t pid, const char *iface, int sig);
+
+void nm_dhcp_client_start_timeout(NMDhcpClient *self);
+
+void nm_dhcp_client_watch_child(NMDhcpClient *self, pid_t pid);
+
+void nm_dhcp_client_stop_watch_child(NMDhcpClient *self, pid_t pid);
+
+void nm_dhcp_client_set_state(NMDhcpClient *self,
+                              NMDhcpState   new_state,
+                              NMIPConfig *  ip_config,
+                              GHashTable *  options); /* str:str hash */
+
+gboolean nm_dhcp_client_handle_event(gpointer      unused,
+                                     const char *  iface,
+                                     int           pid,
+                                     GVariant *    options,
+                                     const char *  reason,
+                                     NMDhcpClient *self);
+
+void nm_dhcp_client_set_client_id(NMDhcpClient *self, GBytes *client_id);
+void nm_dhcp_client_set_client_id_bin(NMDhcpClient *self,
+                                      guint8        type,
+                                      const guint8 *client_id,
+                                      gsize         len);
+
+void nm_dhcp_client_emit_ipv6_prefix_delegated(NMDhcpClient *              self,
+                                               const NMPlatformIP6Address *prefix);
+
+gboolean nm_dhcp_client_server_id_is_rejected(NMDhcpClient *self, gconstpointer addr);
+
+/*****************************************************************************
+ * Client data
+ *****************************************************************************/
+
+typedef struct {
+    GType (*get_type)(void);
+    GType (*get_type_per_addr_family)(int addr_family);
+    const char *name;
+    const char *(*get_path)(void);
+    bool experimental : 1;
+} NMDhcpClientFactory;
+
+GType nm_dhcp_nettools_get_type(void);
+
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_dhcpcanon;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_dhclient;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_dhcpcd;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_internal;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_systemd;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_nettools;
+
+#endif /* __NETWORKMANAGER_DHCP_CLIENT_H__ */
Index: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-dhclient.c
===================================================================
--- sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-dhclient.c	(nonexistent)
+++ sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-dhclient.c	(revision 29)
@@ -0,0 +1,733 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2005 - 2012 Red Hat, Inc.
+ */
+
+#include <config.h>
+#define __CONFIG_H__
+
+#define _XOPEN_SOURCE
+#include <time.h>
+#undef _XOPEN_SOURCE
+
+#include "src/core/nm-default-daemon.h"
+
+#if WITH_DHCLIENT
+
+    #include <stdlib.h>
+    #include <unistd.h>
+    #include <stdio.h>
+    #include <netinet/in.h>
+    #include <arpa/inet.h>
+    #include <ctype.h>
+
+    #include "libnm-glib-aux/nm-dedup-multi.h"
+
+    #include "nm-utils.h"
+    #include "nm-dhcp-dhclient-utils.h"
+    #include "nm-dhcp-manager.h"
+    #include "NetworkManagerUtils.h"
+    #include "nm-dhcp-listener.h"
+    #include "nm-dhcp-client-logging.h"
+
+/*****************************************************************************/
+
+static const char *
+_addr_family_to_path_part(int addr_family)
+{
+    nm_assert(NM_IN_SET(addr_family, AF_INET, AF_INET6));
+    return (addr_family == AF_INET6) ? "6" : "";
+}
+
+/*****************************************************************************/
+
+    #define NM_TYPE_DHCP_DHCLIENT (nm_dhcp_dhclient_get_type())
+    #define NM_DHCP_DHCLIENT(obj) \
+        (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclient))
+    #define NM_DHCP_DHCLIENT_CLASS(klass) \
+        (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientClass))
+    #define NM_IS_DHCP_DHCLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DHCP_DHCLIENT))
+    #define NM_IS_DHCP_DHCLIENT_CLASS(klass) \
+        (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DHCP_DHCLIENT))
+    #define NM_DHCP_DHCLIENT_GET_CLASS(obj) \
+        (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientClass))
+
+typedef struct _NMDhcpDhclient      NMDhcpDhclient;
+typedef struct _NMDhcpDhclientClass NMDhcpDhclientClass;
+
+static GType nm_dhcp_dhclient_get_type(void);
+
+/*****************************************************************************/
+
+typedef struct {
+    char *          conf_file;
+    const char *    def_leasefile;
+    char *          lease_file;
+    char *          pid_file;
+    NMDhcpListener *dhcp_listener;
+} NMDhcpDhclientPrivate;
+
+struct _NMDhcpDhclient {
+    NMDhcpClient          parent;
+    NMDhcpDhclientPrivate _priv;
+};
+
+struct _NMDhcpDhclientClass {
+    NMDhcpClientClass parent;
+};
+
+G_DEFINE_TYPE(NMDhcpDhclient, nm_dhcp_dhclient, NM_TYPE_DHCP_CLIENT)
+
+    #define NM_DHCP_DHCLIENT_GET_PRIVATE(self) \
+        _NM_GET_PRIVATE(self, NMDhcpDhclient, NM_IS_DHCP_DHCLIENT)
+
+/*****************************************************************************/
+
+static const char *
+nm_dhcp_dhclient_get_path(void)
+{
+    return nm_utils_find_helper("dhclient", DHCLIENT_PATH, NULL);
+}
+
+/**
+ * get_dhclient_leasefile():
+ * @addr_family: AF_INET or AF_INET6
+ * @iface: the interface name of the device on which DHCP will be done
+ * @uuid: the connection UUID to which the returned lease should belong
+ * @out_preferred_path: on return, the "most preferred" leasefile path
+ *
+ * Returns the path of an existing leasefile (if any) for this interface and
+ * connection UUID.  Also returns the "most preferred" leasefile path, which
+ * may be different than any found leasefile.
+ *
+ * Returns: an existing leasefile, or %NULL if no matching leasefile could be found
+ */
+static char *
+get_dhclient_leasefile(int         addr_family,
+                       const char *iface,
+                       const char *uuid,
+                       char **     out_preferred_path)
+{
+    gs_free char *path = NULL;
+
+    if (nm_dhcp_utils_get_leasefile_path(addr_family, "dhclient", iface, uuid, &path)) {
+        NM_SET_OUT(out_preferred_path, g_strdup(path));
+        return g_steal_pointer(&path);
+    }
+
+    NM_SET_OUT(out_preferred_path, g_steal_pointer(&path));
+
+    /* If the leasefile we're looking for doesn't exist yet in the new location
+     * (eg, /var/lib/NetworkManager) then look in old locations to maintain
+     * backwards compatibility with external tools (like dracut) that put
+     * leasefiles there.
+     */
+
+    /* Old Debian, SUSE, and Mandriva location */
+    g_free(path);
+    path = g_strdup_printf(LOCALSTATEDIR "/lib/dhcp/dhclient%s-%s-%s.lease",
+                           _addr_family_to_path_part(addr_family),
+                           uuid,
+                           iface);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return g_steal_pointer(&path);
+
+    /* Old Red Hat and Fedora location */
+    g_free(path);
+    path = g_strdup_printf(LOCALSTATEDIR "/lib/dhclient/dhclient%s-%s-%s.lease",
+                           _addr_family_to_path_part(addr_family),
+                           uuid,
+                           iface);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return g_steal_pointer(&path);
+
+    /* Fail */
+    return NULL;
+}
+
+static gboolean
+merge_dhclient_config(NMDhcpDhclient *    self,
+                      int                 addr_family,
+                      const char *        iface,
+                      const char *        conf_file,
+                      GBytes *            client_id,
+                      const char *        anycast_addr,
+                      const char *        hostname,
+                      guint32             timeout,
+                      gboolean            use_fqdn,
+                      NMDhcpHostnameFlags hostname_flags,
+                      const char *        mud_url,
+                      const char *const * reject_servers,
+                      const char *        orig_path,
+                      GBytes **           out_new_client_id,
+                      GError **           error)
+{
+    gs_free char *orig = NULL;
+    gs_free char *new  = NULL;
+
+    g_return_val_if_fail(iface, FALSE);
+    g_return_val_if_fail(conf_file, FALSE);
+
+    if (orig_path && g_file_test(orig_path, G_FILE_TEST_EXISTS)) {
+        GError *read_error = NULL;
+
+        if (!g_file_get_contents(orig_path, &orig, NULL, &read_error)) {
+            _LOGW("error reading dhclient configuration %s: %s", orig_path, read_error->message);
+            g_error_free(read_error);
+        }
+    }
+
+    new = nm_dhcp_dhclient_create_config(iface,
+                                         addr_family,
+                                         client_id,
+                                         anycast_addr,
+                                         hostname,
+                                         timeout,
+                                         use_fqdn,
+                                         hostname_flags,
+                                         mud_url,
+                                         reject_servers,
+                                         orig_path,
+                                         orig,
+                                         out_new_client_id);
+    nm_assert(new);
+
+    return g_file_set_contents(conf_file, new, -1, error);
+}
+
+static char *
+find_existing_config(NMDhcpDhclient *self, int addr_family, const char *iface, const char *uuid)
+{
+    char *path;
+
+    /* NetworkManager-overridden configuration can be used to ship DHCP config
+     * with NetworkManager itself. It can be uuid-specific, device-specific
+     * or generic.
+     */
+    if (uuid) {
+        path = g_strdup_printf(NMCONFDIR "/dhclient%s-%s.conf",
+                               _addr_family_to_path_part(addr_family),
+                               uuid);
+        _LOGD("looking for existing config %s", path);
+        if (g_file_test(path, G_FILE_TEST_EXISTS))
+            return path;
+        g_free(path);
+    }
+
+    path = g_strdup_printf(NMCONFDIR "/dhclient%s-%s.conf",
+                           _addr_family_to_path_part(addr_family),
+                           iface);
+    _LOGD("looking for existing config %s", path);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return path;
+    g_free(path);
+
+    path = g_strdup_printf(NMCONFDIR "/dhclient%s.conf", _addr_family_to_path_part(addr_family));
+    _LOGD("looking for existing config %s", path);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return path;
+    g_free(path);
+
+    /* Distribution's dhclient configuration is used so that we can use
+     * configuration shipped with dhclient (if any).
+     *
+     * This replaces conditional compilation based on distribution name. Fedora
+     * and Debian store the configs in /etc/dhcp while upstream defaults to /etc
+     * which is then used by many other distributions. Some distributions
+     * (including Fedora) don't even provide a default configuration file.
+     */
+    path = g_strdup_printf(SYSCONFDIR "/dhcp/dhclient%s-%s.conf",
+                           _addr_family_to_path_part(addr_family),
+                           iface);
+    _LOGD("looking for existing config %s", path);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return path;
+    g_free(path);
+
+    path = g_strdup_printf(SYSCONFDIR "/dhclient%s-%s.conf",
+                           _addr_family_to_path_part(addr_family),
+                           iface);
+    _LOGD("looking for existing config %s", path);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return path;
+    g_free(path);
+
+    path =
+        g_strdup_printf(SYSCONFDIR "/dhcp/dhclient%s.conf", _addr_family_to_path_part(addr_family));
+    _LOGD("looking for existing config %s", path);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return path;
+    g_free(path);
+
+    path = g_strdup_printf(SYSCONFDIR "/dhclient%s.conf", _addr_family_to_path_part(addr_family));
+    _LOGD("looking for existing config %s", path);
+    if (g_file_test(path, G_FILE_TEST_EXISTS))
+        return path;
+    g_free(path);
+
+    return NULL;
+}
+
+/* NM provides interface-specific options; thus the same dhclient config
+ * file cannot be used since DHCP transactions can happen in parallel.
+ * Since some distros don't have default per-interface dhclient config files,
+ * read their single config file and merge that into a custom per-interface
+ * config file along with the NM options.
+ */
+static char *
+create_dhclient_config(NMDhcpDhclient *    self,
+                       int                 addr_family,
+                       const char *        iface,
+                       const char *        uuid,
+                       GBytes *            client_id,
+                       const char *        dhcp_anycast_addr,
+                       const char *        hostname,
+                       guint32             timeout,
+                       gboolean            use_fqdn,
+                       NMDhcpHostnameFlags hostname_flags,
+                       const char *        mud_url,
+                       const char *const * reject_servers,
+                       GBytes **           out_new_client_id)
+{
+    gs_free char *orig = NULL;
+    char *new          = NULL;
+    GError *error      = NULL;
+
+    g_return_val_if_fail(iface != NULL, NULL);
+
+    new = g_strdup_printf(NMSTATEDIR "/dhclient%s-%s.conf",
+                          _addr_family_to_path_part(addr_family),
+                          iface);
+
+    _LOGD("creating composite dhclient config %s", new);
+
+    orig = find_existing_config(self, addr_family, iface, uuid);
+    if (orig)
+        _LOGD("merging existing dhclient config %s", orig);
+    else
+        _LOGD("no existing dhclient configuration to merge");
+
+    if (!merge_dhclient_config(self,
+                               addr_family,
+                               iface,
+                               new,
+                               client_id,
+                               dhcp_anycast_addr,
+                               hostname,
+                               timeout,
+                               use_fqdn,
+                               hostname_flags,
+                               mud_url,
+                               reject_servers,
+                               orig,
+                               out_new_client_id,
+                               &error)) {
+        _LOGW("error creating dhclient configuration: %s", error->message);
+        g_clear_error(&error);
+    }
+
+    return new;
+}
+
+static gboolean
+dhclient_start(NMDhcpClient *client,
+               const char *  mode_opt,
+               gboolean      release,
+               pid_t *       out_pid,
+               int           prefixes,
+               GError **     error)
+{
+    NMDhcpDhclient *       self       = NM_DHCP_DHCLIENT(client);
+    NMDhcpDhclientPrivate *priv       = NM_DHCP_DHCLIENT_GET_PRIVATE(self);
+    gs_unref_ptrarray GPtrArray *argv = NULL;
+    pid_t                        pid;
+    gs_free_error GError *local = NULL;
+    const char *          iface;
+    const char *          uuid;
+    const char *          system_bus_address;
+    const char *          dhclient_path;
+    char *                binary_name;
+    gs_free char *        cmd_str                  = NULL;
+    gs_free char *        pid_file                 = NULL;
+    gs_free char *        system_bus_address_env   = NULL;
+    gs_free char *        preferred_leasefile_path = NULL;
+    const int             addr_family              = nm_dhcp_client_get_addr_family(client);
+
+    g_return_val_if_fail(!priv->pid_file, FALSE);
+
+    NM_SET_OUT(out_pid, 0);
+
+    dhclient_path = nm_dhcp_dhclient_get_path();
+    if (!dhclient_path) {
+        nm_utils_error_set_literal(error, NM_UTILS_ERROR_UNKNOWN, "dhclient binary not found");
+        return FALSE;
+    }
+
+    iface = nm_dhcp_client_get_iface(client);
+    uuid  = nm_dhcp_client_get_uuid(client);
+
+    pid_file = g_strdup_printf(NMRUNDIR "/dhclient%s-%s.pid",
+                               _addr_family_to_path_part(addr_family),
+                               iface);
+
+    /* Kill any existing dhclient from the pidfile */
+    binary_name = g_path_get_basename(dhclient_path);
+    nm_dhcp_client_stop_existing(pid_file, binary_name);
+    g_free(binary_name);
+
+    if (release) {
+        /* release doesn't use the pidfile after killing an old client */
+        nm_clear_g_free(&pid_file);
+    }
+
+    g_free(priv->lease_file);
+    priv->lease_file = get_dhclient_leasefile(addr_family, iface, uuid, &preferred_leasefile_path);
+    nm_assert(preferred_leasefile_path);
+    if (!priv->lease_file) {
+        /* No existing leasefile, dhclient will create one at the preferred path */
+        priv->lease_file = g_steal_pointer(&preferred_leasefile_path);
+    } else if (!nm_streq0(priv->lease_file, preferred_leasefile_path)) {
+        gs_unref_object GFile *src = g_file_new_for_path(priv->lease_file);
+        gs_unref_object GFile *dst = g_file_new_for_path(preferred_leasefile_path);
+
+        /* Try to copy the existing leasefile to the preferred location */
+        if (!g_file_copy(src, dst, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &local)) {
+            gs_free char *s_path = NULL;
+            gs_free char *d_path = NULL;
+
+            /* Failure; just use the existing leasefile */
+            _LOGW("failed to copy leasefile %s to %s: %s",
+                  (s_path = g_file_get_path(src)),
+                  (d_path = g_file_get_path(dst)),
+                  local->message);
+            g_clear_error(&local);
+        } else {
+            /* Success; use the preferred leasefile path */
+            g_free(priv->lease_file);
+            priv->lease_file = g_file_get_path(dst);
+        }
+    }
+
+    /* Save the DUID to the leasefile dhclient will actually use */
+    if (addr_family == AF_INET6) {
+        if (!nm_dhcp_dhclient_save_duid(priv->lease_file,
+                                        nm_dhcp_client_get_client_id(client),
+                                        &local)) {
+            nm_utils_error_set(error,
+                               NM_UTILS_ERROR_UNKNOWN,
+                               "failed to save DUID to '%s': %s",
+                               priv->lease_file,
+                               local->message);
+            return FALSE;
+        }
+    }
+
+    argv = g_ptr_array_new();
+    g_ptr_array_add(argv, (gpointer) dhclient_path);
+
+    g_ptr_array_add(argv, (gpointer) "-d");
+
+    /* Be quiet. dhclient logs to syslog anyway. And we duplicate the syslog
+     * to stderr in case of NM running with --debug.
+     */
+    g_ptr_array_add(argv, (gpointer) "-q");
+
+    if (release)
+        g_ptr_array_add(argv, (gpointer) "-r");
+
+    if (addr_family == AF_INET6) {
+        g_ptr_array_add(argv, (gpointer) "-6");
+
+        if (prefixes > 0 && nm_streq0(mode_opt, "-S")) {
+            /* -S is incompatible with -P, only use the latter */
+            mode_opt = NULL;
+        }
+
+        if (mode_opt)
+            g_ptr_array_add(argv, (gpointer) mode_opt);
+        while (prefixes--)
+            g_ptr_array_add(argv, (gpointer) "-P");
+    }
+    g_ptr_array_add(argv, (gpointer) "-sf"); /* Set script file */
+    g_ptr_array_add(argv, (gpointer) nm_dhcp_helper_path);
+
+    if (pid_file) {
+        g_ptr_array_add(argv, (gpointer) "-pf"); /* Set pid file */
+        g_ptr_array_add(argv, (gpointer) pid_file);
+    }
+
+    g_ptr_array_add(argv, (gpointer) "-lf"); /* Set lease file */
+    g_ptr_array_add(argv, (gpointer) priv->lease_file);
+
+    if (priv->conf_file) {
+        g_ptr_array_add(argv, (gpointer) "-cf"); /* Set interface config file */
+        g_ptr_array_add(argv, (gpointer) priv->conf_file);
+    }
+
+    /* Usually the system bus address is well-known; but if it's supposed
+     * to be something else, we need to push it to dhclient, since dhclient
+     * sanitizes the environment it gives the action scripts.
+     */
+    system_bus_address = getenv("DBUS_SYSTEM_BUS_ADDRESS");
+    if (system_bus_address) {
+        system_bus_address_env = g_strdup_printf("DBUS_SYSTEM_BUS_ADDRESS=%s", system_bus_address);
+        g_ptr_array_add(argv, (gpointer) "-e");
+        g_ptr_array_add(argv, (gpointer) system_bus_address_env);
+    }
+
+    g_ptr_array_add(argv, (gpointer) iface);
+    g_ptr_array_add(argv, NULL);
+
+    _LOGD("running: %s", (cmd_str = g_strjoinv(" ", (char **) argv->pdata)));
+
+    if (!g_spawn_async(NULL,
+                       (char **) argv->pdata,
+                       NULL,
+                       G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL
+                           | G_SPAWN_STDERR_TO_DEV_NULL,
+                       nm_utils_setpgid,
+                       NULL,
+                       &pid,
+                       &local)) {
+        nm_utils_error_set(error,
+                           NM_UTILS_ERROR_UNKNOWN,
+                           "dhclient failed to start: %s",
+                           local->message);
+        return FALSE;
+    }
+
+    _LOGI("dhclient started with pid %lld", (long long int) pid);
+
+    if (!release)
+        nm_dhcp_client_watch_child(client, pid);
+
+    priv->pid_file = g_steal_pointer(&pid_file);
+
+    NM_SET_OUT(out_pid, pid);
+    return TRUE;
+}
+
+static gboolean
+ip4_start(NMDhcpClient *client,
+          const char *  dhcp_anycast_addr,
+          const char *  last_ip4_address,
+          GError **     error)
+{
+    NMDhcpDhclient *       self = NM_DHCP_DHCLIENT(client);
+    NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE(self);
+    GBytes *               client_id;
+    gs_unref_bytes GBytes *new_client_id = NULL;
+
+    client_id = nm_dhcp_client_get_client_id(client);
+
+    priv->conf_file = create_dhclient_config(self,
+                                             AF_INET,
+                                             nm_dhcp_client_get_iface(client),
+                                             nm_dhcp_client_get_uuid(client),
+                                             client_id,
+                                             dhcp_anycast_addr,
+                                             nm_dhcp_client_get_hostname(client),
+                                             nm_dhcp_client_get_timeout(client),
+                                             nm_dhcp_client_get_use_fqdn(client),
+                                             nm_dhcp_client_get_hostname_flags(client),
+                                             nm_dhcp_client_get_mud_url(client),
+                                             nm_dhcp_client_get_reject_servers(client),
+                                             &new_client_id);
+    if (!priv->conf_file) {
+        nm_utils_error_set_literal(error,
+                                   NM_UTILS_ERROR_UNKNOWN,
+                                   "error creating dhclient configuration file");
+        return FALSE;
+    }
+
+    if (new_client_id) {
+        nm_assert(!client_id);
+        nm_dhcp_client_set_client_id(client, new_client_id);
+    }
+    return dhclient_start(client, NULL, FALSE, NULL, 0, error);
+}
+
+static gboolean
+ip6_start(NMDhcpClient *            client,
+          const char *              dhcp_anycast_addr,
+          const struct in6_addr *   ll_addr,
+          NMSettingIP6ConfigPrivacy privacy,
+          guint                     needed_prefixes,
+          GError **                 error)
+{
+    NMDhcpDhclient *       self = NM_DHCP_DHCLIENT(client);
+    NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE(self);
+
+    if (nm_dhcp_client_get_iaid_explicit(client))
+        _LOGW("dhclient does not support specifying an IAID for DHCPv6, it will be ignored");
+
+    priv->conf_file = create_dhclient_config(self,
+                                             AF_INET6,
+                                             nm_dhcp_client_get_iface(client),
+                                             nm_dhcp_client_get_uuid(client),
+                                             NULL,
+                                             dhcp_anycast_addr,
+                                             nm_dhcp_client_get_hostname(client),
+                                             nm_dhcp_client_get_timeout(client),
+                                             TRUE,
+                                             nm_dhcp_client_get_hostname_flags(client),
+                                             nm_dhcp_client_get_mud_url(client),
+                                             NULL,
+                                             NULL);
+    if (!priv->conf_file) {
+        nm_utils_error_set_literal(error,
+                                   NM_UTILS_ERROR_UNKNOWN,
+                                   "error creating dhclient configuration file");
+        return FALSE;
+    }
+
+    return dhclient_start(client,
+                          nm_dhcp_client_get_info_only(NM_DHCP_CLIENT(self)) ? "-S" : "-N",
+                          FALSE,
+                          NULL,
+                          needed_prefixes,
+                          error);
+}
+
+static void
+stop(NMDhcpClient *client, gboolean release)
+{
+    NMDhcpDhclient *       self = NM_DHCP_DHCLIENT(client);
+    NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE(self);
+    int                    errsv;
+
+    NM_DHCP_CLIENT_CLASS(nm_dhcp_dhclient_parent_class)->stop(client, release);
+
+    if (priv->conf_file)
+        if (remove(priv->conf_file) == -1) {
+            errsv = errno;
+            _LOGD("could not remove dhcp config file \"%s\": %d (%s)",
+                  priv->conf_file,
+                  errsv,
+                  nm_strerror_native(errsv));
+        }
+    if (priv->pid_file) {
+        if (remove(priv->pid_file) == -1) {
+            errsv = errno;
+            _LOGD("could not remove dhcp pid file \"%s\": %s (%d)",
+                  priv->pid_file,
+                  nm_strerror_native(errsv),
+                  errsv);
+        }
+        nm_clear_g_free(&priv->pid_file);
+    }
+
+    if (release) {
+        pid_t rpid = -1;
+
+        if (dhclient_start(client, NULL, TRUE, &rpid, 0, NULL)) {
+            /* Wait a few seconds for the release to happen */
+            nm_dhcp_client_stop_pid(rpid, nm_dhcp_client_get_iface(client), SIGTERM);
+        }
+    }
+}
+
+static GBytes *
+get_duid(NMDhcpClient *client)
+{
+    NMDhcpDhclient *       self      = NM_DHCP_DHCLIENT(client);
+    NMDhcpDhclientPrivate *priv      = NM_DHCP_DHCLIENT_GET_PRIVATE(self);
+    GBytes *               duid      = NULL;
+    gs_free char *         leasefile = NULL;
+    GError *               error     = NULL;
+
+    /* Look in interface-specific leasefile first for backwards compat */
+    leasefile = get_dhclient_leasefile(AF_INET6,
+                                       nm_dhcp_client_get_iface(client),
+                                       nm_dhcp_client_get_uuid(client),
+                                       NULL);
+    if (leasefile) {
+        _LOGD("looking for DUID in '%s'", leasefile);
+        duid = nm_dhcp_dhclient_read_duid(leasefile, &error);
+        if (error) {
+            _LOGW("failed to read leasefile '%s': %s", leasefile, error->message);
+            g_clear_error(&error);
+        }
+        if (duid)
+            return duid;
+    }
+
+    /* Otherwise, read the default machine-wide DUID */
+    _LOGD("looking for default DUID in '%s'", priv->def_leasefile);
+    duid = nm_dhcp_dhclient_read_duid(priv->def_leasefile, &error);
+    if (error) {
+        _LOGW("failed to read leasefile '%s': %s", priv->def_leasefile, error->message);
+        g_clear_error(&error);
+    }
+
+    return duid;
+}
+
+/*****************************************************************************/
+
+static void
+nm_dhcp_dhclient_init(NMDhcpDhclient *self)
+{
+    static const char *const FILES[] = {
+        SYSCONFDIR "/dhclient6.leases", /* default */
+        LOCALSTATEDIR "/lib/dhcp/dhclient6.leases",
+        LOCALSTATEDIR "/lib/dhclient/dhclient6.leases",
+    };
+    NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE(self);
+    int                    i;
+
+    priv->def_leasefile = FILES[0];
+    for (i = 0; i < G_N_ELEMENTS(FILES); i++) {
+        if (g_file_test(FILES[i], G_FILE_TEST_EXISTS)) {
+            priv->def_leasefile = FILES[i];
+            break;
+        }
+    }
+
+    priv->dhcp_listener = g_object_ref(nm_dhcp_listener_get());
+    g_signal_connect(priv->dhcp_listener,
+                     NM_DHCP_LISTENER_EVENT,
+                     G_CALLBACK(nm_dhcp_client_handle_event),
+                     self);
+}
+
+static void
+dispose(GObject *object)
+{
+    NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE(object);
+
+    if (priv->dhcp_listener) {
+        g_signal_handlers_disconnect_by_func(priv->dhcp_listener,
+                                             G_CALLBACK(nm_dhcp_client_handle_event),
+                                             NM_DHCP_DHCLIENT(object));
+        g_clear_object(&priv->dhcp_listener);
+    }
+
+    nm_clear_g_free(&priv->pid_file);
+    nm_clear_g_free(&priv->conf_file);
+    nm_clear_g_free(&priv->lease_file);
+
+    G_OBJECT_CLASS(nm_dhcp_dhclient_parent_class)->dispose(object);
+}
+
+static void
+nm_dhcp_dhclient_class_init(NMDhcpDhclientClass *dhclient_class)
+{
+    NMDhcpClientClass *client_class = NM_DHCP_CLIENT_CLASS(dhclient_class);
+    GObjectClass *     object_class = G_OBJECT_CLASS(dhclient_class);
+
+    object_class->dispose = dispose;
+
+    client_class->ip4_start = ip4_start;
+    client_class->ip6_start = ip6_start;
+    client_class->stop      = stop;
+    client_class->get_duid  = get_duid;
+}
+
+const NMDhcpClientFactory _nm_dhcp_client_factory_dhclient = {
+    .name     = "dhclient",
+    .get_type = nm_dhcp_dhclient_get_type,
+    .get_path = nm_dhcp_dhclient_get_path,
+};
+
+#endif /* WITH_DHCLIENT */
Index: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-dhcpcd.c
===================================================================
--- sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-dhcpcd.c	(nonexistent)
+++ sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/NetworkManager-1.31.3-new/src/core/dhcp/nm-dhcp-dhcpcd.c	(revision 29)
@@ -0,0 +1,230 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2008,2020 Roy Marples <roy@marples.name>
+ * Copyright (C) 2010 Dan Williams <dcbw@redhat.com>
+ */
+
+#include "src/core/nm-default-daemon.h"
+
+#if WITH_DHCPCD
+
+    #include <stdlib.h>
+    #include <unistd.h>
+    #include <stdio.h>
+    #include <netinet/in.h>
+    #include <arpa/inet.h>
+
+    #include "nm-dhcp-manager.h"
+    #include "nm-utils.h"
+    #include "NetworkManagerUtils.h"
+    #include "nm-dhcp-listener.h"
+    #include "nm-dhcp-client-logging.h"
+
+/*****************************************************************************/
+
+    #define NM_TYPE_DHCP_DHCPCD (nm_dhcp_dhcpcd_get_type())
+    #define NM_DHCP_DHCPCD(obj) \
+        (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcd))
+    #define NM_DHCP_DHCPCD_CLASS(klass) \
+        (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdClass))
+    #define NM_IS_DHCP_DHCPCD(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DHCP_DHCPCD))
+    #define NM_IS_DHCP_DHCPCD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DHCP_DHCPCD))
+    #define NM_DHCP_DHCPCD_GET_CLASS(obj) \
+        (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdClass))
+
+typedef struct _NMDhcpDhcpcd      NMDhcpDhcpcd;
+typedef struct _NMDhcpDhcpcdClass NMDhcpDhcpcdClass;
+
+static GType nm_dhcp_dhcpcd_get_type(void);
+
+/*****************************************************************************/
+
+typedef struct {
+    NMDhcpListener *dhcp_listener;
+} NMDhcpDhcpcdPrivate;
+
+struct _NMDhcpDhcpcd {
+    NMDhcpClient        parent;
+    NMDhcpDhcpcdPrivate _priv;
+};
+
+struct _NMDhcpDhcpcdClass {
+    NMDhcpClientClass parent;
+};
+
+G_DEFINE_TYPE(NMDhcpDhcpcd, nm_dhcp_dhcpcd, NM_TYPE_DHCP_CLIENT)
+
+    #define NM_DHCP_DHCPCD_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMDhcpDhcpcd, NM_IS_DHCP_DHCPCD)
+
+/*****************************************************************************/
+
+static const char *
+nm_dhcp_dhcpcd_get_path(void)
+{
+    return nm_utils_find_helper("dhcpcd", DHCPCD_PATH, NULL);
+}
+
+static gboolean
+ip4_start(NMDhcpClient *client,
+          const char *  dhcp_anycast_addr,
+          const char *  last_ip4_address,
+          GError **     error)
+{
+    NMDhcpDhcpcd *    self            = NM_DHCP_DHCPCD(client);
+    gs_unref_ptrarray GPtrArray *argv = NULL;
+    pid_t                        pid;
+    GError *                     local;
+    gs_free char *               cmd_str = NULL;
+    const char *                 iface;
+    const char *                 dhcpcd_path;
+    const char *                 hostname;
+
+    pid = nm_dhcp_client_get_pid(client);
+    g_return_val_if_fail(pid == -1, FALSE);
+
+    iface = nm_dhcp_client_get_iface(client);
+
+    dhcpcd_path = nm_dhcp_dhcpcd_get_path();
+    if (!dhcpcd_path) {
+        nm_utils_error_set_literal(error, NM_UTILS_ERROR_UNKNOWN, "dhcpcd binary not found");
+        return FALSE;
+    }
+
+    argv = g_ptr_array_new();
+    g_ptr_array_add(argv, (gpointer) dhcpcd_path);
+
+    /* Don't configure anything, we will do that instead.
+     * This requires dhcpcd-9.3.3 or newer.
+     * Older versions only had an option not to install a default route,
+     * dhcpcd still added addresses and other routes so we no longer support that
+     * as it doesn't fit how NetworkManager wants to work.
+     */
+    g_ptr_array_add(argv, (gpointer) "--noconfigure");
+
+    g_ptr_array_add(argv, (gpointer) "-B"); /* Don't background on lease (disable fork()) */
+
+    g_ptr_array_add(argv, (gpointer) "-K"); /* Disable built-in carrier detection */
+
+    g_ptr_array_add(argv, (gpointer) "-L"); /* Disable built-in IPv4LL */
+
+    /* --noarp. Don't request or claim the address by ARP; this also disables IPv4LL. */
+    g_ptr_array_add(argv, (gpointer) "-A");
+
+    g_ptr_array_add(argv, (gpointer) "-c"); /* Set script file */
+    g_ptr_array_add(argv, (gpointer) nm_dhcp_helper_path);
+
+    /* IPv4-only for now.  NetworkManager knows better than dhcpcd when to
+     * run IPv6, and dhcpcd's automatic Router Solicitations cause problems
+     * with devices that don't expect them.
+     */
+    g_ptr_array_add(argv, (gpointer) "-4");
+
+    hostname = nm_dhcp_client_get_hostname(client);
+
+    if (hostname) {
+        if (nm_dhcp_client_get_use_fqdn(client)) {
+            g_ptr_array_add(argv, (gpointer) "-h");
+            g_ptr_array_add(argv, (gpointer) hostname);
+            g_ptr_array_add(argv, (gpointer) "-F");
+            g_ptr_array_add(argv, (gpointer) "both");
+        } else {
+            g_ptr_array_add(argv, (gpointer) "-h");
+            g_ptr_array_add(argv, (gpointer) hostname);
+        }
+    }
+
+    g_ptr_array_add(argv, (gpointer) iface);
+    g_ptr_array_add(argv, NULL);
+
+    _LOGD("running: %s", (cmd_str = g_strjoinv(" ", (char **) argv->pdata)));
+
+    if (!g_spawn_async(NULL,
+                       (char **) argv->pdata,
+                       NULL,
+                       G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL
+                           | G_SPAWN_DO_NOT_REAP_CHILD,
+                       nm_utils_setpgid,
+                       NULL,
+                       &pid,
+                       &local)) {
+        nm_utils_error_set(error,
+                           NM_UTILS_ERROR_UNKNOWN,
+                           "dhcpcd failed to start: %s",
+                           local->message);
+        g_error_free(local);
+        return FALSE;
+    }
+
+    nm_assert(pid > 0);
+    _LOGI("dhcpcd started with pid %d", pid);
+    nm_dhcp_client_watch_child(client, pid);
+    return TRUE;
+}
+
+static void
+stop(NMDhcpClient *client, gboolean release)
+{
+    NMDhcpDhcpcd *self = NM_DHCP_DHCPCD(client);
+    pid_t         pid;
+    int           sig;
+
+    pid = nm_dhcp_client_get_pid(client);
+    if (pid > 1) {
+        sig = release ? SIGALRM : SIGTERM;
+        _LOGD("sending %s to dhcpcd pid %d", sig == SIGALRM ? "SIGALRM" : "SIGTERM", pid);
+
+        /* We need to remove the watch before stopping the process */
+        nm_dhcp_client_stop_watch_child(client, pid);
+
+        nm_dhcp_client_stop_pid(pid, nm_dhcp_client_get_iface(client), sig);
+    }
+}
+
+/*****************************************************************************/
+
+static void
+nm_dhcp_dhcpcd_init(NMDhcpDhcpcd *self)
+{
+    NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE(self);
+
+    priv->dhcp_listener = g_object_ref(nm_dhcp_listener_get());
+    g_signal_connect(priv->dhcp_listener,
+                     NM_DHCP_LISTENER_EVENT,
+                     G_CALLBACK(nm_dhcp_client_handle_event),
+                     self);
+}
+
+static void
+dispose(GObject *object)
+{
+    NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE(object);
+
+    if (priv->dhcp_listener) {
+        g_signal_handlers_disconnect_by_func(priv->dhcp_listener,
+                                             G_CALLBACK(nm_dhcp_client_handle_event),
+                                             NM_DHCP_DHCPCD(object));
+        g_clear_object(&priv->dhcp_listener);
+    }
+
+    G_OBJECT_CLASS(nm_dhcp_dhcpcd_parent_class)->dispose(object);
+}
+
+static void
+nm_dhcp_dhcpcd_class_init(NMDhcpDhcpcdClass *dhcpcd_class)
+{
+    NMDhcpClientClass *client_class = NM_DHCP_CLIENT_CLASS(dhcpcd_class);
+    GObjectClass *     object_class = G_OBJECT_CLASS(dhcpcd_class);
+
+    object_class->dispose = dispose;
+
+    client_class->ip4_start = ip4_start;
+    client_class->stop      = stop;
+}
+
+const NMDhcpClientFactory _nm_dhcp_client_factory_dhcpcd = {
+    .name     = "dhcpcd",
+    .get_type = nm_dhcp_dhcpcd_get_type,
+    .get_path = nm_dhcp_dhcpcd_get_path,
+};
+
+#endif /* WITH_DHCPCD */
Index: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/create.patch.sh
===================================================================
--- sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/create.patch.sh	(nonexistent)
+++ sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/create.patch.sh	(revision 29)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=1.31.3
+
+tar --files-from=file.list -xJvf ../NetworkManager-$VERSION.tar.xz
+mv NetworkManager-$VERSION NetworkManager-$VERSION-orig
+
+cp -rf ./NetworkManager-$VERSION-new ./NetworkManager-$VERSION
+
+diff --unified -Nr  NetworkManager-$VERSION-orig  NetworkManager-$VERSION > NetworkManager-$VERSION-dhcpcd-graceful-exit.patch
+
+mv NetworkManager-$VERSION-dhcpcd-graceful-exit.patch ../patches
+
+rm -rf ./NetworkManager-$VERSION
+rm -rf ./NetworkManager-$VERSION-orig

Property changes on: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/file.list
===================================================================
--- sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/file.list	(nonexistent)
+++ sources/GNOME/core/NetworkManager/create-1.31.3-dhcpcd-graceful-exit-patch/file.list	(revision 29)
@@ -0,0 +1,4 @@
+NetworkManager-1.31.3/src/core/dhcp/nm-dhcp-client.c
+NetworkManager-1.31.3/src/core/dhcp/nm-dhcp-client.h
+NetworkManager-1.31.3/src/core/dhcp/nm-dhcp-dhclient.c
+NetworkManager-1.31.3/src/core/dhcp/nm-dhcp-dhcpcd.c
Index: sources/GNOME/core/NetworkManager/patches/README
===================================================================
--- sources/GNOME/core/NetworkManager/patches/README	(nonexistent)
+++ sources/GNOME/core/NetworkManager/patches/README	(revision 29)
@@ -0,0 +1,6 @@
+
+/* begin *
+
+   TODO: Leave some comment here.
+
+ * end */
Index: sources/GNOME/core/NetworkManager/patches
===================================================================
--- sources/GNOME/core/NetworkManager/patches	(nonexistent)
+++ sources/GNOME/core/NetworkManager/patches	(revision 29)

Property changes on: sources/GNOME/core/NetworkManager/patches
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: sources/GNU/ncurses/6.3/Makefile
===================================================================
--- sources/GNU/ncurses/6.3/Makefile	(revision 28)
+++ sources/GNU/ncurses/6.3/Makefile	(revision 29)
@@ -11,7 +11,7 @@
 url         = $(DOWNLOAD_SERVER)/sources/GNU/ncurses/$(version)
 
 pkgname     = ncurses
-suffix      = tgz
+suffix      = tar.xz
 
 versions    = $(addprefix $(version)-, $(dates))
 tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
Index: sources/GNU/ncurses/6.3/create-6.3-20221029-cross-patch/create.patch.sh
===================================================================
--- sources/GNU/ncurses/6.3/create-6.3-20221029-cross-patch/create.patch.sh	(revision 28)
+++ sources/GNU/ncurses/6.3/create-6.3-20221029-cross-patch/create.patch.sh	(revision 29)
@@ -2,7 +2,7 @@
 
 VERSION=6.3-20221029
 
-tar --files-from=file.list -xzvf ../ncurses-$VERSION.tgz
+tar --files-from=file.list -xJvf ../ncurses-$VERSION.tar.xz
 mv ncurses-$VERSION ncurses-$VERSION-orig
 
 cp -rf ./ncurses-$VERSION-new ./ncurses-$VERSION
Index: sources/GNU/ncurses/6.3/create-6.3-20221029-gcc-5-patch/create.patch.sh
===================================================================
--- sources/GNU/ncurses/6.3/create-6.3-20221029-gcc-5-patch/create.patch.sh	(revision 28)
+++ sources/GNU/ncurses/6.3/create-6.3-20221029-gcc-5-patch/create.patch.sh	(revision 29)
@@ -2,7 +2,7 @@
 
 VERSION=6.3-20221029
 
-tar --files-from=file.list -xzvf ../ncurses-$VERSION.tgz
+tar --files-from=file.list -xJvf ../ncurses-$VERSION.tar.xz
 mv ncurses-$VERSION ncurses-$VERSION-orig
 
 cp -rf ./ncurses-$VERSION-new ./ncurses-$VERSION
Index: sources/GNU/ncurses/6.3/create-6.3-20221029-mkhashsize-patch/create.patch.sh
===================================================================
--- sources/GNU/ncurses/6.3/create-6.3-20221029-mkhashsize-patch/create.patch.sh	(revision 28)
+++ sources/GNU/ncurses/6.3/create-6.3-20221029-mkhashsize-patch/create.patch.sh	(revision 29)
@@ -2,7 +2,7 @@
 
 VERSION=6.3-20221029
 
-tar --files-from=file.list -xzvf ../ncurses-$VERSION.tgz
+tar --files-from=file.list -xJvf ../ncurses-$VERSION.tar.xz
 mv ncurses-$VERSION ncurses-$VERSION-orig
 
 cp -rf ./ncurses-$VERSION-new ./ncurses-$VERSION
Index: sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/file.list
===================================================================
--- sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/file.list	(revision 28)
+++ sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-linux-5.15.64/drivers/mmc/host/sdhci.c
Index: sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/create.patch.sh
===================================================================
--- sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/create.patch.sh	(revision 28)
+++ sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=5.15.64
-
-tar --files-from=file.list -xJvf ../linux-$VERSION.tar.xz
-mv linux-$VERSION linux-$VERSION-orig
-
-cp -rf ./linux-$VERSION-new ./linux-$VERSION
-
-diff --unified -Nr  linux-$VERSION-orig  linux-$VERSION > linux-$VERSION-sdhci-reset.patch
-
-mv linux-$VERSION-sdhci-reset.patch ../patches
-
-rm -rf ./linux-$VERSION
-rm -rf ./linux-$VERSION-orig

Property changes on: sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/linux-5.15.64-new/drivers/mmc/host/sdhci.c
===================================================================
--- sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/linux-5.15.64-new/drivers/mmc/host/sdhci.c	(revision 28)
+++ sources/Linux/v5.x/create-5.15.64-sdhci-reset-patch/linux-5.15.64-new/drivers/mmc/host/sdhci.c	(nonexistent)
@@ -1,4890 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- *  linux/drivers/mmc/host/sdhci.c - Secure Digital Host Controller Interface driver
- *
- *  Copyright (C) 2005-2008 Pierre Ossman, All Rights Reserved.
- *
- * Thanks to the following companies for their support:
- *
- *     - JMicron (hardware and technical support)
- */
-
-#include <linux/bitfield.h>
-#include <linux/delay.h>
-#include <linux/dmaengine.h>
-#include <linux/ktime.h>
-#include <linux/highmem.h>
-#include <linux/io.h>
-#include <linux/module.h>
-#include <linux/dma-mapping.h>
-#include <linux/slab.h>
-#include <linux/scatterlist.h>
-#include <linux/sizes.h>
-#include <linux/regulator/consumer.h>
-#include <linux/pm_runtime.h>
-#include <linux/of.h>
-
-#include <linux/leds.h>
-
-#include <linux/mmc/mmc.h>
-#include <linux/mmc/host.h>
-#include <linux/mmc/card.h>
-#include <linux/mmc/sdio.h>
-#include <linux/mmc/slot-gpio.h>
-
-#include "sdhci.h"
-
-#define DRIVER_NAME "sdhci"
-
-#define DBG(f, x...) \
-	pr_debug("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x)
-
-#define SDHCI_DUMP(f, x...) \
-	pr_err("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ## x)
-
-#define MAX_TUNING_LOOP 40
-
-static unsigned int debug_quirks = 0;
-static unsigned int debug_quirks2;
-
-static void sdhci_enable_preset_value(struct sdhci_host *host, bool enable);
-
-static bool sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd);
-
-void sdhci_dumpregs(struct sdhci_host *host)
-{
-	SDHCI_DUMP("============ SDHCI REGISTER DUMP ===========\n");
-
-	SDHCI_DUMP("Sys addr:  0x%08x | Version:  0x%08x\n",
-		   sdhci_readl(host, SDHCI_DMA_ADDRESS),
-		   sdhci_readw(host, SDHCI_HOST_VERSION));
-	SDHCI_DUMP("Blk size:  0x%08x | Blk cnt:  0x%08x\n",
-		   sdhci_readw(host, SDHCI_BLOCK_SIZE),
-		   sdhci_readw(host, SDHCI_BLOCK_COUNT));
-	SDHCI_DUMP("Argument:  0x%08x | Trn mode: 0x%08x\n",
-		   sdhci_readl(host, SDHCI_ARGUMENT),
-		   sdhci_readw(host, SDHCI_TRANSFER_MODE));
-	SDHCI_DUMP("Present:   0x%08x | Host ctl: 0x%08x\n",
-		   sdhci_readl(host, SDHCI_PRESENT_STATE),
-		   sdhci_readb(host, SDHCI_HOST_CONTROL));
-	SDHCI_DUMP("Power:     0x%08x | Blk gap:  0x%08x\n",
-		   sdhci_readb(host, SDHCI_POWER_CONTROL),
-		   sdhci_readb(host, SDHCI_BLOCK_GAP_CONTROL));
-	SDHCI_DUMP("Wake-up:   0x%08x | Clock:    0x%08x\n",
-		   sdhci_readb(host, SDHCI_WAKE_UP_CONTROL),
-		   sdhci_readw(host, SDHCI_CLOCK_CONTROL));
-	SDHCI_DUMP("Timeout:   0x%08x | Int stat: 0x%08x\n",
-		   sdhci_readb(host, SDHCI_TIMEOUT_CONTROL),
-		   sdhci_readl(host, SDHCI_INT_STATUS));
-	SDHCI_DUMP("Int enab:  0x%08x | Sig enab: 0x%08x\n",
-		   sdhci_readl(host, SDHCI_INT_ENABLE),
-		   sdhci_readl(host, SDHCI_SIGNAL_ENABLE));
-	SDHCI_DUMP("ACmd stat: 0x%08x | Slot int: 0x%08x\n",
-		   sdhci_readw(host, SDHCI_AUTO_CMD_STATUS),
-		   sdhci_readw(host, SDHCI_SLOT_INT_STATUS));
-	SDHCI_DUMP("Caps:      0x%08x | Caps_1:   0x%08x\n",
-		   sdhci_readl(host, SDHCI_CAPABILITIES),
-		   sdhci_readl(host, SDHCI_CAPABILITIES_1));
-	SDHCI_DUMP("Cmd:       0x%08x | Max curr: 0x%08x\n",
-		   sdhci_readw(host, SDHCI_COMMAND),
-		   sdhci_readl(host, SDHCI_MAX_CURRENT));
-	SDHCI_DUMP("Resp[0]:   0x%08x | Resp[1]:  0x%08x\n",
-		   sdhci_readl(host, SDHCI_RESPONSE),
-		   sdhci_readl(host, SDHCI_RESPONSE + 4));
-	SDHCI_DUMP("Resp[2]:   0x%08x | Resp[3]:  0x%08x\n",
-		   sdhci_readl(host, SDHCI_RESPONSE + 8),
-		   sdhci_readl(host, SDHCI_RESPONSE + 12));
-	SDHCI_DUMP("Host ctl2: 0x%08x\n",
-		   sdhci_readw(host, SDHCI_HOST_CONTROL2));
-
-	if (host->flags & SDHCI_USE_ADMA) {
-		if (host->flags & SDHCI_USE_64_BIT_DMA) {
-			SDHCI_DUMP("ADMA Err:  0x%08x | ADMA Ptr: 0x%08x%08x\n",
-				   sdhci_readl(host, SDHCI_ADMA_ERROR),
-				   sdhci_readl(host, SDHCI_ADMA_ADDRESS_HI),
-				   sdhci_readl(host, SDHCI_ADMA_ADDRESS));
-		} else {
-			SDHCI_DUMP("ADMA Err:  0x%08x | ADMA Ptr: 0x%08x\n",
-				   sdhci_readl(host, SDHCI_ADMA_ERROR),
-				   sdhci_readl(host, SDHCI_ADMA_ADDRESS));
-		}
-	}
-
-	if (host->ops->dump_vendor_regs)
-		host->ops->dump_vendor_regs(host);
-
-	SDHCI_DUMP("============================================\n");
-}
-EXPORT_SYMBOL_GPL(sdhci_dumpregs);
-
-/*****************************************************************************\
- *                                                                           *
- * Low level functions                                                       *
- *                                                                           *
-\*****************************************************************************/
-
-static void sdhci_do_enable_v4_mode(struct sdhci_host *host)
-{
-	u16 ctrl2;
-
-	ctrl2 = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-	if (ctrl2 & SDHCI_CTRL_V4_MODE)
-		return;
-
-	ctrl2 |= SDHCI_CTRL_V4_MODE;
-	sdhci_writew(host, ctrl2, SDHCI_HOST_CONTROL2);
-}
-
-/*
- * This can be called before sdhci_add_host() by Vendor's host controller
- * driver to enable v4 mode if supported.
- */
-void sdhci_enable_v4_mode(struct sdhci_host *host)
-{
-	host->v4_mode = true;
-	sdhci_do_enable_v4_mode(host);
-}
-EXPORT_SYMBOL_GPL(sdhci_enable_v4_mode);
-
-static inline bool sdhci_data_line_cmd(struct mmc_command *cmd)
-{
-	return cmd->data || cmd->flags & MMC_RSP_BUSY;
-}
-
-static void sdhci_set_card_detection(struct sdhci_host *host, bool enable)
-{
-	u32 present;
-
-	if ((host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION) ||
-	    !mmc_card_is_removable(host->mmc) || mmc_can_gpio_cd(host->mmc))
-		return;
-
-	if (enable) {
-		present = sdhci_readl(host, SDHCI_PRESENT_STATE) &
-				      SDHCI_CARD_PRESENT;
-
-		host->ier |= present ? SDHCI_INT_CARD_REMOVE :
-				       SDHCI_INT_CARD_INSERT;
-	} else {
-		host->ier &= ~(SDHCI_INT_CARD_REMOVE | SDHCI_INT_CARD_INSERT);
-	}
-
-	sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-	sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-}
-
-static void sdhci_enable_card_detection(struct sdhci_host *host)
-{
-	sdhci_set_card_detection(host, true);
-}
-
-static void sdhci_disable_card_detection(struct sdhci_host *host)
-{
-	sdhci_set_card_detection(host, false);
-}
-
-static void sdhci_runtime_pm_bus_on(struct sdhci_host *host)
-{
-	if (host->bus_on)
-		return;
-	host->bus_on = true;
-	pm_runtime_get_noresume(mmc_dev(host->mmc));
-}
-
-static void sdhci_runtime_pm_bus_off(struct sdhci_host *host)
-{
-	if (!host->bus_on)
-		return;
-	host->bus_on = false;
-	pm_runtime_put_noidle(mmc_dev(host->mmc));
-}
-
-void sdhci_reset(struct sdhci_host *host, u8 mask)
-{
-	ktime_t timeout;
-
-	sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET);
-
-	if (mask & SDHCI_RESET_ALL) {
-		host->clock = 0;
-		/* Reset-all turns off SD Bus Power */
-		if (host->quirks2 & SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON)
-			sdhci_runtime_pm_bus_off(host);
-		if (host->ops->voltage_switch)
-			host->ops->voltage_switch(host);
-	}
-
-	/* Wait max 100 ms */
-	timeout = ktime_add_ms(ktime_get(), 100);
-
-	/* hw clears the bit when it's done */
-	while (1) {
-		bool timedout = ktime_after(ktime_get(), timeout);
-
-		if (!(sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask))
-			break;
-		if (timedout) {
-			pr_err("%s: Reset 0x%x never completed.\n",
-				mmc_hostname(host->mmc), (int)mask);
-			sdhci_dumpregs(host);
-			return;
-		}
-		udelay(10);
-	}
-}
-EXPORT_SYMBOL_GPL(sdhci_reset);
-
-static void sdhci_do_reset(struct sdhci_host *host, u8 mask)
-{
-	if (host->quirks & SDHCI_QUIRK_NO_CARD_NO_RESET) {
-		struct mmc_host *mmc = host->mmc;
-
-		if (!mmc->ops->get_cd(mmc))
-			return;
-	}
-
-	host->ops->reset(host, mask);
-
-	if (mask & SDHCI_RESET_ALL) {
-		if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) {
-			if (host->ops->enable_dma)
-				host->ops->enable_dma(host);
-		}
-
-		/* Resetting the controller clears many */
-		host->preset_enabled = false;
-	}
-}
-
-static void sdhci_set_default_irqs(struct sdhci_host *host)
-{
-	host->ier = SDHCI_INT_BUS_POWER | SDHCI_INT_DATA_END_BIT |
-		    SDHCI_INT_DATA_CRC | SDHCI_INT_DATA_TIMEOUT |
-		    SDHCI_INT_INDEX | SDHCI_INT_END_BIT | SDHCI_INT_CRC |
-		    SDHCI_INT_TIMEOUT | SDHCI_INT_DATA_END |
-		    SDHCI_INT_RESPONSE;
-
-	if (host->tuning_mode == SDHCI_TUNING_MODE_2 ||
-	    host->tuning_mode == SDHCI_TUNING_MODE_3)
-		host->ier |= SDHCI_INT_RETUNE;
-
-	sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-	sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-}
-
-static void sdhci_config_dma(struct sdhci_host *host)
-{
-	u8 ctrl;
-	u16 ctrl2;
-
-	if (host->version < SDHCI_SPEC_200)
-		return;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-
-	/*
-	 * Always adjust the DMA selection as some controllers
-	 * (e.g. JMicron) can't do PIO properly when the selection
-	 * is ADMA.
-	 */
-	ctrl &= ~SDHCI_CTRL_DMA_MASK;
-	if (!(host->flags & SDHCI_REQ_USE_DMA))
-		goto out;
-
-	/* Note if DMA Select is zero then SDMA is selected */
-	if (host->flags & SDHCI_USE_ADMA)
-		ctrl |= SDHCI_CTRL_ADMA32;
-
-	if (host->flags & SDHCI_USE_64_BIT_DMA) {
-		/*
-		 * If v4 mode, all supported DMA can be 64-bit addressing if
-		 * controller supports 64-bit system address, otherwise only
-		 * ADMA can support 64-bit addressing.
-		 */
-		if (host->v4_mode) {
-			ctrl2 = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-			ctrl2 |= SDHCI_CTRL_64BIT_ADDR;
-			sdhci_writew(host, ctrl2, SDHCI_HOST_CONTROL2);
-		} else if (host->flags & SDHCI_USE_ADMA) {
-			/*
-			 * Don't need to undo SDHCI_CTRL_ADMA32 in order to
-			 * set SDHCI_CTRL_ADMA64.
-			 */
-			ctrl |= SDHCI_CTRL_ADMA64;
-		}
-	}
-
-out:
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-
-static void sdhci_init(struct sdhci_host *host, int soft)
-{
-	struct mmc_host *mmc = host->mmc;
-	unsigned long flags;
-
-	if (soft)
-		sdhci_do_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
-	else
-		sdhci_do_reset(host, SDHCI_RESET_ALL);
-
-	if (host->v4_mode)
-		sdhci_do_enable_v4_mode(host);
-
-	spin_lock_irqsave(&host->lock, flags);
-	sdhci_set_default_irqs(host);
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	host->cqe_on = false;
-
-	if (soft) {
-		/* force clock reconfiguration */
-		host->clock = 0;
-		mmc->ops->set_ios(mmc, &mmc->ios);
-	}
-}
-
-static void sdhci_reinit(struct sdhci_host *host)
-{
-	u32 cd = host->ier & (SDHCI_INT_CARD_REMOVE | SDHCI_INT_CARD_INSERT);
-
-	sdhci_init(host, 0);
-	sdhci_enable_card_detection(host);
-
-	/*
-	 * A change to the card detect bits indicates a change in present state,
-	 * refer sdhci_set_card_detection(). A card detect interrupt might have
-	 * been missed while the host controller was being reset, so trigger a
-	 * rescan to check.
-	 */
-	if (cd != (host->ier & (SDHCI_INT_CARD_REMOVE | SDHCI_INT_CARD_INSERT)))
-		mmc_detect_change(host->mmc, msecs_to_jiffies(200));
-}
-
-static void __sdhci_led_activate(struct sdhci_host *host)
-{
-	u8 ctrl;
-
-	if (host->quirks & SDHCI_QUIRK_NO_LED)
-		return;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-	ctrl |= SDHCI_CTRL_LED;
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-
-static void __sdhci_led_deactivate(struct sdhci_host *host)
-{
-	u8 ctrl;
-
-	if (host->quirks & SDHCI_QUIRK_NO_LED)
-		return;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-	ctrl &= ~SDHCI_CTRL_LED;
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-
-#if IS_REACHABLE(CONFIG_LEDS_CLASS)
-static void sdhci_led_control(struct led_classdev *led,
-			      enum led_brightness brightness)
-{
-	struct sdhci_host *host = container_of(led, struct sdhci_host, led);
-	unsigned long flags;
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	if (host->runtime_suspended)
-		goto out;
-
-	if (brightness == LED_OFF)
-		__sdhci_led_deactivate(host);
-	else
-		__sdhci_led_activate(host);
-out:
-	spin_unlock_irqrestore(&host->lock, flags);
-}
-
-static int sdhci_led_register(struct sdhci_host *host)
-{
-	struct mmc_host *mmc = host->mmc;
-
-	if (host->quirks & SDHCI_QUIRK_NO_LED)
-		return 0;
-
-	snprintf(host->led_name, sizeof(host->led_name),
-		 "%s::", mmc_hostname(mmc));
-
-	host->led.name = host->led_name;
-	host->led.brightness = LED_OFF;
-	host->led.default_trigger = mmc_hostname(mmc);
-	host->led.brightness_set = sdhci_led_control;
-
-	return led_classdev_register(mmc_dev(mmc), &host->led);
-}
-
-static void sdhci_led_unregister(struct sdhci_host *host)
-{
-	if (host->quirks & SDHCI_QUIRK_NO_LED)
-		return;
-
-	led_classdev_unregister(&host->led);
-}
-
-static inline void sdhci_led_activate(struct sdhci_host *host)
-{
-}
-
-static inline void sdhci_led_deactivate(struct sdhci_host *host)
-{
-}
-
-#else
-
-static inline int sdhci_led_register(struct sdhci_host *host)
-{
-	return 0;
-}
-
-static inline void sdhci_led_unregister(struct sdhci_host *host)
-{
-}
-
-static inline void sdhci_led_activate(struct sdhci_host *host)
-{
-	__sdhci_led_activate(host);
-}
-
-static inline void sdhci_led_deactivate(struct sdhci_host *host)
-{
-	__sdhci_led_deactivate(host);
-}
-
-#endif
-
-static void sdhci_mod_timer(struct sdhci_host *host, struct mmc_request *mrq,
-			    unsigned long timeout)
-{
-	if (sdhci_data_line_cmd(mrq->cmd))
-		mod_timer(&host->data_timer, timeout);
-	else
-		mod_timer(&host->timer, timeout);
-}
-
-static void sdhci_del_timer(struct sdhci_host *host, struct mmc_request *mrq)
-{
-	if (sdhci_data_line_cmd(mrq->cmd))
-		del_timer(&host->data_timer);
-	else
-		del_timer(&host->timer);
-}
-
-static inline bool sdhci_has_requests(struct sdhci_host *host)
-{
-	return host->cmd || host->data_cmd;
-}
-
-/*****************************************************************************\
- *                                                                           *
- * Core functions                                                            *
- *                                                                           *
-\*****************************************************************************/
-
-static void sdhci_read_block_pio(struct sdhci_host *host)
-{
-	unsigned long flags;
-	size_t blksize, len, chunk;
-	u32 scratch;
-	u8 *buf;
-
-	DBG("PIO reading\n");
-
-	blksize = host->data->blksz;
-	chunk = 0;
-
-	local_irq_save(flags);
-
-	while (blksize) {
-		BUG_ON(!sg_miter_next(&host->sg_miter));
-
-		len = min(host->sg_miter.length, blksize);
-
-		blksize -= len;
-		host->sg_miter.consumed = len;
-
-		buf = host->sg_miter.addr;
-
-		while (len) {
-			if (chunk == 0) {
-				scratch = sdhci_readl(host, SDHCI_BUFFER);
-				chunk = 4;
-			}
-
-			*buf = scratch & 0xFF;
-
-			buf++;
-			scratch >>= 8;
-			chunk--;
-			len--;
-		}
-	}
-
-	sg_miter_stop(&host->sg_miter);
-
-	local_irq_restore(flags);
-}
-
-static void sdhci_write_block_pio(struct sdhci_host *host)
-{
-	unsigned long flags;
-	size_t blksize, len, chunk;
-	u32 scratch;
-	u8 *buf;
-
-	DBG("PIO writing\n");
-
-	blksize = host->data->blksz;
-	chunk = 0;
-	scratch = 0;
-
-	local_irq_save(flags);
-
-	while (blksize) {
-		BUG_ON(!sg_miter_next(&host->sg_miter));
-
-		len = min(host->sg_miter.length, blksize);
-
-		blksize -= len;
-		host->sg_miter.consumed = len;
-
-		buf = host->sg_miter.addr;
-
-		while (len) {
-			scratch |= (u32)*buf << (chunk * 8);
-
-			buf++;
-			chunk++;
-			len--;
-
-			if ((chunk == 4) || ((len == 0) && (blksize == 0))) {
-				sdhci_writel(host, scratch, SDHCI_BUFFER);
-				chunk = 0;
-				scratch = 0;
-			}
-		}
-	}
-
-	sg_miter_stop(&host->sg_miter);
-
-	local_irq_restore(flags);
-}
-
-static void sdhci_transfer_pio(struct sdhci_host *host)
-{
-	u32 mask;
-
-	if (host->blocks == 0)
-		return;
-
-	if (host->data->flags & MMC_DATA_READ)
-		mask = SDHCI_DATA_AVAILABLE;
-	else
-		mask = SDHCI_SPACE_AVAILABLE;
-
-	/*
-	 * Some controllers (JMicron JMB38x) mess up the buffer bits
-	 * for transfers < 4 bytes. As long as it is just one block,
-	 * we can ignore the bits.
-	 */
-	if ((host->quirks & SDHCI_QUIRK_BROKEN_SMALL_PIO) &&
-		(host->data->blocks == 1))
-		mask = ~0;
-
-	while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
-		if (host->quirks & SDHCI_QUIRK_PIO_NEEDS_DELAY)
-			udelay(100);
-
-		if (host->data->flags & MMC_DATA_READ)
-			sdhci_read_block_pio(host);
-		else
-			sdhci_write_block_pio(host);
-
-		host->blocks--;
-		if (host->blocks == 0)
-			break;
-	}
-
-	DBG("PIO transfer complete.\n");
-}
-
-static int sdhci_pre_dma_transfer(struct sdhci_host *host,
-				  struct mmc_data *data, int cookie)
-{
-	int sg_count;
-
-	/*
-	 * If the data buffers are already mapped, return the previous
-	 * dma_map_sg() result.
-	 */
-	if (data->host_cookie == COOKIE_PRE_MAPPED)
-		return data->sg_count;
-
-	/* Bounce write requests to the bounce buffer */
-	if (host->bounce_buffer) {
-		unsigned int length = data->blksz * data->blocks;
-
-		if (length > host->bounce_buffer_size) {
-			pr_err("%s: asked for transfer of %u bytes exceeds bounce buffer %u bytes\n",
-			       mmc_hostname(host->mmc), length,
-			       host->bounce_buffer_size);
-			return -EIO;
-		}
-		if (mmc_get_dma_dir(data) == DMA_TO_DEVICE) {
-			/* Copy the data to the bounce buffer */
-			if (host->ops->copy_to_bounce_buffer) {
-				host->ops->copy_to_bounce_buffer(host,
-								 data, length);
-			} else {
-				sg_copy_to_buffer(data->sg, data->sg_len,
-						  host->bounce_buffer, length);
-			}
-		}
-		/* Switch ownership to the DMA */
-		dma_sync_single_for_device(mmc_dev(host->mmc),
-					   host->bounce_addr,
-					   host->bounce_buffer_size,
-					   mmc_get_dma_dir(data));
-		/* Just a dummy value */
-		sg_count = 1;
-	} else {
-		/* Just access the data directly from memory */
-		sg_count = dma_map_sg(mmc_dev(host->mmc),
-				      data->sg, data->sg_len,
-				      mmc_get_dma_dir(data));
-	}
-
-	if (sg_count == 0)
-		return -ENOSPC;
-
-	data->sg_count = sg_count;
-	data->host_cookie = cookie;
-
-	return sg_count;
-}
-
-static char *sdhci_kmap_atomic(struct scatterlist *sg, unsigned long *flags)
-{
-	local_irq_save(*flags);
-	return kmap_atomic(sg_page(sg)) + sg->offset;
-}
-
-static void sdhci_kunmap_atomic(void *buffer, unsigned long *flags)
-{
-	kunmap_atomic(buffer);
-	local_irq_restore(*flags);
-}
-
-void sdhci_adma_write_desc(struct sdhci_host *host, void **desc,
-			   dma_addr_t addr, int len, unsigned int cmd)
-{
-	struct sdhci_adma2_64_desc *dma_desc = *desc;
-
-	/* 32-bit and 64-bit descriptors have these members in same position */
-	dma_desc->cmd = cpu_to_le16(cmd);
-	dma_desc->len = cpu_to_le16(len);
-	dma_desc->addr_lo = cpu_to_le32(lower_32_bits(addr));
-
-	if (host->flags & SDHCI_USE_64_BIT_DMA)
-		dma_desc->addr_hi = cpu_to_le32(upper_32_bits(addr));
-
-	*desc += host->desc_sz;
-}
-EXPORT_SYMBOL_GPL(sdhci_adma_write_desc);
-
-static inline void __sdhci_adma_write_desc(struct sdhci_host *host,
-					   void **desc, dma_addr_t addr,
-					   int len, unsigned int cmd)
-{
-	if (host->ops->adma_write_desc)
-		host->ops->adma_write_desc(host, desc, addr, len, cmd);
-	else
-		sdhci_adma_write_desc(host, desc, addr, len, cmd);
-}
-
-static void sdhci_adma_mark_end(void *desc)
-{
-	struct sdhci_adma2_64_desc *dma_desc = desc;
-
-	/* 32-bit and 64-bit descriptors have 'cmd' in same position */
-	dma_desc->cmd |= cpu_to_le16(ADMA2_END);
-}
-
-static void sdhci_adma_table_pre(struct sdhci_host *host,
-	struct mmc_data *data, int sg_count)
-{
-	struct scatterlist *sg;
-	unsigned long flags;
-	dma_addr_t addr, align_addr;
-	void *desc, *align;
-	char *buffer;
-	int len, offset, i;
-
-	/*
-	 * The spec does not specify endianness of descriptor table.
-	 * We currently guess that it is LE.
-	 */
-
-	host->sg_count = sg_count;
-
-	desc = host->adma_table;
-	align = host->align_buffer;
-
-	align_addr = host->align_addr;
-
-	for_each_sg(data->sg, sg, host->sg_count, i) {
-		addr = sg_dma_address(sg);
-		len = sg_dma_len(sg);
-
-		/*
-		 * The SDHCI specification states that ADMA addresses must
-		 * be 32-bit aligned. If they aren't, then we use a bounce
-		 * buffer for the (up to three) bytes that screw up the
-		 * alignment.
-		 */
-		offset = (SDHCI_ADMA2_ALIGN - (addr & SDHCI_ADMA2_MASK)) &
-			 SDHCI_ADMA2_MASK;
-		if (offset) {
-			if (data->flags & MMC_DATA_WRITE) {
-				buffer = sdhci_kmap_atomic(sg, &flags);
-				memcpy(align, buffer, offset);
-				sdhci_kunmap_atomic(buffer, &flags);
-			}
-
-			/* tran, valid */
-			__sdhci_adma_write_desc(host, &desc, align_addr,
-						offset, ADMA2_TRAN_VALID);
-
-			BUG_ON(offset > 65536);
-
-			align += SDHCI_ADMA2_ALIGN;
-			align_addr += SDHCI_ADMA2_ALIGN;
-
-			addr += offset;
-			len -= offset;
-		}
-
-		/*
-		 * The block layer forces a minimum segment size of PAGE_SIZE,
-		 * so 'len' can be too big here if PAGE_SIZE >= 64KiB. Write
-		 * multiple descriptors, noting that the ADMA table is sized
-		 * for 4KiB chunks anyway, so it will be big enough.
-		 */
-		while (len > host->max_adma) {
-			int n = 32 * 1024; /* 32KiB*/
-
-			__sdhci_adma_write_desc(host, &desc, addr, n, ADMA2_TRAN_VALID);
-			addr += n;
-			len -= n;
-		}
-
-		/* tran, valid */
-		if (len)
-			__sdhci_adma_write_desc(host, &desc, addr, len,
-						ADMA2_TRAN_VALID);
-
-		/*
-		 * If this triggers then we have a calculation bug
-		 * somewhere. :/
-		 */
-		WARN_ON((desc - host->adma_table) >= host->adma_table_sz);
-	}
-
-	if (host->quirks & SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC) {
-		/* Mark the last descriptor as the terminating descriptor */
-		if (desc != host->adma_table) {
-			desc -= host->desc_sz;
-			sdhci_adma_mark_end(desc);
-		}
-	} else {
-		/* Add a terminating entry - nop, end, valid */
-		__sdhci_adma_write_desc(host, &desc, 0, 0, ADMA2_NOP_END_VALID);
-	}
-}
-
-static void sdhci_adma_table_post(struct sdhci_host *host,
-	struct mmc_data *data)
-{
-	struct scatterlist *sg;
-	int i, size;
-	void *align;
-	char *buffer;
-	unsigned long flags;
-
-	if (data->flags & MMC_DATA_READ) {
-		bool has_unaligned = false;
-
-		/* Do a quick scan of the SG list for any unaligned mappings */
-		for_each_sg(data->sg, sg, host->sg_count, i)
-			if (sg_dma_address(sg) & SDHCI_ADMA2_MASK) {
-				has_unaligned = true;
-				break;
-			}
-
-		if (has_unaligned) {
-			dma_sync_sg_for_cpu(mmc_dev(host->mmc), data->sg,
-					    data->sg_len, DMA_FROM_DEVICE);
-
-			align = host->align_buffer;
-
-			for_each_sg(data->sg, sg, host->sg_count, i) {
-				if (sg_dma_address(sg) & SDHCI_ADMA2_MASK) {
-					size = SDHCI_ADMA2_ALIGN -
-					       (sg_dma_address(sg) & SDHCI_ADMA2_MASK);
-
-					buffer = sdhci_kmap_atomic(sg, &flags);
-					memcpy(buffer, align, size);
-					sdhci_kunmap_atomic(buffer, &flags);
-
-					align += SDHCI_ADMA2_ALIGN;
-				}
-			}
-		}
-	}
-}
-
-static void sdhci_set_adma_addr(struct sdhci_host *host, dma_addr_t addr)
-{
-	sdhci_writel(host, lower_32_bits(addr), SDHCI_ADMA_ADDRESS);
-	if (host->flags & SDHCI_USE_64_BIT_DMA)
-		sdhci_writel(host, upper_32_bits(addr), SDHCI_ADMA_ADDRESS_HI);
-}
-
-static dma_addr_t sdhci_sdma_address(struct sdhci_host *host)
-{
-	if (host->bounce_buffer)
-		return host->bounce_addr;
-	else
-		return sg_dma_address(host->data->sg);
-}
-
-static void sdhci_set_sdma_addr(struct sdhci_host *host, dma_addr_t addr)
-{
-	if (host->v4_mode)
-		sdhci_set_adma_addr(host, addr);
-	else
-		sdhci_writel(host, addr, SDHCI_DMA_ADDRESS);
-}
-
-static unsigned int sdhci_target_timeout(struct sdhci_host *host,
-					 struct mmc_command *cmd,
-					 struct mmc_data *data)
-{
-	unsigned int target_timeout;
-
-	/* timeout in us */
-	if (!data) {
-		target_timeout = cmd->busy_timeout * 1000;
-	} else {
-		target_timeout = DIV_ROUND_UP(data->timeout_ns, 1000);
-		if (host->clock && data->timeout_clks) {
-			unsigned long long val;
-
-			/*
-			 * data->timeout_clks is in units of clock cycles.
-			 * host->clock is in Hz.  target_timeout is in us.
-			 * Hence, us = 1000000 * cycles / Hz.  Round up.
-			 */
-			val = 1000000ULL * data->timeout_clks;
-			if (do_div(val, host->clock))
-				target_timeout++;
-			target_timeout += val;
-		}
-	}
-
-	return target_timeout;
-}
-
-static void sdhci_calc_sw_timeout(struct sdhci_host *host,
-				  struct mmc_command *cmd)
-{
-	struct mmc_data *data = cmd->data;
-	struct mmc_host *mmc = host->mmc;
-	struct mmc_ios *ios = &mmc->ios;
-	unsigned char bus_width = 1 << ios->bus_width;
-	unsigned int blksz;
-	unsigned int freq;
-	u64 target_timeout;
-	u64 transfer_time;
-
-	target_timeout = sdhci_target_timeout(host, cmd, data);
-	target_timeout *= NSEC_PER_USEC;
-
-	if (data) {
-		blksz = data->blksz;
-		freq = mmc->actual_clock ? : host->clock;
-		transfer_time = (u64)blksz * NSEC_PER_SEC * (8 / bus_width);
-		do_div(transfer_time, freq);
-		/* multiply by '2' to account for any unknowns */
-		transfer_time = transfer_time * 2;
-		/* calculate timeout for the entire data */
-		host->data_timeout = data->blocks * target_timeout +
-				     transfer_time;
-	} else {
-		host->data_timeout = target_timeout;
-	}
-
-	if (host->data_timeout)
-		host->data_timeout += MMC_CMD_TRANSFER_TIME;
-}
-
-static u8 sdhci_calc_timeout(struct sdhci_host *host, struct mmc_command *cmd,
-			     bool *too_big)
-{
-	u8 count;
-	struct mmc_data *data;
-	unsigned target_timeout, current_timeout;
-
-	*too_big = true;
-
-	/*
-	 * If the host controller provides us with an incorrect timeout
-	 * value, just skip the check and use the maximum. The hardware may take
-	 * longer to time out, but that's much better than having a too-short
-	 * timeout value.
-	 */
-	if (host->quirks & SDHCI_QUIRK_BROKEN_TIMEOUT_VAL)
-		return host->max_timeout_count;
-
-	/* Unspecified command, asume max */
-	if (cmd == NULL)
-		return host->max_timeout_count;
-
-	data = cmd->data;
-	/* Unspecified timeout, assume max */
-	if (!data && !cmd->busy_timeout)
-		return host->max_timeout_count;
-
-	/* timeout in us */
-	target_timeout = sdhci_target_timeout(host, cmd, data);
-
-	/*
-	 * Figure out needed cycles.
-	 * We do this in steps in order to fit inside a 32 bit int.
-	 * The first step is the minimum timeout, which will have a
-	 * minimum resolution of 6 bits:
-	 * (1) 2^13*1000 > 2^22,
-	 * (2) host->timeout_clk < 2^16
-	 *     =>
-	 *     (1) / (2) > 2^6
-	 */
-	count = 0;
-	current_timeout = (1 << 13) * 1000 / host->timeout_clk;
-	while (current_timeout < target_timeout) {
-		count++;
-		current_timeout <<= 1;
-		if (count > host->max_timeout_count)
-			break;
-	}
-
-	if (count > host->max_timeout_count) {
-		if (!(host->quirks2 & SDHCI_QUIRK2_DISABLE_HW_TIMEOUT))
-			DBG("Too large timeout 0x%x requested for CMD%d!\n",
-			    count, cmd->opcode);
-		count = host->max_timeout_count;
-	} else {
-		*too_big = false;
-	}
-
-	return count;
-}
-
-static void sdhci_set_transfer_irqs(struct sdhci_host *host)
-{
-	u32 pio_irqs = SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL;
-	u32 dma_irqs = SDHCI_INT_DMA_END | SDHCI_INT_ADMA_ERROR;
-
-	if (host->flags & SDHCI_REQ_USE_DMA)
-		host->ier = (host->ier & ~pio_irqs) | dma_irqs;
-	else
-		host->ier = (host->ier & ~dma_irqs) | pio_irqs;
-
-	if (host->flags & (SDHCI_AUTO_CMD23 | SDHCI_AUTO_CMD12))
-		host->ier |= SDHCI_INT_AUTO_CMD_ERR;
-	else
-		host->ier &= ~SDHCI_INT_AUTO_CMD_ERR;
-
-	sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-	sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-}
-
-void sdhci_set_data_timeout_irq(struct sdhci_host *host, bool enable)
-{
-	if (enable)
-		host->ier |= SDHCI_INT_DATA_TIMEOUT;
-	else
-		host->ier &= ~SDHCI_INT_DATA_TIMEOUT;
-	sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-	sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_data_timeout_irq);
-
-void __sdhci_set_timeout(struct sdhci_host *host, struct mmc_command *cmd)
-{
-	bool too_big = false;
-	u8 count = sdhci_calc_timeout(host, cmd, &too_big);
-
-	if (too_big &&
-	    host->quirks2 & SDHCI_QUIRK2_DISABLE_HW_TIMEOUT) {
-		sdhci_calc_sw_timeout(host, cmd);
-		sdhci_set_data_timeout_irq(host, false);
-	} else if (!(host->ier & SDHCI_INT_DATA_TIMEOUT)) {
-		sdhci_set_data_timeout_irq(host, true);
-	}
-
-	sdhci_writeb(host, count, SDHCI_TIMEOUT_CONTROL);
-}
-EXPORT_SYMBOL_GPL(__sdhci_set_timeout);
-
-static void sdhci_set_timeout(struct sdhci_host *host, struct mmc_command *cmd)
-{
-	if (host->ops->set_timeout)
-		host->ops->set_timeout(host, cmd);
-	else
-		__sdhci_set_timeout(host, cmd);
-}
-
-static void sdhci_initialize_data(struct sdhci_host *host,
-				  struct mmc_data *data)
-{
-	WARN_ON(host->data);
-
-	/* Sanity checks */
-	BUG_ON(data->blksz * data->blocks > 524288);
-	BUG_ON(data->blksz > host->mmc->max_blk_size);
-	BUG_ON(data->blocks > 65535);
-
-	host->data = data;
-	host->data_early = 0;
-	host->data->bytes_xfered = 0;
-}
-
-static inline void sdhci_set_block_info(struct sdhci_host *host,
-					struct mmc_data *data)
-{
-	/* Set the DMA boundary value and block size */
-	sdhci_writew(host,
-		     SDHCI_MAKE_BLKSZ(host->sdma_boundary, data->blksz),
-		     SDHCI_BLOCK_SIZE);
-	/*
-	 * For Version 4.10 onwards, if v4 mode is enabled, 32-bit Block Count
-	 * can be supported, in that case 16-bit block count register must be 0.
-	 */
-	if (host->version >= SDHCI_SPEC_410 && host->v4_mode &&
-	    (host->quirks2 & SDHCI_QUIRK2_USE_32BIT_BLK_CNT)) {
-		if (sdhci_readw(host, SDHCI_BLOCK_COUNT))
-			sdhci_writew(host, 0, SDHCI_BLOCK_COUNT);
-		sdhci_writew(host, data->blocks, SDHCI_32BIT_BLK_CNT);
-	} else {
-		sdhci_writew(host, data->blocks, SDHCI_BLOCK_COUNT);
-	}
-}
-
-static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd)
-{
-	struct mmc_data *data = cmd->data;
-
-	sdhci_initialize_data(host, data);
-
-	if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) {
-		struct scatterlist *sg;
-		unsigned int length_mask, offset_mask;
-		int i;
-
-		host->flags |= SDHCI_REQ_USE_DMA;
-
-		/*
-		 * FIXME: This doesn't account for merging when mapping the
-		 * scatterlist.
-		 *
-		 * The assumption here being that alignment and lengths are
-		 * the same after DMA mapping to device address space.
-		 */
-		length_mask = 0;
-		offset_mask = 0;
-		if (host->flags & SDHCI_USE_ADMA) {
-			if (host->quirks & SDHCI_QUIRK_32BIT_ADMA_SIZE) {
-				length_mask = 3;
-				/*
-				 * As we use up to 3 byte chunks to work
-				 * around alignment problems, we need to
-				 * check the offset as well.
-				 */
-				offset_mask = 3;
-			}
-		} else {
-			if (host->quirks & SDHCI_QUIRK_32BIT_DMA_SIZE)
-				length_mask = 3;
-			if (host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR)
-				offset_mask = 3;
-		}
-
-		if (unlikely(length_mask | offset_mask)) {
-			for_each_sg(data->sg, sg, data->sg_len, i) {
-				if (sg->length & length_mask) {
-					DBG("Reverting to PIO because of transfer size (%d)\n",
-					    sg->length);
-					host->flags &= ~SDHCI_REQ_USE_DMA;
-					break;
-				}
-				if (sg->offset & offset_mask) {
-					DBG("Reverting to PIO because of bad alignment\n");
-					host->flags &= ~SDHCI_REQ_USE_DMA;
-					break;
-				}
-			}
-		}
-	}
-
-	if (host->flags & SDHCI_REQ_USE_DMA) {
-		int sg_cnt = sdhci_pre_dma_transfer(host, data, COOKIE_MAPPED);
-
-		if (sg_cnt <= 0) {
-			/*
-			 * This only happens when someone fed
-			 * us an invalid request.
-			 */
-			WARN_ON(1);
-			host->flags &= ~SDHCI_REQ_USE_DMA;
-		} else if (host->flags & SDHCI_USE_ADMA) {
-			sdhci_adma_table_pre(host, data, sg_cnt);
-			sdhci_set_adma_addr(host, host->adma_addr);
-		} else {
-			WARN_ON(sg_cnt != 1);
-			sdhci_set_sdma_addr(host, sdhci_sdma_address(host));
-		}
-	}
-
-	sdhci_config_dma(host);
-
-	if (!(host->flags & SDHCI_REQ_USE_DMA)) {
-		int flags;
-
-		flags = SG_MITER_ATOMIC;
-		if (host->data->flags & MMC_DATA_READ)
-			flags |= SG_MITER_TO_SG;
-		else
-			flags |= SG_MITER_FROM_SG;
-		sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags);
-		host->blocks = data->blocks;
-	}
-
-	sdhci_set_transfer_irqs(host);
-
-	sdhci_set_block_info(host, data);
-}
-
-#if IS_ENABLED(CONFIG_MMC_SDHCI_EXTERNAL_DMA)
-
-static int sdhci_external_dma_init(struct sdhci_host *host)
-{
-	int ret = 0;
-	struct mmc_host *mmc = host->mmc;
-
-	host->tx_chan = dma_request_chan(mmc_dev(mmc), "tx");
-	if (IS_ERR(host->tx_chan)) {
-		ret = PTR_ERR(host->tx_chan);
-		if (ret != -EPROBE_DEFER)
-			pr_warn("Failed to request TX DMA channel.\n");
-		host->tx_chan = NULL;
-		return ret;
-	}
-
-	host->rx_chan = dma_request_chan(mmc_dev(mmc), "rx");
-	if (IS_ERR(host->rx_chan)) {
-		if (host->tx_chan) {
-			dma_release_channel(host->tx_chan);
-			host->tx_chan = NULL;
-		}
-
-		ret = PTR_ERR(host->rx_chan);
-		if (ret != -EPROBE_DEFER)
-			pr_warn("Failed to request RX DMA channel.\n");
-		host->rx_chan = NULL;
-	}
-
-	return ret;
-}
-
-static struct dma_chan *sdhci_external_dma_channel(struct sdhci_host *host,
-						   struct mmc_data *data)
-{
-	return data->flags & MMC_DATA_WRITE ? host->tx_chan : host->rx_chan;
-}
-
-static int sdhci_external_dma_setup(struct sdhci_host *host,
-				    struct mmc_command *cmd)
-{
-	int ret, i;
-	enum dma_transfer_direction dir;
-	struct dma_async_tx_descriptor *desc;
-	struct mmc_data *data = cmd->data;
-	struct dma_chan *chan;
-	struct dma_slave_config cfg;
-	dma_cookie_t cookie;
-	int sg_cnt;
-
-	if (!host->mapbase)
-		return -EINVAL;
-
-	memset(&cfg, 0, sizeof(cfg));
-	cfg.src_addr = host->mapbase + SDHCI_BUFFER;
-	cfg.dst_addr = host->mapbase + SDHCI_BUFFER;
-	cfg.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-	cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-	cfg.src_maxburst = data->blksz / 4;
-	cfg.dst_maxburst = data->blksz / 4;
-
-	/* Sanity check: all the SG entries must be aligned by block size. */
-	for (i = 0; i < data->sg_len; i++) {
-		if ((data->sg + i)->length % data->blksz)
-			return -EINVAL;
-	}
-
-	chan = sdhci_external_dma_channel(host, data);
-
-	ret = dmaengine_slave_config(chan, &cfg);
-	if (ret)
-		return ret;
-
-	sg_cnt = sdhci_pre_dma_transfer(host, data, COOKIE_MAPPED);
-	if (sg_cnt <= 0)
-		return -EINVAL;
-
-	dir = data->flags & MMC_DATA_WRITE ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
-	desc = dmaengine_prep_slave_sg(chan, data->sg, data->sg_len, dir,
-				       DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
-	if (!desc)
-		return -EINVAL;
-
-	desc->callback = NULL;
-	desc->callback_param = NULL;
-
-	cookie = dmaengine_submit(desc);
-	if (dma_submit_error(cookie))
-		ret = cookie;
-
-	return ret;
-}
-
-static void sdhci_external_dma_release(struct sdhci_host *host)
-{
-	if (host->tx_chan) {
-		dma_release_channel(host->tx_chan);
-		host->tx_chan = NULL;
-	}
-
-	if (host->rx_chan) {
-		dma_release_channel(host->rx_chan);
-		host->rx_chan = NULL;
-	}
-
-	sdhci_switch_external_dma(host, false);
-}
-
-static void __sdhci_external_dma_prepare_data(struct sdhci_host *host,
-					      struct mmc_command *cmd)
-{
-	struct mmc_data *data = cmd->data;
-
-	sdhci_initialize_data(host, data);
-
-	host->flags |= SDHCI_REQ_USE_DMA;
-	sdhci_set_transfer_irqs(host);
-
-	sdhci_set_block_info(host, data);
-}
-
-static void sdhci_external_dma_prepare_data(struct sdhci_host *host,
-					    struct mmc_command *cmd)
-{
-	if (!sdhci_external_dma_setup(host, cmd)) {
-		__sdhci_external_dma_prepare_data(host, cmd);
-	} else {
-		sdhci_external_dma_release(host);
-		pr_err("%s: Cannot use external DMA, switch to the DMA/PIO which standard SDHCI provides.\n",
-		       mmc_hostname(host->mmc));
-		sdhci_prepare_data(host, cmd);
-	}
-}
-
-static void sdhci_external_dma_pre_transfer(struct sdhci_host *host,
-					    struct mmc_command *cmd)
-{
-	struct dma_chan *chan;
-
-	if (!cmd->data)
-		return;
-
-	chan = sdhci_external_dma_channel(host, cmd->data);
-	if (chan)
-		dma_async_issue_pending(chan);
-}
-
-#else
-
-static inline int sdhci_external_dma_init(struct sdhci_host *host)
-{
-	return -EOPNOTSUPP;
-}
-
-static inline void sdhci_external_dma_release(struct sdhci_host *host)
-{
-}
-
-static inline void sdhci_external_dma_prepare_data(struct sdhci_host *host,
-						   struct mmc_command *cmd)
-{
-	/* This should never happen */
-	WARN_ON_ONCE(1);
-}
-
-static inline void sdhci_external_dma_pre_transfer(struct sdhci_host *host,
-						   struct mmc_command *cmd)
-{
-}
-
-static inline struct dma_chan *sdhci_external_dma_channel(struct sdhci_host *host,
-							  struct mmc_data *data)
-{
-	return NULL;
-}
-
-#endif
-
-void sdhci_switch_external_dma(struct sdhci_host *host, bool en)
-{
-	host->use_external_dma = en;
-}
-EXPORT_SYMBOL_GPL(sdhci_switch_external_dma);
-
-static inline bool sdhci_auto_cmd12(struct sdhci_host *host,
-				    struct mmc_request *mrq)
-{
-	return !mrq->sbc && (host->flags & SDHCI_AUTO_CMD12) &&
-	       !mrq->cap_cmd_during_tfr;
-}
-
-static inline bool sdhci_auto_cmd23(struct sdhci_host *host,
-				    struct mmc_request *mrq)
-{
-	return mrq->sbc && (host->flags & SDHCI_AUTO_CMD23);
-}
-
-static inline bool sdhci_manual_cmd23(struct sdhci_host *host,
-				      struct mmc_request *mrq)
-{
-	return mrq->sbc && !(host->flags & SDHCI_AUTO_CMD23);
-}
-
-static inline void sdhci_auto_cmd_select(struct sdhci_host *host,
-					 struct mmc_command *cmd,
-					 u16 *mode)
-{
-	bool use_cmd12 = sdhci_auto_cmd12(host, cmd->mrq) &&
-			 (cmd->opcode != SD_IO_RW_EXTENDED);
-	bool use_cmd23 = sdhci_auto_cmd23(host, cmd->mrq);
-	u16 ctrl2;
-
-	/*
-	 * In case of Version 4.10 or later, use of 'Auto CMD Auto
-	 * Select' is recommended rather than use of 'Auto CMD12
-	 * Enable' or 'Auto CMD23 Enable'. We require Version 4 Mode
-	 * here because some controllers (e.g sdhci-of-dwmshc) expect it.
-	 */
-	if (host->version >= SDHCI_SPEC_410 && host->v4_mode &&
-	    (use_cmd12 || use_cmd23)) {
-		*mode |= SDHCI_TRNS_AUTO_SEL;
-
-		ctrl2 = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-		if (use_cmd23)
-			ctrl2 |= SDHCI_CMD23_ENABLE;
-		else
-			ctrl2 &= ~SDHCI_CMD23_ENABLE;
-		sdhci_writew(host, ctrl2, SDHCI_HOST_CONTROL2);
-
-		return;
-	}
-
-	/*
-	 * If we are sending CMD23, CMD12 never gets sent
-	 * on successful completion (so no Auto-CMD12).
-	 */
-	if (use_cmd12)
-		*mode |= SDHCI_TRNS_AUTO_CMD12;
-	else if (use_cmd23)
-		*mode |= SDHCI_TRNS_AUTO_CMD23;
-}
-
-static void sdhci_set_transfer_mode(struct sdhci_host *host,
-	struct mmc_command *cmd)
-{
-	u16 mode = 0;
-	struct mmc_data *data = cmd->data;
-
-	if (data == NULL) {
-		if (host->quirks2 &
-			SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD) {
-			/* must not clear SDHCI_TRANSFER_MODE when tuning */
-			if (cmd->opcode != MMC_SEND_TUNING_BLOCK_HS200)
-				sdhci_writew(host, 0x0, SDHCI_TRANSFER_MODE);
-		} else {
-		/* clear Auto CMD settings for no data CMDs */
-			mode = sdhci_readw(host, SDHCI_TRANSFER_MODE);
-			sdhci_writew(host, mode & ~(SDHCI_TRNS_AUTO_CMD12 |
-				SDHCI_TRNS_AUTO_CMD23), SDHCI_TRANSFER_MODE);
-		}
-		return;
-	}
-
-	WARN_ON(!host->data);
-
-	if (!(host->quirks2 & SDHCI_QUIRK2_SUPPORT_SINGLE))
-		mode = SDHCI_TRNS_BLK_CNT_EN;
-
-	if (mmc_op_multi(cmd->opcode) || data->blocks > 1) {
-		mode = SDHCI_TRNS_BLK_CNT_EN | SDHCI_TRNS_MULTI;
-		sdhci_auto_cmd_select(host, cmd, &mode);
-		if (sdhci_auto_cmd23(host, cmd->mrq))
-			sdhci_writel(host, cmd->mrq->sbc->arg, SDHCI_ARGUMENT2);
-	}
-
-	if (data->flags & MMC_DATA_READ)
-		mode |= SDHCI_TRNS_READ;
-	if (host->flags & SDHCI_REQ_USE_DMA)
-		mode |= SDHCI_TRNS_DMA;
-
-	sdhci_writew(host, mode, SDHCI_TRANSFER_MODE);
-}
-
-static bool sdhci_needs_reset(struct sdhci_host *host, struct mmc_request *mrq)
-{
-	return (!(host->flags & SDHCI_DEVICE_DEAD) &&
-		((mrq->cmd && mrq->cmd->error) ||
-		 (mrq->sbc && mrq->sbc->error) ||
-		 (mrq->data && mrq->data->stop && mrq->data->stop->error) ||
-		 (host->quirks & SDHCI_QUIRK_RESET_AFTER_REQUEST)));
-}
-
-static void sdhci_set_mrq_done(struct sdhci_host *host, struct mmc_request *mrq)
-{
-	int i;
-
-	for (i = 0; i < SDHCI_MAX_MRQS; i++) {
-		if (host->mrqs_done[i] == mrq) {
-			WARN_ON(1);
-			return;
-		}
-	}
-
-	for (i = 0; i < SDHCI_MAX_MRQS; i++) {
-		if (!host->mrqs_done[i]) {
-			host->mrqs_done[i] = mrq;
-			break;
-		}
-	}
-
-	WARN_ON(i >= SDHCI_MAX_MRQS);
-}
-
-static void __sdhci_finish_mrq(struct sdhci_host *host, struct mmc_request *mrq)
-{
-	if (host->cmd && host->cmd->mrq == mrq)
-		host->cmd = NULL;
-
-	if (host->data_cmd && host->data_cmd->mrq == mrq)
-		host->data_cmd = NULL;
-
-	if (host->deferred_cmd && host->deferred_cmd->mrq == mrq)
-		host->deferred_cmd = NULL;
-
-	if (host->data && host->data->mrq == mrq)
-		host->data = NULL;
-
-	if (sdhci_needs_reset(host, mrq))
-		host->pending_reset = true;
-
-	sdhci_set_mrq_done(host, mrq);
-
-	sdhci_del_timer(host, mrq);
-
-	if (!sdhci_has_requests(host))
-		sdhci_led_deactivate(host);
-}
-
-static void sdhci_finish_mrq(struct sdhci_host *host, struct mmc_request *mrq)
-{
-	__sdhci_finish_mrq(host, mrq);
-
-	queue_work(host->complete_wq, &host->complete_work);
-}
-
-static void __sdhci_finish_data(struct sdhci_host *host, bool sw_data_timeout)
-{
-	struct mmc_command *data_cmd = host->data_cmd;
-	struct mmc_data *data = host->data;
-
-	host->data = NULL;
-	host->data_cmd = NULL;
-
-	/*
-	 * The controller needs a reset of internal state machines upon error
-	 * conditions.
-	 */
-	if (data->error) {
-		if (!host->cmd || host->cmd == data_cmd)
-			sdhci_do_reset(host, SDHCI_RESET_CMD);
-		sdhci_do_reset(host, SDHCI_RESET_DATA);
-	}
-
-	if ((host->flags & (SDHCI_REQ_USE_DMA | SDHCI_USE_ADMA)) ==
-	    (SDHCI_REQ_USE_DMA | SDHCI_USE_ADMA))
-		sdhci_adma_table_post(host, data);
-
-	/*
-	 * The specification states that the block count register must
-	 * be updated, but it does not specify at what point in the
-	 * data flow. That makes the register entirely useless to read
-	 * back so we have to assume that nothing made it to the card
-	 * in the event of an error.
-	 */
-	if (data->error)
-		data->bytes_xfered = 0;
-	else
-		data->bytes_xfered = data->blksz * data->blocks;
-
-	/*
-	 * Need to send CMD12 if -
-	 * a) open-ended multiblock transfer not using auto CMD12 (no CMD23)
-	 * b) error in multiblock transfer
-	 */
-	if (data->stop &&
-	    ((!data->mrq->sbc && !sdhci_auto_cmd12(host, data->mrq)) ||
-	     data->error)) {
-		/*
-		 * 'cap_cmd_during_tfr' request must not use the command line
-		 * after mmc_command_done() has been called. It is upper layer's
-		 * responsibility to send the stop command if required.
-		 */
-		if (data->mrq->cap_cmd_during_tfr) {
-			__sdhci_finish_mrq(host, data->mrq);
-		} else {
-			/* Avoid triggering warning in sdhci_send_command() */
-			host->cmd = NULL;
-			if (!sdhci_send_command(host, data->stop)) {
-				if (sw_data_timeout) {
-					/*
-					 * This is anyway a sw data timeout, so
-					 * give up now.
-					 */
-					data->stop->error = -EIO;
-					__sdhci_finish_mrq(host, data->mrq);
-				} else {
-					WARN_ON(host->deferred_cmd);
-					host->deferred_cmd = data->stop;
-				}
-			}
-		}
-	} else {
-		__sdhci_finish_mrq(host, data->mrq);
-	}
-}
-
-static void sdhci_finish_data(struct sdhci_host *host)
-{
-	__sdhci_finish_data(host, false);
-}
-
-static bool sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
-{
-	int flags;
-	u32 mask;
-	unsigned long timeout;
-
-	WARN_ON(host->cmd);
-
-	/* Initially, a command has no error */
-	cmd->error = 0;
-
-	if ((host->quirks2 & SDHCI_QUIRK2_STOP_WITH_TC) &&
-	    cmd->opcode == MMC_STOP_TRANSMISSION)
-		cmd->flags |= MMC_RSP_BUSY;
-
-	mask = SDHCI_CMD_INHIBIT;
-	if (sdhci_data_line_cmd(cmd))
-		mask |= SDHCI_DATA_INHIBIT;
-
-	/* We shouldn't wait for data inihibit for stop commands, even
-	   though they might use busy signaling */
-	if (cmd->mrq->data && (cmd == cmd->mrq->data->stop))
-		mask &= ~SDHCI_DATA_INHIBIT;
-
-	if (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask)
-		return false;
-
-	host->cmd = cmd;
-	host->data_timeout = 0;
-	if (sdhci_data_line_cmd(cmd)) {
-		WARN_ON(host->data_cmd);
-		host->data_cmd = cmd;
-		sdhci_set_timeout(host, cmd);
-	}
-
-	if (cmd->data) {
-		if (host->use_external_dma)
-			sdhci_external_dma_prepare_data(host, cmd);
-		else
-			sdhci_prepare_data(host, cmd);
-	}
-
-	sdhci_writel(host, cmd->arg, SDHCI_ARGUMENT);
-
-	sdhci_set_transfer_mode(host, cmd);
-
-	if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
-		WARN_ONCE(1, "Unsupported response type!\n");
-		/*
-		 * This does not happen in practice because 136-bit response
-		 * commands never have busy waiting, so rather than complicate
-		 * the error path, just remove busy waiting and continue.
-		 */
-		cmd->flags &= ~MMC_RSP_BUSY;
-	}
-
-	if (!(cmd->flags & MMC_RSP_PRESENT))
-		flags = SDHCI_CMD_RESP_NONE;
-	else if (cmd->flags & MMC_RSP_136)
-		flags = SDHCI_CMD_RESP_LONG;
-	else if (cmd->flags & MMC_RSP_BUSY)
-		flags = SDHCI_CMD_RESP_SHORT_BUSY;
-	else
-		flags = SDHCI_CMD_RESP_SHORT;
-
-	if (cmd->flags & MMC_RSP_CRC)
-		flags |= SDHCI_CMD_CRC;
-	if (cmd->flags & MMC_RSP_OPCODE)
-		flags |= SDHCI_CMD_INDEX;
-
-	/* CMD19 is special in that the Data Present Select should be set */
-	if (cmd->data || cmd->opcode == MMC_SEND_TUNING_BLOCK ||
-	    cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200)
-		flags |= SDHCI_CMD_DATA;
-
-	timeout = jiffies;
-	if (host->data_timeout)
-		timeout += nsecs_to_jiffies(host->data_timeout);
-	else if (!cmd->data && cmd->busy_timeout > 9000)
-		timeout += DIV_ROUND_UP(cmd->busy_timeout, 1000) * HZ + HZ;
-	else
-		timeout += 10 * HZ;
-	sdhci_mod_timer(host, cmd->mrq, timeout);
-
-	if (host->use_external_dma)
-		sdhci_external_dma_pre_transfer(host, cmd);
-
-	sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
-
-	return true;
-}
-
-static bool sdhci_present_error(struct sdhci_host *host,
-				struct mmc_command *cmd, bool present)
-{
-	if (!present || host->flags & SDHCI_DEVICE_DEAD) {
-		cmd->error = -ENOMEDIUM;
-		return true;
-	}
-
-	return false;
-}
-
-static bool sdhci_send_command_retry(struct sdhci_host *host,
-				     struct mmc_command *cmd,
-				     unsigned long flags)
-	__releases(host->lock)
-	__acquires(host->lock)
-{
-	struct mmc_command *deferred_cmd = host->deferred_cmd;
-	int timeout = 10; /* Approx. 10 ms */
-	bool present;
-
-	while (!sdhci_send_command(host, cmd)) {
-		if (!timeout--) {
-			pr_err("%s: Controller never released inhibit bit(s).\n",
-			       mmc_hostname(host->mmc));
-			sdhci_dumpregs(host);
-			cmd->error = -EIO;
-			return false;
-		}
-
-		spin_unlock_irqrestore(&host->lock, flags);
-
-		usleep_range(1000, 1250);
-
-		present = host->mmc->ops->get_cd(host->mmc);
-
-		spin_lock_irqsave(&host->lock, flags);
-
-		/* A deferred command might disappear, handle that */
-		if (cmd == deferred_cmd && cmd != host->deferred_cmd)
-			return true;
-
-		if (sdhci_present_error(host, cmd, present))
-			return false;
-	}
-
-	if (cmd == host->deferred_cmd)
-		host->deferred_cmd = NULL;
-
-	return true;
-}
-
-static void sdhci_read_rsp_136(struct sdhci_host *host, struct mmc_command *cmd)
-{
-	int i, reg;
-
-	for (i = 0; i < 4; i++) {
-		reg = SDHCI_RESPONSE + (3 - i) * 4;
-		cmd->resp[i] = sdhci_readl(host, reg);
-	}
-
-	if (host->quirks2 & SDHCI_QUIRK2_RSP_136_HAS_CRC)
-		return;
-
-	/* CRC is stripped so we need to do some shifting */
-	for (i = 0; i < 4; i++) {
-		cmd->resp[i] <<= 8;
-		if (i != 3)
-			cmd->resp[i] |= cmd->resp[i + 1] >> 24;
-	}
-}
-
-static void sdhci_finish_command(struct sdhci_host *host)
-{
-	struct mmc_command *cmd = host->cmd;
-
-	host->cmd = NULL;
-
-	if (cmd->flags & MMC_RSP_PRESENT) {
-		if (cmd->flags & MMC_RSP_136) {
-			sdhci_read_rsp_136(host, cmd);
-		} else {
-			cmd->resp[0] = sdhci_readl(host, SDHCI_RESPONSE);
-		}
-	}
-
-	if (cmd->mrq->cap_cmd_during_tfr && cmd == cmd->mrq->cmd)
-		mmc_command_done(host->mmc, cmd->mrq);
-
-	/*
-	 * The host can send and interrupt when the busy state has
-	 * ended, allowing us to wait without wasting CPU cycles.
-	 * The busy signal uses DAT0 so this is similar to waiting
-	 * for data to complete.
-	 *
-	 * Note: The 1.0 specification is a bit ambiguous about this
-	 *       feature so there might be some problems with older
-	 *       controllers.
-	 */
-	if (cmd->flags & MMC_RSP_BUSY) {
-		if (cmd->data) {
-			DBG("Cannot wait for busy signal when also doing a data transfer");
-		} else if (!(host->quirks & SDHCI_QUIRK_NO_BUSY_IRQ) &&
-			   cmd == host->data_cmd) {
-			/* Command complete before busy is ended */
-			return;
-		}
-	}
-
-	/* Finished CMD23, now send actual command. */
-	if (cmd == cmd->mrq->sbc) {
-		if (!sdhci_send_command(host, cmd->mrq->cmd)) {
-			WARN_ON(host->deferred_cmd);
-			host->deferred_cmd = cmd->mrq->cmd;
-		}
-	} else {
-
-		/* Processed actual command. */
-		if (host->data && host->data_early)
-			sdhci_finish_data(host);
-
-		if (!cmd->data)
-			__sdhci_finish_mrq(host, cmd->mrq);
-	}
-}
-
-static u16 sdhci_get_preset_value(struct sdhci_host *host)
-{
-	u16 preset = 0;
-
-	switch (host->timing) {
-	case MMC_TIMING_MMC_HS:
-	case MMC_TIMING_SD_HS:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_HIGH_SPEED);
-		break;
-	case MMC_TIMING_UHS_SDR12:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR12);
-		break;
-	case MMC_TIMING_UHS_SDR25:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR25);
-		break;
-	case MMC_TIMING_UHS_SDR50:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR50);
-		break;
-	case MMC_TIMING_UHS_SDR104:
-	case MMC_TIMING_MMC_HS200:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR104);
-		break;
-	case MMC_TIMING_UHS_DDR50:
-	case MMC_TIMING_MMC_DDR52:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_DDR50);
-		break;
-	case MMC_TIMING_MMC_HS400:
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_HS400);
-		break;
-	default:
-		pr_warn("%s: Invalid UHS-I mode selected\n",
-			mmc_hostname(host->mmc));
-		preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR12);
-		break;
-	}
-	return preset;
-}
-
-u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock,
-		   unsigned int *actual_clock)
-{
-	int div = 0; /* Initialized for compiler warning */
-	int real_div = div, clk_mul = 1;
-	u16 clk = 0;
-	bool switch_base_clk = false;
-
-	if (host->version >= SDHCI_SPEC_300) {
-		if (host->preset_enabled) {
-			u16 pre_val;
-
-			clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
-			pre_val = sdhci_get_preset_value(host);
-			div = FIELD_GET(SDHCI_PRESET_SDCLK_FREQ_MASK, pre_val);
-			if (host->clk_mul &&
-				(pre_val & SDHCI_PRESET_CLKGEN_SEL)) {
-				clk = SDHCI_PROG_CLOCK_MODE;
-				real_div = div + 1;
-				clk_mul = host->clk_mul;
-			} else {
-				real_div = max_t(int, 1, div << 1);
-			}
-			goto clock_set;
-		}
-
-		/*
-		 * Check if the Host Controller supports Programmable Clock
-		 * Mode.
-		 */
-		if (host->clk_mul) {
-			for (div = 1; div <= 1024; div++) {
-				if ((host->max_clk * host->clk_mul / div)
-					<= clock)
-					break;
-			}
-			if ((host->max_clk * host->clk_mul / div) <= clock) {
-				/*
-				 * Set Programmable Clock Mode in the Clock
-				 * Control register.
-				 */
-				clk = SDHCI_PROG_CLOCK_MODE;
-				real_div = div;
-				clk_mul = host->clk_mul;
-				div--;
-			} else {
-				/*
-				 * Divisor can be too small to reach clock
-				 * speed requirement. Then use the base clock.
-				 */
-				switch_base_clk = true;
-			}
-		}
-
-		if (!host->clk_mul || switch_base_clk) {
-			/* Version 3.00 divisors must be a multiple of 2. */
-			if (host->max_clk <= clock)
-				div = 1;
-			else {
-				for (div = 2; div < SDHCI_MAX_DIV_SPEC_300;
-				     div += 2) {
-					if ((host->max_clk / div) <= clock)
-						break;
-				}
-			}
-			real_div = div;
-			div >>= 1;
-			if ((host->quirks2 & SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN)
-				&& !div && host->max_clk <= 25000000)
-				div = 1;
-		}
-	} else {
-		/* Version 2.00 divisors must be a power of 2. */
-		for (div = 1; div < SDHCI_MAX_DIV_SPEC_200; div *= 2) {
-			if ((host->max_clk / div) <= clock)
-				break;
-		}
-		real_div = div;
-		div >>= 1;
-	}
-
-clock_set:
-	if (real_div)
-		*actual_clock = (host->max_clk * clk_mul) / real_div;
-	clk |= (div & SDHCI_DIV_MASK) << SDHCI_DIVIDER_SHIFT;
-	clk |= ((div & SDHCI_DIV_HI_MASK) >> SDHCI_DIV_MASK_LEN)
-		<< SDHCI_DIVIDER_HI_SHIFT;
-
-	return clk;
-}
-EXPORT_SYMBOL_GPL(sdhci_calc_clk);
-
-void sdhci_enable_clk(struct sdhci_host *host, u16 clk)
-{
-	ktime_t timeout;
-
-	clk |= SDHCI_CLOCK_INT_EN;
-	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-
-	/* Wait max 150 ms */
-	timeout = ktime_add_ms(ktime_get(), 150);
-	while (1) {
-		bool timedout = ktime_after(ktime_get(), timeout);
-
-		clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
-		if (clk & SDHCI_CLOCK_INT_STABLE)
-			break;
-		if (timedout) {
-			pr_err("%s: Internal clock never stabilised.\n",
-			       mmc_hostname(host->mmc));
-			sdhci_dumpregs(host);
-			return;
-		}
-		udelay(10);
-	}
-
-	if (host->version >= SDHCI_SPEC_410 && host->v4_mode) {
-		clk |= SDHCI_CLOCK_PLL_EN;
-		clk &= ~SDHCI_CLOCK_INT_STABLE;
-		sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-
-		/* Wait max 150 ms */
-		timeout = ktime_add_ms(ktime_get(), 150);
-		while (1) {
-			bool timedout = ktime_after(ktime_get(), timeout);
-
-			clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
-			if (clk & SDHCI_CLOCK_INT_STABLE)
-				break;
-			if (timedout) {
-				pr_err("%s: PLL clock never stabilised.\n",
-				       mmc_hostname(host->mmc));
-				sdhci_dumpregs(host);
-				return;
-			}
-			udelay(10);
-		}
-	}
-
-	clk |= SDHCI_CLOCK_CARD_EN;
-	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-}
-EXPORT_SYMBOL_GPL(sdhci_enable_clk);
-
-void sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
-{
-	u16 clk;
-
-	host->mmc->actual_clock = 0;
-
-	sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL);
-
-	if (clock == 0)
-		return;
-
-	clk = sdhci_calc_clk(host, clock, &host->mmc->actual_clock);
-	sdhci_enable_clk(host, clk);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_clock);
-
-static void sdhci_set_power_reg(struct sdhci_host *host, unsigned char mode,
-				unsigned short vdd)
-{
-	struct mmc_host *mmc = host->mmc;
-
-	mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
-
-	if (mode != MMC_POWER_OFF)
-		sdhci_writeb(host, SDHCI_POWER_ON, SDHCI_POWER_CONTROL);
-	else
-		sdhci_writeb(host, 0, SDHCI_POWER_CONTROL);
-}
-
-void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode,
-			   unsigned short vdd)
-{
-	u8 pwr = 0;
-
-	if (mode != MMC_POWER_OFF) {
-		switch (1 << vdd) {
-		case MMC_VDD_165_195:
-		/*
-		 * Without a regulator, SDHCI does not support 2.0v
-		 * so we only get here if the driver deliberately
-		 * added the 2.0v range to ocr_avail. Map it to 1.8v
-		 * for the purpose of turning on the power.
-		 */
-		case MMC_VDD_20_21:
-			pwr = SDHCI_POWER_180;
-			break;
-		case MMC_VDD_29_30:
-		case MMC_VDD_30_31:
-			pwr = SDHCI_POWER_300;
-			break;
-		case MMC_VDD_32_33:
-		case MMC_VDD_33_34:
-		/*
-		 * 3.4 ~ 3.6V are valid only for those platforms where it's
-		 * known that the voltage range is supported by hardware.
-		 */
-		case MMC_VDD_34_35:
-		case MMC_VDD_35_36:
-			pwr = SDHCI_POWER_330;
-			break;
-		default:
-			WARN(1, "%s: Invalid vdd %#x\n",
-			     mmc_hostname(host->mmc), vdd);
-			break;
-		}
-	}
-
-	if (host->pwr == pwr)
-		return;
-
-	host->pwr = pwr;
-
-	if (pwr == 0) {
-		sdhci_writeb(host, 0, SDHCI_POWER_CONTROL);
-		if (host->quirks2 & SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON)
-			sdhci_runtime_pm_bus_off(host);
-	} else {
-		/*
-		 * Spec says that we should clear the power reg before setting
-		 * a new value. Some controllers don't seem to like this though.
-		 */
-		if (!(host->quirks & SDHCI_QUIRK_SINGLE_POWER_WRITE))
-			sdhci_writeb(host, 0, SDHCI_POWER_CONTROL);
-
-		/*
-		 * At least the Marvell CaFe chip gets confused if we set the
-		 * voltage and set turn on power at the same time, so set the
-		 * voltage first.
-		 */
-		if (host->quirks & SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER)
-			sdhci_writeb(host, pwr, SDHCI_POWER_CONTROL);
-
-		pwr |= SDHCI_POWER_ON;
-
-		sdhci_writeb(host, pwr, SDHCI_POWER_CONTROL);
-
-		if (host->quirks2 & SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON)
-			sdhci_runtime_pm_bus_on(host);
-
-		/*
-		 * Some controllers need an extra 10ms delay of 10ms before
-		 * they can apply clock after applying power
-		 */
-		if (host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER)
-			mdelay(10);
-	}
-}
-EXPORT_SYMBOL_GPL(sdhci_set_power_noreg);
-
-void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
-		     unsigned short vdd)
-{
-	if (IS_ERR(host->mmc->supply.vmmc))
-		sdhci_set_power_noreg(host, mode, vdd);
-	else
-		sdhci_set_power_reg(host, mode, vdd);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_power);
-
-/*
- * Some controllers need to configure a valid bus voltage on their power
- * register regardless of whether an external regulator is taking care of power
- * supply. This helper function takes care of it if set as the controller's
- * sdhci_ops.set_power callback.
- */
-void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
-				     unsigned char mode,
-				     unsigned short vdd)
-{
-	if (!IS_ERR(host->mmc->supply.vmmc)) {
-		struct mmc_host *mmc = host->mmc;
-
-		mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
-	}
-	sdhci_set_power_noreg(host, mode, vdd);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_power_and_bus_voltage);
-
-/*****************************************************************************\
- *                                                                           *
- * MMC callbacks                                                             *
- *                                                                           *
-\*****************************************************************************/
-
-void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	struct mmc_command *cmd;
-	unsigned long flags;
-	bool present;
-
-	/* Firstly check card presence */
-	present = mmc->ops->get_cd(mmc);
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	sdhci_led_activate(host);
-
-	if (sdhci_present_error(host, mrq->cmd, present))
-		goto out_finish;
-
-	cmd = sdhci_manual_cmd23(host, mrq) ? mrq->sbc : mrq->cmd;
-
-	if (!sdhci_send_command_retry(host, cmd, flags))
-		goto out_finish;
-
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	return;
-
-out_finish:
-	sdhci_finish_mrq(host, mrq);
-	spin_unlock_irqrestore(&host->lock, flags);
-}
-EXPORT_SYMBOL_GPL(sdhci_request);
-
-int sdhci_request_atomic(struct mmc_host *mmc, struct mmc_request *mrq)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	struct mmc_command *cmd;
-	unsigned long flags;
-	int ret = 0;
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	if (sdhci_present_error(host, mrq->cmd, true)) {
-		sdhci_finish_mrq(host, mrq);
-		goto out_finish;
-	}
-
-	cmd = sdhci_manual_cmd23(host, mrq) ? mrq->sbc : mrq->cmd;
-
-	/*
-	 * The HSQ may send a command in interrupt context without polling
-	 * the busy signaling, which means we should return BUSY if controller
-	 * has not released inhibit bits to allow HSQ trying to send request
-	 * again in non-atomic context. So we should not finish this request
-	 * here.
-	 */
-	if (!sdhci_send_command(host, cmd))
-		ret = -EBUSY;
-	else
-		sdhci_led_activate(host);
-
-out_finish:
-	spin_unlock_irqrestore(&host->lock, flags);
-	return ret;
-}
-EXPORT_SYMBOL_GPL(sdhci_request_atomic);
-
-void sdhci_set_bus_width(struct sdhci_host *host, int width)
-{
-	u8 ctrl;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-	if (width == MMC_BUS_WIDTH_8) {
-		ctrl &= ~SDHCI_CTRL_4BITBUS;
-		ctrl |= SDHCI_CTRL_8BITBUS;
-	} else {
-		if (host->mmc->caps & MMC_CAP_8_BIT_DATA)
-			ctrl &= ~SDHCI_CTRL_8BITBUS;
-		if (width == MMC_BUS_WIDTH_4)
-			ctrl |= SDHCI_CTRL_4BITBUS;
-		else
-			ctrl &= ~SDHCI_CTRL_4BITBUS;
-	}
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_bus_width);
-
-void sdhci_set_uhs_signaling(struct sdhci_host *host, unsigned timing)
-{
-	u16 ctrl_2;
-
-	ctrl_2 = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-	/* Select Bus Speed Mode for host */
-	ctrl_2 &= ~SDHCI_CTRL_UHS_MASK;
-	if ((timing == MMC_TIMING_MMC_HS200) ||
-	    (timing == MMC_TIMING_UHS_SDR104))
-		ctrl_2 |= SDHCI_CTRL_UHS_SDR104;
-	else if (timing == MMC_TIMING_UHS_SDR12)
-		ctrl_2 |= SDHCI_CTRL_UHS_SDR12;
-	else if (timing == MMC_TIMING_UHS_SDR25)
-		ctrl_2 |= SDHCI_CTRL_UHS_SDR25;
-	else if (timing == MMC_TIMING_UHS_SDR50)
-		ctrl_2 |= SDHCI_CTRL_UHS_SDR50;
-	else if ((timing == MMC_TIMING_UHS_DDR50) ||
-		 (timing == MMC_TIMING_MMC_DDR52))
-		ctrl_2 |= SDHCI_CTRL_UHS_DDR50;
-	else if (timing == MMC_TIMING_MMC_HS400)
-		ctrl_2 |= SDHCI_CTRL_HS400; /* Non-standard */
-	sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_uhs_signaling);
-
-void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	u8 ctrl;
-
-	if (ios->power_mode == MMC_POWER_UNDEFINED)
-		return;
-
-	if (host->flags & SDHCI_DEVICE_DEAD) {
-		if (!IS_ERR(mmc->supply.vmmc) &&
-		    ios->power_mode == MMC_POWER_OFF)
-			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
-		return;
-	}
-
-	/*
-	 * Reset the chip on each power off.
-	 * Should clear out any weird states.
-	 */
-	if (ios->power_mode == MMC_POWER_OFF) {
-		sdhci_writel(host, 0, SDHCI_SIGNAL_ENABLE);
-		sdhci_reinit(host);
-	}
-
-	if (host->version >= SDHCI_SPEC_300 &&
-		(ios->power_mode == MMC_POWER_UP) &&
-		!(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN))
-		sdhci_enable_preset_value(host, false);
-
-	if (!ios->clock || ios->clock != host->clock) {
-		host->ops->set_clock(host, ios->clock);
-		host->clock = ios->clock;
-
-		if (host->quirks & SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK &&
-		    host->clock) {
-			host->timeout_clk = mmc->actual_clock ?
-						mmc->actual_clock / 1000 :
-						host->clock / 1000;
-			mmc->max_busy_timeout =
-				host->ops->get_max_timeout_count ?
-				host->ops->get_max_timeout_count(host) :
-				1 << 27;
-			mmc->max_busy_timeout /= host->timeout_clk;
-		}
-	}
-
-	if (host->ops->set_power)
-		host->ops->set_power(host, ios->power_mode, ios->vdd);
-	else
-		sdhci_set_power(host, ios->power_mode, ios->vdd);
-
-	if (host->ops->platform_send_init_74_clocks)
-		host->ops->platform_send_init_74_clocks(host, ios->power_mode);
-
-	host->ops->set_bus_width(host, ios->bus_width);
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-
-	if (!(host->quirks & SDHCI_QUIRK_NO_HISPD_BIT)) {
-		if (ios->timing == MMC_TIMING_SD_HS ||
-		     ios->timing == MMC_TIMING_MMC_HS ||
-		     ios->timing == MMC_TIMING_MMC_HS400 ||
-		     ios->timing == MMC_TIMING_MMC_HS200 ||
-		     ios->timing == MMC_TIMING_MMC_DDR52 ||
-		     ios->timing == MMC_TIMING_UHS_SDR50 ||
-		     ios->timing == MMC_TIMING_UHS_SDR104 ||
-		     ios->timing == MMC_TIMING_UHS_DDR50 ||
-		     ios->timing == MMC_TIMING_UHS_SDR25)
-			ctrl |= SDHCI_CTRL_HISPD;
-		else
-			ctrl &= ~SDHCI_CTRL_HISPD;
-	}
-
-	if (host->version >= SDHCI_SPEC_300) {
-		u16 clk, ctrl_2;
-
-		if (!host->preset_enabled) {
-			sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-			/*
-			 * We only need to set Driver Strength if the
-			 * preset value enable is not set.
-			 */
-			ctrl_2 = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-			ctrl_2 &= ~SDHCI_CTRL_DRV_TYPE_MASK;
-			if (ios->drv_type == MMC_SET_DRIVER_TYPE_A)
-				ctrl_2 |= SDHCI_CTRL_DRV_TYPE_A;
-			else if (ios->drv_type == MMC_SET_DRIVER_TYPE_B)
-				ctrl_2 |= SDHCI_CTRL_DRV_TYPE_B;
-			else if (ios->drv_type == MMC_SET_DRIVER_TYPE_C)
-				ctrl_2 |= SDHCI_CTRL_DRV_TYPE_C;
-			else if (ios->drv_type == MMC_SET_DRIVER_TYPE_D)
-				ctrl_2 |= SDHCI_CTRL_DRV_TYPE_D;
-			else {
-				pr_warn("%s: invalid driver type, default to driver type B\n",
-					mmc_hostname(mmc));
-				ctrl_2 |= SDHCI_CTRL_DRV_TYPE_B;
-			}
-
-			sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2);
-		} else {
-			/*
-			 * According to SDHC Spec v3.00, if the Preset Value
-			 * Enable in the Host Control 2 register is set, we
-			 * need to reset SD Clock Enable before changing High
-			 * Speed Enable to avoid generating clock gliches.
-			 */
-
-			/* Reset SD Clock Enable */
-			clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
-			clk &= ~SDHCI_CLOCK_CARD_EN;
-			sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-
-			sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-
-			/* Re-enable SD Clock */
-			host->ops->set_clock(host, host->clock);
-		}
-
-		/* Reset SD Clock Enable */
-		clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
-		clk &= ~SDHCI_CLOCK_CARD_EN;
-		sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-
-		host->ops->set_uhs_signaling(host, ios->timing);
-		host->timing = ios->timing;
-
-		if (!(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN) &&
-				((ios->timing == MMC_TIMING_UHS_SDR12) ||
-				 (ios->timing == MMC_TIMING_UHS_SDR25) ||
-				 (ios->timing == MMC_TIMING_UHS_SDR50) ||
-				 (ios->timing == MMC_TIMING_UHS_SDR104) ||
-				 (ios->timing == MMC_TIMING_UHS_DDR50) ||
-				 (ios->timing == MMC_TIMING_MMC_DDR52))) {
-			u16 preset;
-
-			sdhci_enable_preset_value(host, true);
-			preset = sdhci_get_preset_value(host);
-			ios->drv_type = FIELD_GET(SDHCI_PRESET_DRV_MASK,
-						  preset);
-		}
-
-		/* Re-enable SD Clock */
-		host->ops->set_clock(host, host->clock);
-	} else
-		sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-
-	/*
-	 * Some (ENE) controllers go apeshit on some ios operation,
-	 * signalling timeout and CRC errors even on CMD0. Resetting
-	 * it on each ios seems to solve the problem.
-	 */
-	if (host->quirks & SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS)
-		sdhci_do_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
-}
-EXPORT_SYMBOL_GPL(sdhci_set_ios);
-
-static int sdhci_get_cd(struct mmc_host *mmc)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	int gpio_cd = mmc_gpio_get_cd(mmc);
-
-	if (host->flags & SDHCI_DEVICE_DEAD)
-		return 0;
-
-	/* If nonremovable, assume that the card is always present. */
-	if (!mmc_card_is_removable(mmc))
-		return 1;
-
-	/*
-	 * Try slot gpio detect, if defined it take precedence
-	 * over build in controller functionality
-	 */
-	if (gpio_cd >= 0)
-		return !!gpio_cd;
-
-	/* If polling, assume that the card is always present. */
-	if (host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION)
-		return 1;
-
-	/* Host native card detect */
-	return !!(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT);
-}
-
-static int sdhci_check_ro(struct sdhci_host *host)
-{
-	unsigned long flags;
-	int is_readonly;
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	if (host->flags & SDHCI_DEVICE_DEAD)
-		is_readonly = 0;
-	else if (host->ops->get_ro)
-		is_readonly = host->ops->get_ro(host);
-	else if (mmc_can_gpio_ro(host->mmc))
-		is_readonly = mmc_gpio_get_ro(host->mmc);
-	else
-		is_readonly = !(sdhci_readl(host, SDHCI_PRESENT_STATE)
-				& SDHCI_WRITE_PROTECT);
-
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	/* This quirk needs to be replaced by a callback-function later */
-	return host->quirks & SDHCI_QUIRK_INVERTED_WRITE_PROTECT ?
-		!is_readonly : is_readonly;
-}
-
-#define SAMPLE_COUNT	5
-
-static int sdhci_get_ro(struct mmc_host *mmc)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	int i, ro_count;
-
-	if (!(host->quirks & SDHCI_QUIRK_UNSTABLE_RO_DETECT))
-		return sdhci_check_ro(host);
-
-	ro_count = 0;
-	for (i = 0; i < SAMPLE_COUNT; i++) {
-		if (sdhci_check_ro(host)) {
-			if (++ro_count > SAMPLE_COUNT / 2)
-				return 1;
-		}
-		msleep(30);
-	}
-	return 0;
-}
-
-static void sdhci_hw_reset(struct mmc_host *mmc)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-
-	if (host->ops && host->ops->hw_reset)
-		host->ops->hw_reset(host);
-}
-
-static void sdhci_enable_sdio_irq_nolock(struct sdhci_host *host, int enable)
-{
-	if (!(host->flags & SDHCI_DEVICE_DEAD)) {
-		if (enable)
-			host->ier |= SDHCI_INT_CARD_INT;
-		else
-			host->ier &= ~SDHCI_INT_CARD_INT;
-
-		sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-		sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-	}
-}
-
-void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	unsigned long flags;
-
-	if (enable)
-		pm_runtime_get_noresume(mmc_dev(mmc));
-
-	spin_lock_irqsave(&host->lock, flags);
-	sdhci_enable_sdio_irq_nolock(host, enable);
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	if (!enable)
-		pm_runtime_put_noidle(mmc_dev(mmc));
-}
-EXPORT_SYMBOL_GPL(sdhci_enable_sdio_irq);
-
-static void sdhci_ack_sdio_irq(struct mmc_host *mmc)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	unsigned long flags;
-
-	spin_lock_irqsave(&host->lock, flags);
-	sdhci_enable_sdio_irq_nolock(host, true);
-	spin_unlock_irqrestore(&host->lock, flags);
-}
-
-int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
-				      struct mmc_ios *ios)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	u16 ctrl;
-	int ret;
-
-	/*
-	 * Signal Voltage Switching is only applicable for Host Controllers
-	 * v3.00 and above.
-	 */
-	if (host->version < SDHCI_SPEC_300)
-		return 0;
-
-	ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-
-	switch (ios->signal_voltage) {
-	case MMC_SIGNAL_VOLTAGE_330:
-		if (!(host->flags & SDHCI_SIGNALING_330))
-			return -EINVAL;
-		/* Set 1.8V Signal Enable in the Host Control2 register to 0 */
-		ctrl &= ~SDHCI_CTRL_VDD_180;
-		sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
-
-		if (!IS_ERR(mmc->supply.vqmmc)) {
-			ret = mmc_regulator_set_vqmmc(mmc, ios);
-			if (ret < 0) {
-				pr_warn("%s: Switching to 3.3V signalling voltage failed\n",
-					mmc_hostname(mmc));
-				return -EIO;
-			}
-		}
-		/* Wait for 5ms */
-		usleep_range(5000, 5500);
-
-		/* 3.3V regulator output should be stable within 5 ms */
-		ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-		if (!(ctrl & SDHCI_CTRL_VDD_180))
-			return 0;
-
-		pr_warn("%s: 3.3V regulator output did not become stable\n",
-			mmc_hostname(mmc));
-
-		return -EAGAIN;
-	case MMC_SIGNAL_VOLTAGE_180:
-		if (!(host->flags & SDHCI_SIGNALING_180))
-			return -EINVAL;
-		if (!IS_ERR(mmc->supply.vqmmc)) {
-			ret = mmc_regulator_set_vqmmc(mmc, ios);
-			if (ret < 0) {
-				pr_warn("%s: Switching to 1.8V signalling voltage failed\n",
-					mmc_hostname(mmc));
-				return -EIO;
-			}
-		}
-
-		/*
-		 * Enable 1.8V Signal Enable in the Host Control2
-		 * register
-		 */
-		ctrl |= SDHCI_CTRL_VDD_180;
-		sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
-
-		/* Some controller need to do more when switching */
-		if (host->ops->voltage_switch)
-			host->ops->voltage_switch(host);
-
-		/* 1.8V regulator output should be stable within 5 ms */
-		ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-		if (ctrl & SDHCI_CTRL_VDD_180)
-			return 0;
-
-		pr_warn("%s: 1.8V regulator output did not become stable\n",
-			mmc_hostname(mmc));
-
-		return -EAGAIN;
-	case MMC_SIGNAL_VOLTAGE_120:
-		if (!(host->flags & SDHCI_SIGNALING_120))
-			return -EINVAL;
-		if (!IS_ERR(mmc->supply.vqmmc)) {
-			ret = mmc_regulator_set_vqmmc(mmc, ios);
-			if (ret < 0) {
-				pr_warn("%s: Switching to 1.2V signalling voltage failed\n",
-					mmc_hostname(mmc));
-				return -EIO;
-			}
-		}
-		return 0;
-	default:
-		/* No signal voltage switch required */
-		return 0;
-	}
-}
-EXPORT_SYMBOL_GPL(sdhci_start_signal_voltage_switch);
-
-static int sdhci_card_busy(struct mmc_host *mmc)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	u32 present_state;
-
-	/* Check whether DAT[0] is 0 */
-	present_state = sdhci_readl(host, SDHCI_PRESENT_STATE);
-
-	return !(present_state & SDHCI_DATA_0_LVL_MASK);
-}
-
-static int sdhci_prepare_hs400_tuning(struct mmc_host *mmc, struct mmc_ios *ios)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	unsigned long flags;
-
-	spin_lock_irqsave(&host->lock, flags);
-	host->flags |= SDHCI_HS400_TUNING;
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	return 0;
-}
-
-void sdhci_start_tuning(struct sdhci_host *host)
-{
-	u16 ctrl;
-
-	ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-	ctrl |= SDHCI_CTRL_EXEC_TUNING;
-	if (host->quirks2 & SDHCI_QUIRK2_TUNING_WORK_AROUND)
-		ctrl |= SDHCI_CTRL_TUNED_CLK;
-	sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
-
-	/*
-	 * As per the Host Controller spec v3.00, tuning command
-	 * generates Buffer Read Ready interrupt, so enable that.
-	 *
-	 * Note: The spec clearly says that when tuning sequence
-	 * is being performed, the controller does not generate
-	 * interrupts other than Buffer Read Ready interrupt. But
-	 * to make sure we don't hit a controller bug, we _only_
-	 * enable Buffer Read Ready interrupt here.
-	 */
-	sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_INT_ENABLE);
-	sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_SIGNAL_ENABLE);
-}
-EXPORT_SYMBOL_GPL(sdhci_start_tuning);
-
-void sdhci_end_tuning(struct sdhci_host *host)
-{
-	sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-	sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-}
-EXPORT_SYMBOL_GPL(sdhci_end_tuning);
-
-void sdhci_reset_tuning(struct sdhci_host *host)
-{
-	u16 ctrl;
-
-	ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-	ctrl &= ~SDHCI_CTRL_TUNED_CLK;
-	ctrl &= ~SDHCI_CTRL_EXEC_TUNING;
-	sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
-}
-EXPORT_SYMBOL_GPL(sdhci_reset_tuning);
-
-void sdhci_abort_tuning(struct sdhci_host *host, u32 opcode)
-{
-	sdhci_reset_tuning(host);
-
-	sdhci_do_reset(host, SDHCI_RESET_CMD);
-	sdhci_do_reset(host, SDHCI_RESET_DATA);
-
-	sdhci_end_tuning(host);
-
-	mmc_send_abort_tuning(host->mmc, opcode);
-}
-EXPORT_SYMBOL_GPL(sdhci_abort_tuning);
-
-/*
- * We use sdhci_send_tuning() because mmc_send_tuning() is not a good fit. SDHCI
- * tuning command does not have a data payload (or rather the hardware does it
- * automatically) so mmc_send_tuning() will return -EIO. Also the tuning command
- * interrupt setup is different to other commands and there is no timeout
- * interrupt so special handling is needed.
- */
-void sdhci_send_tuning(struct sdhci_host *host, u32 opcode)
-{
-	struct mmc_host *mmc = host->mmc;
-	struct mmc_command cmd = {};
-	struct mmc_request mrq = {};
-	unsigned long flags;
-	u32 b = host->sdma_boundary;
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	cmd.opcode = opcode;
-	cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
-	cmd.mrq = &mrq;
-
-	mrq.cmd = &cmd;
-	/*
-	 * In response to CMD19, the card sends 64 bytes of tuning
-	 * block to the Host Controller. So we set the block size
-	 * to 64 here.
-	 */
-	if (cmd.opcode == MMC_SEND_TUNING_BLOCK_HS200 &&
-	    mmc->ios.bus_width == MMC_BUS_WIDTH_8)
-		sdhci_writew(host, SDHCI_MAKE_BLKSZ(b, 128), SDHCI_BLOCK_SIZE);
-	else
-		sdhci_writew(host, SDHCI_MAKE_BLKSZ(b, 64), SDHCI_BLOCK_SIZE);
-
-	/*
-	 * The tuning block is sent by the card to the host controller.
-	 * So we set the TRNS_READ bit in the Transfer Mode register.
-	 * This also takes care of setting DMA Enable and Multi Block
-	 * Select in the same register to 0.
-	 */
-	sdhci_writew(host, SDHCI_TRNS_READ, SDHCI_TRANSFER_MODE);
-
-	if (!sdhci_send_command_retry(host, &cmd, flags)) {
-		spin_unlock_irqrestore(&host->lock, flags);
-		host->tuning_done = 0;
-		return;
-	}
-
-	host->cmd = NULL;
-
-	sdhci_del_timer(host, &mrq);
-
-	host->tuning_done = 0;
-
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	/* Wait for Buffer Read Ready interrupt */
-	wait_event_timeout(host->buf_ready_int, (host->tuning_done == 1),
-			   msecs_to_jiffies(50));
-
-}
-EXPORT_SYMBOL_GPL(sdhci_send_tuning);
-
-static int __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode)
-{
-	int i;
-
-	/*
-	 * Issue opcode repeatedly till Execute Tuning is set to 0 or the number
-	 * of loops reaches tuning loop count.
-	 */
-	for (i = 0; i < host->tuning_loop_count; i++) {
-		u16 ctrl;
-
-		sdhci_send_tuning(host, opcode);
-
-		if (!host->tuning_done) {
-			pr_debug("%s: Tuning timeout, falling back to fixed sampling clock\n",
-				 mmc_hostname(host->mmc));
-			sdhci_abort_tuning(host, opcode);
-			return -ETIMEDOUT;
-		}
-
-		/* Spec does not require a delay between tuning cycles */
-		if (host->tuning_delay > 0)
-			mdelay(host->tuning_delay);
-
-		ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-		if (!(ctrl & SDHCI_CTRL_EXEC_TUNING)) {
-			if (ctrl & SDHCI_CTRL_TUNED_CLK)
-				return 0; /* Success! */
-			break;
-		}
-
-	}
-
-	pr_info("%s: Tuning failed, falling back to fixed sampling clock\n",
-		mmc_hostname(host->mmc));
-	sdhci_reset_tuning(host);
-	return -EAGAIN;
-}
-
-int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	int err = 0;
-	unsigned int tuning_count = 0;
-	bool hs400_tuning;
-
-	hs400_tuning = host->flags & SDHCI_HS400_TUNING;
-
-	if (host->tuning_mode == SDHCI_TUNING_MODE_1)
-		tuning_count = host->tuning_count;
-
-	/*
-	 * The Host Controller needs tuning in case of SDR104 and DDR50
-	 * mode, and for SDR50 mode when Use Tuning for SDR50 is set in
-	 * the Capabilities register.
-	 * If the Host Controller supports the HS200 mode then the
-	 * tuning function has to be executed.
-	 */
-	switch (host->timing) {
-	/* HS400 tuning is done in HS200 mode */
-	case MMC_TIMING_MMC_HS400:
-		err = -EINVAL;
-		goto out;
-
-	case MMC_TIMING_MMC_HS200:
-		/*
-		 * Periodic re-tuning for HS400 is not expected to be needed, so
-		 * disable it here.
-		 */
-		if (hs400_tuning)
-			tuning_count = 0;
-		break;
-
-	case MMC_TIMING_UHS_SDR104:
-	case MMC_TIMING_UHS_DDR50:
-		break;
-
-	case MMC_TIMING_UHS_SDR50:
-		if (host->flags & SDHCI_SDR50_NEEDS_TUNING)
-			break;
-		fallthrough;
-
-	default:
-		goto out;
-	}
-
-	if (host->ops->platform_execute_tuning) {
-		err = host->ops->platform_execute_tuning(host, opcode);
-		goto out;
-	}
-
-	mmc->retune_period = tuning_count;
-
-	if (host->tuning_delay < 0)
-		host->tuning_delay = opcode == MMC_SEND_TUNING_BLOCK;
-
-	sdhci_start_tuning(host);
-
-	host->tuning_err = __sdhci_execute_tuning(host, opcode);
-
-	sdhci_end_tuning(host);
-out:
-	host->flags &= ~SDHCI_HS400_TUNING;
-
-	return err;
-}
-EXPORT_SYMBOL_GPL(sdhci_execute_tuning);
-
-static void sdhci_enable_preset_value(struct sdhci_host *host, bool enable)
-{
-	/* Host Controller v3.00 defines preset value registers */
-	if (host->version < SDHCI_SPEC_300)
-		return;
-
-	/*
-	 * We only enable or disable Preset Value if they are not already
-	 * enabled or disabled respectively. Otherwise, we bail out.
-	 */
-	if (host->preset_enabled != enable) {
-		u16 ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
-
-		if (enable)
-			ctrl |= SDHCI_CTRL_PRESET_VAL_ENABLE;
-		else
-			ctrl &= ~SDHCI_CTRL_PRESET_VAL_ENABLE;
-
-		sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
-
-		if (enable)
-			host->flags |= SDHCI_PV_ENABLED;
-		else
-			host->flags &= ~SDHCI_PV_ENABLED;
-
-		host->preset_enabled = enable;
-	}
-}
-
-static void sdhci_post_req(struct mmc_host *mmc, struct mmc_request *mrq,
-				int err)
-{
-	struct mmc_data *data = mrq->data;
-
-	if (data->host_cookie != COOKIE_UNMAPPED)
-		dma_unmap_sg(mmc_dev(mmc), data->sg, data->sg_len,
-			     mmc_get_dma_dir(data));
-
-	data->host_cookie = COOKIE_UNMAPPED;
-}
-
-static void sdhci_pre_req(struct mmc_host *mmc, struct mmc_request *mrq)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-
-	mrq->data->host_cookie = COOKIE_UNMAPPED;
-
-	/*
-	 * No pre-mapping in the pre hook if we're using the bounce buffer,
-	 * for that we would need two bounce buffers since one buffer is
-	 * in flight when this is getting called.
-	 */
-	if (host->flags & SDHCI_REQ_USE_DMA && !host->bounce_buffer)
-		sdhci_pre_dma_transfer(host, mrq->data, COOKIE_PRE_MAPPED);
-}
-
-static void sdhci_error_out_mrqs(struct sdhci_host *host, int err)
-{
-	if (host->data_cmd) {
-		host->data_cmd->error = err;
-		sdhci_finish_mrq(host, host->data_cmd->mrq);
-	}
-
-	if (host->cmd) {
-		host->cmd->error = err;
-		sdhci_finish_mrq(host, host->cmd->mrq);
-	}
-}
-
-static void sdhci_card_event(struct mmc_host *mmc)
-{
-	struct sdhci_host *host = mmc_priv(mmc);
-	unsigned long flags;
-	int present;
-
-	/* First check if client has provided their own card event */
-	if (host->ops->card_event)
-		host->ops->card_event(host);
-
-	present = mmc->ops->get_cd(mmc);
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	/* Check sdhci_has_requests() first in case we are runtime suspended */
-	if (sdhci_has_requests(host) && !present) {
-		pr_err("%s: Card removed during transfer!\n",
-			mmc_hostname(mmc));
-		pr_err("%s: Resetting controller.\n",
-			mmc_hostname(mmc));
-
-		sdhci_do_reset(host, SDHCI_RESET_CMD);
-		sdhci_do_reset(host, SDHCI_RESET_DATA);
-
-		sdhci_error_out_mrqs(host, -ENOMEDIUM);
-	}
-
-	spin_unlock_irqrestore(&host->lock, flags);
-}
-
-static const struct mmc_host_ops sdhci_ops = {
-	.request	= sdhci_request,
-	.post_req	= sdhci_post_req,
-	.pre_req	= sdhci_pre_req,
-	.set_ios	= sdhci_set_ios,
-	.get_cd		= sdhci_get_cd,
-	.get_ro		= sdhci_get_ro,
-	.hw_reset	= sdhci_hw_reset,
-	.enable_sdio_irq = sdhci_enable_sdio_irq,
-	.ack_sdio_irq    = sdhci_ack_sdio_irq,
-	.start_signal_voltage_switch	= sdhci_start_signal_voltage_switch,
-	.prepare_hs400_tuning		= sdhci_prepare_hs400_tuning,
-	.execute_tuning			= sdhci_execute_tuning,
-	.card_event			= sdhci_card_event,
-	.card_busy	= sdhci_card_busy,
-};
-
-/*****************************************************************************\
- *                                                                           *
- * Request done                                                              *
- *                                                                           *
-\*****************************************************************************/
-
-static bool sdhci_request_done(struct sdhci_host *host)
-{
-	unsigned long flags;
-	struct mmc_request *mrq;
-	int i;
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	for (i = 0; i < SDHCI_MAX_MRQS; i++) {
-		mrq = host->mrqs_done[i];
-		if (mrq)
-			break;
-	}
-
-	if (!mrq) {
-		spin_unlock_irqrestore(&host->lock, flags);
-		return true;
-	}
-
-	/*
-	 * The controller needs a reset of internal state machines
-	 * upon error conditions.
-	 */
-	if (sdhci_needs_reset(host, mrq)) {
-		/*
-		 * Do not finish until command and data lines are available for
-		 * reset. Note there can only be one other mrq, so it cannot
-		 * also be in mrqs_done, otherwise host->cmd and host->data_cmd
-		 * would both be null.
-		 */
-		if (host->cmd || host->data_cmd) {
-			spin_unlock_irqrestore(&host->lock, flags);
-			return true;
-		}
-
-		/* Some controllers need this kick or reset won't work here */
-		if (host->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET)
-			/* This is to force an update */
-			host->ops->set_clock(host, host->clock);
-
-		/*
-		 * Spec says we should do both at the same time, but Ricoh
-		 * controllers do not like that.
-		 */
-		sdhci_do_reset(host, SDHCI_RESET_CMD);
-		sdhci_do_reset(host, SDHCI_RESET_DATA);
-
-		host->pending_reset = false;
-	}
-
-	/*
-	 * Always unmap the data buffers if they were mapped by
-	 * sdhci_prepare_data() whenever we finish with a request.
-	 * This avoids leaking DMA mappings on error.
-	 */
-	if (host->flags & SDHCI_REQ_USE_DMA) {
-		struct mmc_data *data = mrq->data;
-
-		if (host->use_external_dma && data &&
-		    (mrq->cmd->error || data->error)) {
-			struct dma_chan *chan = sdhci_external_dma_channel(host, data);
-
-			host->mrqs_done[i] = NULL;
-			spin_unlock_irqrestore(&host->lock, flags);
-			dmaengine_terminate_sync(chan);
-			spin_lock_irqsave(&host->lock, flags);
-			sdhci_set_mrq_done(host, mrq);
-		}
-
-		if (data && data->host_cookie == COOKIE_MAPPED) {
-			if (host->bounce_buffer) {
-				/*
-				 * On reads, copy the bounced data into the
-				 * sglist
-				 */
-				if (mmc_get_dma_dir(data) == DMA_FROM_DEVICE) {
-					unsigned int length = data->bytes_xfered;
-
-					if (length > host->bounce_buffer_size) {
-						pr_err("%s: bounce buffer is %u bytes but DMA claims to have transferred %u bytes\n",
-						       mmc_hostname(host->mmc),
-						       host->bounce_buffer_size,
-						       data->bytes_xfered);
-						/* Cap it down and continue */
-						length = host->bounce_buffer_size;
-					}
-					dma_sync_single_for_cpu(
-						mmc_dev(host->mmc),
-						host->bounce_addr,
-						host->bounce_buffer_size,
-						DMA_FROM_DEVICE);
-					sg_copy_from_buffer(data->sg,
-						data->sg_len,
-						host->bounce_buffer,
-						length);
-				} else {
-					/* No copying, just switch ownership */
-					dma_sync_single_for_cpu(
-						mmc_dev(host->mmc),
-						host->bounce_addr,
-						host->bounce_buffer_size,
-						mmc_get_dma_dir(data));
-				}
-			} else {
-				/* Unmap the raw data */
-				dma_unmap_sg(mmc_dev(host->mmc), data->sg,
-					     data->sg_len,
-					     mmc_get_dma_dir(data));
-			}
-			data->host_cookie = COOKIE_UNMAPPED;
-		}
-	}
-
-	host->mrqs_done[i] = NULL;
-
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	if (host->ops->request_done)
-		host->ops->request_done(host, mrq);
-	else
-		mmc_request_done(host->mmc, mrq);
-
-	return false;
-}
-
-static void sdhci_complete_work(struct work_struct *work)
-{
-	struct sdhci_host *host = container_of(work, struct sdhci_host,
-					       complete_work);
-
-	while (!sdhci_request_done(host))
-		;
-}
-
-static void sdhci_timeout_timer(struct timer_list *t)
-{
-	struct sdhci_host *host;
-	unsigned long flags;
-
-	host = from_timer(host, t, timer);
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
-		pr_err("%s: Timeout waiting for hardware cmd interrupt.\n",
-		       mmc_hostname(host->mmc));
-		sdhci_dumpregs(host);
-
-		host->cmd->error = -ETIMEDOUT;
-		sdhci_finish_mrq(host, host->cmd->mrq);
-	}
-
-	spin_unlock_irqrestore(&host->lock, flags);
-}
-
-static void sdhci_timeout_data_timer(struct timer_list *t)
-{
-	struct sdhci_host *host;
-	unsigned long flags;
-
-	host = from_timer(host, t, data_timer);
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	if (host->data || host->data_cmd ||
-	    (host->cmd && sdhci_data_line_cmd(host->cmd))) {
-		pr_err("%s: Timeout waiting for hardware interrupt.\n",
-		       mmc_hostname(host->mmc));
-		sdhci_dumpregs(host);
-
-		if (host->data) {
-			host->data->error = -ETIMEDOUT;
-			__sdhci_finish_data(host, true);
-			queue_work(host->complete_wq, &host->complete_work);
-		} else if (host->data_cmd) {
-			host->data_cmd->error = -ETIMEDOUT;
-			sdhci_finish_mrq(host, host->data_cmd->mrq);
-		} else {
-			host->cmd->error = -ETIMEDOUT;
-			sdhci_finish_mrq(host, host->cmd->mrq);
-		}
-	}
-
-	spin_unlock_irqrestore(&host->lock, flags);
-}
-
-/*****************************************************************************\
- *                                                                           *
- * Interrupt handling                                                        *
- *                                                                           *
-\*****************************************************************************/
-
-static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask, u32 *intmask_p)
-{
-	/* Handle auto-CMD12 error */
-	if (intmask & SDHCI_INT_AUTO_CMD_ERR && host->data_cmd) {
-		struct mmc_request *mrq = host->data_cmd->mrq;
-		u16 auto_cmd_status = sdhci_readw(host, SDHCI_AUTO_CMD_STATUS);
-		int data_err_bit = (auto_cmd_status & SDHCI_AUTO_CMD_TIMEOUT) ?
-				   SDHCI_INT_DATA_TIMEOUT :
-				   SDHCI_INT_DATA_CRC;
-
-		/* Treat auto-CMD12 error the same as data error */
-		if (!mrq->sbc && (host->flags & SDHCI_AUTO_CMD12)) {
-			*intmask_p |= data_err_bit;
-			return;
-		}
-	}
-
-	if (!host->cmd) {
-		/*
-		 * SDHCI recovers from errors by resetting the cmd and data
-		 * circuits.  Until that is done, there very well might be more
-		 * interrupts, so ignore them in that case.
-		 */
-		if (host->pending_reset)
-			return;
-		pr_err("%s: Got command interrupt 0x%08x even though no command operation was in progress.\n",
-		       mmc_hostname(host->mmc), (unsigned)intmask);
-		sdhci_dumpregs(host);
-		return;
-	}
-
-	if (intmask & (SDHCI_INT_TIMEOUT | SDHCI_INT_CRC |
-		       SDHCI_INT_END_BIT | SDHCI_INT_INDEX)) {
-		if (intmask & SDHCI_INT_TIMEOUT)
-			host->cmd->error = -ETIMEDOUT;
-		else
-			host->cmd->error = -EILSEQ;
-
-		/* Treat data command CRC error the same as data CRC error */
-		if (host->cmd->data &&
-		    (intmask & (SDHCI_INT_CRC | SDHCI_INT_TIMEOUT)) ==
-		     SDHCI_INT_CRC) {
-			host->cmd = NULL;
-			*intmask_p |= SDHCI_INT_DATA_CRC;
-			return;
-		}
-
-		__sdhci_finish_mrq(host, host->cmd->mrq);
-		return;
-	}
-
-	/* Handle auto-CMD23 error */
-	if (intmask & SDHCI_INT_AUTO_CMD_ERR) {
-		struct mmc_request *mrq = host->cmd->mrq;
-		u16 auto_cmd_status = sdhci_readw(host, SDHCI_AUTO_CMD_STATUS);
-		int err = (auto_cmd_status & SDHCI_AUTO_CMD_TIMEOUT) ?
-			  -ETIMEDOUT :
-			  -EILSEQ;
-
-		if (mrq->sbc && (host->flags & SDHCI_AUTO_CMD23)) {
-			mrq->sbc->error = err;
-			__sdhci_finish_mrq(host, mrq);
-			return;
-		}
-	}
-
-	if (intmask & SDHCI_INT_RESPONSE)
-		sdhci_finish_command(host);
-}
-
-static void sdhci_adma_show_error(struct sdhci_host *host)
-{
-	void *desc = host->adma_table;
-	dma_addr_t dma = host->adma_addr;
-
-	sdhci_dumpregs(host);
-
-	while (true) {
-		struct sdhci_adma2_64_desc *dma_desc = desc;
-
-		if (host->flags & SDHCI_USE_64_BIT_DMA)
-			SDHCI_DUMP("%08llx: DMA 0x%08x%08x, LEN 0x%04x, Attr=0x%02x\n",
-			    (unsigned long long)dma,
-			    le32_to_cpu(dma_desc->addr_hi),
-			    le32_to_cpu(dma_desc->addr_lo),
-			    le16_to_cpu(dma_desc->len),
-			    le16_to_cpu(dma_desc->cmd));
-		else
-			SDHCI_DUMP("%08llx: DMA 0x%08x, LEN 0x%04x, Attr=0x%02x\n",
-			    (unsigned long long)dma,
-			    le32_to_cpu(dma_desc->addr_lo),
-			    le16_to_cpu(dma_desc->len),
-			    le16_to_cpu(dma_desc->cmd));
-
-		desc += host->desc_sz;
-		dma += host->desc_sz;
-
-		if (dma_desc->cmd & cpu_to_le16(ADMA2_END))
-			break;
-	}
-}
-
-static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
-{
-	u32 command;
-
-	/*
-	 * CMD19 generates _only_ Buffer Read Ready interrupt if
-	 * use sdhci_send_tuning.
-	 * Need to exclude this case: PIO mode and use mmc_send_tuning,
-	 * If not, sdhci_transfer_pio will never be called, make the
-	 * SDHCI_INT_DATA_AVAIL always there, stuck in irq storm.
-	 */
-	if (intmask & SDHCI_INT_DATA_AVAIL && !host->data) {
-		command = SDHCI_GET_CMD(sdhci_readw(host, SDHCI_COMMAND));
-		if (command == MMC_SEND_TUNING_BLOCK ||
-		    command == MMC_SEND_TUNING_BLOCK_HS200) {
-			host->tuning_done = 1;
-			wake_up(&host->buf_ready_int);
-			return;
-		}
-	}
-
-	if (!host->data) {
-		struct mmc_command *data_cmd = host->data_cmd;
-
-		/*
-		 * The "data complete" interrupt is also used to
-		 * indicate that a busy state has ended. See comment
-		 * above in sdhci_cmd_irq().
-		 */
-		if (data_cmd && (data_cmd->flags & MMC_RSP_BUSY)) {
-			if (intmask & SDHCI_INT_DATA_TIMEOUT) {
-				host->data_cmd = NULL;
-				data_cmd->error = -ETIMEDOUT;
-				__sdhci_finish_mrq(host, data_cmd->mrq);
-				return;
-			}
-			if (intmask & SDHCI_INT_DATA_END) {
-				host->data_cmd = NULL;
-				/*
-				 * Some cards handle busy-end interrupt
-				 * before the command completed, so make
-				 * sure we do things in the proper order.
-				 */
-				if (host->cmd == data_cmd)
-					return;
-
-				__sdhci_finish_mrq(host, data_cmd->mrq);
-				return;
-			}
-		}
-
-		/*
-		 * SDHCI recovers from errors by resetting the cmd and data
-		 * circuits. Until that is done, there very well might be more
-		 * interrupts, so ignore them in that case.
-		 */
-		if (host->pending_reset)
-			return;
-
-		pr_err("%s: Got data interrupt 0x%08x even though no data operation was in progress.\n",
-		       mmc_hostname(host->mmc), (unsigned)intmask);
-		sdhci_dumpregs(host);
-
-		return;
-	}
-
-	if (intmask & SDHCI_INT_DATA_TIMEOUT)
-		host->data->error = -ETIMEDOUT;
-	else if (intmask & SDHCI_INT_DATA_END_BIT)
-		host->data->error = -EILSEQ;
-	else if ((intmask & SDHCI_INT_DATA_CRC) &&
-		SDHCI_GET_CMD(sdhci_readw(host, SDHCI_COMMAND))
-			!= MMC_BUS_TEST_R)
-		host->data->error = -EILSEQ;
-	else if (intmask & SDHCI_INT_ADMA_ERROR) {
-		pr_err("%s: ADMA error: 0x%08x\n", mmc_hostname(host->mmc),
-		       intmask);
-		sdhci_adma_show_error(host);
-		host->data->error = -EIO;
-		if (host->ops->adma_workaround)
-			host->ops->adma_workaround(host, intmask);
-	}
-
-	if (host->data->error)
-		sdhci_finish_data(host);
-	else {
-		if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL))
-			sdhci_transfer_pio(host);
-
-		/*
-		 * We currently don't do anything fancy with DMA
-		 * boundaries, but as we can't disable the feature
-		 * we need to at least restart the transfer.
-		 *
-		 * According to the spec sdhci_readl(host, SDHCI_DMA_ADDRESS)
-		 * should return a valid address to continue from, but as
-		 * some controllers are faulty, don't trust them.
-		 */
-		if (intmask & SDHCI_INT_DMA_END) {
-			dma_addr_t dmastart, dmanow;
-
-			dmastart = sdhci_sdma_address(host);
-			dmanow = dmastart + host->data->bytes_xfered;
-			/*
-			 * Force update to the next DMA block boundary.
-			 */
-			dmanow = (dmanow &
-				~((dma_addr_t)SDHCI_DEFAULT_BOUNDARY_SIZE - 1)) +
-				SDHCI_DEFAULT_BOUNDARY_SIZE;
-			host->data->bytes_xfered = dmanow - dmastart;
-			DBG("DMA base %pad, transferred 0x%06x bytes, next %pad\n",
-			    &dmastart, host->data->bytes_xfered, &dmanow);
-			sdhci_set_sdma_addr(host, dmanow);
-		}
-
-		if (intmask & SDHCI_INT_DATA_END) {
-			if (host->cmd == host->data_cmd) {
-				/*
-				 * Data managed to finish before the
-				 * command completed. Make sure we do
-				 * things in the proper order.
-				 */
-				host->data_early = 1;
-			} else {
-				sdhci_finish_data(host);
-			}
-		}
-	}
-}
-
-static inline bool sdhci_defer_done(struct sdhci_host *host,
-				    struct mmc_request *mrq)
-{
-	struct mmc_data *data = mrq->data;
-
-	return host->pending_reset || host->always_defer_done ||
-	       ((host->flags & SDHCI_REQ_USE_DMA) && data &&
-		data->host_cookie == COOKIE_MAPPED);
-}
-
-static irqreturn_t sdhci_irq(int irq, void *dev_id)
-{
-	struct mmc_request *mrqs_done[SDHCI_MAX_MRQS] = {0};
-	irqreturn_t result = IRQ_NONE;
-	struct sdhci_host *host = dev_id;
-	u32 intmask, mask, unexpected = 0;
-	int max_loops = 16;
-	int i;
-
-	spin_lock(&host->lock);
-
-	if (host->runtime_suspended) {
-		spin_unlock(&host->lock);
-		return IRQ_NONE;
-	}
-
-	intmask = sdhci_readl(host, SDHCI_INT_STATUS);
-	if (!intmask || intmask == 0xffffffff) {
-		result = IRQ_NONE;
-		goto out;
-	}
-
-	do {
-		DBG("IRQ status 0x%08x\n", intmask);
-
-		if (host->ops->irq) {
-			intmask = host->ops->irq(host, intmask);
-			if (!intmask)
-				goto cont;
-		}
-
-		/* Clear selected interrupts. */
-		mask = intmask & (SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK |
-				  SDHCI_INT_BUS_POWER);
-		sdhci_writel(host, mask, SDHCI_INT_STATUS);
-
-		if (intmask & (SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE)) {
-			u32 present = sdhci_readl(host, SDHCI_PRESENT_STATE) &
-				      SDHCI_CARD_PRESENT;
-
-			/*
-			 * There is a observation on i.mx esdhc.  INSERT
-			 * bit will be immediately set again when it gets
-			 * cleared, if a card is inserted.  We have to mask
-			 * the irq to prevent interrupt storm which will
-			 * freeze the system.  And the REMOVE gets the
-			 * same situation.
-			 *
-			 * More testing are needed here to ensure it works
-			 * for other platforms though.
-			 */
-			host->ier &= ~(SDHCI_INT_CARD_INSERT |
-				       SDHCI_INT_CARD_REMOVE);
-			host->ier |= present ? SDHCI_INT_CARD_REMOVE :
-					       SDHCI_INT_CARD_INSERT;
-			sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
-			sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
-
-			sdhci_writel(host, intmask & (SDHCI_INT_CARD_INSERT |
-				     SDHCI_INT_CARD_REMOVE), SDHCI_INT_STATUS);
-
-			host->thread_isr |= intmask & (SDHCI_INT_CARD_INSERT |
-						       SDHCI_INT_CARD_REMOVE);
-			result = IRQ_WAKE_THREAD;
-		}
-
-		if (intmask & SDHCI_INT_CMD_MASK)
-			sdhci_cmd_irq(host, intmask & SDHCI_INT_CMD_MASK, &intmask);
-
-		if (intmask & SDHCI_INT_DATA_MASK)
-			sdhci_data_irq(host, intmask & SDHCI_INT_DATA_MASK);
-
-		if (intmask & SDHCI_INT_BUS_POWER)
-			pr_err("%s: Card is consuming too much power!\n",
-				mmc_hostname(host->mmc));
-
-		if (intmask & SDHCI_INT_RETUNE)
-			mmc_retune_needed(host->mmc);
-
-		if ((intmask & SDHCI_INT_CARD_INT) &&
-		    (host->ier & SDHCI_INT_CARD_INT)) {
-			sdhci_enable_sdio_irq_nolock(host, false);
-			sdio_signal_irq(host->mmc);
-		}
-
-		intmask &= ~(SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE |
-			     SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK |
-			     SDHCI_INT_ERROR | SDHCI_INT_BUS_POWER |
-			     SDHCI_INT_RETUNE | SDHCI_INT_CARD_INT);
-
-		if (intmask) {
-			unexpected |= intmask;
-			sdhci_writel(host, intmask, SDHCI_INT_STATUS);
-		}
-cont:
-		if (result == IRQ_NONE)
-			result = IRQ_HANDLED;
-
-		intmask = sdhci_readl(host, SDHCI_INT_STATUS);
-	} while (intmask && --max_loops);
-
-	/* Determine if mrqs can be completed immediately */
-	for (i = 0; i < SDHCI_MAX_MRQS; i++) {
-		struct mmc_request *mrq = host->mrqs_done[i];
-
-		if (!mrq)
-			continue;
-
-		if (sdhci_defer_done(host, mrq)) {
-			result = IRQ_WAKE_THREAD;
-		} else {
-			mrqs_done[i] = mrq;
-			host->mrqs_done[i] = NULL;
-		}
-	}
-out:
-	if (host->deferred_cmd)
-		result = IRQ_WAKE_THREAD;
-
-	spin_unlock(&host->lock);
-
-	/* Process mrqs ready for immediate completion */
-	for (i = 0; i < SDHCI_MAX_MRQS; i++) {
-		if (!mrqs_done[i])
-			continue;
-
-		if (host->ops->request_done)
-			host->ops->request_done(host, mrqs_done[i]);
-		else
-			mmc_request_done(host->mmc, mrqs_done[i]);
-	}
-
-	if (unexpected) {
-		pr_err("%s: Unexpected interrupt 0x%08x.\n",
-			   mmc_hostname(host->mmc), unexpected);
-		sdhci_dumpregs(host);
-	}
-
-	return result;
-}
-
-static irqreturn_t sdhci_thread_irq(int irq, void *dev_id)
-{
-	struct sdhci_host *host = dev_id;
-	struct mmc_command *cmd;
-	unsigned long flags;
-	u32 isr;
-
-	while (!sdhci_request_done(host))
-		;
-
-	spin_lock_irqsave(&host->lock, flags);
-
-	isr = host->thread_isr;
-	host->thread_isr = 0;
-
-	cmd = host->deferred_cmd;
-	if (cmd && !sdhci_send_command_retry(host, cmd, flags))
-		sdhci_finish_mrq(host, cmd->mrq);
-
-	spin_unlock_irqrestore(&host->lock, flags);
-
-	if (isr & (SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE)) {
-		struct mmc_host *mmc = host->mmc;
-
-		mmc->ops->card_event(mmc);
-		mmc_detect_change(mmc, msecs_to_jiffies(200));
-	}
-
-	return IRQ_HANDLED;
-}
-
-/*****************************************************************************\
- *                                                                           *
- * Suspend/resume                                                            *
- *                                                                           *
-\*****************************************************************************/
-
-#ifdef CONFIG_PM
-
-static bool sdhci_cd_irq_can_wakeup(struct sdhci_host *host)
-{
-	return mmc_card_is_removable(host->mmc) &&
-	       !(host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION) &&
-	       !mmc_can_gpio_cd(host->mmc);
-}
-
-/*
- * To enable wakeup events, the corresponding events have to be enabled in
- * the Interrupt Status Enable register too. See 'Table 1-6: Wakeup Signal
- * Table' in the SD Host Controller Standard Specification.
- * It is useless to restore SDHCI_INT_ENABLE state in
- * sdhci_disable_irq_wakeups() since it will be set by
- * sdhci_enable_card_detection() or sdhci_init().
- */
-static bool sdhci_enable_irq_wakeups(struct sdhci_host *host)
-{
-	u8 mask = SDHCI_WAKE_ON_INSERT | SDHCI_WAKE_ON_REMOVE |
-		  SDHCI_WAKE_ON_INT;
-	u32 irq_val = 0;
-	u8 wake_val = 0;
-	u8 val;
-
-	if (sdhci_cd_irq_can_wakeup(host)) {
-		wake_val |= SDHCI_WAKE_ON_INSERT | SDHCI_WAKE_ON_REMOVE;
-		irq_val |= SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE;
-	}
-
-	if (mmc_card_wake_sdio_irq(host->mmc)) {
-		wake_val |= SDHCI_WAKE_ON_INT;
-		irq_val |= SDHCI_INT_CARD_INT;
-	}
-
-	if (!irq_val)
-		return false;
-
-	val = sdhci_readb(host, SDHCI_WAKE_UP_CONTROL);
-	val &= ~mask;
-	val |= wake_val;
-	sdhci_writeb(host, val, SDHCI_WAKE_UP_CONTROL);
-
-	sdhci_writel(host, irq_val, SDHCI_INT_ENABLE);
-
-	host->irq_wake_enabled = !enable_irq_wake(host->irq);
-
-	return host->irq_wake_enabled;
-}
-
-static void sdhci_disable_irq_wakeups(struct sdhci_host *host)
-{
-	u8 val;
-	u8 mask = SDHCI_WAKE_ON_INSERT | SDHCI_WAKE_ON_REMOVE
-			| SDHCI_WAKE_ON_INT;
-
-	val = sdhci_readb(host, SDHCI_WAKE_UP_CONTROL);
-	val &= ~mask;
-	sdhci_writeb(host, val, SDHCI_WAKE_UP_CONTROL);
-
-	disable_ir