summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/ring/.gitignore2
-rw-r--r--pcr/ring/0001-contrib-recursive-dependency-tracking.patch169
-rw-r--r--pcr/ring/PKGBUILD223
-rwxr-xr-xpcr/ring/prune-pkgnames106
-rwxr-xr-xpcr/ring/upd-helper109
5 files changed, 0 insertions, 609 deletions
diff --git a/pcr/ring/.gitignore b/pcr/ring/.gitignore
deleted file mode 100644
index 5d4ba407d..000000000
--- a/pcr/ring/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/*/
-/notable-changes-*--*.patch
diff --git a/pcr/ring/0001-contrib-recursive-dependency-tracking.patch b/pcr/ring/0001-contrib-recursive-dependency-tracking.patch
deleted file mode 100644
index 030c5cf94..000000000
--- a/pcr/ring/0001-contrib-recursive-dependency-tracking.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From f50c8a7e1fbdf317013f19b962093b068ed6e0f7 Mon Sep 17 00:00:00 2001
-From: Luke Shumaker <lukeshu@parabola.nu>
-Date: Wed, 13 Dec 2017 13:49:07 -0500
-Subject: [PATCH] contrib: recursive dependency tracking
-
-Let's say we're building gnutls (since the system version is too new).
-gnutls depends on nettle.
-Let's say we're using the system nettle (naturally in FOUND_PKGS).
-nettle depends on gmp.
-
-With the old (non-recursive) dependency tracking, we would end up building
-gmp just for nettle, even though we aren't even building nettle!
----
- contrib/src/README | 17 +++++------------
- contrib/src/ffmpeg/rules.mak | 2 +-
- contrib/src/flac/rules.mak | 2 +-
- contrib/src/gnutls/rules.mak | 2 +-
- contrib/src/main.mak | 3 ++-
- contrib/src/nettle/rules.mak | 2 +-
- contrib/src/opendht/rules.mak | 2 +-
- contrib/src/secp256k1/rules.mak | 2 +-
- contrib/src/vorbis/rules.mak | 4 ++--
- 9 files changed, 15 insertions(+), 21 deletions(-)
-
-diff --git a/contrib/src/README b/contrib/src/README
-index 581a39219..d03ff1899 100644
---- a/contrib/src/README
-+++ b/contrib/src/README
-@@ -92,18 +92,11 @@ Dependencies
- If package bar depends on package foo, the special DEPS_bar variable
- should be defined as follow:
-
-- DEPS_bar = foo $(DEPS_foo)
--
--Note that dependency resolution is unfortunately _not_ recursive.
--Therefore $(DEPS_foo) really should be specified explicitly as shown
--above. (In practice, this will not make any difference insofar as there
--are no pure second-level nested dependencies. For instance, libass
--depends on FontConfig, which depends on FreeType, but libass depends
--directly on FreeType anyway.)
--
--Also note that DEPS_bar is set "recursively" with =, rather than
--"immediately" with :=. This is so that $(DEPS_foo) is expanded
--correctly, even if DEPS_foo it is defined after DEPS_bar.
-+ DEPS_bar = foo
-+
-+Dependency resolution is recursive (unlike in previous versions); the
-+above will cause bar to also depend on the dependencies of foo.
-+However, it will not correctly handle cycles.
-
- Implementation note:
-
-diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
-index b1db5d131..e86403e25 100644
---- a/contrib/src/ffmpeg/rules.mak
-+++ b/contrib/src/ffmpeg/rules.mak
-@@ -11,7 +11,7 @@ ifeq ($(call need_pkg,"libavutil >= 55.75.100 libavcodec >= 57.106.101 libavform
- PKGS_FOUND += ffmpeg
- endif
-
--DEPS_ffmpeg = iconv zlib x264 vpx opus speex $(DEPS_vpx)
-+DEPS_ffmpeg = iconv zlib x264 vpx opus speex
-
- FFMPEGCONF = \
- --cc="$(CC)" \
-diff --git a/contrib/src/flac/rules.mak b/contrib/src/flac/rules.mak
-index 7abc69938..857593aad 100644
---- a/contrib/src/flac/rules.mak
-+++ b/contrib/src/flac/rules.mak
-@@ -47,7 +47,7 @@ FLACCONF += --disable-asm-optimizations
- endif
- endif
-
--DEPS_flac = ogg $(DEPS_ogg)
-+DEPS_flac = ogg
-
- .flac: flac
- cd $< && $(HOSTVARS) ./configure $(FLACCONF)
-diff --git a/contrib/src/gnutls/rules.mak b/contrib/src/gnutls/rules.mak
-index 843135814..4441fcf91 100644
---- a/contrib/src/gnutls/rules.mak
-+++ b/contrib/src/gnutls/rules.mak
-@@ -60,7 +60,7 @@ ifdef HAVE_IOS
- GNUTLS_CONF += --disable-hardware-acceleration
- endif
-
--DEPS_gnutls = nettle $(DEPS_nettle) iconv $(DEPS_iconv)
-+DEPS_gnutls = nettle iconv
-
-
- #Workaround for localtime_r function
-diff --git a/contrib/src/main.mak b/contrib/src/main.mak
-index 51cbbfbcd..542f2228c 100644
---- a/contrib/src/main.mak
-+++ b/contrib/src/main.mak
-@@ -391,7 +391,8 @@ PKGS_AUTOMATIC := $(filter-out $(PKGS_FOUND),$(PKGS))
- # Apply manual selection (from bootstrap):
- PKGS_MANUAL := $(sort $(PKGS_ENABLE) $(filter-out $(PKGS_DISABLE),$(PKGS_AUTOMATIC)))
- # Resolve dependencies:
--PKGS_DEPS := $(filter-out $(PKGS_FOUND) $(PKGS_MANUAL),$(sort $(foreach p,$(PKGS_MANUAL),$(DEPS_$(p)))))
-+dep_on = $(sort $(foreach p,$(filter-out $(PKGS_FOUND),$(1)),$(p) $(call dep_on,$(DEPS_$(p)))))
-+PKGS_DEPS := $(call dep_on,$(PKGS_MANUAL))
- PKGS := $(sort $(PKGS_MANUAL) $(PKGS_DEPS))
-
- convert-static:
-diff --git a/contrib/src/nettle/rules.mak b/contrib/src/nettle/rules.mak
-index f811297a6..b924c7f87 100644
---- a/contrib/src/nettle/rules.mak
-+++ b/contrib/src/nettle/rules.mak
-@@ -19,7 +19,7 @@ nettle: nettle-$(NETTLE_VERSION).tar.gz .sum-nettle
- $(UPDATE_AUTOCONFIG)
- $(MOVE)
-
--DEPS_nettle = gmp $(DEPS_gmp)
-+DEPS_nettle = gmp
-
- .nettle: nettle
- ifdef HAVE_IOS
-diff --git a/contrib/src/opendht/rules.mak b/contrib/src/opendht/rules.mak
-index 4443a6fc0..b7fbe8ec8 100644
---- a/contrib/src/opendht/rules.mak
-+++ b/contrib/src/opendht/rules.mak
-@@ -15,7 +15,7 @@ ifneq ($(call need_pkg,"libargon2"),)
- DEPS_opendht += argon2
- endif
- ifneq ($(call need_pkg,"gnutls >= 3.3.0"),)
--DEPS_opendht += gnutls $(DEPS_gnutls)
-+DEPS_opendht += gnutls
- endif
-
- $(TARBALLS)/opendht-$(OPENDHT_VERSION).tar.gz:
-diff --git a/contrib/src/secp256k1/rules.mak b/contrib/src/secp256k1/rules.mak
-index c5681629d..5b4f84e43 100644
---- a/contrib/src/secp256k1/rules.mak
-+++ b/contrib/src/secp256k1/rules.mak
-@@ -7,7 +7,7 @@ PKGS += secp256k1
- ifeq ($(call need_pkg,"libsecp256k1"),)
- PKGS_FOUND += secp256k1
- endif
--DEPS_secp256k1 = gmp $(DEPS_gmp)
-+DEPS_secp256k1 = gmp
-
- $(TARBALLS)/secp256k1-$(SECP256K1_VERSION).tar.gz:
- $(call download,$(SECP256K1_URL))
-diff --git a/contrib/src/vorbis/rules.mak b/contrib/src/vorbis/rules.mak
-index 1fb268514..e20cc7493 100644
---- a/contrib/src/vorbis/rules.mak
-+++ b/contrib/src/vorbis/rules.mak
-@@ -36,7 +36,7 @@ endif
- $(UPDATE_AUTOCONFIG)
- $(MOVE)
-
--DEPS_vorbis = ogg $(DEPS_ogg)
-+DEPS_vorbis = ogg
-
- .vorbis: vorbis
- $(RECONF) -Im4
-@@ -47,7 +47,7 @@ DEPS_vorbis = ogg $(DEPS_ogg)
- .sum-vorbisenc: .sum-vorbis
- touch $@
-
--DEPS_vorbisenc = vorbis $(DEPS_vorbis)
-+DEPS_vorbisenc = vorbis
-
- .vorbisenc:
- touch $@
---
-2.15.1
-
diff --git a/pcr/ring/PKGBUILD b/pcr/ring/PKGBUILD
deleted file mode 100644
index 43422a337..000000000
--- a/pcr/ring/PKGBUILD
+++ /dev/null
@@ -1,223 +0,0 @@
-# Maintainer: Luke Shumaker <lukeshu@parabola.nu>
-# Contributor: Omar Vega Ramos <ovruni@gnu.org.pe>
-# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
-
-_pkgver=20171129.2.cf5bbff
-_SOURCE_DATE_EPOCH=1511972974
-# The above are thing things that you must set each new version.
-#
-# The _SOURCE_DATE_EPOCH should be
-# git log -n1 --format=%ct "${_pkgver##*.}"
-# from the git repo
-# git clone https://gerrit-ring.savoirfairelinux.com/ring-project
-#
-# But I automated that for you!
-# ./upd-helper set-pkgver YYYYMMDD.N.GITVER
-#
-# It will update _pkgver, _SOURCE_DATE_EPOCH, and sha256sums, and give
-# you a summary of files that have changed that I think you (future
-# me?), as the packager, should care about.
-
-pkgbase=ring
-pkgname=(ring-daemon ring-lrc ring-client-gnome)
-# stick a bunch of keywords in the pkgdesc because "ring" is a
-# terrible search term.
-pkgdesc="The GNU Ring (formerly ring.cx and SFLphone) VoIP system"
-epoch=1
-pkgver=1.0_${_pkgver}
-pkgrel=1
-arch=("i686" "x86_64")
-url="https://gnu.org/software/ring/"
-source=("http://dl.ring.cx/ring-release/tarballs/${pkgbase}_${_pkgver}.tar.gz"
- 0001-contrib-recursive-dependency-tracking.patch)
-license=('GPL3')
-sha256sums=('0a23f8052a4df2a7aee40434cd59f17d0d5e97c73306ba35f99f2721b305ed48'
- 'a9b308e524ea5b0b5db09fd55e6c0d96edbea6594f987e10e7b77251217f8e0c')
-
-
-# Get this list by looking at `daemon/contrib/src/*/rules.mak`.
-#
-# This is the complete list (with "lib" prepended or similar as
-# necessary).
-#
-# Entries are commented out if
-# - it's something we don't need to name because it's already in the
-# deps list ("DUP"). Actually, don't comment out any .so files
-# that we name for DUPs.
-# - we won't be using it ("IGNORE"); these are things that don't add
-# themselves to PKGS, and aren't in DEPS_* for another package that
-# we don't IGNORE
-# - or we (*gasp*) want to use the contrib version instead of the
-# system version ("CONTRIB")
-#
-# Also note when we forcefully override the build-system's automatic
-# logic on when to use the system version vs the contrib version
-# ("FORCE"). For system packages, these are things we don't IGNORE,
-# but don't add themselves PKGS_FOUND. For contrib packages, these
-# are things that might get added to PKG_FOUND that we don't want to.
-# We'll be adding `--disable-PKG` or `--enable-PKG` flags to
-# `../bootstrap` below for these.
-_daemon_contrib=(
- #argon2 # DUP: opendht->argon2 (DEPS_opendht)
- #asio # CONTRIB: want commit f5c57, which isn't in a stable release yet
- dbus-c++ # FORCE: no PKGS_FOUND logic because alleged gcc7 bug?
- ffmpeg libavutil.so libavcodec.so libavformat.so libavdevice.so libswscale.so
- #flac # DUP: libsndfile->flac
- #libgcrypt # IGNORE: not in PKGS (?)
- #gmp # IGNORE: not in PKGS (DEPS_nettle DEPS_secp256k1)
- #gnutls # CONTRIB: ring is not yet compatible with gnutls>=3.5.11
- #libgpg-error # IGNORE: not in PKGS (DEPS_gcrypt)
- #gsm # FORCE+DUP: IDK why no PKGS_FOUND; ffmpeg->gsm
- #glibc # DUP: base->glibc (contribname=iconv)
- #jack # IGNORE: not in PKGS: ("disabled by default for now")
- jsoncpp #
- msgpack-c #
- libnatpmp # FORCE: package doesn't include a pkg-config file
- #nettle # DUP: {gnutls,opendht}->nettle
- #libogg # DUP: ffmpeg->{libvorbis,speex,flac}->libogg
- opendht #
- #opus # DUP: ffmpeg->opus
- #pcre # DUP: {base,base-devel}->grep->pcre
- #pjproject # CONTRIB+FORCE: Added patches for gnutls
- portaudio #
- restbed # FORCE: package doesn't include a pkg-config file
- #libsamplerate # DUP: {ffmpeg,portaudio}->jack->libsamplerate
- secp256k1-git libsecp256k1.so
- #libsndfile # DUP: libsamplerate->libsndfile
- #speex # DUP: ffmpeg->speex
- #speexdsp # DUP: speex>-speexdsp
- libupnp #
- #util-linux # DUP: {base,base-devel}->util-linux (DEPS_prproject=uuid)
- libvorbisenc.so # DUP: ffmpeg->libvorbis
- #libvpx # IGNORE: not in PKGS (DEPS_ffmpeg)
- #x264 # IGNORE: not in PKGS (DEPS_ffmpeg)
- yaml-cpp #
- #zlib # DUP: {pcre,ffmpeg,gnutls}->zlib
-)
-
-_makedepends_daemon=(
- boost # a compile-time dep for some features in yaml-cpp
-)
-_depends_daemon=(
- "${_daemon_contrib[@]}"
- libidn2
-)
-
-_makedepends_lrc=(qt5-tools)
-_depends_lrc=(qt5-base)
-
-_makedepends_client_gnome=()
-_depends_client_gnome=(
- clutter-gtk
- evolution-data-server
- gnome-icon-theme-symbolic
- libnm-glib
- qrencode
-)
-
-makedepends=(
- cmake
- doxygen
- "${_makedepends_daemon[@]}"
- "${_depends_daemon[@]}"
- "${_makedepends_lrc[@]}"
- "${_depends_lrc[@]}"
- "${_makedepends_client_gnome[@]}"
- "${_depends_client_gnome[@]}"
-)
-
-# The above list of dependencies can be unwieldy! Running
-# `./upd-helper find-dups` will suggest things that can be removed.
-
-# make-ring.py says we also need the following, but I don't agree
-# (`./upd-helper diff-depends` will help you update this list):
-#
-# - autoconf-archive: for building from git, not release tarballs
-# - cppunit: for testing
-# - libe-book: They are confusing 'libebook' (which Arch & Parabola don't have) with the different 'libe-book' (which we do have)
-# - swig: for ring-daemon NodeJS module
-# - yasm: for building contrib vpx
-
-prepare() {
- cd "$srcdir/ring-project/daemon"
- patch -p1 -i "$srcdir/0001-contrib-recursive-dependency-tracking.patch"
-
- # Remove unused contrib tarballs, to ensure that we didn't make a mistake
- local file
- for file in "$srcdir/ring-project/daemon/contrib/tarballs/"*; do
- case "${file##*/}" in
- asio-*) : skip "$file" ;;
- gnutls-*) : skip "$file" ;;
- pjproject-*) : skip "$file" ;;
- *) rm -f -- "$file" ;;
- esac
- done
-}
-
-build() (
- set -x
-
- cd "$srcdir/ring-project/daemon/contrib"
- mkdir native
- cd native
- ../bootstrap \
- --disable-downloads \
- --disable-dbus-cpp \
- --disable-gsm \
- --disable-natpmp \
- --enable-pjproject \
- --disable-restbed
- make BATCH_MODE=1
-
- cd "$srcdir/ring-project/daemon"
- ./autogen.sh
- ./configure --prefix=/usr
- make RING_DIRTY_REPO= RING_REVISION=$_pkgver
-
- cd "$srcdir/ring-project/lrc"
- mkdir build
- cd build
- cmake .. \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release \
- -DRING_BUILD_DIR="$srcdir/ring-project/daemon/src"
- make
-
- cd "$srcdir/ring-project/client-gnome"
- mkdir build
- cd build
- SOURCE_DATE_EPOCH=$_SOURCE_DATE_EPOCH cmake .. \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release \
- -DLibRingClient_PROJECT_DIR="$srcdir/ring-project/lrc"
- make
-)
-
-package_ring-daemon() {
- pkgdesc="The communication daemon of ${pkgdesc,}"
- depends=("${_depends_daemon[@]}")
- provides=("ring-daemon=2:$_pkgver") # AUR version scheme
-
- cd "$srcdir/ring-project/daemon"
- make DESTDIR="$pkgdir" install
-}
-
-package_ring-lrc() {
- pkgdesc="A client library for ${pkgdesc,}"
- depends=("${_depends_lrc[@]}" "ring-daemon=${epoch:+$epoch:}$pkgver")
- provides=("libringclient=2:$_pkgver") # AUR name
- replaces=("libringclient") # AUR name
-
- cd "$srcdir/ring-project/lrc/build"
- make DESTDIR="$pkgdir" install
-}
-
-package_ring-client-gnome() {
- pkgdesc="A GTK+3 user interface for ${pkgdesc,}"
- depends=("${_depends_client_gnome[@]}" "ring-lrc=${epoch:+$epoch:}$pkgver")
- provides=("ring-gnome=3:$_pkgver") # AUR name
- replaces=("ring-gnome") # AUR name
-
- cd "$srcdir/ring-project/client-gnome/build"
- make DESTDIR="$pkgdir" install
-}
diff --git a/pcr/ring/prune-pkgnames b/pcr/ring/prune-pkgnames
deleted file mode 100755
index 3d76b1fce..000000000
--- a/pcr/ring/prune-pkgnames
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env python3
-# Copyright 2017 Luke Shumaker <lukeshu@parabola.nu>
-#
-# This is a little program that is useful for helping prune lists of
-# dependencies. I should clean it up, document it, and add it to
-# libretools.
-
-import pyalpm
-import pycman.config
-
-def get_by_depspec(depspec):
- global dbs
- global pkgs
-
- dep = pyalpm.find_satisfier(pkgs.values(), depspec)
- if dep is not None:
- return dep
- for db in dbs:
- dep = pyalpm.find_satisfier(db.search('.*'), depspec)
- if dep is not None:
- return dep
- return None
-
-def handlepkg(pkg):
- global pkgs
- global deps
- global ignore
-
- if pkg.name in pkgs:
- return
- pkgs[pkg.name] = pkg
- deps[pkg.name] = set([get_by_depspec(depspec) for depspec in pkg.depends])
- for dep in deps[pkg.name]:
- ignore.add(dep.name)
- handlepkg(dep)
-
-class DepTree(object):
- def __init__(self, pkgname, reasons=[]):
- self.pkgname = pkgname
- thresh = 0
- if len(reasons) > 0:
- thresh = min([reason.height for reason in reasons])
- self.reasons = [reason for reason in reasons if reason.height <= thresh]
- self.height = 1+thresh
- def __str__(self):
- if len(self.reasons) == 0:
- return self.pkgname
- if len(self.reasons) == 1:
- return self.pkgname+"<-"+str(self.reasons[0])
- else:
- return self.pkgname+"<-{"+(",".join([str(reason) for reason in self.reasons]))+"}"
-
-# keeping track of 'visited' is important because of cycles
-def getreasons(reasons, dupname, visited=[]):
- global deps
- global pkgs
-
- if dupname in reasons:
- return DepTree(dupname)
-
- required_by = [pkgname for pkgname, deplist in deps.items() if (dupname in [dep.name for dep in deplist])]
- in_groups = pkgs[dupname].groups
-
- myreasons_pkgs = [getreasons(reasons, myreason, visited+[dupname]) for myreason in set(required_by)-set(visited)]
- myreasons_grps = [DepTree(g) for g in reasons.intersection(set(pkgs[dupname].groups))]
- return DepTree(dupname, myreasons_pkgs + myreasons_grps)
-
-def main(args):
- pycman_options = pycman.config.make_parser().parse_args([])
- handle = pycman.config.init_with_config_and_options(pycman_options)
-
- showdups = False
- pkgnames = set()
- grpnames = set()
-
- global dbs, pkgs, deps, ignore
- dbs = handle.get_syncdbs()
- pkgs = {}
- deps = {}
- ignore = set()
-
- for arg in args:
- if arg == "-d":
- showdups = True
- continue
- pkg = get_by_depspec(arg)
- if pkg is not None:
- pkgnames.add(pkg.name)
- handlepkg(pkg)
- else:
- grpnames.add(arg)
- for pkg in pyalpm.find_grp_pkgs(dbs, arg):
- ignore.add(pkg.name)
- handlepkg(pkg)
- if not showdups:
- print("\n".join(pkgnames-ignore))
- else:
- reasons = pkgnames.union(grpnames)
- for dupname in sorted(pkgnames.intersection(ignore)):
- print(getreasons(reasons-{dupname}, dupname))
- return 0
-
-if __name__ == "__main__":
- import sys
- ret = main(sys.argv[1:])
- sys.exit(ret)
diff --git a/pcr/ring/upd-helper b/pcr/ring/upd-helper
deleted file mode 100755
index c48bdf7c5..000000000
--- a/pcr/ring/upd-helper
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env bash
-#!/usr/bin/env python3
-# Copyright 2017 Luke Shumaker <lukeshu@parabola.nu>
-#
-# This is a little program to automate some tedious bits of
-# maintaining the GNU Ring package.
-
-set -euE
-. "$(librelib messages)"
-startdir="$(dirname -- "$(readlink -f -- "$0")")"
-
-prune-pkgnames() {
- xargs "$startdir"/prune-pkgnames "$@"
-}
-
-diff-filter() {
- awk '
-BEGIN{p=0}
-/^diff/{p=0}
-/^diff.*make-ring\.py/{p=1}
-/^diff.*scripts\/install\.sh/{p=1}
-/^diff.*daemon\/contrib\/.*\/rules\.mak/{p=1}
-{if (p) print}
-'
-}
-
-notable-diff() {
- if [[ $# != 2 ]]; then
- >&2 echo "Usage $0 notable-diff OLD-SRCDIR NEW-SRCDIR"
- fi
-
- diff_flags=(
- -ruN
- --no-dereference
- --exclude='*.bz2'
- --exclude='*.xz'
- --exclude='*.gz'
- --exclude='*.png'
- )
-
- diff "${diff_flags[@]}" "$1"/ring-project "$2"/ring-project | diff-filter
-}
-
-set-pkgver() {
- if [[ $# != 1 ]]; then
- >&2 echo "Usage $0 set-pkgver NEW-VALUE-FOR-_pkgver"
- fi
-
- rm -rf src
-
- # get the old sources, for diffing later
- makepkg -o
- . PKGBUILD
- oldpkgver=$_pkgver
- mv src src-$oldpkgver
-
- # update _pkgver
- sed -i "s/^_pkgver=.*/_pkgver=$1/" PKGBUILD
- # update *sums
- updpkgsums
-
- # update _SOURCE_DATE_EPOCH
- gitget bare https://gerrit-ring.savoirfairelinux.com/ring-project ring-project.git
- date=$(cd ring-project.git && git log -n1 --format=%ct "${1##*.}")
- sed -i "s/^_SOURCE_DATE_EPOCH=.*/_SOURCE_DATE_EPOCH=$date/" PKGBUILD
-
- # get the new sources
- makepkg -o
-
- # diff the old and new sources
- notable-diff src-$oldpkgver src > notable-changes-${oldpkgver}--$1.patch
- msg 'As the packager, you should be aware of changes in:'
- diffstat -C < notable-changes-${oldpkgver}--$1.patch
-}
-
-ignored-depends() {
- pacman -Sgq base-devel
- COLUMNS= LC_ALL=C pacman -Qi ffmpeg <&-|sed -n 's/^Depends On\s*://p'|xargs printf '%s\n'|sed -e 's/=.*//' -e 's/\.so$//'
-}
-
-diff-depends() {
- if [[ $# != 0 ]]; then
- >&2 echo "Usage $0 diff-depends"
- fi
- makepkg -o # for make-ring.py
- . PKGBUILD
- cd src/ring-project
- comm \
- <(printf '%s\n' "${makedepends[@]}" "${_depends_daemon[@]}" "${_depends_lrc[@]}" "${_depends_client_gnome[@]}" | prune-pkgnames base base-devel | sort) \
- <(python3 -c 'print("\n".join(__import__("make-ring").ARCH_LINUX_DEPENDENCIES))' | prune-pkgnames base base-devel | sort) \
- | tr $'\t' , | column -s, -t -o ' | ' -N 'only PKGBUILD,only make-ring.py,both'
-}
-
-find-dups() {
- . PKGBUILD
- msg 'Duplicated build-time depends:'
- printf '%s\n' "${makedepends[@]}" | prune-pkgnames -d base-devel
- msg 'Duplicated run-time depends:'
- printf '%s\n' "${_depends_daemon[@]}" "${_depends_lrc[@]}" "${_depends_client_gnome[@]}" | prune-pkgnames -d base
-}
-
-{
- cmds=(set-pkgver notable-diff diff-depends find-dups)
- if ! in_array "${1:-}" "${cmds[@]}"; then
- >&2 print 'Commands are: %s' "${cmds[*]}"
- exit 1
- fi
- "$@"
-}