From 5255e41186da83b158489cbd6f4e373b3bc615a4 Mon Sep 17 00:00:00 2001 From: Daryl Ronningen Date: Thu, 7 Dec 2023 19:28:18 -0800 Subject: [PATCH] add additional packages --- base/PKGBUILD | 4 +- busybox/PKGBUILD | 12 ++-- busybox/config | 28 ++++---- curl/PKGBUILD | 37 +++++++++++ gzip/PKGBUILD | 24 +++++++ pacman/PKGBUILD | 43 ++++++++++++ pacman/makepkg.conf | 159 ++++++++++++++++++++++++++++++++++++++++++++ pacman/pacman.conf | 72 ++++++++++++++++++++ 8 files changed, 356 insertions(+), 23 deletions(-) create mode 100644 curl/PKGBUILD create mode 100644 gzip/PKGBUILD create mode 100644 pacman/PKGBUILD create mode 100644 pacman/makepkg.conf create mode 100644 pacman/pacman.conf diff --git a/base/PKGBUILD b/base/PKGBUILD index 5142630..504ec9c 100644 --- a/base/PKGBUILD +++ b/base/PKGBUILD @@ -20,10 +20,10 @@ depends=( #"gettext" "pciutils" "psmisc" "shadow" "util-linux" # distro defined requirements - #"licenses" "pacman" + "pacman" #"licenses" # libraries for tools - "ncurses" "readline" "xz" "zstd" "zlib-ng" "mpfr" "gmp" "pcre2" "bzip2" "libressl" "expat" + "ncurses" "readline" "xz" "zstd" "zlib-ng" "mpfr" "gmp" "pcre2" "bzip2" "libressl" "expat" "gzip" "curl" ) optdepends=( "linux: bare metal support" diff --git a/busybox/PKGBUILD b/busybox/PKGBUILD index 6d92673..deb1f50 100644 --- a/busybox/PKGBUILD +++ b/busybox/PKGBUILD @@ -13,7 +13,7 @@ source=( ) sha256sums=( "b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314" - "5c5664f75ae5649c9e55f0d3a52fad4e67428f1accf37e555af7f28efbd566e1" + "3bce5753ac5953b40c5c13a5028436e7a82f2feebf6604a74aaba9e15e40c068" ) build() { @@ -31,12 +31,10 @@ package() { make install # Move all applets into /usr/bin - cd $pkgdir - mv bin/* usr/bin/ - mv sbin/* usr/bin/ - mv usr/sbin/* usr/bin/ - rm -rf bin/ sbin/ usr/sbin/ - cd $pkgname-$pkgver + mv $pkgdir/bin/* $pkgdir/usr/bin/ + mv $pkgdir/sbin/* $pkgdir/usr/bin/ + mv $pkgdir/usr/sbin/* $pkgdir/usr/bin/ + rm -rf $pkgdir/{bin,sbin,usr/sbin} # docs install -Dm644 docs/busybox.1 $pkgdir/usr/share/man/man1/busybox.1 diff --git a/busybox/config b/busybox/config index a221a52..5a9aed9 100644 --- a/busybox/config +++ b/busybox/config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.36.1 -# Wed Dec 6 20:16:10 2023 +# Fri Dec 8 03:19:46 2023 # CONFIG_HAVE_DOT_CONFIG=y @@ -146,9 +146,9 @@ CONFIG_FEATURE_SEAMLESS_GZ=y # CONFIG_FEATURE_AR_LONG_FILENAMES is not set # CONFIG_FEATURE_AR_CREATE is not set # CONFIG_UNCOMPRESS is not set -CONFIG_GUNZIP=y -CONFIG_ZCAT=y -CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y +# CONFIG_GUNZIP is not set +# CONFIG_ZCAT is not set +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set # CONFIG_BUNZIP2 is not set # CONFIG_BZCAT is not set # CONFIG_UNLZMA is not set @@ -167,11 +167,11 @@ CONFIG_BZIP2_SMALL=0 # CONFIG_FEATURE_CPIO_RENUMBER_INODES is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set -CONFIG_GZIP=y -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +# CONFIG_GZIP is not set +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set CONFIG_GZIP_FAST=0 # CONFIG_FEATURE_GZIP_LEVELS is not set -CONFIG_FEATURE_GZIP_DECOMPRESS=y +# CONFIG_FEATURE_GZIP_DECOMPRESS is not set # CONFIG_LZOP is not set # CONFIG_UNLZOP is not set # CONFIG_LZOPCAT is not set @@ -397,13 +397,13 @@ CONFIG_SHOWKEY=y # # Debian Utilities # -CONFIG_PIPE_PROGRESS=y -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -CONFIG_FEATURE_RUN_PARTS_FANCY=y -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set CONFIG_WHICH=y # diff --git a/curl/PKGBUILD b/curl/PKGBUILD new file mode 100644 index 0000000..bf07281 --- /dev/null +++ b/curl/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Daryl Ronningen + +pkgname=curl +pkgver=8.5.0 +pkgrel=1 +pkgdesc="command line tool and library for transferring data with URLs" +arch=("x86_64") +url="https://curl.se/" +license=("MIT") +source=("https://github.com/curl/curl/releases/download/curl-${pkgver//./_}/curl-$pkgver.tar.xz") +sha256sums=("42ab8db9e20d8290a3b633e7fbb3cec15db34df65fd1015ef8ac1e4723750eeb") + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix="/usr" \ + --mandir="/usr/share/man" \ + --disable-ldap \ + --disable-ldaps \ + --disable-manual \ + --enable-ipv6 \ + --enable-threaded-resolver \ + --with-gssapi \ + --with-libssh2 \ + --with-random="/dev/urandom" \ + --with-openssl \ + --disable-versioned-symbols + + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR=$pkgdir install +} diff --git a/gzip/PKGBUILD b/gzip/PKGBUILD new file mode 100644 index 0000000..86a9c58 --- /dev/null +++ b/gzip/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Daryl Ronningen + +pkgname=gzip +pkgver=1.13 +pkgrel=1 +pkgdesc="GNU compression utility" +arch=("x86_64") +url="https://www.gnu.org/software/gzip/" +license=("GPL-3.0-or-later") +source=("https://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz") +sha256sums=("7454eb6935db17c6655576c2e1b0fabefd38b4d0936e0f87f48cd062ce91a057") + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + + make prefix=$pkgdir/usr install +} diff --git a/pacman/PKGBUILD b/pacman/PKGBUILD new file mode 100644 index 0000000..17d884d --- /dev/null +++ b/pacman/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Daryl Ronningen + +pkgname=pacman +pkgver=6.0.2 +pkgrel=1 +pkgdesc="A library-based package manager with dependency support" +arch=("x86_64") +url="https://www.archlinux.org/pacman/" +license=("GPL") +backup=(etc/pacman.conf etc/makepkg.conf) +source=( + "https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.xz" + "pacman.conf" + "makepkg.conf" +) +sha256sums=( + "7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5" + "a4137a05fbfa4017ce13cfda1fa361f188d3eb7c098e326c498edf458b7af24d" + "8f5bfb2f9bfbac6af151f1a41c9ce64d1065bd263ad998a80732e884f22a61d7" +) + +build() { + cd $pkgname-$pkgver + + meson \ + --prefix=/usr \ + --buildtype=plain \ + -Dscriptlet-shell=/usr/bin/bash \ + -Dldconfig=/usr/bin/ldconfig \ + build + + meson compile -C build +} + +package() { + cd $pkgname-$pkgver + + DESTDIR=$pkgdir meson install -C build + + install -dm755 $pkgdir/etc + install -m644 $srcdir/pacman.conf $pkgdir/etc + install -m644 $srcdir/makepkg.conf $pkgdir/etc +} diff --git a/pacman/makepkg.conf b/pacman/makepkg.conf new file mode 100644 index 0000000..268c75f --- /dev/null +++ b/pacman/makepkg.conf @@ -0,0 +1,159 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-musl" + +#-- Compiler and Linker Flags +#CPPFLAGS="" +CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" +LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" +LTOFLAGS="-flto=auto" +#RUSTFLAGS="-C opt-level=2" +#-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +#DEBUG_RUSTFLAGS="-C debuginfo=2" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +BUILDENV=(!distcc color !ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe " +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -c -z -) +COMPRESSZST=(zstd -c -z -q -) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +PKGEXT='.pkg.tar.zst' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() diff --git a/pacman/pacman.conf b/pacman/pacman.conf new file mode 100644 index 0000000..41a563c --- /dev/null +++ b/pacman/pacman.conf @@ -0,0 +1,72 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +#HoldPkg = +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +Color +#NoProgressBar +#CheckSpace +#VerbosePkgLists +ParallelDownloads = 5 + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs