curl

Curl, internet üzerinden veri transferi yapan bir araçtır.

Derleme

#--------------------------------------------------------------------------------------------------------------------
#!/usr/bin/env bash
version="8.4.0"
name="curl"
depends="glibc,acl,openssl"
description="shell ve network copy"
source="https://curl.se/download/${name}-${version}.tar.xz"
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}
                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(){
            opts=(
            --prefix=/usr --libdir=/usr/lib64 --disable-ldap --disable-ldaps --disable-versioned-symbols
            --enable-doh --enable-ftp --enable-ipv6 --with-ca-path=/etc/ssl/certs --with-ca-bundle=/etc/ssl/cert.pem
            --enable-threaded-resolverl --enable-websockets --without-libidn2 --without-libpsl --without-nghttp2)
              #--without-zstd --without-zlib --without-brotli --without-libssh)
            ./configure ${opts[@]} --with-openssl
}
build(){
            make
}
package(){
                make install DESTDIR=$DESTDIR
            cd $DESTDIR
            for ver in 3 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0; do
            ln -s $DESTDIR/lib/libcurl.so.4.8.0 $DESTDIR/lib/libcurl.so.${ver}
                done
                ${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.