upg btrfs-progs debugedit ed elfutils hwdata mkinitcpio
This commit is contained in:
parent
98d33cefe7
commit
ec6a67bea9
24 changed files with 893 additions and 89 deletions
|
@ -6,8 +6,8 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=btrfs-progs
|
||||
pkgver=6.8
|
||||
pkgrel=03
|
||||
pkgver=6.8.1
|
||||
pkgrel=01
|
||||
pkgdesc='Btrfs filesystem utilities w/o systemd'
|
||||
makedepends=('asciidoc' 'xmlto' 'python' 'python-setuptools' 'e2fsprogs'
|
||||
'reiserfsprogs' 'python-sphinx' 'python-sphinx_rtd_theme')
|
||||
|
@ -72,9 +72,11 @@ license=('GPL-2.0-only')
|
|||
|
||||
validpgpkeys=('F2B41200C54EFB30380C1756C565D5F9D76D583B')
|
||||
|
||||
sha256sums=(9c21645feac182611e28b47769d5f613cb9e2ecab58ece60b10e6c55a9ead575 # btrfs-progs-v6.8.tar.xz
|
||||
f5a8b2c11bfc48f94609a5d35239df7869255f5d069536bd9ad77e4f6f9db79e # btrfs-progs-v6.8.tar.sign
|
||||
sha256sums=(0e40a068a26c2969cb02a95ba9fef888d7a6356e3f457ff92ad2477d08735678 # btrfs-progs-v6.8.1.tar.xz
|
||||
0af0e663406c88806667c6834989cd1e7dc1213c8d05104f205aa847fba46b6b # btrfs-progs-v6.8.1.tar.sign
|
||||
bbe60b35d1b1e2efc1308a8f54f1fdc6808240a81c5f5b4d75321b7ee86e41f4 # initcpio-install-btrfs
|
||||
35efeee8590d6d60c711ae9cdc918e4841ab61d10cb02359e65e36ebff95ffc5) # initcpio-hook-btrfs
|
||||
|
||||
## a9881a0126d2243e2ea7f6d30534619090b0c2f0089226dd2a0da0fe86d18ca2 btrfs-progs-6.8-03-x86_64.pkg.tar.lz
|
||||
|
||||
## e2fd648b15c96984f9bf1d50eb6913c3be9936fda2279896e41d23e93a15f36f btrfs-progs-6.8.1-01-x86_64.pkg.tar.lz
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
|
||||
|
||||
pkgname=btrfs-progs
|
||||
pkgver=6.8
|
||||
pkgrel=3
|
||||
pkgver=6.8.1
|
||||
pkgrel=1
|
||||
pkgdesc='Btrfs filesystem utilities'
|
||||
arch=('x86_64')
|
||||
makedepends=('git' 'asciidoc' 'xmlto' 'systemd' 'python' 'python-setuptools' 'e2fsprogs'
|
||||
|
@ -28,7 +28,7 @@ source=("https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-
|
|||
install=btrfs-progs.install
|
||||
options=(!staticlibs)
|
||||
sha256sums=('SKIP'
|
||||
'9c21645feac182611e28b47769d5f613cb9e2ecab58ece60b10e6c55a9ead575'
|
||||
'0e40a068a26c2969cb02a95ba9fef888d7a6356e3f457ff92ad2477d08735678'
|
||||
'bbe60b35d1b1e2efc1308a8f54f1fdc6808240a81c5f5b4d75321b7ee86e41f4'
|
||||
'35efeee8590d6d60c711ae9cdc918e4841ab61d10cb02359e65e36ebff95ffc5'
|
||||
'eaa7af92d28bfa8940bb551560fd7be777f9f175292eaa72b5f6ef00fb240252'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
|
||||
real 0m57.023s
|
||||
user 0m51.954s
|
||||
sys 0m5.615s
|
||||
real 1m40.991s
|
||||
user 4m11.754s
|
||||
sys 0m8.042s
|
||||
|
||||
|
|
1
debugedit/NOTE
Normal file
1
debugedit/NOTE
Normal file
|
@ -0,0 +1 @@
|
|||
help2man was added most likely due to patches and was not needed on -05 - remove when patches are gone on 5.1 and above
|
|
@ -7,15 +7,23 @@
|
|||
|
||||
pkgname=debugedit
|
||||
pkgver=5.0
|
||||
pkgrel=05
|
||||
pkgrel=06
|
||||
pkgdesc='Tool to mangle source locations in .debug files'
|
||||
url='https://sourceware.org/debugedit/'
|
||||
makedepends=(help2man)
|
||||
depends=('libelf')
|
||||
source=("https://sourceware.org/ftp/debugedit/${pkgver}/debugedit-${pkgver}.tar.xz"{,.sig})
|
||||
source=("https://sourceware.org/ftp/debugedit/${pkgver}/debugedit-${pkgver}.tar.xz"{,.sig}
|
||||
"debugedit-use-elfstrptr.patch::https://sourceware.org/git/?p=debugedit.git;a=patch;h=7497274aed00c459a0d74bf171e1b11358b0210c"
|
||||
"debugedit-support-debugstr.patch::https://sourceware.org/git/?p=debugedit.git;a=patch;h=3e7aeeab4f744ad15108775685db68d3a35b0735"
|
||||
"debugedit-limit-write.patch::https://sourceware.org/git/?p=debugedit.git;a=patch;h=6dd28bb30320e5236b3b5f79b6b2b41d2b2317bd")
|
||||
|
||||
prepare() {
|
||||
cd "debugedit-${pkgver}"
|
||||
patch -Np1 < "$srcdir/debugedit-use-elfstrptr.patch"
|
||||
patch -Np1 < "$srcdir/debugedit-support-debugstr.patch"
|
||||
patch -Np1 < "$srcdir/debugedit-limit-write.patch"
|
||||
autoreconf -fiv
|
||||
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -33,12 +41,22 @@ package() {
|
|||
|
||||
arch=(x86_64)
|
||||
|
||||
license=('LGPL2.1')
|
||||
license=('GPL-3.0-or-later' 'GPL-2.0-or-later' 'LGPL-2.0-or-later')
|
||||
|
||||
validpgpkeys=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A')
|
||||
|
||||
|
||||
sha512sums=('7e7f529eafe41b53f0b5bfc58282fdbfa0dfa93ed7908b70e81942d6d2b6f80fc9c6bff2ed9674fd98947e5750b615f4c8b222544989e2900c5f8ff5ae0efb92'
|
||||
'SKIP'
|
||||
'8f56fc24fae6424d244508a29fb992a106ce91a4115a7429024db66fd9ef0d5e9a6ff5a473312ebb83726061193692cc56564b84c4b4bb553a6210a912fbf738'
|
||||
'967da3adb66857a37056f8d0678d5fdc761704b74f6ca35d4631be1ee099683c2ea40cdd1a59f34eab3bbc33bb846009325403552519b3c300b76493f5c4dcf1'
|
||||
'68b8d7388143da464a248b11555b08a708ea367b241317c622d76bd2b4b16473885d249ea9931af4ae438f6553beff7d9919c5ecd44fcbaf128b4d1f1bcdae82')
|
||||
|
||||
sha256sums=(e9ecd7d350bebae1f178ce6776ca19a648b6fe8fa22f5b3044b38d7899aa553e # debugedit-5.0.tar.xz
|
||||
4fd8c44986d734196103ed2b630928949ed2ea48e0757c7a9e3d6f3b87cf00a7) # debugedit-5.0.tar.xz.sig
|
||||
4fd8c44986d734196103ed2b630928949ed2ea48e0757c7a9e3d6f3b87cf00a7 # debugedit-5.0.tar.xz.sig
|
||||
016464f7cbcb3b97ebeeecacbdaa8a871e5180d9cf1738f4c3860233ce6c063b # debugedit-use-elfstrptr.patch
|
||||
6c25a9dfd0f27e468227805fe6a19b8054ee2563ed5971c0615aab8ae4705047 # debugedit-support-debugstr.patch
|
||||
838c549c56820b4f1b6766fd88f0d01269374f994dd8924e507acd86658c0ec2) # debugedit-limit-write.patch
|
||||
|
||||
## 0a4da524d6979b6bbc223e23b5823ce01f2f5d459eb96d5b95a68d8a5b62d3e9 debugedit-5.0-05-x86_64.pkg.tar.lz
|
||||
## 6e0d37d21e3cf52718018848f73d5382758a5bbf361ef0803d16ce8f418872c9 debugedit-5.0-06-x86_64.pkg.tar.lz
|
||||
|
||||
|
|
|
@ -4,19 +4,28 @@
|
|||
|
||||
pkgname=debugedit
|
||||
pkgver=5.0
|
||||
pkgrel=5
|
||||
pkgrel=6
|
||||
pkgdesc='Tool to mangle source locations in .debug files'
|
||||
arch=('x86_64')
|
||||
url='https://sourceware.org/debugedit/'
|
||||
license=('LGPL2.1')
|
||||
license=('GPL-3.0-or-later' 'GPL-2.0-or-later' 'LGPL-2.0-or-later')
|
||||
depends=('glibc' 'libelf')
|
||||
source=("https://sourceware.org/ftp/debugedit/${pkgver}/debugedit-${pkgver}.tar.xz"{,.sig})
|
||||
source=("https://sourceware.org/ftp/debugedit/${pkgver}/debugedit-${pkgver}.tar.xz"{,.sig}
|
||||
"debugedit-use-elfstrptr.patch::https://sourceware.org/git/?p=debugedit.git;a=patch;h=7497274aed00c459a0d74bf171e1b11358b0210c"
|
||||
"debugedit-support-debugstr.patch::https://sourceware.org/git/?p=debugedit.git;a=patch;h=3e7aeeab4f744ad15108775685db68d3a35b0735"
|
||||
"debugedit-limit-write.patch::https://sourceware.org/git/?p=debugedit.git;a=patch;h=6dd28bb30320e5236b3b5f79b6b2b41d2b2317bd")
|
||||
validpgpkeys=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A')
|
||||
sha512sums=('7e7f529eafe41b53f0b5bfc58282fdbfa0dfa93ed7908b70e81942d6d2b6f80fc9c6bff2ed9674fd98947e5750b615f4c8b222544989e2900c5f8ff5ae0efb92'
|
||||
'SKIP')
|
||||
'SKIP'
|
||||
'8f56fc24fae6424d244508a29fb992a106ce91a4115a7429024db66fd9ef0d5e9a6ff5a473312ebb83726061193692cc56564b84c4b4bb553a6210a912fbf738'
|
||||
'967da3adb66857a37056f8d0678d5fdc761704b74f6ca35d4631be1ee099683c2ea40cdd1a59f34eab3bbc33bb846009325403552519b3c300b76493f5c4dcf1'
|
||||
'68b8d7388143da464a248b11555b08a708ea367b241317c622d76bd2b4b16473885d249ea9931af4ae438f6553beff7d9919c5ecd44fcbaf128b4d1f1bcdae82')
|
||||
|
||||
prepare() {
|
||||
cd "debugedit-${pkgver}"
|
||||
patch -Np1 < "$srcdir/debugedit-use-elfstrptr.patch"
|
||||
patch -Np1 < "$srcdir/debugedit-support-debugstr.patch"
|
||||
patch -Np1 < "$srcdir/debugedit-limit-write.patch"
|
||||
autoreconf -fiv
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
autoconf
|
||||
automake
|
||||
help2man
|
||||
|
||||
|
||||
|
|
|
@ -7,13 +7,16 @@
|
|||
|
||||
pkgname=ed
|
||||
pkgver=1.20.2
|
||||
pkgrel=01
|
||||
pkgrel=02
|
||||
pkgdesc="A POSIX-compliant line-oriented text editor"
|
||||
url="https://www.gnu.org/software/ed/ed.html"
|
||||
depends=('glibc' 'sh')
|
||||
options=('!emptydirs')
|
||||
source=("https://ftp.gnu.org/gnu/ed/$pkgname-$pkgver.tar.lz"{,.sig})
|
||||
|
||||
# There is something seriously wrong with this guy, check diff file
|
||||
# Maintainer: Caleb Maclennan <caleb@alerque.com>
|
||||
|
||||
build() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
|
@ -40,12 +43,12 @@ package() {
|
|||
|
||||
arch=('x86_64')
|
||||
|
||||
license=('GPL')
|
||||
license=(GPL-2.0-only)
|
||||
|
||||
validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz
|
||||
|
||||
sha256sums=(65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523 # ed-1.20.2.tar.lz
|
||||
8f1ced496dc1c33ebdc22dffcd23c8b00c109cf565ea9de1af960266aa57abac) # ed-1.20.2.tar.lz.sig
|
||||
|
||||
## 0b6e2c668bb02f6012c86fc5d003d71277d00dade4e2c4c26667cdf9388f1818 ed-1.20.2-01-x86_64.pkg.tar.lz
|
||||
## ccdd9b72c324e58c9769622486ab57b7514c97fc409b651e17c6a7c43bfdf5c3 ed-1.20.2-02-x86_64.pkg.tar.lz
|
||||
|
||||
|
|
|
@ -1,38 +1,40 @@
|
|||
# Maintainer: Dave Reisner <dreisner@archlinux.org>
|
||||
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
|
||||
# Maintainer: Caleb Maclennan <caleb@alerque.com>
|
||||
# Contributor: Dave Reisner <dreisner@archlinux.org>
|
||||
# Contributor: Andreas Radke <andyrtr@archlinux.org>
|
||||
|
||||
pkgname=ed
|
||||
pkgver=1.20.2
|
||||
pkgrel=1
|
||||
pkgdesc="A POSIX-compliant line-oriented text editor"
|
||||
arch=('x86_64')
|
||||
license=('GPL')
|
||||
pkgrel=2
|
||||
pkgdesc='A POSIX-compliant line-oriented text editor'
|
||||
arch=(x86_64)
|
||||
license=(GPL-2.0-only)
|
||||
url="https://www.gnu.org/software/ed/ed.html"
|
||||
depends=('glibc' 'sh')
|
||||
options=('!emptydirs')
|
||||
validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz
|
||||
source=("https://ftp.gnu.org/gnu/ed/$pkgname-$pkgver.tar.lz"{,.sig})
|
||||
depends=(glibc
|
||||
sh)
|
||||
options=(!emptydirs)
|
||||
_archive="$pkgname-$pkgver"
|
||||
source=("https://ftp.gnu.org/gnu/ed/$_archive.tar.lz"{,.sig})
|
||||
sha256sums=('65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523'
|
||||
'SKIP')
|
||||
validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz
|
||||
|
||||
build() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
./configure --prefix=/ \
|
||||
--bindir=/usr/bin \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info \
|
||||
"CPPFLAGS=$CPPFLAGS" \
|
||||
"CFLAGS=$CFLAGS" \
|
||||
"LDFLAGS=$LDFLAGS"
|
||||
|
||||
make
|
||||
cd "$_archive"
|
||||
./configure \
|
||||
--prefix=/\
|
||||
--bindir=/usr/bin \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info \
|
||||
"CPPFLAGS=$CPPFLAGS" \
|
||||
"CFLAGS=$CFLAGS" \
|
||||
"LDFLAGS=$LDFLAGS"
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
make -C "$pkgname-$pkgver" check
|
||||
make -C "$_archive" check
|
||||
}
|
||||
|
||||
package() {
|
||||
make -C "$pkgname-$pkgver" "DESTDIR=$pkgdir" install
|
||||
make -C "$_archive" "DESTDIR=$pkgdir" install
|
||||
}
|
||||
|
|
1
ed/deps
1
ed/deps
|
@ -1,3 +1,2 @@
|
|||
|
||||
|
||||
|
||||
|
|
68
ed/diff.rebuild
Normal file
68
ed/diff.rebuild
Normal file
|
@ -0,0 +1,68 @@
|
|||
+PKGBUILD-arch.new:# Maintainer: Caleb Maclennan <caleb@alerque.com>
|
||||
|
||||
--- PKGBUILD-arch 2024-05-01 01:50:13.148942339 +0300
|
||||
+++ PKGBUILD-arch.new 2024-05-04 20:22:20.181290147 +0300
|
||||
@@ -1,38 +1,40 @@
|
||||
-# Maintainer: Dave Reisner <dreisner@archlinux.org>
|
||||
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
|
||||
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
|
||||
+# Contributor: Dave Reisner <dreisner@archlinux.org>
|
||||
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
|
||||
|
||||
pkgname=ed
|
||||
pkgver=1.20.2
|
||||
-pkgrel=1
|
||||
-pkgdesc="A POSIX-compliant line-oriented text editor"
|
||||
-arch=('x86_64')
|
||||
-license=('GPL')
|
||||
+pkgrel=2
|
||||
+pkgdesc='A POSIX-compliant line-oriented text editor'
|
||||
+arch=(x86_64)
|
||||
+license=(GPL-2.0-only)
|
||||
url="https://www.gnu.org/software/ed/ed.html"
|
||||
-depends=('glibc' 'sh')
|
||||
-options=('!emptydirs')
|
||||
-validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz
|
||||
-source=("https://ftp.gnu.org/gnu/ed/$pkgname-$pkgver.tar.lz"{,.sig})
|
||||
+depends=(glibc
|
||||
+ sh)
|
||||
+options=(!emptydirs)
|
||||
+_archive="$pkgname-$pkgver"
|
||||
+source=("https://ftp.gnu.org/gnu/ed/$_archive.tar.lz"{,.sig})
|
||||
sha256sums=('65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523'
|
||||
'SKIP')
|
||||
+validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz
|
||||
|
||||
build() {
|
||||
- cd "$pkgname-$pkgver"
|
||||
-
|
||||
- ./configure --prefix=/ \
|
||||
- --bindir=/usr/bin \
|
||||
- --mandir=/usr/share/man \
|
||||
- --infodir=/usr/share/info \
|
||||
- "CPPFLAGS=$CPPFLAGS" \
|
||||
- "CFLAGS=$CFLAGS" \
|
||||
- "LDFLAGS=$LDFLAGS"
|
||||
-
|
||||
- make
|
||||
+ cd "$_archive"
|
||||
+ ./configure \
|
||||
+ --prefix=/\
|
||||
+ --bindir=/usr/bin \
|
||||
+ --mandir=/usr/share/man \
|
||||
+ --infodir=/usr/share/info \
|
||||
+ "CPPFLAGS=$CPPFLAGS" \
|
||||
+ "CFLAGS=$CFLAGS" \
|
||||
+ "LDFLAGS=$LDFLAGS"
|
||||
+ make
|
||||
}
|
||||
|
||||
check() {
|
||||
- make -C "$pkgname-$pkgver" check
|
||||
+ make -C "$_archive" check
|
||||
}
|
||||
|
||||
package() {
|
||||
- make -C "$pkgname-$pkgver" "DESTDIR=$pkgdir" install
|
||||
+ make -C "$_archive" "DESTDIR=$pkgdir" install
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
pkgbase=elfutils
|
||||
pkgname=(elfutils libelf debuginfod)
|
||||
pkgver=0.191
|
||||
pkgrel=01
|
||||
pkgrel=02
|
||||
pkgdesc="Handle ELF object files and DWARF debugging information"
|
||||
url="https://sourceware.org/elfutils/"
|
||||
makedepends=(bzip2 curl gcc-libs libarchive libmicrohttpd sqlite xz zlib)
|
||||
|
@ -121,6 +121,7 @@ package_debuginfod() {
|
|||
mv -v debuginfod/* "$pkgdir"
|
||||
install -vDm 644 $pkgbase-$pkgver/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "$pkgdir/usr/share/doc/$pkgname/"
|
||||
}
|
||||
|
||||
#---- arch license gpg-key & sha256sums ----
|
||||
|
||||
arch=(x86_64)
|
||||
|
@ -134,3 +135,8 @@ validpgpkeys=(47CC0331081B8BC6D0FD4DA08370665B57816A6A # Mark J. Wielaard <mark
|
|||
sha256sums=(df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871 # elfutils-0.191.tar.bz2
|
||||
d07b86df17cbe5187b311cd6e02fc47228cdd20545779cde5cd2a26ca03b7cb1) # elfutils-0.191.tar.bz2.sig
|
||||
|
||||
|
||||
## ca4ba6a0aea9b7286c12996a8e3be929729fc2d5285b609dba15ba7f6ce0da00 debuginfod-0.191-02-x86_64.pkg.tar.lz
|
||||
## c7682012c7c7fec800b8a323d2cc51afefa86dfa61440191d77cc034cda1560d elfutils-0.191-02-x86_64.pkg.tar.lz
|
||||
## 432eb590e2c17efc55bd1a81428259ffaec5feb6d15d69fbb6cd08f2fc03f9f6 libelf-0.191-02-x86_64.pkg.tar.lz
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ pkgname=(
|
|||
debuginfod
|
||||
)
|
||||
pkgver=0.191
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="Handle ELF object files and DWARF debugging information"
|
||||
arch=(x86_64)
|
||||
url="https://sourceware.org/elfutils/"
|
||||
|
|
|
@ -1,20 +1,11 @@
|
|||
============================================================================
|
||||
Testsuite summary for elfutils 0.188
|
||||
Testsuite summary for elfutils 0.191
|
||||
============================================================================
|
||||
# TOTAL: 261
|
||||
# PASS: 224
|
||||
# SKIP: 30
|
||||
# TOTAL: 274
|
||||
# PASS: 235
|
||||
# SKIP: 32
|
||||
# XFAIL: 0
|
||||
# FAIL: 7
|
||||
# XPASS: 0
|
||||
# ERROR: 0
|
||||
============================================================================
|
||||
See tests/test-suite.log
|
||||
Please report to https://sourceware.org/bugzilla
|
||||
============================================================================
|
||||
make[3]: *** [Makefile:2615: test-suite.log] Error 1
|
||||
make[2]: *** [Makefile:2723: check-TESTS] Error 2
|
||||
make[1]: *** [Makefile:4616: check-am] Error 2
|
||||
make: *** [Makefile:533: check-recursive] Error 1
|
||||
make: Leaving directory '/src/pkg/jobcore/elfutils/src/elfutils-test-0.188'
|
||||
==> ERROR: A failure occurred in check().
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=hwdata
|
||||
pkgver=0.381
|
||||
pkgver=0.382
|
||||
pkgrel=01
|
||||
pkgdesc="hardware identification databases"
|
||||
makedepends=('git')
|
||||
|
@ -35,7 +35,7 @@ license=('GPL-2.0-or-later')
|
|||
|
||||
validpgpkeys=('3C40194FB79138CE0F78FD4919C2F062574F5403') # Vitezslav Crhonek
|
||||
|
||||
sha256sums=(SKIP)
|
||||
sha256sums=(c20b03555bed7016d56adffcbe01fd2f65e3cc9fe88dc2545856512cacfa7162) # hwdata
|
||||
|
||||
## 7150e0f4bdc24b5a0204ea8622ea600a788ee98a65bcdf14afa9032bafacddf9 hwdata-0.381-01-x86_64.pkg.tar.lz
|
||||
## c4c9a3c59c612acf899a4e852a94f69f0c74c923bb84d7ee06b778e4f7dc60be hwdata-0.382-01-x86_64.pkg.tar.lz
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
|
||||
pkgname=hwdata
|
||||
pkgver=0.381
|
||||
pkgver=0.382
|
||||
pkgrel=1
|
||||
pkgdesc="hardware identification databases"
|
||||
makedepends=('git')
|
||||
|
@ -10,7 +10,7 @@ license=('GPL-2.0-or-later')
|
|||
arch=('any')
|
||||
source=("git+https://github.com/vcrhonek/hwdata.git#tag=v${pkgver}?signed")
|
||||
validpgpkeys=('3C40194FB79138CE0F78FD4919C2F062574F5403') # Vitezslav Crhonek
|
||||
sha256sums=('SKIP')
|
||||
sha256sums=('c20b03555bed7016d56adffcbe01fd2f65e3cc9fe88dc2545856512cacfa7162')
|
||||
|
||||
build() {
|
||||
cd ${pkgname}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
git
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
pkgname=mkinitcpio
|
||||
pkgver=38.1
|
||||
pkgrel=01
|
||||
pkgrel=02
|
||||
pkgdesc="Modular initramfs image creation utility w/o systemd zstd "
|
||||
makedepends=('binutils' 'asciidoc' 'sed')
|
||||
install=mkinitcpio.install
|
||||
|
@ -78,5 +78,5 @@ sha256sums=(5c63525097a3c17bfb654dacea71ed7681c3102a3684d18c319d06e57007e1cd #
|
|||
c4afeb6b3300c4d50c3f01233705b542f59d6e95a7670f7efde097ea209ef5bd # nosystemd.patch
|
||||
3fd3810547c39a8cb55a8ec729e8e8500c365dd345e242e6fda568c346947436) # mkinitcpio.conf
|
||||
|
||||
## ba8be900c8c6ff9c1e8178b008701175e49d19d45710e30c254e0f030f428335 mkinitcpio-38.1-02-x86_64.pkg.tar.lz
|
||||
|
||||
## c2909e0e2ad7d2401ffbbe1ac838b2d9c0de0c93abec246a380a60408c3c8eb2 mkinitcpio-38.1-01-x86_64.pkg.tar.lz
|
||||
|
|
90
mkinitcpio/PKGBUILD-39
Normal file
90
mkinitcpio/PKGBUILD-39
Normal file
|
@ -0,0 +1,90 @@
|
|||
#!/usr/bin/bash
|
||||
# JOBoRun : Jwm OpenBox Obarun RUNit
|
||||
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
||||
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
|
||||
# Website : https://pozol.eu
|
||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=mkinitcpio
|
||||
pkgver=39
|
||||
pkgrel=01
|
||||
pkgdesc="Modular initramfs image creation utility w/o systemd zstd "
|
||||
makedepends=('binutils' 'asciidoc' 'sed')
|
||||
install=mkinitcpio.install
|
||||
depends=('awk' 'mkinitcpio-busybox>=1.35.0' 'kmod' 'util-linux>=2.23' 'libarchive' 'coreutils'
|
||||
'bash' 'binutils' 'diffutils' 'findutils' 'grep' 'filesystem' 'gzip')
|
||||
checkdepends=('bats' 'bats-assert' 'lzop')
|
||||
conflicts=('systemd>0' 'cryptsetup<2.7.0-3' 'mdadm<4.3-2' 'lvm2<2.03.23-3')
|
||||
optdepends=('zstd: Use zstd compression for the initramfs image'
|
||||
'bzip2: Use bzip2 compression for the initramfs image'
|
||||
'lzop: Use lzo compression for the initramfs image'
|
||||
'lz4: Use lz4 compression for the initramfs image'
|
||||
'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
|
||||
provides=("mkinitcpio=$pkgver-$pkgrel"
|
||||
'initramfs')
|
||||
backup=('etc/mkinitcpio.conf')
|
||||
#url='https://github.com/archlinux/mkinitcpio'
|
||||
#url='https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio'
|
||||
url="https://sources.archlinux.org/other"
|
||||
source=("$url/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}
|
||||
# nosystemd.patch
|
||||
mkinitcpio.conf)
|
||||
|
||||
prepare() {
|
||||
cd "${pkgname}-${pkgver}"
|
||||
# patch -Np1 -i ../nosystemd.patch
|
||||
}
|
||||
|
||||
check() {
|
||||
make -C $pkgname-$pkgver check
|
||||
}
|
||||
|
||||
package() {
|
||||
make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
|
||||
rm -f "${pkgdir}"/usr/lib/initcpio/install/sd-*
|
||||
rm -f "${pkgdir}/etc/mkinitcpio.conf"
|
||||
## The following two files are provided by eudev and the ones
|
||||
## provided here contain systemd commands which wouldn't work on obarun or joborun
|
||||
rm -f "${pkgdir}/usr/lib/initcpio/install/udev"
|
||||
rm -f "${pkgdir}/usr/lib/initcpio/hooks/udev"
|
||||
rm -rf "${pkgdir}/usr/lib/systemd"
|
||||
rm -rf "${pkgdir}/usr/lib/initcpio/install/systemd"
|
||||
rm -rf "${pkgdir}/usr/lib/initcpio/hooks/resume"
|
||||
rm -rf "${pkgdir}/usr/lib/initcpio/install/resume"
|
||||
install -Dm644 "${srcdir}/mkinitcpio.conf" "${pkgdir}/etc/mkinitcpio.conf"
|
||||
}
|
||||
|
||||
#---- arch license gpg-key & sha256sums ----
|
||||
|
||||
arch=(x86_64)
|
||||
|
||||
license=('GPL-2.0-only')
|
||||
|
||||
validpgpkeys=('ECCAC84C1BA08A6CC8E63FBBF22FB1D78A77AEAB' # Giancarlo Razzolini
|
||||
'C100346676634E80C940FB9E9C02FF419FECBE16') # Morten Linderud
|
||||
|
||||
sha512sums=('e727509badc528f45f2b193b3f49c202df41d4e75067bebd44c22ebc59f635d4a9596bc671d609d8941644f3a246267f7a199946730ba474040a1f24b94f663c'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
b2sums=('625455bb1140688bcdf04c946eb6fa1da53deaa221b2c8090c173aef1d7fc617227aa0674344f3c18d5b9ab77a093725856f4f0cd3b8a33462a2ac742f0dbf11'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
|
||||
sha512sums=('50ae08ddf7596b821c89f927ff6692ca907a5045590096155ec6de64e0b5da647ff2c75d1603ab0035046096d37a6eacae383d458b1bb36bd525691b2b23c9ea'
|
||||
'SKIP'
|
||||
# 'SKIP'
|
||||
'SKIP')
|
||||
b2sums=('3a28d6711ce843aafe2868b09ba5a723e57e4fdffe905ac915aa5d224279590a10bba902933f183de33e08e96a6aad4d9e1d4752be74c011a37c4cbe83c8d645'
|
||||
'SKIP'
|
||||
# 'SKIP'
|
||||
'SKIP')
|
||||
|
||||
sha256sums=(d91cfe9f04f2fd71839ce2c73ed53083573ab7e80dde9dff52ca9fd68a14d5cd # mkinitcpio-39.tar.xz
|
||||
80bea6f24142a7baead2715f8f2f722ffbd3a16979a70eff8f246e5a7901ce4f # mkinitcpio-39.tar.xz.sig
|
||||
# c4afeb6b3300c4d50c3f01233705b542f59d6e95a7670f7efde097ea209ef5bd # nosystemd.patch
|
||||
3fd3810547c39a8cb55a8ec729e8e8500c365dd345e242e6fda568c346947436) # mkinitcpio.conf
|
||||
|
||||
## 93e273fa910d09a8c40928ac94b4e4a9eab24e9c062066a0d2c006d502835f37 mkinitcpio-39-01-x86_64.pkg.tar.lz
|
||||
|
|
@ -4,21 +4,16 @@
|
|||
# Contributor: Thomas Bächler <thomas@archlinux.org>
|
||||
|
||||
pkgname=mkinitcpio
|
||||
pkgver=38.1
|
||||
pkgver=39
|
||||
pkgrel=1
|
||||
pkgdesc="Modular initramfs image creation utility"
|
||||
arch=('any')
|
||||
url='https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio'
|
||||
license=('GPL')
|
||||
license=('GPL-2.0-only')
|
||||
depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive' 'coreutils'
|
||||
'bash' 'binutils' 'diffutils' 'findutils' 'grep' 'filesystem>=2011.10-1' 'zstd' 'systemd')
|
||||
checkdepends=('bats' 'bats-assert' 'lzop')
|
||||
conflicts=(
|
||||
'systemd<255.4-2'
|
||||
'cryptsetup<2.7.0-3'
|
||||
'mdadm<4.3-2'
|
||||
'lvm2<2.03.23-3'
|
||||
)
|
||||
makedepends=('asciidoc')
|
||||
optdepends=('gzip: Use gzip compression for the initramfs image'
|
||||
'xz: Use lzma or xz compression for the initramfs image'
|
||||
'bzip2: Use bzip2 compression for the initramfs image'
|
||||
|
@ -27,11 +22,10 @@ optdepends=('gzip: Use gzip compression for the initramfs image'
|
|||
'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
|
||||
provides=('initramfs')
|
||||
backup=('etc/mkinitcpio.conf')
|
||||
source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig})
|
||||
install=mkinitcpio.install
|
||||
sha512sums=('e727509badc528f45f2b193b3f49c202df41d4e75067bebd44c22ebc59f635d4a9596bc671d609d8941644f3a246267f7a199946730ba474040a1f24b94f663c'
|
||||
source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
|
||||
sha512sums=('50ae08ddf7596b821c89f927ff6692ca907a5045590096155ec6de64e0b5da647ff2c75d1603ab0035046096d37a6eacae383d458b1bb36bd525691b2b23c9ea'
|
||||
'SKIP')
|
||||
b2sums=('625455bb1140688bcdf04c946eb6fa1da53deaa221b2c8090c173aef1d7fc617227aa0674344f3c18d5b9ab77a093725856f4f0cd3b8a33462a2ac742f0dbf11'
|
||||
b2sums=('3a28d6711ce843aafe2868b09ba5a723e57e4fdffe905ac915aa5d224279590a10bba902933f183de33e08e96a6aad4d9e1d4752be74c011a37c4cbe83c8d645'
|
||||
'SKIP')
|
||||
validpgpkeys=('ECCAC84C1BA08A6CC8E63FBBF22FB1D78A77AEAB' # Giancarlo Razzolini
|
||||
'C100346676634E80C940FB9E9C02FF419FECBE16') # Morten Linderud
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
rm -rf {src,pkg,mki*tar.gz*}
|
||||
rm -rf {src,pkg,mki*tar.xz*,mki*tar.gz*}
|
||||
|
||||
|
|
605
mkinitcpio/diff.on.39.needs.work
Normal file
605
mkinitcpio/diff.on.39.needs.work
Normal file
|
@ -0,0 +1,605 @@
|
|||
diff pkg/mkinitcpio/usr/lib/initcpio/functions /usr/lib/initcpio/functions
|
||||
--- pkg/mkinitcpio/usr/lib/initcpio/functions 2024-05-04 13:25:31.000000000 +0300
|
||||
+++ /usr/lib/initcpio/functions 2024-03-14 14:58:49.000000000 +0200
|
||||
@@ -142,17 +142,10 @@
|
||||
kver_x86() {
|
||||
local kver
|
||||
local -i offset
|
||||
- # On x86 (since kernel 1.3.73, 1996), regardless of whether it's
|
||||
- # an Image, a zImage, or a bzImage: The file header is the same,
|
||||
- # and contains the kernel_version string.
|
||||
- #
|
||||
# scrape the version out of the kernel image. locate the offset
|
||||
# to the version string by reading 2 bytes out of image at at
|
||||
# address 0x20E. this leads us to a string of, at most, 128 bytes.
|
||||
# read the first word from this string as the kernel version.
|
||||
- #
|
||||
- # https://www.kernel.org/doc/html/v6.7/arch/x86/boot.html
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/boot/header.S?h=v6.7
|
||||
offset="$(od -An -j0x20E -dN2 "$1")" || return
|
||||
|
||||
read -r kver _ < \
|
||||
@@ -162,273 +155,124 @@
|
||||
}
|
||||
|
||||
detect_compression() {
|
||||
- # Detect standard compressed files. Not Linux-kernel specific.
|
||||
-
|
||||
local file="$1" offset="${2:-0}" bytes
|
||||
|
||||
- # The first 8 bytes are enough to detect most formats.
|
||||
- bytes="$(od -An -t x1 -j "$offset" -N 8 "$file" | tr -d ' ')"
|
||||
+ bytes="$(od -An -t x1 -N6 -j "$offset" "$file" | tr -dc '[:alnum:]')"
|
||||
case "$bytes" in
|
||||
- 'fd377a585a00'*)
|
||||
- printf 'xz'
|
||||
- return
|
||||
- ;;
|
||||
- '894c5a4f'*)
|
||||
- printf 'lzop'
|
||||
- return
|
||||
- ;;
|
||||
- '1f8b'*)
|
||||
- printf 'gzip'
|
||||
- return
|
||||
- ;;
|
||||
- '04224d18'*)
|
||||
- error 'Newer lz4 stream format detected! This may not boot!'
|
||||
- printf 'lz4'
|
||||
- return
|
||||
- ;;
|
||||
- '02214c18'*)
|
||||
- printf 'lz4 -l'
|
||||
- return
|
||||
- ;;
|
||||
- '28b52ffd'*)
|
||||
- printf 'zstd'
|
||||
- return
|
||||
- ;;
|
||||
- '425a68'*) # 'BZh' in ASCII
|
||||
- printf 'bzip2'
|
||||
- return
|
||||
- ;;
|
||||
- '5d0000'*)
|
||||
- # lzma detection sucks and there's really no good way to
|
||||
- # do it without reading large portions of the stream. this
|
||||
- # check is good enough for GNU tar, apparently, so it's good
|
||||
- # enough for me.
|
||||
- printf 'lzma'
|
||||
- return
|
||||
- ;;
|
||||
- ????????'7a696d67'*) # 4 discarded bytes, then 'zimg' in ASCII
|
||||
- # Linux kernel "zboot" self-decompressing EFI images
|
||||
- # (since kernel 6.1)
|
||||
- # (as of kernel 6.7: only on arm64, loongarch, and riscv)
|
||||
-
|
||||
- # Read 32 bytes (before 0x38) from address 0x18, which is a
|
||||
- # null-terminated string representing the compressed type.
|
||||
- #
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/zboot-header.S?h=v6.7
|
||||
- read -rd '' bytes < <(od -An -j0x18 -t a -N32 "$1" | sed 's/ nul//g' | tr -dc '[:alnum:]')
|
||||
- printf 'zboot %s' "$bytes"
|
||||
+ 'fd377a585a00')
|
||||
+ echo 'xz'
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
||||
- # Try some formats that require us to sniff bytes at other locations.
|
||||
-
|
||||
- bytes="$(od -An -t x1 -j "$((offset+0x24))" -N4 "$file" | tr -d ' ')"
|
||||
- if [[ "$bytes" == '18286f01' || "$bytes" == '016f2818' ]]; then # endian-sensitive
|
||||
- # Linux kernel ARM32 self-decompressing "zImage"
|
||||
- #
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/compressed/vmlinux.lds.S?h=v6.7#n121
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/compressed/head.S?h=v6.7#n215
|
||||
- printf 'ARM zImage'
|
||||
+ bytes="$(od -An -t x1 -N4 -j "$offset" "$file" | tr -dc '[:alnum:]')"
|
||||
+ if [[ "$bytes" == '894c5a4f' ]]; then
|
||||
+ echo 'lzop'
|
||||
return
|
||||
fi
|
||||
|
||||
- # out of ideas, assuming uncompressed
|
||||
-}
|
||||
-
|
||||
-decompress_cat() {
|
||||
- local file="$1" offset="${2:-0}" size="${3:-}"
|
||||
- local comp_type reader
|
||||
+ bytes="$(od -An -t x2 -N2 -j "$offset" "$file" | tr -dc '[:alnum:]')"
|
||||
+ if [[ "$bytes" == '8b1f' ]]; then
|
||||
+ echo 'gzip'
|
||||
+ return
|
||||
+ fi
|
||||
|
||||
- comp_type="$(detect_compression "$file" "$offset")"
|
||||
- case "$comp_type" in
|
||||
- '') reader='cat' ;;
|
||||
- 'xz') reader='xzcat' ;;
|
||||
- 'lzop') reader='lzop -d' ;;
|
||||
- 'gzip') reader='zcat' ;;
|
||||
- 'lz4') reader='lz4cat' ;;
|
||||
- 'lz4 -l') reader='lz4cat -l' ;;
|
||||
- 'zstd') reader='zstdcat' ;;
|
||||
- 'bzip2') reader='bzcat' ;;
|
||||
- 'lzma') reader='xzcat' ;;
|
||||
- 'zboot '*)
|
||||
- _zboot_cat "${comp_type#'zboot '}" "$file" "$offset"
|
||||
+ bytes="$(od -An -t x4 -N4 -j "$offset" "$file" | tr -dc '[:alnum:]')"
|
||||
+ case "$bytes" in
|
||||
+ '184d2204')
|
||||
+ error 'Newer lz4 stream format detected! This may not boot!'
|
||||
+ echo 'lz4'
|
||||
return
|
||||
;;
|
||||
- 'ARM zImage')
|
||||
- _arm_zimage_cat "$file" "$offset"
|
||||
+ '184c2102')
|
||||
+ echo 'lz4 -l'
|
||||
return
|
||||
;;
|
||||
- *)
|
||||
- error 'Unknown compression type: %s' "$comp_type"
|
||||
- return 1
|
||||
+ 'fd2fb528')
|
||||
+ echo 'zstd'
|
||||
+ return
|
||||
;;
|
||||
esac
|
||||
- if (( offset == 0 )) && [[ -z "$size" ]]; then
|
||||
- $reader - <"$file"
|
||||
- elif [[ -z "$size" ]]; then
|
||||
- tail --bytes=+"$((offset+1))" "$file" | $reader -
|
||||
- else
|
||||
- tail --bytes=+"$((offset+1))" "$file" | head --bytes="$size" | $reader -
|
||||
+
|
||||
+ bytes="$(od -An -c -N3 -j "$offset" "$file" | tr -dc '[:alnum:]')"
|
||||
+ if [[ "$bytes" == 'BZh' ]]; then
|
||||
+ echo 'bzip2'
|
||||
+ return
|
||||
fi
|
||||
-}
|
||||
|
||||
-_zboot_cat() {
|
||||
- # Linux kernel "zboot" self-decompressing EFI images
|
||||
- # (since kernel 6.1)
|
||||
- # (as of kernel 6.7: only on arm64, loongarch, and riscv)
|
||||
+ # lzma detection sucks and there's really no good way to
|
||||
+ # do it without reading large portions of the stream. this
|
||||
+ # check is good enough for GNU tar, apparently, so it's good
|
||||
+ # enough for me.
|
||||
+ bytes="$(od -An -t x1 -N3 -j "$offset" "$file" | tr -dc '[:alnum:]')"
|
||||
+ if [[ "$bytes" == '5d0000' ]]; then
|
||||
+ echo 'lzma'
|
||||
+ return
|
||||
+ fi
|
||||
|
||||
- # See zboot-header.S for offsets. See Makefile.zboot for
|
||||
- # compression types and size adjustments.
|
||||
- #
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/Makefile.zboot?h=v6.7
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/zboot-header.S?h=v6.7
|
||||
+ read -rd '' bytes < <(od -An -j $((offset + 0x04)) -t c -N4 "$file" | tr -dc '[:alnum:]')
|
||||
+ if [[ "$bytes" == 'zimg' ]]; then
|
||||
+ echo 'zimg'
|
||||
+ return
|
||||
+ fi
|
||||
|
||||
- local comp_type="$1" file="$2" offset="${3:-0}"
|
||||
- local reader start size size_len
|
||||
+ # out of ideas, assuming uncompressed
|
||||
+}
|
||||
|
||||
- # Read a pair of u32s from 0x08 (right after the "zimg" magic
|
||||
- # identifier) for the starting-offset and size of the compressed
|
||||
- # data.
|
||||
- start="$(od -An -j "$((offset+0x08))" -t u4 -N4 "$file" | tr -dc '[:alnum:]')"
|
||||
- size="$(od -An -j "$((offset+0x0c))" -t u4 -N4 "$file" | tr -dc '[:alnum:]')"
|
||||
+kver_zimage() {
|
||||
+ # Generic EFI zboot added since kernel 6.1
|
||||
+ # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/Makefile.zboot?h=v6.1
|
||||
+ # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/libstub/zboot-header.S?h=v6.1
|
||||
+
|
||||
+ local kver='' reader start size comp_type
|
||||
+
|
||||
+ # Reading 4 bytes from address 0x08 is the starting offset of compressed data
|
||||
+ start="$(od -An -j0x08 -t u4 -N4 "$1" | tr -dc '[:alnum:]')"
|
||||
+
|
||||
+ # Reading 4 bytes from address 0x0c is the size of compressed data,
|
||||
+ # but it needs to be corrected according to the compressed type.
|
||||
+ size="$(od -An -j0x0c -t u4 -N4 "$1" | tr -dc '[:alnum:]')"
|
||||
+
|
||||
+ # Read 36 bytes (before 0x3c) from address 0x18,
|
||||
+ # which is a nul-terminated string representing the compressed type.
|
||||
+ read -rd '' comp_type < <(od -An -j0x18 -t a -N32 "$1" | sed 's/ nul//g' | tr -dc '[:alnum:]')
|
||||
|
||||
[[ "$start" =~ ^[0-9]+$ ]] || return 1
|
||||
[[ "$size" =~ ^[0-9]+$ ]] || return 1
|
||||
|
||||
- size_len=4 # corresponds to Makefile.zboot:zboot-size-len-y or zboot-header.S:ZBOOT_SIZE_LEN
|
||||
case "$comp_type" in
|
||||
- 'gzip') reader='zcat'
|
||||
- size_len=0
|
||||
- ;;
|
||||
- 'lz4') reader='lz4cat' ;;
|
||||
- 'lzma') reader='xzcat' ;;
|
||||
- 'lzo') reader='lzop -d' ;;
|
||||
- 'xzkern') reader='xzcat' ;;
|
||||
- 'zstd22') reader='zstdcat' ;;
|
||||
- *)
|
||||
- error 'Unknown zboot compression type: %s' "${comp_type#'zboot '}"
|
||||
- return 1
|
||||
+ 'gzip')
|
||||
+ reader='zcat'
|
||||
+ ;;
|
||||
+ 'lz4')
|
||||
+ reader='lz4cat'
|
||||
+ size="$((size + 4))"
|
||||
+ ;;
|
||||
+ 'lzma')
|
||||
+ reader='xzcat'
|
||||
+ size="$((size + 4))"
|
||||
+ ;;
|
||||
+ 'lzo')
|
||||
+ reader="lzop -d"
|
||||
+ size="$((size + 4))"
|
||||
+ ;;
|
||||
+ 'xzkern')
|
||||
+ reader='xzcat'
|
||||
+ size="$((size + 4))"
|
||||
+ ;;
|
||||
+ 'zstd22')
|
||||
+ reader='zstdcat'
|
||||
+ size="$((size + 4))"
|
||||
;;
|
||||
- esac
|
||||
-
|
||||
- tail --bytes=+"$((offset+start+1))" <"$file" | head --bytes="$((size+size_len))" | $reader -
|
||||
-}
|
||||
-
|
||||
-_arm_zimage_cat() {
|
||||
- # Linux kernel ARM32 self-decompressing "zImage"
|
||||
-
|
||||
- # The end of the file looks like:
|
||||
- #
|
||||
- # input_data: char []<compressed data>
|
||||
- # piggy_size: u32 len(<uncompressed_data>)
|
||||
- # padding: char []<zeros> ; <=4096 bytes
|
||||
- # got: u32 []<global_offsets>
|
||||
- # trailer: char []<whatever> ; <512 bytes
|
||||
- #
|
||||
- # We can find the location of "piggy_size" from the file header,
|
||||
- # and then we can ignore some zeros to find the GOT. It is
|
||||
- # reasonable to assume (but still a heuristic) that the largest
|
||||
- # value in the GOT that is <0x20000 (128KiB) is the location of
|
||||
- # input_data.
|
||||
- #
|
||||
- # Note that piggy_size is *not* at a 4-byte-aligned location.
|
||||
- #
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/compressed/vmlinux.lds.S?h=v6.7
|
||||
- #
|
||||
- # About that 0x20000 heuristic: input_data is put after the
|
||||
- # extraction code, and so its location is basically determined by
|
||||
- # the size of the extraction code, which will vary based on a
|
||||
- # number of factors. So, this heuristic relies on a few things:
|
||||
- #
|
||||
- # 1. That ${max_extraction_code_size} is less than ~128KiB
|
||||
- # 2. That ${min_compressed_kernel_size}+${min_extraction_code_size}
|
||||
- # is more than ~128KiB.
|
||||
- #
|
||||
- # How safe are those assumptions?
|
||||
- #
|
||||
- # 1. Using GCC 12.2.0 with kernels 4.15 - 6.8 in a variety of
|
||||
- # configurations, I've observed input_data being placed at
|
||||
- # addresses in the range 0x152e - 0x10f63 (~5.3KiB - ~68KiB).
|
||||
- # This is well within our 128KiB threshold.
|
||||
- # 2. Let's just say that at the limit min_extraction_code_size =~
|
||||
- # 0; I think it is safe to assume that even compressed,
|
||||
- # kernels are measured in MiB, not KiB. (Though, when writing
|
||||
- # tests for this code, it means we must be careful to use
|
||||
- # files that are large enough!)
|
||||
-
|
||||
- local file="$1" offset="${2:-0}"
|
||||
-
|
||||
- # Read magic numbers.
|
||||
- local hdr_endian_indicator cpu_endian_indicator have_table_indicator hdr_endian cpu_endian
|
||||
- hdr_endian_indicator="$(od -An -t x1 -j "$((offset+0x24))" -N4 "$file" | tr -d ' ')"
|
||||
- cpu_endian_indicator="$(od -An -t x1 -j "$((offset+0x30))" -N4 "$file" | tr -d ' ')"
|
||||
- have_table_indicator="$(od -An -t x1 -j "$((offset+0x34))" -N4 "$file" | tr -d ' ')"
|
||||
- case "$hdr_endian_indicator" in #
|
||||
- '18286f01') hdr_endian='little' ;;
|
||||
- '016f2818') hdr_endian='big' ;;
|
||||
*)
|
||||
- error '_arm_zimage_cat called, but file does not look like an ARM zImage'
|
||||
- return 1
|
||||
+ reader="$comp_type"
|
||||
+ size="$((size + 4))"
|
||||
;;
|
||||
esac
|
||||
- case "$cpu_endian_indicator" in
|
||||
- # Prior to v3.17, hdr_endian and cpu_endian were the same, and
|
||||
- # there was no cpu_endian_indicator.
|
||||
- '01020304') cpu_endian='little' ;;
|
||||
- '04030201') cpu_endian='big' ;;
|
||||
- *) cpu_endian="$hdr_endian" ;;
|
||||
- esac
|
||||
- if [[ "$have_table_indicator" != '45454545' ]]; then
|
||||
- error 'ARM zImage is too old (before v4.15, 2017)'
|
||||
- return 1
|
||||
- fi
|
||||
|
||||
- # Read offsets.
|
||||
- local zboot_rom_text magic_table_addr piggy_size_addr aligned_after_piggy
|
||||
- zboot_rom_text="$(od --endian="$hdr_endian" -An -t u4 -j "$((offset+0x28))" -N4 "$file" | tr -d ' ')"
|
||||
- magic_table_addr="$(od --endian="$hdr_endian" -An -t u4 -j "$((offset+0x38))" -N4 "$file" | tr -d ' ')"
|
||||
- piggy_size_addr="$(od --endian="$hdr_endian" -An -t u4 -j $((offset+magic_table_addr+8)) -N4 "$file" | tr -d ' ')"
|
||||
- aligned_after_piggy=$((((piggy_size_addr+4+3)/4)*4))
|
||||
-
|
||||
- # Read the padding and GOT.
|
||||
- # These values have zboot_rom_text added to them.
|
||||
- local -i input_data_addr=0 in_got=0 val size
|
||||
- while read -r val; do
|
||||
- if (( val == 0 )); then
|
||||
- if (( in_got )); then
|
||||
- break
|
||||
- else
|
||||
- continue
|
||||
- fi
|
||||
- fi
|
||||
- in_got=1
|
||||
- val="$((val - zboot_rom_text))"
|
||||
- if (( val > input_data_addr && val < 0x20000 )); then
|
||||
- input_data_addr=$val
|
||||
- fi
|
||||
- done < <(od --endian="$cpu_endian" -An -v -t u4 -j "$((offset+aligned_after_piggy))" "$file" | xargs printf '%s\n')
|
||||
- if (( input_data_addr == 0 )); then
|
||||
- error 'Could not find input_data_addr in ARM zImage'
|
||||
- return 1
|
||||
- fi
|
||||
- size="$((piggy_size_addr-input_data_addr))"
|
||||
+ read -r _ _ kver _ < <(dd if="$1" bs=1 count="$size" skip="$start" 2>/dev/null | $reader - | grep -m1 -aoE 'Linux version .(\.[-[:alnum:]+]+)+')
|
||||
|
||||
- # gzip contains a 4-byte uncompressed-size suffix, so for
|
||||
- # CONFIG_KERNEL_GZIP it saves 4 bytes by having the input_data
|
||||
- # extend into the piggy_size.
|
||||
- #
|
||||
- # That is: the Makefile says
|
||||
- # compress-$(CONFIG_KERNEL_GZIP) = gzip
|
||||
- # instead of
|
||||
- # compress-$(CONFIG_KERNEL_GZIP) = gzip_with_size
|
||||
- #
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/compressed/Makefile?h=v6.7#n79
|
||||
- if [[ "$(detect_compression "$file" "$((offset+input_data_addr))")" == 'gzip' ]]; then
|
||||
- size=$((size+4))
|
||||
- fi
|
||||
-
|
||||
- decompress_cat "$file" "$((offset+input_data_addr))" "$size"
|
||||
+ printf '%s' "$kver"
|
||||
}
|
||||
|
||||
kver_generic() {
|
||||
@@ -438,11 +282,24 @@
|
||||
# gzipped /boot/vmlinuz-linuz. On other architectures it may be worth trying
|
||||
# rather than bailing, and inform the user if none was found.
|
||||
|
||||
- local kver=''
|
||||
-
|
||||
# Loosely grep for `linux_banner`:
|
||||
- # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/version-timestamp.c?h=v6.7#n28
|
||||
- read -r _ _ kver _ < <(decompress_cat "$1" | grep -m1 -aoE 'Linux version .(\.[-[:alnum:]+]+)+')
|
||||
+ # https://elixir.bootlin.com/linux/v5.7.2/source/init/version.c#L46
|
||||
+ local kver='' reader='cat'
|
||||
+ local comp_type=''
|
||||
+
|
||||
+ comp_type="$(detect_compression "$1")"
|
||||
+
|
||||
+ if [[ "$comp_type" == 'zimg' ]]; then
|
||||
+ # Generic EFI zboot image
|
||||
+ kver_zimage "$1"
|
||||
+ return 0
|
||||
+ elif [[ "$comp_type" == 'gzip' ]]; then
|
||||
+ reader='zcat'
|
||||
+ fi
|
||||
+
|
||||
+ [[ "$(detect_compression "$1")" == 'gzip' ]] && reader='zcat'
|
||||
+
|
||||
+ read -r _ _ kver _ < <($reader "$1" | grep -m1 -aoE 'Linux version .(\.[-[:alnum:]+]+)+')
|
||||
|
||||
printf '%s' "$kver"
|
||||
}
|
||||
@@ -820,16 +677,6 @@
|
||||
command install -dm"${mode}" "${BUILDROOT}${path}"
|
||||
}
|
||||
|
||||
-add_dir_early() {
|
||||
- # add a directory (with parents) to $EARLYROOT
|
||||
- # $1: pathname on initcpio
|
||||
- # $2: mode (optional)
|
||||
-
|
||||
- # $EARLYROOT is assigned by mkinitcpio
|
||||
- # shellcheck disable=SC2153
|
||||
- BUILDROOT="$EARLYROOT" add_dir "$@" || return
|
||||
-}
|
||||
-
|
||||
add_symlink() {
|
||||
# Add a symlink to the initcpio image. There is no checking done
|
||||
# to ensure that the target of the symlink exists.
|
||||
@@ -878,21 +725,7 @@
|
||||
# determine source and destination
|
||||
local src="$1" dest="${2:-$1}" mode="$3" srcrealpath destrealpath
|
||||
|
||||
- # Treat '-' as /dev/stdin
|
||||
- if [[ "$src" == '-' ]]; then
|
||||
- src='/dev/stdin'
|
||||
- fi
|
||||
-
|
||||
- if [[ -c "$src" || -p "$src" ]]; then
|
||||
- if [[ "$src" == "$dest" || "$dest" == *'/' ]]; then
|
||||
- error "no destination file specified for: '%s'" "$src"
|
||||
- return 1
|
||||
- fi
|
||||
- if [[ -z "$mode" ]]; then
|
||||
- error "no file mode specified for: '%s'" "$dest"
|
||||
- return 1
|
||||
- fi
|
||||
- elif [[ ! -f "$src" ]]; then
|
||||
+ if [[ ! -f "$src" ]]; then
|
||||
error "file not found: '%s'" "$src"
|
||||
return 1
|
||||
fi
|
||||
@@ -912,7 +745,7 @@
|
||||
fi
|
||||
|
||||
# check if $src is a symlink
|
||||
- if [[ -L "$src" && ! -c "$src" && ! -p "$src" ]]; then
|
||||
+ if [[ -L "$src" ]]; then
|
||||
srcrealpath="$(realpath -- "$src")"
|
||||
if [[ "$srcrealpath" != "$dest" ]]; then
|
||||
# add the target file
|
||||
@@ -923,15 +756,13 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
- # cp does not create directories leading to the destination and install
|
||||
- # does not create the last directory if the destination is a directory.
|
||||
- [[ ! -e "${BUILDROOT}${dest%/*}" && ( -z "$mode" || "$dest" == *'/' ) ]] && add_dir "${dest%/*}"
|
||||
-
|
||||
- # if destination ends with a slash, then use the source file name
|
||||
- if [[ -e "${BUILDROOT}${dest/%\//\/${src##*/}}" ]]; then
|
||||
- quiet 'overwriting file: %s' "${dest/%\//\/${src##*/}}"
|
||||
+ # unlike install, cp does not create directories leading to the destination
|
||||
+ [[ -z "$mode" && ! -e "${BUILDROOT}${dest%/*}" ]] && add_dir "${dest%/*}"
|
||||
+
|
||||
+ if [[ -e "${BUILDROOT}${dest}" ]]; then
|
||||
+ quiet 'overwriting file: %s' "$dest"
|
||||
else
|
||||
- quiet 'adding file: %s' "${dest/%\//\/${src##*/}}"
|
||||
+ quiet 'adding file: %s' "$dest"
|
||||
fi
|
||||
if [[ -z "$mode" ]]; then
|
||||
command cp --remove-destination --preserve=mode,ownership "$src" "${BUILDROOT}${dest}"
|
||||
@@ -940,18 +771,6 @@
|
||||
fi
|
||||
}
|
||||
|
||||
-add_file_early() {
|
||||
- # Add a plain file to $EARLYROOT. No parsing is performed and only
|
||||
- # the singular file is added.
|
||||
- # $1: path to file
|
||||
- # $2: destination on initcpio (optional, defaults to same as source)
|
||||
- # $3: mode
|
||||
-
|
||||
- # $EARLYROOT is assigned by mkinitcpio
|
||||
- # shellcheck disable=SC2153
|
||||
- BUILDROOT="$EARLYROOT" add_file "$@" || return
|
||||
-}
|
||||
-
|
||||
add_runscript() {
|
||||
# Adds a runtime script to the initcpio image. The name is derived from the
|
||||
# script which calls it as the basename of the caller.
|
||||
@@ -1139,7 +958,7 @@
|
||||
# creates a temporary directory for the buildroot and initialize it with a
|
||||
# basic set of necessary directories and symlinks
|
||||
|
||||
- local kernver="$1" generatedir="$2" workdir arch buildroot osreleasefile root
|
||||
+ local kernver="$1" generatedir="$2" workdir arch buildroot osreleasefile
|
||||
arch="$(uname -m)"
|
||||
|
||||
if ! workdir="$(mktemp -d --tmpdir mkinitcpio.XXXXXX 2>/dev/null)"; then
|
||||
@@ -1160,21 +979,19 @@
|
||||
echo 1 > "${earlyroot}/early_cpio"
|
||||
|
||||
# base directory structure
|
||||
- for root in "$buildroot" "$earlyroot"; do
|
||||
- install -dm755 "$root"/{new_root,proc,sys,dev,run,tmp,var,etc,usr/{local{,/bin,/sbin,/lib},lib,bin}}
|
||||
- ln -s "usr/lib" "$root/lib"
|
||||
- ln -s "bin" "$root/usr/sbin"
|
||||
- ln -s "usr/bin" "$root/bin"
|
||||
- ln -s "usr/bin" "$root/sbin"
|
||||
- ln -s "../run" "$root/var/run"
|
||||
-
|
||||
- case "$arch" in
|
||||
- x86_64)
|
||||
- ln -s "lib" "$root/usr/lib64"
|
||||
- ln -s "usr/lib" "$root/lib64"
|
||||
- ;;
|
||||
- esac
|
||||
- done
|
||||
+ install -dm755 "$buildroot"/{new_root,proc,sys,dev,run,tmp,var,etc,usr/{local{,/bin,/sbin,/lib},lib,bin}}
|
||||
+ ln -s "usr/lib" "$buildroot/lib"
|
||||
+ ln -s "bin" "$buildroot/usr/sbin"
|
||||
+ ln -s "usr/bin" "$buildroot/bin"
|
||||
+ ln -s "usr/bin" "$buildroot/sbin"
|
||||
+ ln -s "/run" "$buildroot/var/run"
|
||||
+
|
||||
+ case "$arch" in
|
||||
+ x86_64)
|
||||
+ ln -s "lib" "$buildroot/usr/lib64"
|
||||
+ ln -s "usr/lib" "$buildroot/lib64"
|
||||
+ ;;
|
||||
+ esac
|
||||
|
||||
# mkinitcpio version stamp
|
||||
# shellcheck disable=SC2154
|
||||
@@ -1354,43 +1171,30 @@
|
||||
}
|
||||
|
||||
add_all_modules_from_symbol() {
|
||||
- local symbol="$1"
|
||||
- local -a mods paths=("${@:2}")
|
||||
-
|
||||
- mapfile -t mods < <(find_module_from_symbol "$symbol" "${paths[@]}")
|
||||
- if (( ! ${#mods[@]} )); then
|
||||
- paths=("${paths[@]#=}") paths=("${paths[@]/#/\'}") paths=("${paths[@]/%/\',}")
|
||||
- local path_string="${paths[*]}"
|
||||
- warning "No module containing the symbol '%s' found in: %s" "$symbol" "${path_string%,}"
|
||||
- return 1
|
||||
- fi
|
||||
-
|
||||
- # add_checked_modules_from_symbol
|
||||
- if [[ "${FUNCNAME[1]}" == 'add_checked_modules_from_symbol' ]]; then
|
||||
- # _autodetect_cache is declared in mkinitcpio and assigned in install/autodetect
|
||||
- # shellcheck disable=SC2154
|
||||
- if (( ${#_autodetect_cache[@]} )); then
|
||||
- mapfile -t mods < <(printf '%s\n' "${mods[@]}" | grep -xFf <(printf '%s\n' "${!_autodetect_cache[@]}"))
|
||||
- # Do not fail if no autodetected module has the symbol
|
||||
- if (( ! ${#mods[@]} )); then
|
||||
- return 0
|
||||
- fi
|
||||
- fi
|
||||
- fi
|
||||
+ local -a mods
|
||||
|
||||
+ mapfile -t mods < <(find_module_from_symbol "$@")
|
||||
+ (( ${#mods[@]} )) || return 1
|
||||
map add_module "${mods[@]}"
|
||||
}
|
||||
|
||||
-
|
||||
add_checked_modules_from_symbol() {
|
||||
- if ! add_all_modules_from_symbol "$@"; then
|
||||
- return 1
|
||||
+ local -a mods
|
||||
+
|
||||
+ mapfile -t mods < <(find_module_from_symbol "$@")
|
||||
+ (( ${#mods[@]} )) || return 1
|
||||
+
|
||||
+ # _autodetect_cache is declared in mkinitcpio and assigned in install/autodetect
|
||||
+ # shellcheck disable=SC2154
|
||||
+ if (( ${#_autodetect_cache[@]} )); then
|
||||
+ mapfile -t mods < <(grep -xFf <(printf '%s\n' "${!_autodetect_cache[@]}") <<<"${mods[@]}")
|
||||
+ # Do not fail if no autodetected module has the symbol
|
||||
+ if (( ${#mods[@]} )); then
|
||||
+ return 0
|
||||
+ fi
|
||||
fi
|
||||
-}
|
||||
|
||||
-if [[ "$0" == *'/functions' && "$1" == 'run_mkinitcpio_func' ]]; then
|
||||
- shift
|
||||
- "$@"
|
||||
-fi
|
||||
+ map add_module "${mods[@]}"
|
||||
+}
|
||||
|
||||
# vim: set ft=sh ts=4 sw=4 et:
|
|
@ -56,7 +56,8 @@ HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont bl
|
|||
|
||||
# COMPRESSION
|
||||
# Use this to compress the initramfs image. By default, zstd compression
|
||||
# is used. Use 'cat' to create an uncompressed image.
|
||||
# is used for Linux ≥ 5.9 and gzip compression is used for Linux < 5.9.
|
||||
# Use 'cat' to create an uncompressed image.
|
||||
#COMPRESSION="zstd"
|
||||
#COMPRESSION="gzip"
|
||||
#COMPRESSION="bzip2"
|
||||
|
@ -70,7 +71,11 @@ HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont bl
|
|||
#COMPRESSION_OPTIONS=()
|
||||
|
||||
# MODULES_DECOMPRESS
|
||||
# Decompress kernel modules during initramfs creation.
|
||||
# Enable to speedup boot process, disable to save RAM
|
||||
# during early userspace. Switch (yes/no).
|
||||
#MODULES_DECOMPRESS="yes"
|
||||
# Decompress loadable kernel modules and their firmware during initramfs
|
||||
# creation. Switch (yes/no).
|
||||
# Enable to allow further decreasing image size when using high compression
|
||||
# (e.g. xz -9e or zstd --long --ultra -22) at the expense of increased RAM usage
|
||||
# at early boot.
|
||||
# Note that any compressed files will be placed in the uncompressed early CPIO
|
||||
# to avoid double compression.
|
||||
#MODULES_DECOMPRESS="no"
|
||||
|
|
10
mkinitcpio/sys.d
Normal file
10
mkinitcpio/sys.d
Normal file
|
@ -0,0 +1,10 @@
|
|||
pkg/mkinitcpio/usr/lib/initcpio/install/lvm2: # this udev rule is specific for systemd and non-systemd systems
|
||||
pkg/mkinitcpio/usr/lib/initcpio/install/lvm2: if declare -F add_systemd_unit &>/dev/null; then
|
||||
pkg/mkinitcpio/usr/lib/initcpio/install/mdadm_udev: if declare -F add_systemd_unit &>/dev/null; then
|
||||
pkg/mkinitcpio/usr/lib/initcpio/install/mdadm_udev: add_systemd_unit 'mdmon@.service'
|
||||
pkg/mkinitcpio/usr/lib/initcpio/functions: # add os-release and initrd-release for systemd
|
||||
pkg/mkinitcpio/usr/lib/initcpio/init_functions: # ensure that root is going to be mounted rw. Otherwise, systemd
|
||||
pkg/mkinitcpio/usr/lib/initcpio/init_functions:# TODO: this really needs to follow the logic of systemd's encode_devnode_name
|
||||
pkg/mkinitcpio/usr/share/mkinitcpio/hook.preset:#default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp"
|
||||
pkg/mkinitcpio/usr/bin/mkinitcpio: for stub in /usr/lib/{systemd/boot/efi,gummiboot}/"linux${uefiarch}.efi.stub"; do
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue