From 0f320d22ef300dcefdbe287aaabc0113b2021d07 Mon Sep 17 00:00:00 2001 From: xhaa123 Date: Thu, 17 Oct 2024 17:54:42 +0800 Subject: [PATCH] pacman 7.0.0-1 --- PKGBUILD | 107 ++++++++++++++++++++++------------------------ alpm.sysusers | 1 + future-build.conf | 37 ++++++++++++++++ makepkg.conf | 45 +++++++------------ mirrorlist | 3 ++ pacman.conf | 20 ++++----- rust.conf | 20 +++++++++ 7 files changed, 137 insertions(+), 96 deletions(-) create mode 100644 alpm.sysusers create mode 100644 future-build.conf create mode 100644 mirrorlist create mode 100644 rust.conf diff --git a/PKGBUILD b/PKGBUILD index c876971..4167a4a 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,84 +5,81 @@ # Maintainer: Future Linux Team pkgname=pacman -pkgver=6.1.0 -pkgrel=2 +pkgver=7.0.0 +pkgrel=1 pkgdesc="A library-based package manager with dependency support" arch=('x86_64') url="https://www.archlinux.org/pacman/" license=('GPL-2.0-or-later') groups=('base' 'base-devel') depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' - 'gettext' 'gawk' 'coreutils' 'gnupg' 'grep' 'zstd') -makedepends=('meson' 'python-asciidoc') + 'gettext' 'gawk' 'coreutils' 'gnupg' 'grep' 'zstd') +makedepends=('meson' 'python-asciidoc' 'doxygen') backup=(etc/pacman.conf - etc/makepkg.conf) -options=('strip') + etc/makepkg.conf + etc/makepkg.conf.d/future-build.conf + etc/makepkg.conf.d/rust.conf + etc/pacman.d/mirrorlist) source=(https://gitlab.archlinux.org/pacman/pacman/-/releases/v${pkgver}/downloads/${pkgname}-${pkgver}.tar.xz - revertme-makepkg-remove-libdepends-and-libprovides.patch - ${pkgname}-fix-msg-unknown-key.patch - ${pkgname}-man-gitlab.patch - ${pkgname}-make-aligned-titles.patch - ${pkgname}-repo-add-parseopts.patch - ${pkgname}-drop-result-warn.patch - ${pkgname}-fix-debugedit.patch - makepkg.conf - pacman.conf) -sha256sums=(5a60ac6e6bf995ba6140c7d038c34448df1f3daa4ae7141d2cad88eeb5f1f9d9 - b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2 - 94c987046c2ff232fa0d395cddc11644840d767806711e04ef34f876a9baf217 - 0774d7035e34661f74b673d4b0a94be877bdc0158a555b873ec6bd4e2c936377 - 7bb64910265ce2590f593cdfd302076e49f67a68f8cc792a9aaac572d36fc842 - 2bbfe40539513ff5775aaf900644c8985ef618f5df9af856b9d571e2501365b0 - 160515b741aadc876a67f213029f5f62a51ff072ea4aaeb687bbe614035bf72f - 1f4e4cc54332e60c9da2bdabf9a80dc11db466535f1a0be298cbf654f0723721 - d1b0455e9a028c851e81451b48ddeaea4d5778e44eb52f023a70411ff28725c0 - 8e0d68a8926afd1de30b18ffdf6abcf9138fd1cb60da775a71f81cdb8fdca817) + revertme-makepkg-remove-libdepends-and-libprovides.patch + future-build.conf + makepkg.conf + pacman.conf + rust.conf + alpm.sysusers + mirrorlist) +sha256sums=(61cbd445d1381b4b184bc7c4e2791f07a79f0f2807b7c600399d0d08e8cd28cf + b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2 + cef92e5e07b7794a2bd947b8ceae442ef2ea5fa3fb2c70c8a00da0c30bfb566a + 74e94dbfc9d2f7a1b8e432d14f6cc9f94d01b6a0b37df58a127efcc924496219 + f6faafd6691a2b11e98996ff09500803ade4d0e943e7bff08c59e4e42b171da5 + 851385788fcef9eba37c7b9403d0010ccc94800b3279bc60ab5fcabc6ee8d321 + c8760d7ebb6c9817d508c691c67084be251cd9c8811ee1ccf92c1278bad74c1c + 6c5163c174d451fb42f86670f99343782d736db1c3304f4e043452dc0eec3125) prepare() { - cd ${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} - patch -RNp1 < ${srcdir}/revertme-makepkg-remove-libdepends-and-libprovides.patch - patch -Np1 -i ${srcdir}/${pkgname}-fix-msg-unknown-key.patch - patch -Np1 -i ${srcdir}/${pkgname}-man-gitlab.patch - patch -Np1 -i ${srcdir}/${pkgname}-make-aligned-titles.patch - patch -Np1 -i ${srcdir}/${pkgname}-repo-add-parseopts.patch - patch -Np1 -i ${srcdir}/${pkgname}-drop-result-warn.patch - patch -Np1 -i ${srcdir}/${pkgname}-fix-debugedit.patch + patch -RNp1 < ${srcdir}/revertme-makepkg-remove-libdepends-and-libprovides.patch } build() { - cd ${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} - meson setup build \ - --prefix=/usr \ - -Dbuildtype=release \ - -Dlibdir=/usr/lib64 \ - -Dpkg-ext=".pkg.tar.zst" \ - -Dsrc-ext=".src.tar.zst" \ - -Dcrypto=openssl \ - -Ddoc=enabled \ - -Dscriptlet-shell=/usr/bin/bash \ - -Dldconfig=/usr/sbin/ldconfig + future-meson build \ + --prefix=/usr \ + -Dbuildtype=release \ + -Dlibdir=/usr/lib64 \ + -Dpkg-ext=".pkg.tar.zst" \ + -Dsrc-ext=".src.tar.zst" \ + -Dcrypto=openssl \ + -Ddoc=enabled \ + -Dscriptlet-shell=/usr/bin/bash \ + -Dldconfig=/usr/sbin/ldconfig - meson compile -C build + meson compile -C build } package() { - cd ${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} - meson install -C build --destdir ${pkgdir} + meson install -C build --destdir ${pkgdir} - install -m644 ${srcdir}/makepkg.conf ${pkgdir}/etc - install -m644 ${srcdir}/pacman.conf ${pkgdir}/etc + install -m644 ${srcdir}/makepkg.conf ${pkgdir}/etc + install -m644 ${srcdir}/pacman.conf ${pkgdir}/etc + install -vm644 ${srcdir}/future-build.conf ${pkgdir}/etc/makepkg.conf.d + install -vm644 ${srcdir}/rust.conf ${pkgdir}/etc/makepkg.conf.d + install -vDm644 ${srcdir}/mirrorlist ${pkgdir}/etc/pacman.d/mirrorlist - local wantsdir="${pkgdir}/usr/lib/systemd/system/sockets.target.wants" - install -dm755 ${wantsdir} + install -D -m644 ${srcdir}/alpm.sysusers ${pkgdir}/usr/lib/sysusers.d/alpm.conf - local unit - for unit in dirmngr gpg-agent gpg-agent-{browser,extra,ssh} keyboxd; do - ln -s "../${unit}@.socket" ${wantsdir}/${unit}@etc-pacman.d-gnupg.socket - done + local wantsdir=${pkgdir}/usr/lib/systemd/system/sockets.target.wants + install -dm755 ${wantsdir} + + local unit + for unit in dirmngr gpg-agent gpg-agent-{browser,extra,ssh} keyboxd; do + ln -s "../${unit}@.socket" ${wantsdir}/${unit}@etc-pacman.d-gnupg.socket + done } diff --git a/alpm.sysusers b/alpm.sysusers new file mode 100644 index 0000000..de1363f --- /dev/null +++ b/alpm.sysusers @@ -0,0 +1 @@ +u alpm - "Arch Linux Package Management" - diff --git a/future-build.conf b/future-build.conf new file mode 100644 index 0000000..d914414 --- /dev/null +++ b/future-build.conf @@ -0,0 +1,37 @@ +######################################################################### +# BUILD CONFIGURE +BUILD_CONFIGURE="\ +../configure --{build,host}=${CHOST} \ + --prefix=/usr \ + --sysconfdir=/etc \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libdir=/usr/lib64 \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${pkgname}-${pkgver}" + +CONFIGURE="\ +./configure --{build,host}=${CHOST} \ + --prefix=/usr \ + --sysconfdir=/etc \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libdir=/usr/lib64 \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${pkgname}-${pkgver}" + +######################################################################### +# PICK +_pick() { + local p=${1} f d; shift + for f; do + d=${srcdir}/${p}/${f#${pkgdir}/} + mkdir -p $(dirname ${d}) + mv ${f} ${d} + rmdir -p --ignore-fail-on-non-empty $(dirname ${f}) + done +} diff --git a/makepkg.conf b/makepkg.conf index 4ea500a..be5a723 100644 --- a/makepkg.conf +++ b/makepkg.conf @@ -37,21 +37,28 @@ CARCH="x86_64" CHOST="x86_64-future-linux-gnu" #-- Compiler and Linker Flags +#CPPFLAGS="" +#CFLAGS="-O2 -pipe" CFLAGS="-march=haswell -mtune=haswell -O2 -pipe -fno-plt -fexceptions \ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection \ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" +#CXXFLAGS="-O2 -pipe" CXXFLAGS="${CFLAGS} -Wp,-D_GLIBCXX_ASSERTIONS" +#LDFLAGS="" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ - -Wl,-z,pack-relative-relocs" + -Wl,-z,pack-relative-relocs" +#LTOFLAGS="-flto" LTOFLAGS="-flto=auto" -RUSTFLAGS="-Cforce-frame-pointers=yes" #-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" MAKEFLAGS="-j$(nproc)" NINJAFLAGS="-j$(nproc)" #-- Debugging flags #DEBUG_CFLAGS="-g" +DEBUG_CFLAGS="-g" #DEBUG_CXXFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" ######################################################################### # BUILD ENVIRONMENT @@ -114,7 +121,7 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) #-- Directory to store source code in for debug packages DBGSRCDIR="/usr/src/debug" #-- Prefix and directories for library autodeps -LIB_DIRS=('lib64:usr/lib64' 'lib:usr/lib') +LIB_DIRS=('lib64:usr/lib64' 'lib32:usr/lib32') ######################################################################### # PACKAGE OUTPUT @@ -124,16 +131,18 @@ LIB_DIRS=('lib64:usr/lib64' 'lib:usr/lib') # #-- Destination: specify a fixed directory where all packages will be placed #PKGDEST=/home/packages -PKGDEST=/home/futurebuilder/packages +PKGDEST=/home/${HOME}/packages #-- Source cache: specify a fixed directory where source files will be cached #SRCDEST=/home/sources -SRCDEST=/home/futurebuilder/sources +SRCDEST=/home/${HOME}/sources #-- Source packages: specify a fixed directory where all src packages will be placed #SRCPKGDEST=/home/srcpackages +SRCPKGDEST=/home/${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="Future Linux Team " +#PACKAGER="John Doe " +PACKAGER="Future Linux Team " #-- Specify a key to use for package signing #GPGKEY="" @@ -163,26 +172,4 @@ SRCEXT='.src.tar.zst' ######################################################################### # #-- Command used to run pacman as root, instead of trying sudo and su -PACMAN_AUTH=() - -######################################################################### -# CONFIGURE -######################################################################### -# -CONFIGURE="./configure --prefix=/usr --libdir=/usr/lib64 --build=${CHOST} --host=${CHOST}" -BUILD_CONFIGURE="../configure --prefix=/usr --libdir=/usr/lib64 --build=${CHOST} --host=${CHOST}" - -######################################################################### -# PICK -######################################################################### -# -_pick() { - local p=${1} f d; shift - for f; do - d=${srcdir}/${p}/${f#${pkgdir}/} - mkdir -p $(dirname ${d}) - mv ${f} ${d} - rmdir -p --ignore-fail-on-non-empty $(dirname ${f}) - done -} - +#PACMAN_AUTH=() diff --git a/mirrorlist b/mirrorlist new file mode 100644 index 0000000..253573a --- /dev/null +++ b/mirrorlist @@ -0,0 +1,3 @@ + + +Server = https://mirrors.futurelinux.xyz/Repos/packages/$repo/os/$arch diff --git a/pacman.conf b/pacman.conf index 716bb6c..e155b37 100644 --- a/pacman.conf +++ b/pacman.conf @@ -34,8 +34,9 @@ Color #NoProgressBar CheckSpace VerbosePkgLists -ILoveCandy ParallelDownloads = 5 +#DownloadUser = alpm +#DisableSandbox # PGP signature checking #SigLevel = Optional @@ -65,17 +66,6 @@ ParallelDownloads = 5 # available. To enable, uncomment the following lines. You can add preferred # servers immediately after the header and they will be used before the # default mirrors. -#[core] -#SigLevel = Required -#Server = ftp://ftp.example.com/foobar/$repo/os/$arch/ -# The file referenced here should contain a list of 'Server = ' lines. -#Include = /etc/pacman.d/mirrorlist - -# 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/packages [core] Include = /etc/pacman.d/mirrorlist @@ -94,3 +84,9 @@ Include = /etc/pacman.d/mirrorlist [kde] Include = /etc/pacman.d/mirrorlist + +# 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/packages diff --git a/rust.conf b/rust.conf new file mode 100644 index 0000000..bf2570e --- /dev/null +++ b/rust.conf @@ -0,0 +1,20 @@ +#!/hint/bash +# shellcheck disable=2034 + +# +# /etc/makepkg.conf.d/rust.conf +# + +######################################################################### +# RUST LANGUAGE SUPPORT +######################################################################### + +# Flags used for the Rust compiler, similar in spirit to CFLAGS. Read +# linkman:rustc[1] for more details on the available flags. +RUSTFLAGS="-Cforce-frame-pointers=yes" + +# Additional compiler flags appended to `RUSTFLAGS` for use in debugging. +# Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for +# more details on the available flags. +DEBUG_RUSTFLAGS="-C debuginfo=2" +