#!/bin/bash
export PATH=/sbin:/bin:/usr/sbin:/usr/bin

if test -z $HOME -o "$HOME" = "/"; then
export HOME=/root
fi

. /etc/colorrc
. /etc/init.d/div/memrc
. /etc/init.d/div/rpminstrc

if test -f /etc/aldccp/system; then
. /etc/aldccp/system
fi

if test -f /tmp/locale; then
. /tmp/locale
fi

if test -f /tmp/boot_info.txt; then
. /tmp/boot_info.txt
echo "is boot_info"
else
BOOTNR=4
fi

rcCX="${esc}[1;35m"

InstallLocale () {
  if test x$4 = x -o x$4 = x"n"; then
    echo -n "Install Locale $1 $2 $3"
    localedef -i $1 -f $2 $3 2>/tmp/rpm_install_error
    if [ $? != 0 ] ; then
	echo ${rc_Err}
	echo ${rcC3}`cat /tmp/rpm_install_error`${rcLF}
    else
	echo ${rc_Ok}
    fi

  else
    echo "Skip    Locale $1"
  fi
}

InstallDefaultZoneInfo () {
  pushd /usr/share/zoneinfo >/dev/null
  echo  -n "Install ZoneInfo $1"
# old glibc  zic -d /usr/share/zoneinfo -L /dev/null -y ./yearistype $1
  zic -d /usr/share/zoneinfo -L /dev/null $1
  if [ $? != 0 ] ; then
      echo ${rc_Err}
  else
      echo ${rc_Ok}
  fi
  popd >/dev/null
}

MemLow="n"
MemX11Low="n"

case "$1" in
    start)
	SetMemVars
	echo ${rcC1}"------ Load libc ------           MemFree ${FsFreeM}M"${rcLF}

	if test $FsFree -lt $RPM_min_mem_libc; then
	    itmp=`expr $RPM_min_mem_libc / 1000`
	    echo ${rcC3}"ERROR: out of mem min.${itmp}M"${rcLF}
	    exit 0
	fi

	if test $FsFree -lt $RPM_warn_mem_libc; then
	    echo ${rcCX}"WARNING: mem of tmpfs is low"${rcLF}
	    MemLow="y"
	    MemX11Low="y"
	else
	  if test x$BOOTNR != x -a $BOOTNR -ge "3"; then
	    if test $FsFree -lt $RPM_warn_mem_X11; then
	      echo ${rcCX}"WARNING: mem for X11 of tmpfs is low"${rcLF}
	      MemX11Low="y"
	    fi
	  fi
	fi

	InstallRPM glibc-2.38-2

	InstallLocale "en_US" "ISO-8859-1" "en_US"
	InstallLocale "en_US" "UTF-8" "en_US.UTF-8" "$MemLow"

	if test x != x$locales -a x != x$charmap -a x != x$ENV_LANG ; then
	  if test x"en_US" != x$locales ; then
	    InstallLocale "$locales" "$charmap" "$localesISO"
	    InstallLocale "$locales" "UTF-8" "$localesUTF8" "$MemLow"
	  fi
	else
	  InstallLocale "de_DE@euro" "ISO-8859-15" "de_DE@euro" "$MemLow"
	fi

# ------------ Install zoneinfo -----------------------
#	InstallDefaultZoneInfo "africa"
#	InstallDefaultZoneInfo "antarctica"
#	InstallDefaultZoneInfo "asia"
#	InstallDefaultZoneInfo "australasia"
	InstallDefaultZoneInfo "europe"
#	InstallDefaultZoneInfo "northamerica"
#	InstallDefaultZoneInfo "southamerica"
	InstallDefaultZoneInfo "etcetera"
#	InstallDefaultZoneInfo "factory"
#	InstallDefaultZoneInfo "solar87"
#	InstallDefaultZoneInfo "solar88"
#	InstallDefaultZoneInfo "solar89"
#	InstallDefaultZoneInfo "backward"

