attr¶
coreutils için gerekli olan paket. attr, dosya özniteliklerini ayarlamak veya görüntülemek için kullanılan bir komuttur. Bu komut, dosya veya dizinlerin özelliklerini (izinler, sahiplik, erişim zamanları vb.) yönetmek için kullanılır.
Derleme¶
Debian ortamında bu paketin derlenmesi için; sudo apt install libattr1-dev komutuyla paketin kurulması gerekmektedir.
#--------------------------------------------------------------------------------------------------------------------
#!/usr/bin/env bash
name="attr"
version="2.5.1"
description="The attr package contains utilities to administer the extended attributes on filesystem objects."
source="https://mirror.rabisu.com/savannah-nongnu/attr/attr-${version}.tar.gz"
depends=""
display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -1)" # Display adı
user=$(who | grep "(${display})" | awk '{print $1}') # Display kullanıcısı
ROOT="/home/$user/distro"
ROOTBUILDDIR="$ROOT/build" # Derleme dizini
BUILDDIR="$ROOT/build/build-${name}-${version}" # Alt dizin
DESTDIR="$ROOT/rootfs" # Yükleme dizini
PACKAGEDIR=$(pwd) # Paket dizini
SOURCEDIR="$ROOT/build/${name}-${version}" # Kaynak dizini
initsetup(){
mkdir -p $ROOTBUILDDIR #derleme dizini yoksa oluşturuluyor
rm -rf $ROOTBUILDDIR/* #içeriği temizleniyor
cd $ROOTBUILDDIR #dizinine geçiyoruz
wget ${source}
#isimde boşluk varsa silme işlemi yapılıyor
for f in *\ *; do mv "$f" "${f// /}"; done
dowloadfile=$(ls|head -1)
filetype=$(file -b --extension $dowloadfile|cut -d'/' -f1)
if [ "${filetype}" == "???" ]; then unzip ${dowloadfile}; \
else tar -xvf ${dowloadfile};fi
director=$(find ./* -maxdepth 0 -type d)
directorname=$(basename ${director})
if [ "${directorname}" != "${name}-${version}" ]; \
then mv $directorname ${name}-${version};fi
mkdir -p $BUILDDIR&&mkdir -p $DESTDIR&&cd $SOURCEDIR
}
setup(){
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64
}
build(){
make
}
package(){
make install DESTDIR=$DESTDIR
${DESTDIR}/sbin/ldconfig -r ${DESTDIR} # sistem guncelleniyor
}
initsetup # initsetup fonksiyonunu çalıştırır ve kaynak dosyayı indirir
setup # setup fonksiyonu çalışır ve derleme öncesi kaynak dosyaların ayalanması sağlanır.
build # build fonksiyonu çalışır ve kaynak dosyaları derlenir.
package # package fonksiyonu çalışır, yükleme öncesi ayarlamalar yapılır ve yüklenir.
Paket Derleme Yöntemi konusunda anlatıldığı gibi derleme işlemini yapınız.