#!/bin/bash # İnary paketi üreten clone makepkg (SulinOS topluluğu tarafından geliştirildi) # Çok önemli uyarı: bu betik deneysel çalışmadır. sisteme zarar verebilir. # # Bu betik ile tüm archlinux/aur paketleri derlenememektedir. arch-meson(){ exec meson setup \ --prefix /usr \ --libexecdir lib \ --sbindir bin \ --buildtype plain \ --auto-features enabled \ --wrap-mode nodownload \ -D b_lto=true \ -D b_pie=true \ "$@" } pwd=$(pwd) export pkgdir=$pwd/install export srcdir=. export distrel=s19 . PKGBUILD fetch_sources(){ for src in ${source[@]} ${source_x86_64[@]} ; do echo -e "\033[44;1m$src\033[;0m" if echo "$src" | grep "git://" &>/dev/null ; then srcloc=$(echo $src | sed "s|^.*git://|git://|g") srcname=$(echo $src | sed "s|::git://.*$||g") echo $srcloc $srcname [ -d "$srcname" ] || git clone --depth=1 $srcloc $srcname elif echo "$src" | grep "^git+" &>/dev/null ; then srcloc=$(echo $src | sed "s|^git+||g") git clone --depth=1 $srcloc || true elif echo "$src" | grep "::http" &>/dev/null ; then srcloc=$(echo $src | sed "s|^.*::||g") srcname=$(echo $src | sed "s|::http.*$||g") echo $srcloc wget -c $srcloc -O $srcname echo $srcname | grep ".tar.*" && tar -xf $srcname elif [ -f $src ] ; then touch $src else wget -c $src -O $(basename $src) || true basename $src | grep ".tar.*" && tar -xf $(basename $src) || true fi done } check_make_dep(){ missdep="" for dep in ${makedepends[@]} ${depends[@]} do echo "checking $dep" LANG=C inary info $dep -s -N | grep "\[inst\]" >/dev/null if [ ! $? -eq 0 ] ; then if [ "$dep" != "hicolor-icon-theme" ] ; then export missdep="$missdep $dep" fi #exit 1 fi done echo -e "\033[31;1mMissing: $missdep\033[;0m" > /dev/stderr if [ "$missdep" != "" ] ; then su -c "inary it $missdep" || { echo -e "\033[31;1mInary cannot install all dependencies.\nPress any key to continue or ctrl c to exit.\033[;0m" read -n 1 c } fi } function_exists() { declare -f -F $1 > /dev/null return $? } run(){ cd $pwd if function_exists $1 ; then echo -e "\033[32;1m$2\033[;0m" > /dev/stderr if ! $1 ; then echo -e "\033[31;1m$1 failed\033[;0m" > /dev/stderr exit 1 fi fi } create_tar(){ cd install [ -f ../install.tar.xz ] && rm -f ../install.tar.xz tar --xz -cf ../install.tar.xz * echo -e "" > ../files.xml find | sed "s|^\./||g" | while read line do if [ -f $line ] ; then echo -e " " >> ../files.xml echo -e " $line" >> ../files.xml echo -e " data" >> ../files.xml echo -e " $(du -b $line | awk '{print $1}')" >> ../files.xml echo -e " 0" >> ../files.xml echo -e " 0" >> ../files.xml echo -e " 0o755" >> ../files.xml echo -e " $(sha1sum $line | awk '{print $1}')" >> ../files.xml echo -e " " >> ../files.xml fi done echo -e "" >> ../files.xml } write_metadata(){ export installtarhash="$(sha1sum install.tar.xz | awk '{print $1}')" echo -e "" echo -e " " echo -e " $pkgname" echo -e " $url" echo -e " " echo -e " Auto generated" echo -e " auto@generat.et" echo -e " " echo -e " " echo -e " " echo -e " " echo -e " aur" echo -e " $pkgname" echo -e " $pkgdesc" echo -e " $pkgdesc" echo -e " app" echo -e " $license" echo -e " " for dep in ${depends[@]} do echo -e " $dep" done echo -e " " echo -e " " echo -e " /usr" echo -e " /etc" echo -e " /bin" echo -e " /var" echo -e " /lib" echo -e " /boot" echo -e " " echo -e " " echo -e " " echo -e " 2020-04-24" echo -e " $pkgver" echo -e " Auto generated." echo -e " Auto generated" echo -e " auto@generat.et" echo -e " " echo -e " " echo -e " uludag" echo -e " Sulin" echo -e " 2019" echo -e " x86_64" echo -e " 1" echo -e " $installtarhash" echo -e " 1.2" echo -e " " echo -e "" } create_inary(){ zip $pkgname-$pkgver-$pkgrel-$distrel-$(uname -m).inary install.tar.xz metadata.xml files.xml } run fetch_sources "Downloading" run check_make_dep "Checking dependency" run pkgver "Runninn pkgver" run prepare "Running prepare" run build "Building" run package "Installing" run create_tar "Creating install.tar.xz" run write_metadata "Generating metadata.xml" > $pwd/metadata.xml run create_inary "Building inary file"