#!/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"