diff --git a/core/pacman/.SRCINFO b/core/pacman/.SRCINFO index bbe273949..33a2de8fa 100644 --- a/core/pacman/.SRCINFO +++ b/core/pacman/.SRCINFO @@ -1,68 +1,47 @@ pkgbase = pacman pkgdesc = A library-based package manager with dependency support - pkgver = 6.0.2 - pkgrel = 9 + pkgver = 7.0.0.r3.g7736133 + pkgrel = 1 url = https://www.archlinux.org/pacman/ arch = x86_64 license = GPL-2.0-or-later - checkdepends = python checkdepends = fakechroot - makedepends = meson + checkdepends = python makedepends = asciidoc makedepends = doxygen + makedepends = git + makedepends = meson depends = bash - depends = glibc - depends = libarchive - depends = curl - depends = gpgme - depends = pacman-mirrorlist - depends = gettext - depends = gawk depends = coreutils + depends = curl + depends = gawk + depends = gettext + depends = glibc depends = gnupg + depends = gpgme depends = grep + depends = libarchive + depends = pacman-mirrorlist + depends = systemd + optdepends = base-devel: required to use makepkg optdepends = perl-locale-gettext: translation support in makepkg-template provides = libalpm.so - options = strip backup = etc/pacman.conf backup = etc/makepkg.conf - source = https://sources.archlinux.org/other/pacman/pacman-6.0.2.tar.xz - source = https://sources.archlinux.org/other/pacman/pacman-6.0.2.tar.xz.sig - source = pacman-always-create-directories-from-debugedit.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/efd0c24c07b86be014a4edb5a8ece021b87e3900.patch - source = pacman-always-create-directories-from-debugedit-fixup.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/86981383a2f4380bda26311831be94cdc743649b.patch - source = pacman-fix-unique-source-paths.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/478af273dfe24ded197ec54ae977ddc3719d74a0.patch - source = pacman-strip-include-o-files-similar-to-kernel-modules.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/de11824527ec4e2561e161ac40a5714ec943543c.patch - source = pacman-fix-compatibility-with-bash-5.2-patsub_replacement.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/0e938f188692c710be36f9dd9ea7b94381aed1b4.patch - source = pacman-fix-order-of-fakechroot-fakeroot-nesting.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/05f283b5ad8f5b8f995076e93a27c8772076f872.patch - source = pacman-change-default-checksum-from-md5-to-sha256.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/aa3a1bc3b50d797fb75278f79a83cd7dde50c66e.patch - source = pacman-sort-debuginfod-repro.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/843bf21e794c79c5b3bcf8a57e45ef9c62312fee.patch - source = pacman-split-off-strip-debug.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/7a4fff3310ba2eadd3d5428cbb92e58eb2ee853b.patch - source = pacman-ignore-a-files.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/00d2b1f90261bf77eaaf262d2504af016562f2ac.patch - source = pacman-early-err-git.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/3aa096a74f717d31650e0eb3cf34e9a5ebadc313.patch - source = pacman-fix-gnupg-binary-data.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/86ec26b2d33372a4b3bda48f22c4a9f226c3ccce.patch - source = pacman-fix-gnupg-newsig-check.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/16a064701a30d7e1175e1185cc6da44238302fab.patch - source = pacman-check-pipes-gnupg.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/f8c2e59ec57c86827b1f1b1c2f6760dc3e59fe40.patch + backup = etc/makepkg.conf.d/rust.conf + source = git+https://gitlab.archlinux.org/pacman/pacman.git#tag=v7.0.0?signed + source = revertme-makepkg-remove-libdepends-and-libprovides.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/354a300cd26bb1c7e6551473596be5ecced921de.patch source = pacman.conf source = makepkg.conf + source = alpm.sysusers + source = rust.conf validpgpkeys = 6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD validpgpkeys = B8151B117037781095514CA7BBDFFC92306B1121 - sha256sums = 7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5 - sha256sums = SKIP - sha256sums = 6fed94326b9ecfbb438ab17a4576b5e9d52ecc0f4574f29d46adfde3886dee03 - sha256sums = d2bc104788290e3de829a232590b66ad745cf5b4762a01acc1191ebf70fef114 - sha256sums = f3d4f39ef24e312f610cbb3439fb02bc6b8829e37bcf1a50ae50cd0a69bde5d0 - sha256sums = d87d0c9957c613fda272553bee58140349d151ae399f346ddaf6d75ee5916312 - sha256sums = 8641d514ef4cae9e4d1867aadf4b9c850a9e8dc9792c6c559f9d2a0e1713a5a1 - sha256sums = b11f62d4bd9557e9d3e7456bc95f63e9eabab5ecee1368f4a14a84bc94b1c8d1 - sha256sums = cf749ad981e8f3dedd89c05a5e69a9c91d1e58ef9407e8f8e04ba9c183939623 - sha256sums = 17e7af22533984924aaf1cf36c74aa26b46b04ad140cd76b65521be906bd3ff7 - sha256sums = 94d1f3575d0c3faf8bf11fee8e5ef36c8b339ebfd24868931903ba179ffecf4e - sha256sums = 96efb79a96abf8cdcecb9f8dc461552549cf46159f44bb4160eb073e1ea5000a - sha256sums = 0ac6a34e6fc126a243a642e509f459f6cde20af213ab949791a5cc325cf031f9 - sha256sums = 6e81b34e6a5f312d48ce3aaca0f02ddd10b7a43325cb32acf7666b6b7ac41552 - sha256sums = 250598a27a3077ec1dfe97a30af8bb0daf449d3ab456ed6a0c7a5bea0eb58f51 - sha256sums = 94c273f07e4e28125b6002567c62e1f6c65f543597de6a8bd79e8c5bf6e4a125 - sha256sums = 656c4d4cb8cb12adbf178fc8cb2fd25f8c285d6572bbdbb24d865d00e0d5a85a - sha256sums = f2791b51588104ec6dbaafa389451056f3c61fa6c19510dcce3a9a6cc19cba29 + sha256sums = 06d082c3ce6f0811ca728515aa82d69d372800bd3ada99f5c445ef9429b6e3a6 + sha256sums = b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2 + sha256sums = 0e84952e4b8eacbb38c018608d152ddd6f98e205c4c6c7d3cdca854d4b7d4179 + sha256sums = d99c1f9608362fff9ab3a2ca0a3096a317927b42a6725bc86599da6849c9c67c + sha256sums = c8760d7ebb6c9817d508c691c67084be251cd9c8811ee1ccf92c1278bad74c1c + sha256sums = 59a8bbdc32830c90dbce5ead9f90074a2bb31cd85ec92bc5f92251bb4bcf8a1d pkgname = pacman diff --git a/core/pacman/PKGBUILD b/core/pacman/PKGBUILD index 9f7dfa03a..e9c231d4e 100644 --- a/core/pacman/PKGBUILD +++ b/core/pacman/PKGBUILD @@ -10,53 +10,84 @@ # - patch to fix application/gzip change in file 5.37 pkgname=pacman -pkgver=6.1.0 -pkgrel=3 +pkgver=7.0.0.r3.g7736133 +pkgrel=1 +# use annotated tag and patch level commit from release branch (can be empty for no patches) +_git_tag=7.0.0 +_git_patch_level_commit=77361331ae3864c6ea880e715c5864d59336f275 pkgdesc="A library-based package manager with dependency support" arch=('x86_64') url="https://www.archlinux.org/pacman/" license=('GPL-2.0-or-later') -depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' 'pacman-mirrorlist' - 'gettext' 'gawk' 'coreutils' 'gnupg' 'grep') -makedepends=('meson' 'asciidoc' 'doxygen') -checkdepends=('python' 'fakechroot') -optdepends=('perl-locale-gettext: translation support in makepkg-template') +depends=( + bash + coreutils + curl + gawk + gettext + glibc + gnupg + gpgme + grep + libarchive + pacman-mirrorlist + systemd +) +makedepends=( + asciidoc + doxygen + git + meson +) +checkdepends=( + fakechroot + python +) +optdepends=( + 'base-devel: required to use makepkg' + 'perl-locale-gettext: translation support in makepkg-template' +) provides=('libalpm.so') backup=(etc/pacman.conf - etc/makepkg.conf) -options=('strip') + etc/makepkg.conf + etc/makepkg.conf.d/rust.conf) validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) -source=(https://gitlab.archlinux.org/pacman/pacman/-/releases/v$pkgver/downloads/pacman-$pkgver.tar.xz{,.sig} +source=("git+https://gitlab.archlinux.org/pacman/pacman.git#tag=v${_git_tag}?signed" revertme-makepkg-remove-libdepends-and-libprovides.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/354a300cd26bb1c7e6551473596be5ecced921de.patch - "$pkgname-fix-msg-unknown-key.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/6bb95c8856437513ee0ab19226bc090d6fd0fb06.patch" - "$pkgname-man-gitlab.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/95f148c2222db608a0d72d5c5577d0c71e7fa199.patch" - "$pkgname-make-aligned-titles.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/5e0496260b7d3f9c9fcf2b1c4899e4dbcc20ff03.patch" - "$pkgname-repo-add-parseopts.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/0571ee82bff0edbd5ffac2228d4e6ac510b9008e.patch" - "$pkgname-drop-result-warn.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/111eed0251238a9d3f90e76d62f2ac01aeccce48.patch" - "$pkgname-fix-debugedit.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/bae9594ac1806ce30f2af1de27c49bb101a00d44.patch" 0001-Sychronize-filesystem.patch 0002-Revert-close-stdin-before-running-install-scripts.patch 0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch pacman.conf - makepkg.conf) -sha256sums=('5a60ac6e6bf995ba6140c7d038c34448df1f3daa4ae7141d2cad88eeb5f1f9d9' - 'SKIP' + makepkg.conf + alpm.sysusers + rust.conf) +sha256sums=('06d082c3ce6f0811ca728515aa82d69d372800bd3ada99f5c445ef9429b6e3a6' 'b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2' - '94c987046c2ff232fa0d395cddc11644840d767806711e04ef34f876a9baf217' - '0774d7035e34661f74b673d4b0a94be877bdc0158a555b873ec6bd4e2c936377' - '7bb64910265ce2590f593cdfd302076e49f67a68f8cc792a9aaac572d36fc842' - '2bbfe40539513ff5775aaf900644c8985ef618f5df9af856b9d571e2501365b0' - '160515b741aadc876a67f213029f5f62a51ff072ea4aaeb687bbe614035bf72f' - '1f4e4cc54332e60c9da2bdabf9a80dc11db466535f1a0be298cbf654f0723721' - '98b500555072c84fb5c55a860685adf99eb3bdf674bf11855a9e9920746363fb' - '64e56e6f66f935029bb7c81382b98b71a39a69c13b1e4f80455fdbb1718e051e' - 'd344075eb0d5a0aefb1aed27eb337be78221080808f9f516215d675bcdd27ca2' - '6456e1ad704565d1e401b2b94fcfd1c75be290aa92ac9437343625209e7793ab' - '72969c7f4ce130e3424f28f3b300abea62d07450cd83b107f2f66c3c66330c00') + 'e055c072608bac62f6d74ab980b3851ac740ae476847de2f5dd5021fd97613ab' + 'b36c4975286f8dea0fc3c64abf52706c31cb6d6e2c05a4983834b5417e23e802' + '7ea05a9457f3b6b1edd9dc82f8a1231b0b9048e8c0a7e75fb99abb330a304234' + 'f3d8a177092afdd883e9eb20977807d6a3e9a6f4a3874490dab7c1a1a2adf3f0' + '1fae8471726bbda9521ce4d54f9fc646751d450cc4c9e6ebcae5eaeaf4909efe' + 'c8760d7ebb6c9817d508c691c67084be251cd9c8811ee1ccf92c1278bad74c1c' + '3d7579f4fa52ef512dc82187c010f273aa45e6e8349f8fda9839f808c7dae042') + +pkgver() { + cd "$pkgname" + git describe --abbrev=7 --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} prepare() { - cd "$pkgname-$pkgver" + cd "$pkgname" + + # apply patch level commits on top of annotated tag + if [[ -n ${_git_patch_level_commit} ]]; then + if [[ v${_git_tag} != $(git describe --tags --abbrev=0 "${_git_patch_level_commit}") ]]; then + error "patch level commit ${_git_patch_level_commit} is not a descendant of v${_git_tag}" + exit 1 + fi + git rebase "${_git_patch_level_commit}" + fi # handle patches local -a patches @@ -78,7 +109,7 @@ prepare() { } build() { - cd "$pkgname-$pkgver" + cd "$pkgname" meson --prefix=/usr \ --buildtype=plain \ @@ -92,19 +123,21 @@ build() { } check() { - cd "$pkgname-$pkgver" + cd "$pkgname" meson test -C build } package() { - cd "$pkgname-$pkgver" + cd "$pkgname" DESTDIR="$pkgdir" meson install -C build # install Arch specific stuff install -dm755 "$pkgdir/etc" install -m644 "$srcdir/pacman.conf" "$pkgdir/etc" + install -D -m644 "$srcdir/alpm.sysusers" "${pkgdir}"/usr/lib/sysusers.d/alpm.conf + install -m644 "$srcdir/rust.conf" "$pkgdir/etc/makepkg.conf.d" case $CARCH in armv7h) diff --git a/core/pacman/alpm.sysusers b/core/pacman/alpm.sysusers new file mode 100644 index 000000000..de1363f05 --- /dev/null +++ b/core/pacman/alpm.sysusers @@ -0,0 +1 @@ +u alpm - "Arch Linux Package Management" - diff --git a/core/pacman/makepkg.conf b/core/pacman/makepkg.conf index a4ebd374a..c3be1393e 100644 --- a/core/pacman/makepkg.conf +++ b/core/pacman/makepkg.conf @@ -50,13 +50,11 @@ CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ -Wl,-z,pack-relative-relocs" LTOFLAGS="" -RUSTFLAGS="" #-- Make Flags: change this for DistCC/SMP systems #MAKEFLAGS="-j2" #-- Debugging flags DEBUG_CFLAGS="-g" DEBUG_CXXFLAGS="$DEBUG_CFLAGS" -DEBUG_RUSTFLAGS="" ######################################################################### # BUILD ENVIRONMENT @@ -146,7 +144,7 @@ LIB_DIRS=('lib:usr/lib') COMPRESSGZ=(gzip -c -f -n) COMPRESSBZ2=(bzip2 -c -f) COMPRESSXZ=(xz -c -z -) -COMPRESSZST=(zstd -c -T0 --ultra -20 -) +COMPRESSZST=(zstd -c -T0 -) COMPRESSLRZ=(lrzip -q) COMPRESSLZO=(lzop -q) COMPRESSZ=(compress -c -f) diff --git a/core/pacman/pacman.conf b/core/pacman/pacman.conf index 0e5008d24..0c8415f40 100644 --- a/core/pacman/pacman.conf +++ b/core/pacman/pacman.conf @@ -35,6 +35,8 @@ Architecture = @CARCH@ CheckSpace #VerbosePkgLists #ParallelDownloads = 5 +DownloadUser = alpm +#DisableSandbox # 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. diff --git a/core/pacman/rust.conf b/core/pacman/rust.conf new file mode 100644 index 000000000..85cb000c4 --- /dev/null +++ b/core/pacman/rust.conf @@ -0,0 +1,19 @@ +#!/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="" + +# 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=""