upg coreutils cracklib libisl libnghttp2

This commit is contained in:
joborun linux 2023-04-03 23:39:15 +03:00
parent 4dff8f17ec
commit 32b6196196
14 changed files with 300 additions and 41 deletions

View file

@ -7,12 +7,15 @@
pkgname=coreutils
pkgver=9.2
pkgrel=02
pkgrel=03
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system'
url='https://www.gnu.org/software/coreutils/'
depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl')
source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}
'01-FS#77969.patch::https://git.savannah.gnu.org/cgit/coreutils.git/patch/?id=76f2fb627118a26c25003dbd98c22c153b7ee1d2')
'01-FS#77969.patch::https://git.savannah.gnu.org/cgit/coreutils.git/patch/?id=76f2fb627118a26c25003dbd98c22c153b7ee1d2'
'copy-fix-reflink-auto-fallback.patch'
'gnulib-backupfile-62607.patch'
'coreutils-backup-62607.patch')
prepare() {
cd $pkgname-$pkgver
@ -58,7 +61,11 @@ validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady
sha256sums=(6885ff47b9cdb211de47d368c17853f406daaf98b148aaecdf10de29cc04b0b3 # coreutils-9.2.tar.xz
7b20b632a8fb8862434af5ec8e2eb455c4044ca81664406b708b1c6a581f641e # coreutils-9.2.tar.xz.sig
a3cc5d1548bd6a26e1b8f4cff076862243af9faaffc4c257a0c766457fd028cc) # 01-FS#77969.patch
a3cc5d1548bd6a26e1b8f4cff076862243af9faaffc4c257a0c766457fd028cc # 01-FS#77969.patch
4b2ac873a9cb4a825bb90e964383ca0cb956ece347e9ded5387ddd8ff293855b # copy-fix-reflink-auto-fallback.patch
5455ce8f736d5d8f5c7a5c8b70b4ec46a7e050125924f2135af4fbf685bddda6 # gnulib-backupfile-62607.patch
10a8ea0b14c5254775c3817a31a07928c0609ca3eaec78fcecddeefe95101b9d) # coreutils-backup-62607.patch
## 524733d9064e4f6f870e2d67039188d56941a76c0cc0d4a3535669db064de0a0 coreutils-9.2-03-x86_64.pkg.tar.lz
## f182367ee94f1bf879ebbdeb81e5a4acb41c37df298ae0335fc6072367f87ae4 coreutils-9.2-02-x86_64.pkg.tar.lz

View file

