pacman 7.0.0-1

This commit is contained in:
xhaa123 2024-10-17 17:54:42 +08:00
parent cb59d48f6e
commit 0f320d22ef
7 changed files with 137 additions and 96 deletions

107
PKGBUILD
View File

@ -5,84 +5,81 @@
# Maintainer: Future Linux Team <future_linux@163.com> # Maintainer: Future Linux Team <future_linux@163.com>
pkgname=pacman pkgname=pacman
pkgver=6.1.0 pkgver=7.0.0
pkgrel=2 pkgrel=1
pkgdesc="A library-based package manager with dependency support" pkgdesc="A library-based package manager with dependency support"
arch=('x86_64') arch=('x86_64')
url="https://www.archlinux.org/pacman/" url="https://www.archlinux.org/pacman/"
license=('GPL-2.0-or-later') license=('GPL-2.0-or-later')
groups=('base' 'base-devel') groups=('base' 'base-devel')
depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme'
'gettext' 'gawk' 'coreutils' 'gnupg' 'grep' 'zstd') 'gettext' 'gawk' 'coreutils' 'gnupg' 'grep' 'zstd')
makedepends=('meson' 'python-asciidoc') makedepends=('meson' 'python-asciidoc' 'doxygen')
backup=(etc/pacman.conf backup=(etc/pacman.conf
etc/makepkg.conf) etc/makepkg.conf
options=('strip') 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 source=(https://gitlab.archlinux.org/pacman/pacman/-/releases/v${pkgver}/downloads/${pkgname}-${pkgver}.tar.xz
revertme-makepkg-remove-libdepends-and-libprovides.patch revertme-makepkg-remove-libdepends-and-libprovides.patch
${pkgname}-fix-msg-unknown-key.patch future-build.conf
${pkgname}-man-gitlab.patch makepkg.conf
${pkgname}-make-aligned-titles.patch pacman.conf
${pkgname}-repo-add-parseopts.patch rust.conf
${pkgname}-drop-result-warn.patch alpm.sysusers
${pkgname}-fix-debugedit.patch mirrorlist)
makepkg.conf sha256sums=(61cbd445d1381b4b184bc7c4e2791f07a79f0f2807b7c600399d0d08e8cd28cf
pacman.conf) b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2
sha256sums=(5a60ac6e6bf995ba6140c7d038c34448df1f3daa4ae7141d2cad88eeb5f1f9d9 cef92e5e07b7794a2bd947b8ceae442ef2ea5fa3fb2c70c8a00da0c30bfb566a
b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2 74e94dbfc9d2f7a1b8e432d14f6cc9f94d01b6a0b37df58a127efcc924496219
94c987046c2ff232fa0d395cddc11644840d767806711e04ef34f876a9baf217 f6faafd6691a2b11e98996ff09500803ade4d0e943e7bff08c59e4e42b171da5
0774d7035e34661f74b673d4b0a94be877bdc0158a555b873ec6bd4e2c936377 851385788fcef9eba37c7b9403d0010ccc94800b3279bc60ab5fcabc6ee8d321
7bb64910265ce2590f593cdfd302076e49f67a68f8cc792a9aaac572d36fc842 c8760d7ebb6c9817d508c691c67084be251cd9c8811ee1ccf92c1278bad74c1c
2bbfe40539513ff5775aaf900644c8985ef618f5df9af856b9d571e2501365b0 6c5163c174d451fb42f86670f99343782d736db1c3304f4e043452dc0eec3125)
160515b741aadc876a67f213029f5f62a51ff072ea4aaeb687bbe614035bf72f
1f4e4cc54332e60c9da2bdabf9a80dc11db466535f1a0be298cbf654f0723721
d1b0455e9a028c851e81451b48ddeaea4d5778e44eb52f023a70411ff28725c0
8e0d68a8926afd1de30b18ffdf6abcf9138fd1cb60da775a71f81cdb8fdca817)
prepare() { prepare() {
cd ${pkgname}-${pkgver} cd ${pkgname}-${pkgver}
patch -RNp1 < ${srcdir}/revertme-makepkg-remove-libdepends-and-libprovides.patch 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
} }
build() { build() {
cd ${pkgname}-${pkgver} cd ${pkgname}-${pkgver}
meson setup build \ future-meson build \
--prefix=/usr \ --prefix=/usr \
-Dbuildtype=release \ -Dbuildtype=release \
-Dlibdir=/usr/lib64 \ -Dlibdir=/usr/lib64 \
-Dpkg-ext=".pkg.tar.zst" \ -Dpkg-ext=".pkg.tar.zst" \
-Dsrc-ext=".src.tar.zst" \ -Dsrc-ext=".src.tar.zst" \
-Dcrypto=openssl \ -Dcrypto=openssl \
-Ddoc=enabled \ -Ddoc=enabled \
-Dscriptlet-shell=/usr/bin/bash \ -Dscriptlet-shell=/usr/bin/bash \
-Dldconfig=/usr/sbin/ldconfig -Dldconfig=/usr/sbin/ldconfig
meson compile -C build meson compile -C build
} }
package() { 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}/makepkg.conf ${pkgdir}/etc
install -m644 ${srcdir}/pacman.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 -D -m644 ${srcdir}/alpm.sysusers ${pkgdir}/usr/lib/sysusers.d/alpm.conf
install -dm755 ${wantsdir}
local unit local wantsdir=${pkgdir}/usr/lib/systemd/system/sockets.target.wants
for unit in dirmngr gpg-agent gpg-agent-{browser,extra,ssh} keyboxd; do install -dm755 ${wantsdir}
ln -s "../${unit}@.socket" ${wantsdir}/${unit}@etc-pacman.d-gnupg.socket
done 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
} }

