Will update to 6.1 when core-stable goes to 6.1 not if core-testing is on 6.1.
Search Criteria
Package Details: pacman-static 6.1.0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/pacman-static.git (read-only, click to copy) |
---|---|
Package Base: | pacman-static |
Description: | Statically-compiled pacman (to fix or install systems without libc) |
Upstream URL: | https://www.archlinux.org/pacman/ |
Licenses: | GPL |
Submitter: | mazieres |
Maintainer: | Morganamilo (andreas_baumann) |
Last Packager: | andreas_baumann |
Votes: | 43 |
Popularity: | 1.62 |
First Submitted: | 2013-01-09 02:17 (UTC) |
Last Updated: | 2024-03-16 13:03 (UTC) |
Dependencies (4)
- pacman (pacman-pbAUR, pacman-fancy-progress-gitAUR, pacman-gitAUR)
- kernel-headers-musl (make)
- meson (meson-gitAUR, meson-rustAUR) (make)
- musl (musl-gitAUR) (make)
Required by (0)
Sources (34)
- ca-dir.patch
- https://c-ares.haxx.se/download/c-ares-1.27.0.tar.gz
- https://c-ares.haxx.se/download/c-ares-1.27.0.tar.gz.asc
- https://curl.haxx.se/download/curl-8.6.0.tar.gz
- https://curl.haxx.se/download/curl-8.6.0.tar.gz.asc
- https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.zst
- https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.zst.sig
- https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.tar.xz
- https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.tar.xz.asc
- https://github.com/nghttp2/nghttp2/releases/download/v1.60.0/nghttp2-1.60.0.tar.xz
- https://github.com/tukaani-project/xz/releases/download/v5.6.1/xz-5.6.1.tar.gz
- https://github.com/tukaani-project/xz/releases/download/v5.6.1/xz-5.6.1.tar.gz.sig
- https://gitlab.archlinux.org/pacman/pacman/-/releases/v6.1.0/downloads/pacman-6.1.0.tar.xz
- https://gitlab.archlinux.org/pacman/pacman/-/releases/v6.1.0/downloads/pacman-6.1.0.tar.xz.sig
- https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.6.tar.bz2
- https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.6.tar.bz2.sig
- https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.48.tar.bz2
- https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.48.tar.bz2.sig
- https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
- https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz.sig
- https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.23.2.tar.bz2
- https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.23.2.tar.bz2.sig
- https://www.openssl.org/source/openssl-3.2.1.tar.gz
- https://www.openssl.org/source/openssl-3.2.1.tar.gz.asc
- https://zlib.net/zlib-1.3.1.tar.gz
- https://zlib.net/zlib-1.3.1.tar.gz.asc
- openssl-3.0.7-no-atomic.patch
- pacman-static-drop-result-warn.patch
- pacman-static-fix-debugedit.patch
- pacman-static-fix-msg-unknown-key.patch
- pacman-static-make-aligned-titles.patch
- pacman-static-man-gitlab.patch
- pacman-static-repo-add-parseopts.patch
- revertme-makepkg-remove-libdepends-and-libprovides.patch
andreas_baumann commented on 2024-03-14 09:52 (UTC)
andreas_baumann commented on 2024-03-09 16:13 (UTC)
@Archttila: this doesn't explain anything. What where you doing when you got this error message?
Archttila commented on 2024-03-09 15:43 (UTC)
no such file or directory: PKGBUILD
andreas_baumann commented on 2024-02-16 07:42 (UTC)
For maintainance of the keys:
for i in $( . PKGBUILD; echo "${validpgpkeys[@]}" ); do gpg --receive "$i"; gpg -a --export "$i" > "keys/pgp/$i.asc" ; done
andreas_baumann commented on 2024-02-16 07:39 (UTC) (edited on 2024-02-16 07:42 (UTC) by andreas_baumann)
Ideal would be if we could have a 'keys/pgp' directory as for the "normal" packages, where we could deposit all PGP keys necessary to build the package:
So we could keep the keys of for instance 'openssl' there:
ls keys/pgp/
7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C.asc A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C.asc
8657ABB260F056B1E5190839D9C4D26D0E604491.asc EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5.asc
VorpalWay commented on 2024-02-15 21:56 (UTC) (edited on 2024-02-15 21:59 (UTC) by VorpalWay)
It seems there should probably be a list of GPG keys you need to import to build this somewhere. I ended up extracting all the IDs from the PKGBUILD, but it would be nice to have it collected in a single list given how many there are. As of writing this I ended up with the following list
gpg --recv-keys \
6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD B8151B117037781095514CA7BBDFFC92306B1121 \
27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 \
8657ABB260F056B1E5190839D9C4D26D0E604491 7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C \
A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5 \
8657ABB260F056B1E5190839D9C4D26D0E604491 7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C \
A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5 \
5ED46A6721D365587791E2AA783FCD8E58BCAFBA 3690C240CE51B4670D30AD1C38EE757D69184620 \
22D465F2B4C173803B20C6DE59FCF207FEA7F445 EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A \
4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 \
031EC2536E580D8EA286A9F22071B08A33BD3F06 6DAA6E64A76D2840571B4902528897B826403ADA \
AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD A5A45B12AD92D964B89EEE2DEC560C81CEC2276E \
DB2C7CF1B4C265FAEF56E3FC5848A18B8F14184B
In fact I believe that it is recommended to bundle the required keys in the package repo these days? I'm pretty sure I saw something about that in some packaging guidelines (probably on the wiki).
BryanLiang commented on 2024-02-07 13:39 (UTC)
The key EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5
for openssl has been expired.
andreas_baumann commented on 2024-01-24 17:12 (UTC)
updated nghttp2 to 1.59.0 and zlib to 1.3.1
LukeShortCloud commented on 2024-01-18 03:46 (UTC)
Thanks for all of the hints! I did not realize that pacman-key
was a shell script. The short conclusion to my problem is that I was able to fix it by running: sudo sed -i s'/pacman-conf/pacman-conf-static/'g /usr/bin/pacman-key
.
Good to know that I can also easily look at the code to manually replicate the GPG actions. Also good to know about makepkg
being able to use pacman-static
! I try to use pre-compiled packages as much as possible (either my own or from the Chaotic repository).
I am the creator of winesapOS and we have an automated upgrade script. One thing I am working on is to refactor it out of the winesapOS project and for it to to work for any generic Arch Linux distribution. I will apply these teachings there!
https://github.com/LukeShortCloud/winesapOS/blob/3.4.0/scripts/winesapos-upgrade.sh
No changes need to be made to the pacman-static
package. It was just a lack of knowledge on my side for how some of this worked. Thanks again! :-)
andreas_baumann commented on 2024-01-16 19:08 (UTC) (edited on 2024-01-17 06:48 (UTC) by andreas_baumann)
Actually:
for exe in "${pkgdir}"/usr/bin/*; do
if [[ -f ${exe} && $(head -c4 "${exe}") = $'\x7fELF' ]]; then
mv "${exe}" "${exe}"-static
else
rm "${exe}"
fi
done
makes static versions of things which are recognized as ELF binaries. pacman-key
and all the other "binaries" you mentioned are shell scripts.
The shell scripts might contain calls to pacman
instead of pacman-static
, that
might be something one could patch, on the other hand the pacman to use can be
set via environment:
# set pacman command if not already defined
PACMAN=${PACMAN:-pacman}
So, something like PACMAN=pacman-static makepkg -s
should actually work. pacman-key
should actually just manipulate the keys in /etc/pacman.d/gnupg
without
the help of pacman
or pacman-static
(as far as I can tell).
Besides, those can also be manipulated directly with gpg
.
Building packages while your standard pacman
is broken, is maybe not a smart idea to begin with and
you should fix your standard pacman first.
Well, "repo-elaphants" are actually absolutely crucial to run statically.. ;-)
Opinions?
Pinned Comments
Morganamilo commented on 2022-02-20 18:30 (UTC)
There's now a custom repo and binaries again. Though only for x86_64 currently.
Custom Repo
Pre compiled binaries
https://pkgbuild.com/~morganamilo/pacman-static/x86_64/bin/