@ -5,18 +5,24 @@
pkgname=coreutils
pkgver=9.2
pkgrel=2
pkgrel=3
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system'
arch=('x86_64')
license=('GPL3')
url='https://www.gnu.org/software/coreutils/'
depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl')
source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}
'01-FS#77969.patch::https://git.savannah.gnu.org/cgit/coreutils.git/patch/?id=76f2fb627118a26c25003dbd98c22c153b7ee1d2')
'01-FS#77969.patch::https://git.savannah.gnu.org/cgit/coreutils.git/patch/?id=76f2fb627118a26c25003dbd98c22c153b7ee1d2'
'copy-fix-reflink-auto-fallback.patch'
'gnulib-backupfile-62607.patch'
'coreutils-backup-62607.patch')
validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady
sha256sums=('6885ff47b9cdb211de47d368c17853f406daaf98b148aaecdf10de29cc04b0b3'
'SKIP'
'a3cc5d1548bd6a26e1b8f4cff076862243af9faaffc4c257a0c766457fd028cc')
'a3cc5d1548bd6a26e1b8f4cff076862243af9faaffc4c257a0c766457fd028cc'
'4b2ac873a9cb4a825bb90e964383ca0cb956ece347e9ded5387ddd8ff293855b'
'5455ce8f736d5d8f5c7a5c8b70b4ec46a7e050125924f2135af4fbf685bddda6'
'10a8ea0b14c5254775c3817a31a07928c0609ca3eaec78fcecddeefe95101b9d')
prepare() {
cd $pkgname-$pkgver

View file

@ -0,0 +1,136 @@
From 093a8b4bfaba60005f14493ce7ef11ed665a0176 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Thu, 23 Mar 2023 13:19:04 +0000
Subject: copy: fix --reflink=auto to fallback in more cases
On restricted systems like android or some containers,
FICLONE could return EPERM, EACCES, or ENOTTY,
which would have induced the command to fail to copy
rather than falling back to a more standard copy.
* src/copy.c (is_terminal_failure): A new function refactored
from handle_clone_fail().
(is_CLONENOTSUP): Merge in the handling of EACCES, ENOTTY, EPERM
as they also pertain to determination of whether cloning is supported
if we ever use this function in that context.
(handle_clone_fail): Use is_terminal_failure() in all cases,
so that we assume a terminal failure in less errno cases.
* NEWS: Mention the bug fix.
Addresses https://bugs.gnu.org/62404
---
NEWS | 8 ++++++++
src/copy.c | 62 +++++++++++++++++++++++++++++++++++---------------------------
2 files changed, 43 insertions(+), 27 deletions(-)
diff --git a/src/copy.c b/src/copy.c
index 3919787..f8ba058 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -278,15 +278,27 @@ create_hole (int fd, char const *name, bool punch_holes, off_t size)
}
-/* Whether the errno from FICLONE, or copy_file_range
- indicates operation is not supported for this file or file system. */
+/* Whether the errno indicates the operation is a transient failure.
+ I.e., a failure that would indicate the operation _is_ supported,
+ but has failed in a terminal way. */
+
+static bool
+is_terminal_error (int err)
+{
+ return err == EIO || err == ENOMEM || err == ENOSPC || err == EDQUOT;
+}
+
+
+/* Whether the errno from FICLONE, or copy_file_range indicates
+ the operation is not supported/allowed for this file or process. */
static bool
is_CLONENOTSUP (int err)
{
- return err == ENOSYS || is_ENOTSUP (err)
+ return err == ENOSYS || err == ENOTTY || is_ENOTSUP (err)
|| err == EINVAL || err == EBADF
- || err == EXDEV || err == ETXTBSY;
+ || err == EXDEV || err == ETXTBSY
+ || err == EPERM || err == EACCES;
}
@@ -339,20 +351,18 @@ sparse_copy (int src_fd, int dest_fd, char **abuf, size_t buf_size,
{
copy_debug.offload = COPY_DEBUG_UNSUPPORTED;
- if (is_CLONENOTSUP (errno))
- break;
-
- /* copy_file_range might not be enabled in seccomp filters,
- so retry with a standard copy. EPERM can also occur
- for immutable files, but that would only be in the edge case
- where the file is made immutable after creating/truncating,
+ /* Consider operation unsupported only if no data copied.
+ For example, EPERM could occur if copy_file_range not enabled
+ in seccomp filters, so retry with a standard copy. EPERM can
+ also occur for immutable files, but that would only be in the
+ edge case where the file is made immutable after creating,
in which case the (more accurate) error is still shown. */
- if (errno == EPERM && *total_n_read == 0)
+ if (*total_n_read == 0 && is_CLONENOTSUP (errno))
break;
/* ENOENT was seen sometimes across CIFS shares, resulting in
no data being copied, but subsequent standard copies succeed. */
- if (errno == ENOENT && *total_n_read == 0)
+ if (*total_n_read == 0 && errno == ENOENT)
break;
if (errno == EINTR)
@@ -1172,17 +1182,15 @@ handle_clone_fail (int dst_dirfd, char const* dst_relname,
char const* src_name, char const* dst_name,
int dest_desc, bool new_dst, enum Reflink_type reflink_mode)
{
- /* If the clone operation is creating the destination,
- then don't try and cater for all non transient file system errors,
- and instead only cater for specific transient errors. */
- bool transient_failure;
- if (dest_desc < 0) /* currently for fclonefileat(). */
- transient_failure = errno == EIO || errno == ENOMEM
- || errno == ENOSPC || errno == EDQUOT;
- else /* currently for FICLONE. */
- transient_failure = ! is_CLONENOTSUP (errno);
-
- if (reflink_mode == REFLINK_ALWAYS || transient_failure)
+ /* When the clone operation fails, report failure only with errno values
+ known to mean trouble when the clone is supported and called properly.
+ Do not report failure merely because !is_CLONENOTSUP (errno),
+ as systems may yield oddball errno values here with FICLONE.
+ Also is_CLONENOTSUP() is not appropriate for the range of errnos
+ possible from fclonefileat(), so it's more consistent to avoid. */
+ bool report_failure = is_terminal_error (errno);
+
+ if (reflink_mode == REFLINK_ALWAYS || report_failure)
error (0, errno, _("failed to clone %s from %s"),
quoteaf_n (0, dst_name), quoteaf_n (1, src_name));
@@ -1190,14 +1198,14 @@ handle_clone_fail (int dst_dirfd, char const* dst_relname,
but cloned no data. */
if (new_dst /* currently not for fclonefileat(). */
&& reflink_mode == REFLINK_ALWAYS
- && ((! transient_failure) || lseek (dest_desc, 0, SEEK_END) == 0)
+ && ((! report_failure) || lseek (dest_desc, 0, SEEK_END) == 0)
&& unlinkat (dst_dirfd, dst_relname, 0) != 0 && errno != ENOENT)
error (0, errno, _("cannot remove %s"), quoteaf (dst_name));
- if (! transient_failure)
+ if (! report_failure)
copy_debug.reflink = COPY_DEBUG_UNSUPPORTED;
- if (reflink_mode == REFLINK_ALWAYS || transient_failure)
+ if (reflink_mode == REFLINK_ALWAYS || report_failure)
return false;
return true;
--
cgit v1.1

View file

@ -0,0 +1,39 @@
From 1a80fab339d52db7e284b4f2f41068d5d8dd7e4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Mon, 3 Apr 2023 18:12:33 +0100
Subject: [PATCH] tests: cp: test --backup with subdirectories
* tests/cp/backup-dir.sh: Add a test to ensure
we rename appropriately when backing up through subdirs.
* NEWS: Mention the bug fix.
Addresses https://bugs.gnu.org/62607
---
NEWS | 5 +++++
tests/cp/backup-dir.sh | 8 +++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/tests/cp/backup-dir.sh b/tests/cp/backup-dir.sh
index 6573d58e0..5c17498cf 100755
--- a/tests/cp/backup-dir.sh
+++ b/tests/cp/backup-dir.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Ensure that cp -b doesn't back up directories.
+# Ensure that cp -b handles directories appropriately
# Copyright (C) 2006-2023 Free Software Foundation, Inc.
@@ -29,4 +29,10 @@ cp -ab x y || fail=1
test -d y/x || fail=1
test -d y/x~ && fail=1
+# Bug 62607.
+# This would fail to backup using rename, and thus fail to replace the file
+mkdir -p {src,dst}/foo || framework_failure_
+touch {src,dst}/foo/bar || framework_failure_
+cp --recursive --backup src/* dst || fail=1
+
Exit $fail
--
2.26.2

View file

@ -0,0 +1,43 @@
From 418aa564ebff70c1d118a5d3307a6d0b147ff7a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Mon, 3 Apr 2023 18:06:22 +0100
Subject: [PATCH] backupfile: fix bug when renaming from subdirectory
* lib/backupfile.c (backup_internal): Ensure we use the
appropriate offset if operating on a subdirectory,
i.e., on an updated sdir.
Fixes https://bugs.gnu.org/62607
---
ChangeLog | 8 ++++++++
lib/backupfile.c | 7 ++++---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/lib/backupfile.c b/lib/backupfile.c
index 9cca271343..5bcf924414 100644
--- a/lib/backupfile.c
+++ b/lib/backupfile.c
@@ -331,7 +331,7 @@ backupfile_internal (int dir_fd, char const *file,
return s;
DIR *dirp = NULL;
- int sdir = dir_fd;
+ int sdir = -1;
idx_t base_max = 0;
while (true)
{
@@ -370,9 +370,10 @@ backupfile_internal (int dir_fd, char const *file,
if (! rename)
break;
- idx_t offset = backup_type == simple_backups ? 0 : base_offset;
+ dir_fd = sdir < 0 ? dir_fd : sdir;
+ idx_t offset = sdir < 0 ? 0 : base_offset;
unsigned flags = backup_type == simple_backups ? 0 : RENAME_NOREPLACE;
- if (renameatu (sdir, file + offset, sdir, s + offset, flags) == 0)
+ if (renameatu (dir_fd, file + offset, dir_fd, s + offset, flags) == 0)
break;
int e = errno;
if (! (e == EEXIST && extended))
--
2.26.2

View file

@ -1,11 +1,12 @@
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=cracklib
pkgver=2.9.10
pkgver=2.9.11
pkgrel=01
pkgdesc="Password Checking Library"
url="https://github.com/cracklib/cracklib"
@ -39,6 +40,7 @@ arch=(x86_64)
license=('GPL')
sha256sums=(6d7726ce2ab9ee35aa46a511f12badb059b3ceb7932c7fe64806d265b898aa63) # cracklib-2.9.10.tar.gz
sha256sums=(6213b986a5209fc0d4ca93734e349b8f66b36bfe9a3fae6eead14a15d82a68dc) # cracklib-2.9.11.tar.gz
## 0741f6bdafc6ae204017e52ea766da14b0e712e09d947d0aa6f98e2fba8f6840 cracklib-2.9.11-01-x86_64.pkg.tar.lz
## 8b10d4e904c62baac11e9019a35f1cbb95ef3cc257caca8c71cc44e17d0ec348 cracklib-2.9.10-01-x86_64.pkg.tar.lz

View file

@ -2,7 +2,7 @@
# Contributor: Federico Quagliata (quaqo) <quaqo@despammed.com>
pkgname=cracklib
pkgver=2.9.10
pkgver=2.9.11
pkgrel=1
pkgdesc="Password Checking Library"
arch=('x86_64')
@ -10,7 +10,7 @@ license=('GPL')
url="https://github.com/cracklib/cracklib"
depends=('glibc' 'zlib')
source=(https://github.com/cracklib/cracklib/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz)
sha256sums=('6d7726ce2ab9ee35aa46a511f12badb059b3ceb7932c7fe64806d265b898aa63')
sha256sums=('6213b986a5209fc0d4ca93734e349b8f66b36bfe9a3fae6eead14a15d82a68dc')
build() {
cd $pkgname-$pkgver

View file

@ -6,10 +6,9 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=libisl
pkgver=0.25
pkgver=0.26
pkgrel=01
pkgdesc='Library for manipulating sets and relations of integer points bounded by linear constraints'
arch=('x86_64')
url='https://libisl.sourceforge.io'
depends=('gmp')
provides=('isl' 'libisl.so')
@ -39,9 +38,12 @@ package() {
install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('MIT')
sha256sums=(be7b210647ccadf90a2f0b000fca11a4d40546374a850db67adb32fad4b230d9) # isl-0.25.tar.xz
sha256sums=(a0b5cb06d24f9fa9e77b55fabbe9a3c94a336190345c2555f9915bb38e976504) # isl-0.26.tar.xz
## 12f3af79e28e642eea91dabd47ca5cc99de88f76f621fc6c5660304b31279418 libisl-0.26-01-x86_64.pkg.tar.lz

View file

@ -5,7 +5,7 @@
# Contributor: Allan McRae <allan at archlinux dot org>
pkgname=libisl
pkgver=0.25
pkgver=0.26
pkgrel=1
pkgdesc='Library for manipulating sets and relations of integer points bounded by linear constraints'
arch=('x86_64')
@ -16,7 +16,7 @@ provides=('isl' 'libisl.so')
replaces=('isl')
options=(staticlibs)
source=("https://libisl.sourceforge.io/isl-${pkgver}.tar.xz")
b2sums=('54a13ba8a5d7666f62f3fb20db278d15b803400cb8b69f119b18fd1f54f7d02f1e07cd1e189803fc416afaa81b35e2247ef6b3da3d8cddc463b05cc9b3921890')
b2sums=('2cfe2e0774a991d2385e66f58490c5454382cabc82d74eb4bbe5a603293b7bdc34ca3b087f0884f9da319c447747edc76275ecaf2f171237939f9c7d3c52ced7')
build() {
cd "${srcdir}"/${pkgname#lib}-${pkgver}
@ -36,6 +36,6 @@ package() {
install -dm755 "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/
mv "${pkgdir}"/usr/lib/libisl.so.*-gdb.py "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/
install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}

View file

@ -7,19 +7,26 @@
pkgname=libnghttp2
pkgver=1.52.0
pkgrel=01
pkgrel=02
pkgdesc='Framing layer of HTTP/2 is implemented as a reusable C library'
arch=(x86_64)
url='https://nghttp2.org/'
depends=(glibc)
makedepends=('automake' 'autoconf')
makedepends=('automake' 'autoconf' 'git')
conflicts=('nghttp2<1.20.0-2')
source=(https://github.com/nghttp2/nghttp2/releases/download/v$pkgver/nghttp2-$pkgver.tar.xz)
#source=(https://github.com/nghttp2/nghttp2/releases/download/v$pkgver/nghttp2-$pkgver.tar.xz)
_tag='6c023db8a758c19b0adff8fa13e175cf3d7b61b4' # git rev-parse v${pkgver}
source=("git+https://github.com/nghttp2/nghttp2.git#tag=${_tag}?signed")
prepare() {
cd nghttp2
autoreconf -i
}
build() {
cd nghttp2-$pkgver
autoreconf -i
cd nghttp2
./configure \
--prefix=/usr \
--disable-examples \
@ -29,23 +36,30 @@ build() {
}
check() {
cd nghttp2-$pkgver
# cd nghttp2-$pkgver
cd nghttp2
make check
}
package() {
cd nghttp2-$pkgver/lib
# cd nghttp2-$pkgver/lib
cd nghttp2/lib
make DESTDIR="$pkgdir" install
install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/libnghttp2/COPYING"
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(MIT)
sha256sums=(3ea9f0439e60469ad4d39cb349938684ffb929dd7e8e06a7bffe9f9d21f8ba7d) # nghttp2-1.52.0.tar.xz
validpgpkeys=('F4F3B91474D1EB29889BD0EF7E8403D5D673C366') # Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
## 7cdec2ace21420ad4b0bcfd0bcb0ab00ba7b97c856e9821fe1512046fb3a3d73 libnghttp2-1.52.0-01-x86_64.pkg.tar.lz
#sha256sums=(3ea9f0439e60469ad4d39cb349938684ffb929dd7e8e06a7bffe9f9d21f8ba7d) # nghttp2-1.52.0.tar.xz
sha256sums=(SKIP)
## 2f64c059a342840f294a5ef6590675ee26715959527ee0254b6b976e6949417e libnghttp2-1.52.0-02-x86_64.pkg.tar.lz

View file

@ -2,21 +2,29 @@
# Contributor: Zhuoyun Wei <wzyboy@wzyboy.org>
pkgname=libnghttp2
_tag='6c023db8a758c19b0adff8fa13e175cf3d7b61b4' # git rev-parse v${pkgver}
pkgver=1.52.0
pkgrel=1
pkgrel=2
pkgdesc='Framing layer of HTTP/2 is implemented as a reusable C library'
arch=(x86_64)
arch=('x86_64')
url='https://nghttp2.org/'
license=(MIT)
depends=(glibc)
license=('MIT')
depends=('glibc')
makedepends=('git')
conflicts=('nghttp2<1.20.0-2')
source=(https://github.com/nghttp2/nghttp2/releases/download/v$pkgver/nghttp2-$pkgver.tar.xz)
sha512sums=('3af1ce13270f7afc8652bd3de71200d9632204617fe04d2be7156d60eeb1a5cc415573677791a399ae03577e8e3256939b1b05d27dbd98dee504d09ec5325d56')
validpgpkeys=('F4F3B91474D1EB29889BD0EF7E8403D5D673C366') # Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
source=("git+https://github.com/nghttp2/nghttp2.git#tag=${_tag}?signed")
sha512sums=('SKIP')
build() {
cd nghttp2-$pkgver
prepare() {
cd nghttp2
autoreconf -i
}
build() {
cd nghttp2
./configure \
--prefix=/usr \
--disable-examples \
@ -26,12 +34,12 @@ build() {
}
check() {
cd nghttp2-$pkgver
cd nghttp2
make check
}
package() {
cd nghttp2-$pkgver/lib
cd nghttp2/lib
make DESTDIR="$pkgdir" install
install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/libnghttp2/COPYING"

View file

@ -1 +1 @@
rm -rf {src,pkg,*tar.xz*}
rm -rf {src,pkg,*tar.xz*,nghttp2}

View file

@ -1,4 +1,5 @@
autoconf
automake
git

1
libnghttp2/key Normal file
View file

@ -0,0 +1 @@
gpg -v --recv-key 7E8403D5D673C366