# ------------ Set TimeZone -----------------------
	if test x != x$TimeZone ; then
	    if test -f /usr/share/zoneinfo/$TimeZone; then
		cp /usr/share/zoneinfo/$TimeZone /etc/localtime
		cp /usr/share/zoneinfo/$TimeZone /usr/share/zoneinfo/posixrules
		echo $TimeZone >/etc/timezone
	    fi
	else
	    if test -f /usr/share/zoneinfo/UTC; then
		cp /usr/share/zoneinfo/UTC /etc/localtime
		echo "UTC" >/etc/timezone
	    fi
	fi

	if test x$MemLow = x"y"; then
	    rm -rf /usr/share/zoneinfo
	fi

	InstallRPM glibc-m32-2.32-0
	InstallRPM zlib-1.2.11-0
	InstallRPM bzip2-1.0.8-0
	InstallRPM xz-5.2.12-0
	InstallRPM unzip-6.0-2
	InstallRPM tar-1.34-0
	InstallRPM udev-libudev-175-2
	InstallRPM killproc-2.03-1
	InstallRPM kbd-1.15.3-1
	InstallRPM ncurses-5.9-0
	InstallRPM ncurses-bin-5.9-0
	InstallRPM readline-6.2-0

	InstallRPM attr-2.4.47-0 "$MemLow"
	InstallRPM acl-2.2.52-0 "$MemLow"
	InstallRPM_noarch file-magic-v14-5.30-0 "$MemLow"

	InstallRPM file-5.30-0 "$MemLow"


	InstallRPM util-linux-2.36.2-0
	InstallRPM util-linux-libfdisk-2.36.2-0
	InstallRPM util-linux-libsmartcols-2.36.2-0
	InstallRPM util-linux-lsblk-2.36.2-0
	InstallRPM util-linux-uuidgen-2.36.2-0
	InstallRPM util-linux-blkid-2.36.2-0
	InstallRPM util-linux-partx-2.36.2-0

	InstallRPM e2fsprogs-1.45.6-0
	InstallRPM dosfstools-4.1-0
	InstallRPM exfatprogs-1.1.3-0
	InstallRPM cdrkit-1.1.11-2 "$MemLow"
	InstallRPM libusb1-1.0.25-0
	InstallRPM libusb-0.1.7-0
	InstallRPM libtirpc-1.3.3-2
	InstallRPM libnsl2-2.0.0-0
	InstallRPM rpcbind-1.2.6-0
	InstallRPM sqlite-3.22.0-0 "$MemX11Low"
	InstallRPM nfs-utils-2.4.3-0 "$MemX11Low"
	InstallRPM nfs-utils-nfsd-2.4.3-0 "$MemX11Low"
	InstallRPM pure-ftpd-1.0.36-1

	InstallRPM syslinux-6.04-0
	InstallRPM pciutils-3.10.0-0
	InstallRPM pciutils-ids-3.10.0-0
	InstallRPM usbutils-007-1 "$MemX11Low"
	InstallRPM_noarch usb.ids-2025.04.01-0 "$MemX11Low"

	InstallRPM less-382-2
	InstallRPM groff-1.17.2-2
	rm -f /sbin/man
	InstallRPM man-1.6f-0

	InstallRPM gcc-libgcc-12.5.0-0 "$MemLow"
	InstallRPM gcc-libstdc++-12.5.0-0 "$MemLow"
	InstallRPM gcc-m32-libgcc-12.5.0-0 "$MemLow"
	InstallRPM gcc-m32-libstdc++-12.5.0-0 "$MemLow"
	InstallRPM openssl-lib-1.1.1w-0 "$MemLow"
	InstallRPM openssl-1.1.1w-0 "$MemLow"

	InstallRPM grep-2.28-0 "$MemLow"
	InstallRPM sed-4.4-0 "$MemLow"
	InstallRPM findutils-4.8.0-0 "$MemLow"
	InstallRPM samba-mount-3.4.17-1 "$MemLow"
	InstallRPM dpkg-1.18.25-1 "$MemLow"
	InstallRPM ed-1.4-0 "$MemLow"
	InstallRPM bc-1.07.1-0 "$MemLow"

	InstallRPM coreutils-cp-9.1-0 "$MemLow"
	InstallRPM coreutils-ln-9.1-0 "$MemLow"
	InstallRPM mC-busybox-env-1.36.1-1.2.4s.0 "$MemLow"
	InstallRPM mC-bash-help-4.4.23-1.2.4.0 "$MemLow"
	InstallRPM mC-busybox_su-1.36.1-1.2.4s.0 "$MemLow"

	InstallRPM libxml2-2.9.12-0
	InstallRPM expat-2.4.7-0
	InstallRPM dbus-1.12.28-0
	cd /etc/init.d/rcS
	ln -s ../dbus S02dbus
	cd /
	InstallRPM_noarch sgml-common-0.6.3.1-0 "$MemLow"
	InstallRPM libnl-3.2.29-0 "$MemX11Low"
	InstallRPM wpa_supplicant-2.11-1 "$MemX11Low"

	if test -d /mnt/firmware/linux ; then
	    cp -ar /mnt/firmware/linux/* /lib/firmware/
	fi

	if test -x /opt/aldccp/bin/embtool; then
	    /opt/aldccp/bin/embtool shdata -w NETWORKING yes /etc/aldccp/network
	fi
       ;;
    stop)
        ;;
    *)
	echo "Usage: {start|stop}"
	exit 1
	;;
esac
