mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
core/pacman to 4.2.0-5
This commit is contained in:
parent
cbdb22c623
commit
0de64ad34e
5 changed files with 270 additions and 45 deletions
|
@ -1,4 +1,4 @@
|
|||
From f1f7a14e173822fb075576c69f8bd4476f5263da Mon Sep 17 00:00:00 2001
|
||||
From d78f14170b2950fd3a252bec1ecc808a6de433b1 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Sat, 13 Sep 2014 18:58:16 -0600
|
||||
Subject: [PATCH] Sychronize filesystem
|
||||
|
@ -14,10 +14,10 @@ Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
|||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
|
||||
index 8d4e0e7..886f87b 100644
|
||||
index e680feb..1e103f2 100644
|
||||
--- a/lib/libalpm/trans.c
|
||||
+++ b/lib/libalpm/trans.c
|
||||
@@ -175,6 +175,9 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
|
||||
@@ -211,6 +211,9 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
|
||||
|
||||
trans->state = STATE_COMMITED;
|
||||
|
||||
|
@ -28,5 +28,5 @@ index 8d4e0e7..886f87b 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.1.0
|
||||
2.2.1
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
From 41c8263ba289dac191d7f74faaa62476baf41c28 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Powalowski <tpowa@archlinux.org>
|
||||
Date: Fri, 21 Nov 2014 20:54:58 +1000
|
||||
Subject: [PATCH] pacman-key: compatibility with gnupg-2.1
|
||||
|
||||
GnuPG 2.1 no longer allow empty passphrases by default.
|
||||
|
||||
Signed-off-by: Allan McRae <allan@archlinux.org>
|
||||
---
|
||||
scripts/pacman-key.sh.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
|
||||
index ba8d02e..5ba0ad8 100644
|
||||
--- a/scripts/pacman-key.sh.in
|
||||
+++ b/scripts/pacman-key.sh.in
|
||||
@@ -151,6 +151,7 @@ Key-Usage: sign
|
||||
Name-Real: Pacman Keyring Master Key
|
||||
Name-Email: pacman@localhost
|
||||
Expire-Date: 0
|
||||
+%no-protection
|
||||
%commit
|
||||
%echo Done
|
||||
EOF
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -4,20 +4,20 @@
|
|||
# Maintainer: Dave Reisner <dreisner@archlinux.org>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - arch/host/flags for arm and armv7h
|
||||
# - pacman.conf: architecture=arm/armv7h, added our aur and alarm repos
|
||||
# - arch/host/flags for arm, armv6h, and armv7h
|
||||
# - pacman.conf: architecture=arm/armv6h/armv7h, added our aur and alarm repos
|
||||
# - makepkg.conf: adjusted C/CXX/LDFLAGS
|
||||
# - patch to sync filesystem after install/remove
|
||||
|
||||
pkgname=pacman
|
||||
pkgver=4.1.2
|
||||
pkgrel=7
|
||||
pkgver=4.2.0
|
||||
pkgrel=5
|
||||
pkgdesc="A library-based package manager with dependency support"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.archlinux.org/pacman/"
|
||||
license=('GPL')
|
||||
groups=('base' 'base-devel')
|
||||
depends=('bash>=4.2.042-2' 'glibc>=2.17-2' 'libarchive>=3.1.2' 'curl>=7.19.4'
|
||||
depends=('bash' 'glibc' 'libarchive>=3.1.2' 'curl>=7.39.0'
|
||||
'gpgme' 'pacman-mirrorlist')
|
||||
checkdepends=('python2' 'fakechroot')
|
||||
optdepends=('fakeroot: for makepkg usage as normal user')
|
||||
|
@ -27,22 +27,24 @@ replaces=('pacman-contrib')
|
|||
backup=(etc/pacman.conf etc/makepkg.conf)
|
||||
options=('strip' 'debug')
|
||||
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
|
||||
0001-pacman-key-compatibility-with-gnupg-2.1.patch
|
||||
0001-Sychronize-filesystem.patch
|
||||
pacman.conf
|
||||
makepkg.conf)
|
||||
md5sums=('063c8b0ff6bdf903dc235445525627cd'
|
||||
makepkg.conf
|
||||
pacman-4.2.0-roundup.patch)
|
||||
md5sums=('184ce14f1f326fede72012cca51bba51'
|
||||
'SKIP'
|
||||
'd0e015b1bf78cbf9762d9c44ea5f77a9'
|
||||
'f7f7bd5bdd5f7973955f3af8bbceae61'
|
||||
'291123878ec33ca8a3020ac85f2e91d1'
|
||||
'5c491b27bae54d93d6ba972ce0fccfa7'
|
||||
'1f8d6efc76a395956fdae71927698666')
|
||||
'c88c41076f26e97c6915d8b967df96e7'
|
||||
'8b8e478e3b6f785f6fb0029f792cea38')
|
||||
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD') # Allan McRae <allan@archlinux.org>
|
||||
|
||||
prepare() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
patch -p1 -i ../0001-Sychronize-filesystem.patch
|
||||
patch -p1 -i $srcdir/0001-pacman-key-compatibility-with-gnupg-2.1.patch
|
||||
|
||||
# v4.2.0-13-gacc639a
|
||||
patch -p1 -i $srcdir/pacman-4.2.0-roundup.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
|
@ -19,6 +19,13 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %
|
|||
# /usr/bin/lftpget -c
|
||||
# /usr/bin/wget
|
||||
|
||||
#-- The the package required by makepkg to download VCS sources
|
||||
# Format: 'protocol::package'
|
||||
VCSCLIENTS=('bzr::bzr'
|
||||
'git::git'
|
||||
'hg::mercurial'
|
||||
'svn::subversion')
|
||||
|
||||
#########################################################################
|
||||
# ARCHITECTURE, COMPILE FLAGS
|
||||
#########################################################################
|
||||
|
@ -43,7 +50,7 @@ DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
|
|||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
|
||||
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
|
||||
# A negated environment option will do the opposite of the comments below.
|
||||
#
|
||||
#-- fakeroot: Allow building packages as a non-root user
|
||||
|
@ -53,7 +60,7 @@ DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
|
|||
#-- check: Run the check() function if present in the PKGBUILD
|
||||
#-- sign: Generate PGP signature file
|
||||
#
|
||||
BUILDENV=(fakeroot !distcc color !ccache check !sign)
|
||||
BUILDENV=(!distcc color !ccache check !sign)
|
||||
#
|
||||
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
|
||||
#-- specify a space-delimited list of hosts running in the DistCC cluster.
|
||||
|
|
243
core/pacman/pacman-4.2.0-roundup.patch
Normal file
243
core/pacman/pacman-4.2.0-roundup.patch
Normal file
|
@ -0,0 +1,243 @@
|
|||
diff --git a/contrib/paclist.sh.in b/contrib/paclist.sh.in
|
||||
index 1c10b32..f4fd540 100644
|
||||
--- a/contrib/paclist.sh.in
|
||||
+++ b/contrib/paclist.sh.in
|
||||
@@ -31,7 +31,7 @@ if ! type gettext &>/dev/null; then
|
||||
fi
|
||||
|
||||
usage() {
|
||||
- printf "%s (pacman) v%s\n" "${myname}" "myver"
|
||||
+ printf "%s (pacman) v%s\n" "${myname}" "${myver}"
|
||||
echo
|
||||
printf "List all packages installed from a given repository\n" "${myname}"
|
||||
echo
|
||||
diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
|
||||
index 712ca60..9ed7ef9 100644
|
||||
--- a/etc/makepkg.conf.in
|
||||
+++ b/etc/makepkg.conf.in
|
||||
@@ -19,6 +19,13 @@ DLAGENTS=('ftp::/usr/bin/curl -qfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o
|
||||
# /usr/bin/lftpget -c
|
||||
# /usr/bin/wget
|
||||
|
||||
+#-- The the package required by makepkg to download VCS sources
|
||||
+# Format: 'protocol::package'
|
||||
+VCSCLIENTS=('bzr::bzr'
|
||||
+ 'git::git'
|
||||
+ 'hg::mercurial'
|
||||
+ 'svn::subversion')
|
||||
+
|
||||
#########################################################################
|
||||
# ARCHITECTURE, COMPILE FLAGS
|
||||
#########################################################################
|
||||
diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c
|
||||
index d232bcc..9af5e84 100644
|
||||
--- a/lib/libalpm/log.c
|
||||
+++ b/lib/libalpm/log.c
|
||||
@@ -52,7 +52,7 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
|
||||
int fd;
|
||||
do {
|
||||
fd = open(handle->logfile, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC,
|
||||
- 0000);
|
||||
+ 0644);
|
||||
} while(fd == -1 && errno == EINTR);
|
||||
if(fd >= 0) {
|
||||
handle->logstream = fdopen(fd, "a");
|
||||
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
|
||||
index e2997f6..d9ed3d3 100644
|
||||
--- a/lib/libalpm/package.c
|
||||
+++ b/lib/libalpm/package.c
|
||||
@@ -574,7 +574,7 @@ int _alpm_pkg_dup(alpm_pkg_t *pkg, alpm_pkg_t **new_ptr)
|
||||
newpkg->installdate = pkg->installdate;
|
||||
STRDUP(newpkg->packager, pkg->packager, goto cleanup);
|
||||
STRDUP(newpkg->md5sum, pkg->md5sum, goto cleanup);
|
||||
- STRDUP(newpkg->sha256sum, pkg->md5sum, goto cleanup);
|
||||
+ STRDUP(newpkg->sha256sum, pkg->sha256sum, goto cleanup);
|
||||
STRDUP(newpkg->arch, pkg->arch, goto cleanup);
|
||||
newpkg->size = pkg->size;
|
||||
newpkg->isize = pkg->isize;
|
||||
diff --git a/scripts/makepkg-template.pl.in b/scripts/makepkg-template.pl.in
|
||||
index 6e6d944..d9da167 100755
|
||||
--- a/scripts/makepkg-template.pl.in
|
||||
+++ b/scripts/makepkg-template.pl.in
|
||||
@@ -70,7 +70,7 @@ sub parse_template_line {
|
||||
foreach my $element (@elements) {
|
||||
my ($key, $val) = ($element =~ /^([a-z0-9]+)=(.*)$/);
|
||||
unless ($key and $val) {
|
||||
- die gettext("invalid key/value pair\n%s:%s: %s"),
|
||||
+ die gettext("invalid key/value pair\n"),
|
||||
"$filename:$linenumber: $line";
|
||||
}
|
||||
$values{$key} = $val;
|
||||
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
|
||||
index 33dff24..18b2822 100644
|
||||
--- a/scripts/makepkg.sh.in
|
||||
+++ b/scripts/makepkg.sh.in
|
||||
@@ -1317,47 +1317,41 @@ verify_integrity_sums() {
|
||||
fi
|
||||
}
|
||||
|
||||
-have_sources() {
|
||||
- local a
|
||||
-
|
||||
- (( ${#source[*]} )) && return 0
|
||||
+check_checksums() {
|
||||
+ local integ a
|
||||
+ declare -A correlation
|
||||
+ (( SKIPCHECKSUMS )) && return 0
|
||||
|
||||
+ # Initialize a map which we'll use to verify that every source array has at
|
||||
+ # least some kind of checksum array associated with it.
|
||||
+ (( ${#source[*]} )) && correlation['source']=1
|
||||
case $1 in
|
||||
all)
|
||||
for a in "${arch[@]}"; do
|
||||
- array_build _ source_"$a" && return 0
|
||||
+ array_build _ source_"$a" && correlation["source_$a"]=1
|
||||
done
|
||||
;;
|
||||
*)
|
||||
- array_build _ source_"$CARCH" && return 0
|
||||
+ array_build _ source_"$CARCH" && correlation["source_$CARCH"]=1
|
||||
;;
|
||||
esac
|
||||
|
||||
- return 1
|
||||
-}
|
||||
-
|
||||
-check_checksums() {
|
||||
- (( SKIPCHECKSUMS )) && return 0
|
||||
- have_sources "$1" || return 0
|
||||
-
|
||||
- local correlation=0
|
||||
- local integ a
|
||||
for integ in "${known_hash_algos[@]}"; do
|
||||
- verify_integrity_sums "$integ" && correlation=1
|
||||
+ verify_integrity_sums "$integ" && unset "correlation[source]"
|
||||
|
||||
case $1 in
|
||||
all)
|
||||
for a in "${arch[@]}"; do
|
||||
- verify_integrity_sums "$integ" "$a" && correlation=1
|
||||
+ verify_integrity_sums "$integ" "$a" && unset "correlation[source_$a]"
|
||||
done
|
||||
;;
|
||||
*)
|
||||
- verify_integrity_sums "$integ" "$CARCH" && correlation=1
|
||||
+ verify_integrity_sums "$integ" "$CARCH" && unset "correlation[source_$CARCH]"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
- if (( ! correlation )); then
|
||||
+ if (( ${#correlation[*]} )); then
|
||||
error "$(gettext "Integrity checks are missing.")"
|
||||
exit 1 # TODO: error code
|
||||
fi
|
||||
@@ -1627,7 +1621,10 @@ merge_arch_attrs() {
|
||||
|
||||
source_buildfile() {
|
||||
source_safe "$@"
|
||||
- merge_arch_attrs
|
||||
+
|
||||
+ if (( !SOURCEONLY )); then
|
||||
+ merge_arch_attrs
|
||||
+ fi
|
||||
}
|
||||
|
||||
run_function_safe() {
|
||||
@@ -2142,8 +2139,6 @@ write_pkginfo() {
|
||||
local size="$(@DUPATH@ @DUFLAGS@)"
|
||||
size="$(( ${size%%[^0-9]*} * 1024 ))"
|
||||
|
||||
- merge_arch_attrs
|
||||
-
|
||||
msg2 "$(gettext "Generating %s file...")" ".PKGINFO"
|
||||
printf "# Generated by makepkg %s\n" "$makepkg_version"
|
||||
printf "# using %s\n" "$(fakeroot -v)"
|
||||
@@ -2896,7 +2891,7 @@ get_vcsclient() {
|
||||
}
|
||||
|
||||
check_vcs_software() {
|
||||
- local ret=0
|
||||
+ local all_sources all_deps deps ret=0
|
||||
|
||||
if (( SOURCEONLY == 1 )); then
|
||||
# we will not download VCS sources
|
||||
@@ -2908,7 +2903,17 @@ check_vcs_software() {
|
||||
return $ret
|
||||
fi
|
||||
|
||||
- for netfile in ${source[@]}; do
|
||||
+ # we currently only use global depends/makedepends arrays for --syncdeps
|
||||
+ for attr in depends makedepends; do
|
||||
+ pkgbuild_get_attribute "$pkg" "$attr" 1 'deps'
|
||||
+ all_deps+=("${deps[@]}")
|
||||
+
|
||||
+ pkgbuild_get_attribute "$pkg" "${attr}_$CARCH" 1 'deps'
|
||||
+ all_deps+=("${deps[@]}")
|
||||
+ done
|
||||
+
|
||||
+ get_all_sources_for_arch 'all_sources'
|
||||
+ for netfile in ${all_sources[@]}; do
|
||||
local proto=$(get_protocol "$netfile")
|
||||
|
||||
case $proto in
|
||||
@@ -2921,7 +2926,7 @@ check_vcs_software() {
|
||||
uninstalled="$(set +E; check_deps $client)" || exit 1
|
||||
# if not installed, check presence in depends or makedepends
|
||||
if [[ -n "$uninstalled" ]] && (( ! NODEPS || ( VERIFYSOURCE && !DEP_BIN ) )); then
|
||||
- if ! in_array "$client" ${depends[@]} ${makedepends[@]}; then
|
||||
+ if ! in_array "$client" ${all_deps[@]}; then
|
||||
error "$(gettext "Cannot find the %s package needed to handle %s sources.")" \
|
||||
"$client" "${proto%%+*}"
|
||||
ret=1
|
||||
@@ -3435,7 +3440,7 @@ CARCH=${_CARCH:-$CARCH}
|
||||
if (( ! INFAKEROOT )); then
|
||||
if (( EUID == 0 )); then
|
||||
error "$(gettext "Running %s as root is not allowed as it can cause permanent,\n\
|
||||
-catastrophic damage to your system.")"
|
||||
+catastrophic damage to your system.")" "makepkg"
|
||||
exit 1 # $E_USER_ABORT
|
||||
fi
|
||||
else
|
||||
@@ -3597,7 +3602,7 @@ if (( SOURCEONLY )); then
|
||||
download_sources allarch
|
||||
elif ( (( ! SKIPCHECKSUMS )) || \
|
||||
( (( ! SKIPPGPCHECK )) && source_has_signatures ) ); then
|
||||
- download_sources novcs
|
||||
+ download_sources allarch novcs
|
||||
fi
|
||||
check_source_integrity all
|
||||
cd_safe "$startdir"
|
||||
diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in
|
||||
index 7bb277b..7d01bce 100644
|
||||
--- a/scripts/pacman-db-upgrade.sh.in
|
||||
+++ b/scripts/pacman-db-upgrade.sh.in
|
||||
@@ -19,6 +19,9 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
+# Avoid creating world-unreadable files
|
||||
+umask 022
|
||||
+
|
||||
# gettext initialization
|
||||
export TEXTDOMAIN='pacman-scripts'
|
||||
export TEXTDOMAINDIR='@localedir@'
|
||||
@@ -167,6 +170,8 @@ if [[ -z "$db_version" ]]; then
|
||||
fi
|
||||
|
||||
# pacman 4.1 to 4.2 upgrade - remove directory symlink support
|
||||
+ msg "$(gettext "Pre-4.2 database format detected - upgrading...")"
|
||||
+
|
||||
dirlist=()
|
||||
|
||||
unset GREP_OPTIONS
|
||||
@@ -180,8 +185,6 @@ if [[ -z "$db_version" ]]; then
|
||||
done)
|
||||
|
||||
if [[ ${#dirlist[@]} != 0 ]]; then
|
||||
- msg "$(gettext "Pre-4.2 database format detected - upgrading...")"
|
||||
-
|
||||
pacroot="$(resolve_dir "$pacroot")"
|
||||
|
||||
for dir in "${dirlist[@]}"; do
|
Loading…
Reference in a new issue