From f93d3c0c6d14e809ce149e7ac401d424933ec9b8 Mon Sep 17 00:00:00 2001 From: Joe Bo Run Date: Wed, 29 Mar 2023 04:54:20 +0300 Subject: [PATCH] upg eudev pacman-mirrorlist libcap pacman base --- base/PKGBUILD | 11 ++- base/README.txt | 63 ++++++++++------ eudev/PKGBUILD | 62 +++++++++------- eudev/PKGBUILD-oba | 23 +++--- eudev/clean | 2 +- eudev/initcpio_hooks | 0 eudev/initcpio_install | 0 eudev/key | 3 +- eudev/time | 9 ++- libcap/PKGBUILD | 70 ++++++++++++++---- libcap/PKGBUILD-arch | 73 ++++++++++++++++--- libcap/deps | 1 + libcap/libcap-2.68-cgo_flags.patch | 41 +++++++++++ pacman-mirrorlist/PKGBUILD | 16 ++-- pacman-mirrorlist/deps | 1 + pacman-mirrorlist/select | 33 +++++++++ pacman/PKGBUILD | 28 ++++--- pacman/PKGBUILD-arch | 13 ++-- pacman/makepkg.conf | 8 +- ...ate-directories-from-debugedit-fixup.patch | 2 +- ...ys-create-directories-from-debugedit.patch | 2 +- pacman/pacman-fix-unique-source-paths.patch | 2 +- ...de-o-files-similar-to-kernel-modules.patch | 2 +- pacman/pacman.conf | 13 ++-- 24 files changed, 349 insertions(+), 129 deletions(-) mode change 100644 => 100755 eudev/initcpio_hooks mode change 100644 => 100755 eudev/initcpio_install create mode 100644 libcap/libcap-2.68-cgo_flags.patch create mode 100644 pacman-mirrorlist/select diff --git a/base/PKGBUILD b/base/PKGBUILD index 16ad245..b169670 100644 --- a/base/PKGBUILD +++ b/base/PKGBUILD @@ -7,7 +7,7 @@ pkgname=base pkgver=10.0 -pkgrel=03 +pkgrel=04 pkgdesc='Minimal set of packages to define a basic JOBORun Linux installation' url='http://pozol.eu' groups=( jobbase ) @@ -17,6 +17,7 @@ optdepends=('linux-lts: recommended kernel' 'linux: alternative latest lts kernel' 's6-suite: s6 and 66 system and basic booting necessities' 'grub: bootloader capable of a multiboot system of various OSes' + 'limine: a new bootloader handling GPT/MBR BIOS/EFI with same config' 'syslinux: alternative bootloader lighter than grub' ) makedepends=('sh' 'glibc') @@ -36,10 +37,11 @@ package() { # to try the system as a chroot of another, a kernel is not mandatory # keyrings GnuPG keys of repo and pkg signatures - 'archlinux-keyring' 'obarun-keyring' 'joborun-keyring' + # they are included as dependencies in pacman + ## 'archlinux-keyring' 'obarun-keyring' 'joborun-keyring' # POSIX tools - 'coreutils' 'file' 'findutils' 'gawk' 'grep' 'procps-ng' 'sed' 'tar' + 'coreutils' 'file' 'findutils' 'grep' 'procps-ng' 'sed' 'tar' # standard linux toolset 'pciutils' 'psmisc' 'shadow' 'util-linux' 'bzip2' 'gzip' 'lzip' 'xz' 'sudo' @@ -66,5 +68,6 @@ package() { license=('ISC') -sha256sums=(cf5a5b593698d38b717e4c4274c6a1dd6a5b1c93e03b826bbbc18b6872f79c9f) # README.txt +sha256sums=(1fdbd46fc0e2ed0bd25c4164e841a0bc55337a37970035c5dc10df333e577aa4) # README.txt +## c91a04c8d1594878b88379917bdba7c5703c3e053171b25e064a9dd95a8a041c base-10.0-04-x86_64.pkg.tar.lz diff --git a/base/README.txt b/base/README.txt index db4c3d2..27739cc 100644 --- a/base/README.txt +++ b/base/README.txt @@ -1,38 +1,53 @@ This is the base package for the minimal joborun installation. -Make sure you choose a kernel and bootloader before you attempt your first boot and also run -jobo-setup as root to ensure proper minimal configuration. +Make sure you choose a kernel and bootloader before you attempt +your first boot and also run jobo-setup as root to ensure proper +minimal configuration. + +Recommended kernel built by us is linux-lts (5.10) or linux (5.15) +We have more ranging from 4.9 to 6.3 or you can install the arch +kernels ie (% pacman -S core/linux-zen) ________ For a minimal chroot pkg building environment install jobbot. +This is all you need to start building, see the wiki for details. ________ -What you initially get is a console non graphic system, but we have a setup script in the tarball's -user's home directory (/home/make/) that you can choose between an openbox or Jwm bundle, if this is -what you like. Of course you are free to install whatever environment you like from Obarun, Arch, -OUR and AUR repositories. It is just that we are not willing to support and assist in anything -beyond the minimalistic installation of a window manager and this without a Display Manager and its -complications. +What you initially get is a console non graphic system, but we +have a setup script in the tarball's /usr/local/bin/ directory +that you can choose between an openbox or Jwm bundle, if this is +what you like. Of course you are free to install whatever +environment you like from Obarun, Arch, OUR and AUR repositories. +It is just that we are not willing to support and assist in +anything beyond the minimalistic installation of a window manager +and this without a Display Manager and its complications. ________ -As other distros condition their users with a ton of packages and graphic eye candy we will try -to de-condition our users by showing an alternative route of doing what you really want to do -with the least possible complications. For example, if the only reason you use the system is to -use something like an office-suite to create and publish documents, all you may need is something -like vtwm, where you can spread out a huge area of documents and data, and something like -Libre-Office. You can boot into a system requiring 120-150MB of Ram and get to work, without -the overhead of a login-manager, a display-manager, a huge desktop-setup. +As other distros condition their users with a ton of packages and +graphic eye candy we will try to de-condition our users by showing +an alternative route of doing what you really want to do with the +least possible complications. For example, if the only reason you +use the system is to use something like an office-suite to create +and publish documents, all you may need is something like vtwm, +where you can spread out a huge area of documents and data, and +something like Libre-Office. -######## delete the empty spaces from the addresses below ######## - joborun @ disroot . org reddit . com / r / joborun -######## delete the empty spaces from the above addresses ######## +You can boot into a graphical system requiring 120-150MB of Ram +or 35MB in console, and get to work, without the overhead of a +login-manager, a display-manager, and a huge desktop-setup. -We are always open to constructive criticism, suggestions, recommendations, complaints,... We are -here to discuss, not just one on one, but collectively, all that we have an interest in improving -this system. We perceive joborun as an alternative initial proposal containing specific guidelines, -values and principles. Where it will go and how it will evolve will depend on the participating -community, contributing, proposing, suggesting, arguing, debating, etc. When we collectivel get -convinced of a change the change will take place according to our new agreement. +get in touch: joborun@disroot.org or www.reddit.com/r/joborun + +We are always open to constructive criticism, suggestions, +recommendations, complaints,... We are here to discuss, not just +one on one, but collectively, all that we have an interest in +improving this system. We perceive joborun as an alternative +initial proposal containing specific guidelines, values and +principles. Where it will go and how it will evolve will depend +on the participating community, contributing, proposing, +suggesting, arguing, debating, etc. When we collectivel get +convinced of a change the change will take place according to +our new agreement. Simple? Let us hope it is. diff --git a/eudev/PKGBUILD b/eudev/PKGBUILD index fe57775..645a7c3 100644 --- a/eudev/PKGBUILD +++ b/eudev/PKGBUILD @@ -5,29 +5,36 @@ # Website : https://pozol.eu #-----------------------------------------| DESCRIPTION |--------------------------------------- +# +# WARNING this is the 3rd beta version of 3.2.12 not yet officially released +# The last stable release is 3.2.11 as provided in the jobcore repository +# Install this for testing and contributing to the development of eudev +# Rebuilt today 3/15/23 due to gobject 1.76.0 upgrade +# Now pkgrel=04 becomes jobcore eudev-3.2.12-01 +# while eudev-3.2.11 becomes jobcomm/eudev-stable +# pkgbase=eudev pkgname=(eudev libeudev) -pkgver=3.2.11 -pkgrel=05 +pkgver=3.2.12 #-pre3 +pkgrel=01 ## gobject-introspection 1.76.0 _udev_ver=243 - +# version can be found at $src/configure.ac UDEV_VERSION +pkgdesc="The userspace dev tools (udev) - ex-gentoo forked edition - PRE-3 2.12 edition" # This is the old official gentoo fork source location #url="https://github.com/gentoo/eudev" -#source=("git+https://anongit.gentoo.org/git/proj/eudev.git") - +#url="https://github.com/eudev-project/eudev/releases/download/v3.2.12-pre3/eudev-3.2.12-pre3.tar.gz +#source=("git+https://anongit.gentoo.org/git/proj/eudev.git" url="https://github.com/eudev-project/eudev/releases/download" -source=($url/v$pkgver/$pkgbase-$pkgver.tar.gz{,.asc} +source=($url/v$pkgver-pre3/$pkgbase-$pkgver-pre3.tar.gz{,.asc} initcpio_hooks initcpio_install udev-hwdb.hook ) - groups=('base') -arch=(x86_64) -makedepends=( gobject-introspection gperf gtk-doc intltool kmod gawk gcc glib2 libxslt libtool m4 make sed util-linux) # autoconf automake linux-lts-headers ) +makedepends=( gobject-introspection gperf gtk-doc intltool kmod gawk gcc glib2 libxslt libtool m4 make sed util-linux) # autoconf automake linux-lts-headers -- used before by Obarun options=( !staticlibs !libtool) prepare(){ - cd $pkgbase-$pkgver + cd $pkgbase-$pkgver-pre3 sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ -e 's/GROUP="tape"/GROUP="storage"/' \ @@ -36,12 +43,13 @@ prepare(){ } build() { - cd $pkgbase-$pkgver + cd $pkgbase-$pkgver-pre3 ./configure \ --prefix=/usr \ --with-rootprefix=/usr \ --sysconfdir=/etc \ --libdir=/usr/lib \ + --bindir=/usr/bin \ --sbindir=/usr/bin \ --enable-introspection \ --enable-kmod \ @@ -56,8 +64,7 @@ build() { } package_eudev() { - pkgdesc="The userspace dev tools (udev) forked by Gentoo" - + pkgdesc="The userspace dev tools (udev) - pre-3.2.12 edition" backup=( 'etc/udev/udev.conf' 'usr/lib/udev/rules.d/80-net-name-slot.rules' @@ -73,7 +80,7 @@ package_eudev() { conflicts=(eudev-git udev eudev-libgudev) replaces=(udev smdev nldev) - cd $pkgbase-$pkgver + cd $pkgbase-$pkgver-pre3 make DESTDIR="$pkgdir" install @@ -87,26 +94,31 @@ package_eudev() { } package_libeudev() { - pkgdesc="eudev client libraries" + pkgdesc="eudev client libraries - pre 3.2.12 edition" depends=(glib2 glibc) - conflicts=(libudev-zero 'libudev.so' 'libeudev-git') - replaces=(libudev-zero libudev) - provides=("libudev=$_udev_ver" 'libudev.so') + conflicts=('libudev.so' 'libeudev-git' 'libudev-zero') + replaces=('libudev-zero' 'libudev') + provides=("libudev=${_udev_ver}" 'libudev.so') - cd $pkgbase-$pkgver + cd $pkgbase-$pkgver-pre3 make -C src/libudev DESTDIR="$pkgdir" install } -#---- license gpg-key sha256sums ---- +#---- arch license gpg-key & sha256sums ---- + +arch=(x86_64) license=(GPL) validpgpkeys=('BA60BC20F37E59444D6D25001365720913D2F22D') # Boian Bonev (GnuPG Release Key) -sha256sums=(19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed44558b # eudev-3.2.11.tar.gz - ae59dba00db3d689a7903c5bb412d75815d89cec5bd4dd8d97938d24c4ecc7ee # eudev-3.2.11.tar.gz.asc - 892ce43218e0a458981bbce451252c8987dc398e60b8de288e7542b8f2409c13 # initcpio_hooks - 77dd1fd318b4456409aceb077f060b87944defb07cf39d29ad1968dc6f361875 # initcpio_install - 846e9ddbb95c8394ba7efe75107cc1308426921bc042f5d6b48fa4c2dcbac151) # udev-hwdb.hook +sha256sums=(abed466623141a8049b50321bce45eeb2345a080945e0ec516031f268a0d8019 # eudev-3.2.12-pre3.tar.gz + 9147d8d6988013b95d7289cf23ada95eea1ad09f100402aa61019b1208c67c32 # eudev-3.2.12-pre3.tar.gz.asc + 892ce43218e0a458981bbce451252c8987dc398e60b8de288e7542b8f2409c13 # initcpio_hooks + 77dd1fd318b4456409aceb077f060b87944defb07cf39d29ad1968dc6f361875 # initcpio_install + 846e9ddbb95c8394ba7efe75107cc1308426921bc042f5d6b48fa4c2dcbac151) # udev-hwdb.hook + +## 79f2e799ae08a87cd04b7c62af34b4b98c4b9b808a031b16897a0799f0dfb112 eudev-3.2.12-01-x86_64.pkg.tar.lz +## 61f85f5a68d96e824a4a98ea22de6546febe2780a553ea44cab8970ceff32246 libeudev-3.2.12-01-x86_64.pkg.tar.lz diff --git a/eudev/PKGBUILD-oba b/eudev/PKGBUILD-oba index cf8802f..63ab349 100644 --- a/eudev/PKGBUILD-oba +++ b/eudev/PKGBUILD-oba @@ -8,8 +8,10 @@ # DESCRIPTION ] pkgbase=eudev -pkgver=3.2.11 -pkgrel=3 +pkgver=3.2.12.pre3 +_ver=3.2.12-pre3 +pkgrel=1 +# version can be found at configure.ac UDEV_VERSION udevver=243 url="https://github.com/eudev-project/eudev" @@ -18,8 +20,8 @@ pkgname=( 'libeudev' ) -track="eudev/releases/download/v$pkgver" -target="eudev-$pkgver" +track="eudev/releases/download/v$_ver" +target="eudev-$_ver" source=( "https://github.com/eudev-project/${track}/${target}.tar.gz" initcpio_hooks @@ -47,7 +49,7 @@ options=( # BUILD PREPARE ] prepare(){ - cd $pkgbase-$pkgver + cd $pkgbase-$_ver sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ -e 's/GROUP="tape"/GROUP="storage"/' \ @@ -75,7 +77,7 @@ _flags=( # BUILD ] build() { - cd $pkgbase-$pkgver + cd $pkgbase-$_ver if [ -f "Makefile" ];then msg2 "Cleaning up..." @@ -118,7 +120,7 @@ package_eudev() { "udev=$udevver" ) - cd $pkgbase-$pkgver + cd $pkgbase-$_ver make DESTDIR="$pkgdir" install @@ -143,7 +145,7 @@ package_libeudev() { 'libudev.so' ) - cd $pkgbase-$pkgver + cd $pkgbase-$_ver make -C src/libudev DESTDIR="$pkgdir" install } @@ -154,4 +156,7 @@ package_libeudev() { arch=(x86_64) license=(GPL) -sha512sums=('') +sha256sums=('abed466623141a8049b50321bce45eeb2345a080945e0ec516031f268a0d8019' + '892ce43218e0a458981bbce451252c8987dc398e60b8de288e7542b8f2409c13' + '77dd1fd318b4456409aceb077f060b87944defb07cf39d29ad1968dc6f361875' + '846e9ddbb95c8394ba7efe75107cc1308426921bc042f5d6b48fa4c2dcbac151') diff --git a/eudev/clean b/eudev/clean index 2696267..59a3ba5 100644 --- a/eudev/clean +++ b/eudev/clean @@ -1 +1 @@ -rm -rf {src,pkg,eu*tar.gz*} +rm -rf {src,pkg,eudev*tar.gz*} diff --git a/eudev/initcpio_hooks b/eudev/initcpio_hooks old mode 100644 new mode 100755 diff --git a/eudev/initcpio_install b/eudev/initcpio_install old mode 100644 new mode 100755 diff --git a/eudev/key b/eudev/key index 6d237c9..491773d 100644 --- a/eudev/key +++ b/eudev/key @@ -1 +1,2 @@ -gpg -v --recv-key 1365720913D2F22D +gpg -v --recv-keys 1365720913D2F22D + diff --git a/eudev/time b/eudev/time index 581e156..d994359 100644 --- a/eudev/time +++ b/eudev/time @@ -1,3 +1,6 @@ -real 0m27.032s -user 0m50.408s -sys 0m4.961s + + +real 0m52.866s +user 0m40.056s +sys 0m4.613s + diff --git a/libcap/PKGBUILD b/libcap/PKGBUILD index 92af123..15163f0 100644 --- a/libcap/PKGBUILD +++ b/libcap/PKGBUILD @@ -6,39 +6,83 @@ #-----------------------------------------| DESCRIPTION |--------------------------------------- pkgname=libcap -pkgver=2.67 +pkgver=2.68 pkgrel=01 pkgdesc='POSIX 1003.1e capabilities' -arch=('x86_64') url="https://sites.google.com/site/fullycapable/" -depends=('glibc' 'pam') -makedepends=('linux-api-headers') +depends=(glibc pam gcc-libs) +makedepends=('linux-api-headers' 'go') provides=('libcap.so' 'libpsx.so') #options=(debug) ## removed 20230206 by arch as an option -source=("https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/${pkgname}-$pkgver.tar."{xz,sign} -) +source=(https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/$pkgname-$pkgver.tar.{xz,sign} + libcap-2.68-cgo_flags.patch) # provide flags to go build (sent upstream) -build() { - make DYNAMIC=yes KERNEL_HEADERS=/usr/include lib=lib prefix=/usr sbindir=bin -C $pkgname-$pkgver +prepare() { + patch -Np1 -d $pkgname-$pkgver -i ../libcap-2.68-cgo_flags.patch } +build() { + export CGO_CPPFLAGS="$CPPFLAGS" + export CGO_CFLAGS="$CFLAGS" + export CGO_CXXFLAGS="$CXXFLAGS" + export CGO_LDFLAGS="$LDFLAGS" + export CGO_REQUIRED="1" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + + local make_options=( + CGO_CPPFLAGS="$CPPFLAGS" + CGO_CFLAGS="$CFLAGS" + CGO_CXXFLAGS="$CXXFLAGS" + CGO_LDFLAGS="$LDFLAGS" + CGO_REQUIRED="1" + GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + DYNAMIC=yes + KERNEL_HEADERS=/usr/include + lib=lib + prefix=/usr + sbindir=bin + -C $pkgname-$pkgver + ) + + make "${make_options[@]}" +} + +## 2.68 some test fails on chroot comment this out and rerun makepkg with out -f +## check() { make test -k -C $pkgname-$pkgver } +## +## package() { - make DESTDIR="$pkgdir" RAISE_SETFCAP=no lib=lib prefix=/usr sbindir=bin install -C $pkgname-$pkgver + local make_options=( + DESTDIR="$pkgdir" + RAISE_SETFCAP=no + lib=lib + prefix=/usr + sbindir=bin + install + -C $pkgname-$pkgver + ) + + make "${make_options[@]}" install -vDm 644 $pkgname-$pkgver/{CHANGELOG,README} -t "$pkgdir/usr/share/doc/$pkgname/" install -vDm 644 $pkgname-$pkgver/pam_cap/capability.conf -t "$pkgdir/usr/share/doc/$pkgname/examples/" } -#---- license gpg-key sha256sums ---- +#---- arch license gpg-key & sha256sums ---- + +arch=(x86_64) license=('GPL2') validpgpkeys=(38A644698C69787344E954CE29EE848AE2CCF3F4) # Andrew G. Morgan -sha256sums=(ce9b22fdc271beb6dae7543da5f74cf24cb82e6848cfd088a5a069dec5ea5198 # libcap-2.67.tar.xz - 6dc99fd24823d256a496e4dde0fc1cbfc40e61d3a0301a6c1f22746248edd997) # libcap-2.67.tar.sign +sha256sums=(90be3b6d41be5f81ae4b03ec76012b0d27c829293684f6c05b65d5f9cce724b2 # libcap-2.68.tar.xz + e6a0f4cead4f74b4250f824f5c337027ffa4e57daa10615defb75322dc2f2a99 # libcap-2.68.tar.sign + 1fcf9739cb0a6e9811680e4ead34f37ff50e9367a398802e89cb824b24e3cbba) # libcap-2.68-cgo_flags.patch + +## 026856842e6c054df89796cfc1813493e9ef256814259b93b35d203402f83e18 libcap-2.68-01-x86_64.pkg.tar.lz + -# diff --git a/libcap/PKGBUILD-arch b/libcap/PKGBUILD-arch index 7893303..5009ca7 100644 --- a/libcap/PKGBUILD-arch +++ b/libcap/PKGBUILD-arch @@ -4,24 +4,65 @@ # Contributor: Hugo Doria pkgname=libcap -pkgver=2.67 +pkgver=2.68 pkgrel=1 pkgdesc="POSIX 1003.1e capabilities" arch=(x86_64) url="https://sites.google.com/site/fullycapable/" license=(GPL2) -depends=(glibc pam) -makedepends=(linux-api-headers) -provides=(libcap.so libpsx.so) -source=(https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/$pkgname-$pkgver.tar.{xz,sign}) -sha512sums=('2e52c5a571cc1565e6829b0889f63216af10dfd9a86485f8ae7d0fcf4cc0db96aa21eb2ddea29e8dadf41a1194e91fb5961fe84ba07beb2ce950b6131be099d4' - 'SKIP') -b2sums=('bd9be22e439397a3c1726093cfee2410df93773b3139d50a1cdc10daecb666ddb9b64daded6e0ec9f2fd6defd16ea156dbd66bd55360ea266131f31ea0f0e989' - 'SKIP') +depends=( + gcc-libs + glibc + pam +) +makedepends=( + go + linux-api-headers +) +provides=( + libcap.so + libpsx.so +) +source=( + https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/$pkgname-$pkgver.tar.{xz,sign} + libcap-2.68-cgo_flags.patch # provide flags to go build (sent upstream) +) +sha512sums=('ede3e1356aef22e18a46dc8ff0727500ab023bea698cf2bb822abb06625e272940afea52ad6457d0cd8cf1c7f435f1b568baf0a6bf0a08ae96fbf6d7502f9de2' + 'SKIP' + '08db53f996a4d686fe54b43159def06b60f996277023e3729a1855dbc1f26d2279512183fdf852da787cc6b4c4b9a582d789e8dea6a4b6717359e7e08f20a173') +b2sums=('659ee2b0f92ab7490e7f4c9ccd6aafa02ae36c509654fdb53a0b9da4d5ba8be2d1b5afd2073b2b1c75f9585a0593a9d3e70af59fe0c213e178782bbd11cd3b3d' + 'SKIP' + '40c4e760efdb203d6a680b1c7f58e45ff7c971cade170a3619db620fdd39d75d9063e6ba1193172a29e3304a948d5e7a77abe803cb803d5124a2c0d8622b5a5a') validpgpkeys=(38A644698C69787344E954CE29EE848AE2CCF3F4) # Andrew G. Morgan +prepare() { + patch -Np1 -d $pkgname-$pkgver -i ../libcap-2.68-cgo_flags.patch +} + build() { - make DYNAMIC=yes KERNEL_HEADERS=/usr/include lib=lib prefix=/usr sbindir=bin -C $pkgname-$pkgver + export CGO_CPPFLAGS="$CPPFLAGS" + export CGO_CFLAGS="$CFLAGS" + export CGO_CXXFLAGS="$CXXFLAGS" + export CGO_LDFLAGS="$LDFLAGS" + export CGO_REQUIRED="1" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + + local make_options=( + CGO_CPPFLAGS="$CPPFLAGS" + CGO_CFLAGS="$CFLAGS" + CGO_CXXFLAGS="$CXXFLAGS" + CGO_LDFLAGS="$LDFLAGS" + CGO_REQUIRED="1" + GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + DYNAMIC=yes + KERNEL_HEADERS=/usr/include + lib=lib + prefix=/usr + sbindir=bin + -C $pkgname-$pkgver + ) + + make "${make_options[@]}" } check() { @@ -29,7 +70,17 @@ check() { } package() { - make DESTDIR="$pkgdir" RAISE_SETFCAP=no lib=lib prefix=/usr sbindir=bin install -C $pkgname-$pkgver + local make_options=( + DESTDIR="$pkgdir" + RAISE_SETFCAP=no + lib=lib + prefix=/usr + sbindir=bin + install + -C $pkgname-$pkgver + ) + + make "${make_options[@]}" install -vDm 644 $pkgname-$pkgver/{CHANGELOG,README} -t "$pkgdir/usr/share/doc/$pkgname/" install -vDm 644 $pkgname-$pkgver/pam_cap/capability.conf -t "$pkgdir/usr/share/doc/$pkgname/examples/" } diff --git a/libcap/deps b/libcap/deps index 139597f..e9fc70b 100644 --- a/libcap/deps +++ b/libcap/deps @@ -1,2 +1,3 @@ +go diff --git a/libcap/libcap-2.68-cgo_flags.patch b/libcap/libcap-2.68-cgo_flags.patch new file mode 100644 index 0000000..84ccbaf --- /dev/null +++ b/libcap/libcap-2.68-cgo_flags.patch @@ -0,0 +1,41 @@ +From 522b78b9d6a1b6cf282a22657dea59bc5c960557 Mon Sep 17 00:00:00 2001 +From: David Runge +Date: Tue, 28 Mar 2023 13:44:20 +0200 +Subject: [PATCH] Provide flags when building go binaries + +go/Makefile: +Provide CGO_CFLAGS, CGO_CPPFLAGS, CGO_CXXFLAGS, CGO_LDFLAGS and GOFLAGS +to the go compiler, so that they may be set for e.g. supplying +downstream flags (such as for PIE and full RELRO). +--- + go/Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/go/Makefile b/go/Makefile +index 38c1cf3..3a98af3 100644 +--- a/go/Makefile ++++ b/go/Makefile +@@ -68,16 +68,16 @@ ifeq ($(RAISE_GO_FILECAP),yes) + endif + + setid: ../goapps/setid/setid.go CAPGOPACKAGE PSXGOPACKAGE +- CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) $(GO) build $(GO_BUILD_FLAGS) -mod=vendor -o $@ $< ++ CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) CGO_CFLAGS="$(CGO_CFLAGS)" CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build $(GO_BUILD_FLAGS) $(GOFLAGS) -mod=vendor -o $@ $< + + gowns: ../goapps/gowns/gowns.go CAPGOPACKAGE +- CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) $(GO) build $(GO_BUILD_FLAGS) -mod=vendor -o $@ $< ++ CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) CGO_CFLAGS="$(CGO_CFLAGS)" CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build $(GO_BUILD_FLAGS) $(GOFLAGS) -mod=vendor -o $@ $< + + captree: ../goapps/captree/captree.go CAPGOPACKAGE +- CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) $(GO) build $(GO_BUILD_FLAGS) -mod=vendor -o $@ $< ++ CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) CGO_CFLAGS="$(CGO_CFLAGS)" CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build $(GO_BUILD_FLAGS) $(GOFLAGS) -mod=vendor -o $@ $< + + captrace: ../goapps/captrace/captrace.go CAPGOPACKAGE +- CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) $(GO) build $(GO_BUILD_FLAGS) -mod=vendor -o $@ $< ++ CC="$(CC)" CGO_ENABLED="$(CGO_REQUIRED)" $(CGO_LDFLAGS_ALLOW) CGO_CFLAGS="$(CGO_CFLAGS)" CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build $(GO_BUILD_FLAGS) $(GOFLAGS) -mod=vendor -o $@ $< + + ok: ok.go vendor/modules.txt + CC="$(CC)" CGO_ENABLED="0" $(GO) build $(GO_BUILD_FLAGS) -mod=vendor $< +-- +2.40.0 + diff --git a/pacman-mirrorlist/PKGBUILD b/pacman-mirrorlist/PKGBUILD index dd21f0b..bfa8246 100644 --- a/pacman-mirrorlist/PKGBUILD +++ b/pacman-mirrorlist/PKGBUILD @@ -7,12 +7,13 @@ pkgname=pacman-mirrorlist pkgver=20230226 -pkgrel=01 +pkgrel=02 pkgdesc="Arch Linux mirror list for use by pacman HTTPS ONLY" url="https://www.archlinux.org/mirrorlist/" backup=(etc/pacman.d/mirrorlist) -#source=(mirrorlist) -source=(https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/pacman-mirrorlist/trunk/mirrorlist) +source=(https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/pacman-mirrorlist/trunk/mirrorlist + select) +# We have added a few of the mirrors from around the globe so pacman would work if none were selected # NOTE on building this package: # * Go to the trunk/ directory # * Run bash -c ". PKGBUILD; updatelist" @@ -28,7 +29,8 @@ updatelist() { package() { mkdir -p "$pkgdir/etc/pacman.d" # this removes all the non-https mirrorsites out of the list leaving only the ones with https - grep -v "http:" mirrorlist > mirrorlist-https + cat select >> mirrorlist-https + grep -v "http:" mirrorlist >> mirrorlist-https install -m644 "$srcdir/mirrorlist-https" "$pkgdir/etc/pacman.d/mirrorlist" } @@ -38,7 +40,7 @@ arch=('any') license=('GPL') -sha256sums=(aaa43f97adf0e0a5bbf8f2668237aa1d7aa35fd6e99d639602aabde09756c392) # mirrorlist - -## 5db9c32f7376cd4e0f86dac19d1fce1177d8043ccad6d19024a4b5c8c3bbae1f pacman-mirrorlist-20230226-01-any.pkg.tar.lz +sha256sums=(aaa43f97adf0e0a5bbf8f2668237aa1d7aa35fd6e99d639602aabde09756c392 # mirrorlist + SKIP) # select +## f2d27b89bdf9e987f678b77bce57acb808898eac047204b0ffd9bbcc08384279 pacman-mirrorlist-20230226-02-any.pkg.tar.lz diff --git a/pacman-mirrorlist/deps b/pacman-mirrorlist/deps index 139597f..b28b04f 100644 --- a/pacman-mirrorlist/deps +++ b/pacman-mirrorlist/deps @@ -1,2 +1,3 @@ + diff --git a/pacman-mirrorlist/select b/pacman-mirrorlist/select new file mode 100644 index 0000000..ac0f82a --- /dev/null +++ b/pacman-mirrorlist/select @@ -0,0 +1,33 @@ +##Australia +Server = https://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch + +##Austria +Server = https://mirror.reisenbauer.ee/archlinux/$repo/os/$arch + +##Bulgaria +Server = https://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch + +## China +Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch + +## Indonesia +Server = https://mirror.telkomuniversity.ac.id/archlinux/$repo/os/$arch + +## India +Server = https://archlinux.mirror.net.in/archlinux/$repo/os/$arch + +## Iran +Server = https://mirror.bardia.tech/archlinux/$repo/os/$arch + +## Kenya +Server = https://archlinux.mirror.liquidtelecom.com/$repo/os/$arch + +## New Caledonia +Server = https://archlinux.nautile.nc/archlinux/$repo/os/$arch + +## Singapore +Server = https://download.nus.edu.sg/mirror/archlinux/$repo/os/$arch + +## USA +Server = https://mirror.umd.edu/archlinux/$repo/os/$arch + diff --git a/pacman/PKGBUILD b/pacman/PKGBUILD index 0b9df71..4cb7dc6 100644 --- a/pacman/PKGBUILD +++ b/pacman/PKGBUILD @@ -7,13 +7,14 @@ pkgname=pacman pkgver=6.0.2 -pkgrel=07 +pkgrel=08 pkgdesc="A library-based package manager with dependency support" -arch=('x86_64') url="https://www.archlinux.org/pacman/" groups=(base jobbot) -depends=('bash' 'glibc' 'libarchive' 'curl' 'archlinux-keyring' - 'obarun-keyring' 'joborun-keyring' 'lzip') +depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' 'pacman-mirrorlist' + 'gawk' 'coreutils' 'gnupg' 'grep' 'archlinux-keyring' + 'obarun-keyring' 'joborun-keyring' 'lzip') + # NOTE: Joborun linux is switching default pkg compression to lzip at level -5 # which matches current xz compression ratio but at a fraction of RAM use # and relatively even speed. So lzip becomes a standard system dependency @@ -83,7 +84,9 @@ package() { rm -rf $pkgdir/usr/share/libalpm/hooks } -#---- license gpg-key sha256sums ---- +#---- arch license gpg-key & sha256sums ---- + +arch=(x86_64) license=('GPL') @@ -92,10 +95,13 @@ validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.xz{,.sig} @@ -30,10 +29,10 @@ source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.xz{,.sig makepkg.conf) sha256sums=('7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5' 'SKIP' - '522b789e442b3bb3afa7ea3fa417a99554f36ec00de3986cbe92c80f09a7db99' - 'dab7c70fb9d77d702069bb57f5a12496b463d68ae20460fb0a3ffcb4791321a9' - '0b56c61eac3d9425d68faa2eccbaefdc5ed422b643974ae829eaca0460043da1' - 'acd0b149b6324dc1eca3cd2d3b30df6ef64c5653e83523d77200ec593e01d2a7' + '6fed94326b9ecfbb438ab17a4576b5e9d52ecc0f4574f29d46adfde3886dee03' + 'd2bc104788290e3de829a232590b66ad745cf5b4762a01acc1191ebf70fef114' + 'f3d4f39ef24e312f610cbb3439fb02bc6b8829e37bcf1a50ae50cd0a69bde5d0' + 'd87d0c9957c613fda272553bee58140349d151ae399f346ddaf6d75ee5916312' '606e55f06c297d2b508bc4438890b229a1abaa68b0374a2d7f94c8e7be6792d7' '072020e34f2c55b94a9a486829a7eadab0a830ddb4d8e759b0c4e6cf1bde73a6') diff --git a/pacman/makepkg.conf b/pacman/makepkg.conf index 4855e97..48c677e 100644 --- a/pacman/makepkg.conf +++ b/pacman/makepkg.conf @@ -136,12 +136,16 @@ PACKAGER="joborun " # COMPRESSGZ=(gzip -c -f -n) COMPRESSBZ2=(bzip2 -c -f) -COMPRESSXZ=(xz -T0 -c -z -) +## set as many threads as you like to contribute to compression, T0 uses +## all threads/cores available. Using one less allows you to do other +## things while xz is hogging your CPU. Arch sets it to 1 so they +## can show that zstd is faster, although never as good as xz. +COMPRESSXZ=(xz -T2 -6 -c -z -) COMPRESSLRZ=(lrzip -q) COMPRESSLZO=(lzop -q) COMPRESSZ=(compress -c -f) COMPRESSLZ4=(lz4 -q) -COMPRESSLZ=(lzip -5 -c -f) +COMPRESSLZ=(lzip -6 -c -f) ######################################################################### # EXTENSION DEFAULTS diff --git a/pacman/pacman-always-create-directories-from-debugedit-fixup.patch b/pacman/pacman-always-create-directories-from-debugedit-fixup.patch index 108d0a4..0f1c094 100644 --- a/pacman/pacman-always-create-directories-from-debugedit-fixup.patch +++ b/pacman/pacman-always-create-directories-from-debugedit-fixup.patch @@ -9,7 +9,7 @@ Signed-off-by: Allan McRae 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in -index a3b6cd3a..69c9f041 100644 +index a3b6cd3a2..69c9f0419 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -73,7 +73,7 @@ strip_file() { diff --git a/pacman/pacman-always-create-directories-from-debugedit.patch b/pacman/pacman-always-create-directories-from-debugedit.patch index 2452911..65a05bd 100644 --- a/pacman/pacman-always-create-directories-from-debugedit.patch +++ b/pacman/pacman-always-create-directories-from-debugedit.patch @@ -15,7 +15,7 @@ Signed-off-by: Allan McRae 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in -index 91c66f13..17526a34 100644 +index 91c66f139..17526a344 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -72,8 +72,8 @@ strip_file() { diff --git a/pacman/pacman-fix-unique-source-paths.patch b/pacman/pacman-fix-unique-source-paths.patch index b1042d8..22cfccc 100644 --- a/pacman/pacman-fix-unique-source-paths.patch +++ b/pacman/pacman-fix-unique-source-paths.patch @@ -21,7 +21,7 @@ Signed-off-by: Allan McRae 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in -index 17526a34..4453b638 100644 +index 17526a344..4453b6389 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -47,7 +47,7 @@ source_files() { diff --git a/pacman/pacman-strip-include-o-files-similar-to-kernel-modules.patch b/pacman/pacman-strip-include-o-files-similar-to-kernel-modules.patch index 3677773..9800ccc 100644 --- a/pacman/pacman-strip-include-o-files-similar-to-kernel-modules.patch +++ b/pacman/pacman-strip-include-o-files-similar-to-kernel-modules.patch @@ -15,7 +15,7 @@ Signed-off-by: Allan McRae 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in -index 4453b638..a3b6cd3a 100644 +index 4453b6389..a3b6cd3a2 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -160,7 +160,7 @@ tidy_strip() { diff --git a/pacman/pacman.conf b/pacman/pacman.conf index ebf30de..8ff8f26 100644 --- a/pacman/pacman.conf +++ b/pacman/pacman.conf @@ -90,9 +90,13 @@ Server = https://osdn.net/projects/joborun/storage/jobcore/ Server = https://osdn.net/projects/joborun/storage/jobextra/ [jobcomm] -# Server = file:///var/cache/jobcomm/ +#Server = file:///var/cache/jobcomm/ Server = https://osdn.net/projects/joborun/storage/jobcomm/ +#[jobmine] +# ## make your own repository and add what you build from OUR or AUR +#Server = file:///var/cache/jobmine/ + #### Obarun begins here ####### #### Obarun must be using some slow server to check its keys #### gpgme drops the effort after a few seconds and replies with @@ -122,6 +126,7 @@ Server = https://cloud.server.obarun.org/$repo/os/$arch/ [observice] Server = https://cloud.server.obarun.org/$repo/os/$arch/ + #### Arch begins here ####### # As we build testing pkgs as soon as they appear but we # don't cover all of extra testing should be enabled @@ -246,9 +251,3 @@ Include = /etc/pacman.d/mirrorlist ##Include = /etc/pacman.d/blackarch-mirrorlist #Server = https://blackarch.org/blackarch/$repo/os/$arch -# 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 -