1
alpm.sysusers Normal file
View File

@ -0,0 +1 @@
u alpm - "Arch Linux Package Management" -

37
future-build.conf Normal file
View File

@ -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
}

View File

@ -37,21 +37,28 @@ CARCH="x86_64"
CHOST="x86_64-future-linux-gnu" CHOST="x86_64-future-linux-gnu"
#-- Compiler and Linker Flags #-- Compiler and Linker Flags
#CPPFLAGS=""
#CFLAGS="-O2 -pipe"
CFLAGS="-march=haswell -mtune=haswell -O2 -pipe -fno-plt -fexceptions \ CFLAGS="-march=haswell -mtune=haswell -O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection \ -fstack-clash-protection -fcf-protection \
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
#CXXFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS} -Wp,-D_GLIBCXX_ASSERTIONS" CXXFLAGS="${CFLAGS} -Wp,-D_GLIBCXX_ASSERTIONS"
#LDFLAGS=""
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ 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" LTOFLAGS="-flto=auto"
RUSTFLAGS="-Cforce-frame-pointers=yes"
#-- Make Flags: change this for DistCC/SMP systems #-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
MAKEFLAGS="-j$(nproc)" MAKEFLAGS="-j$(nproc)"
NINJAFLAGS="-j$(nproc)" NINJAFLAGS="-j$(nproc)"
#-- Debugging flags #-- Debugging flags
#DEBUG_CFLAGS="-g" #DEBUG_CFLAGS="-g"
DEBUG_CFLAGS="-g"
#DEBUG_CXXFLAGS="-g" #DEBUG_CXXFLAGS="-g"
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
######################################################################### #########################################################################
# BUILD ENVIRONMENT # BUILD ENVIRONMENT
@ -114,7 +121,7 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#-- Directory to store source code in for debug packages #-- Directory to store source code in for debug packages
DBGSRCDIR="/usr/src/debug" DBGSRCDIR="/usr/src/debug"
#-- Prefix and directories for library autodeps #-- Prefix and directories for library autodeps
LIB_DIRS=('lib64:usr/lib64' 'lib:usr/lib') LIB_DIRS=('lib64:usr/lib64' 'lib32:usr/lib32')
######################################################################### #########################################################################
# PACKAGE OUTPUT # 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 #-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages #PKGDEST=/home/packages
PKGDEST=/home/futurebuilder/packages PKGDEST=/home/${HOME}/packages
#-- Source cache: specify a fixed directory where source files will be cached #-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources #SRCDEST=/home/sources
SRCDEST=/home/futurebuilder/sources SRCDEST=/home/${HOME}/sources
#-- Source packages: specify a fixed directory where all src packages will be placed #-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages #SRCPKGDEST=/home/srcpackages
SRCPKGDEST=/home/${HOME}/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed #-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs #LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages #-- Packager: name/email of the person or organization building packages
PACKAGER="Future Linux Team <future_linux@163.com>" #PACKAGER="John Doe <john@doe.com>"
PACKAGER="Future Linux Team <xhaa123@outlook.com>"
#-- Specify a key to use for package signing #-- Specify a key to use for package signing
#GPGKEY="" #GPGKEY=""
@ -163,26 +172,4 @@ SRCEXT='.src.tar.zst'
######################################################################### #########################################################################
# #
#-- Command used to run pacman as root, instead of trying sudo and su #-- Command used to run pacman as root, instead of trying sudo and su
PACMAN_AUTH=() #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
}

3
mirrorlist Normal file
View File

@ -0,0 +1,3 @@
Server = https://mirrors.futurelinux.xyz/Repos/packages/$repo/os/$arch

View File

@ -34,8 +34,9 @@ Color
#NoProgressBar #NoProgressBar
CheckSpace CheckSpace
VerbosePkgLists VerbosePkgLists
ILoveCandy
ParallelDownloads = 5 ParallelDownloads = 5
#DownloadUser = alpm
#DisableSandbox
# PGP signature checking # PGP signature checking
#SigLevel = Optional #SigLevel = Optional
@ -65,17 +66,6 @@ ParallelDownloads = 5
# available. To enable, uncomment the following lines. You can add preferred # available. To enable, uncomment the following lines. You can add preferred
# servers immediately after the header and they will be used before the # servers immediately after the header and they will be used before the
# default mirrors. # 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] [core]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
@ -94,3 +84,9 @@ Include = /etc/pacman.d/mirrorlist
[kde] [kde]
Include = /etc/pacman.d/mirrorlist 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

20
rust.conf Normal file
View File

@ -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"