Compare commits

..

4 Commits

Author SHA1 Message Date
Brett T. Warden 3db02dd609 Implement backport-<commit> target
For packages with a GitHub repo configured in options.conf, allow
downloading and applying backport patches via the 'backport-<commit>'
target. If given an abbreviated commit ID, it will still create a
backport-<commit>.patch file with the full commit hash, plus add it (if
it does not already exist) to the end of the series file.

Because this handles a single commit at a time, this should be wrappable
by a future Makefile target that applies individual commits to catch up
to a target tag, for example.
2024-12-02 16:13:06 -08:00
Arjan van de Ven 5866d7afbf update packages file 2024-11-25 21:15:54 +00:00
Arjan van de Ven 437d1ee01a update packages file 2024-11-13 17:16:18 +00:00
Arjan van de Ven cb5d78bb2f update packages file 2024-11-05 04:43:02 +00:00
2 changed files with 43 additions and 17 deletions
+30
View File
@@ -582,6 +582,36 @@ cloc: $(SRPMFILE)
@$(MOCK) --clean --scrub=chroot --uniqueext=$(PKG_NAME)
cat results/cloc.txt
#help backport-<commit>: Retrieve a commit from the upstream git repository and save it as a backport patch.
#help Currently only works with GitHub repositories. The giturl is read from options.conf.
backport-%:
@commit=$*; \
echo "Backporting commit: $${commit}"; \
giturl=$$(grep -E '^giturl\s*=\s*https://github.com' options.conf | sed 's/giturl\s*=\s*//' | sed 's/\.git$$//' | sed 's/\/$$//' 2>/dev/null); \
if [[ -z "$${giturl}" ]]; then \
echo "Error: giturl not defined in options.conf"; \
exit 1; \
fi; \
if ! curl -s -L -o $@.patch $${giturl}/commit/$*.patch || [[ "Not Found" == $$(< $@.patch) ]]; then \
rm -f $@.patch; \
echo "Error: Failed to download commit $*"; \
exit 1; \
fi; \
patch=$@.patch; \
full_commit=$$(head -1 $@.patch | grep -oE '\b$*\S+' 2>/dev/null); \
if ! [[ -z "$${full_commit}" ]]; then \
patch=backport-$${full_commit}.patch; \
mv $@.patch $${patch}; \
fi; \
if [[ -s $${patch} ]]; then \
echo "$${patch} created"; \
grep -qE "^$${patch}$$" series 2>/dev/null || echo "$${patch}" >> series; \
else \
rm -f $${patch}; \
echo "Error: Failed to create backport patch"; \
exit 1; \
fi \
.PHONY: whatrequires
#help whatrequires: Output a list of packages that directly depend on this one,
#help showing the subpackage-level breakdown. Each line of output has the format
+13 -17
View File
@@ -180,6 +180,7 @@ R-Ryacas
R-SGP
R-SGPdata
R-SQUAREM
R-SimDesign
R-Sleuth2
R-SnowballC
R-SparseM
@@ -232,6 +233,7 @@ R-bayesplot
R-bazar
R-bbmle
R-bdsmatrix
R-beepr
R-beeswarm
R-bench
R-benchr
@@ -871,6 +873,7 @@ R-rsvg
R-runjags
R-rversions
R-rvest
R-rworldmap
R-s2
R-sampling
R-sandwich
@@ -1340,6 +1343,7 @@ compat-cairomm-soname10
compat-codec2-soname1
compat-enchant-soname1
compat-ffmpeg-4.4
compat-ffmpeg-6
compat-fuse-soname2
compat-gcc-10
compat-gcr-soname1
@@ -1361,6 +1365,7 @@ compat-libvpx-soname8
compat-pangomm-soname14
compat-protobuf-soname29
compat-protobuf-soname32
compat-python3-rolling
compat-re2-soname10
compat-readline-soname5
compat-taglib-soname1
@@ -1581,6 +1586,7 @@ fsearch
fuse
fwupd
fwupd-efi
game-music-emu
garcon
gawk
gbinder-python
@@ -2258,6 +2264,7 @@ libmbim
libmediaart
libmemcached
libmicrohttpd
libmikmod
libmnl
libmodbus
libmodplug
@@ -3749,7 +3756,6 @@ pypi-alabaster
pypi-altair
pypi-altgraph
pypi-amqp
pypi-aniso8601
pypi-annotated_types
pypi-ansi2html
pypi-ansible_builder
@@ -3785,7 +3791,6 @@ pypi-atpublic
pypi-attr
pypi-attrdict
pypi-attrs
pypi-autocommand
pypi-automat
pypi-awesomeversion
pypi-awscrt
@@ -3803,7 +3808,6 @@ pypi-babel
pypi-backcall
pypi-backoff
pypi-backports.ssl_match_hostname
pypi-bash_kernel
pypi-bashlex
pypi-bcrypt
pypi-beartype
@@ -3842,14 +3846,12 @@ pypi-cachy
pypi-cairocffi
pypi-cairosvg
pypi-calver
pypi-capturer
pypi-cattrs
pypi-cerberus
pypi-certbot
pypi-certbot_dns_google
pypi-certifi
pypi-cffi
pypi-cffsubr
pypi-cfgv
pypi-chai
pypi-chaospy
@@ -3859,7 +3861,6 @@ pypi-check_jsonschema
pypi-check_manifest
pypi-cheetah3
pypi-cheroot
pypi-cherrypy
pypi-cibuildwheel
pypi-ciscoisesdk
pypi-ciso8601
@@ -3871,11 +3872,11 @@ pypi-click_log
pypi-clikit
pypi-cloudevents
pypi-cloudflare
pypi-clr_artifact
pypi-cmarkgfm
pypi-cmd2
pypi-codecov
pypi-colorama
pypi-coloredlogs
pypi-colorlog
pypi-columnize
pypi-comm
@@ -3896,6 +3897,7 @@ pypi-coveralls
pypi-cppy
pypi-crashtest
pypi-crcmod
pypi-crypt_r
pypi-cryptography
pypi-cryptography_vectors
pypi-cs
@@ -3918,6 +3920,7 @@ pypi-decorator
pypi-deepmerge
pypi-deepspeed
pypi-dep_logic
pypi-dependency_groups
pypi-deprecated
pypi-deprecation
pypi-devpi_client
@@ -4112,10 +4115,8 @@ pypi-isort
pypi-itsdangerous
pypi-janus
pypi-jaraco.classes
pypi-jaraco.collections
pypi-jaraco.context
pypi-jaraco.functools
pypi-jaraco.text
pypi-jarn.viewdoc
pypi-javaproperties
pypi-jedi
@@ -4128,7 +4129,6 @@ pypi-jinxed
pypi-jmespath
pypi-joblib
pypi-josepy
pypi-jsmin
pypi-json5
pypi-jsondiff
pypi-jsonlines
@@ -4176,6 +4176,7 @@ pypi-lazy
pypi-lazy_loader
pypi-lazy_object_proxy
pypi-ldap3
pypi-legacy_cgi
pypi-levenshtein
pypi-libarchive_c
pypi-libevdev
@@ -4360,6 +4361,7 @@ pypi-progress
pypi-progressbar
pypi-prometheus_client
pypi-prompt_toolkit
pypi-propcache
pypi-proto_plus
pypi-protobuf
pypi-psautohint
@@ -4375,7 +4377,6 @@ pypi-py3dns
pypi-py3nvml
pypi-py_cpuinfo
pypi-pyaml
pypi-pyarrow
pypi-pyasn1
pypi-pyasn1_modules
pypi-pybind11
@@ -4415,7 +4416,6 @@ pypi-pylint
pypi-pymdown_extensions
pypi-pynacl
pypi-pynetbox
pypi-pynsist
pypi-pynvml
pypi-pyomo
pypi-pyopengl
@@ -4514,7 +4514,6 @@ pypi-regress
pypi-reportlab
pypi-repoze.lru
pypi-requests
pypi-requests_download
pypi-requests_file
pypi-requests_gssapi
pypi-requests_kerberos
@@ -4530,7 +4529,6 @@ pypi-retrolab
pypi-retry
pypi-retry_decorator
pypi-retryz
pypi-retype
pypi-rfc3339_validator
pypi-rfc3986
pypi-rfc3986_validator
@@ -4674,7 +4672,6 @@ pypi-tornado_xstatic
pypi-tox
pypi-tqdm
pypi-traitlets
pypi-trampolim
pypi-transformers
pypi-translationstring
pypi-trimesh
@@ -4684,7 +4681,6 @@ pypi-trove_classifiers
pypi-truststore
pypi-ttp
pypi-twine
pypi-typed_ast
pypi-typeguard
pypi-types_cffi
pypi-types_colorama
@@ -4715,7 +4711,6 @@ pypi-tzdata
pypi-tzlocal
pypi-ua_parser
pypi-uc_micro_py
pypi-ufo2ft
pypi-ufolib2
pypi-uharfbuzz
pypi-ujson
@@ -5322,6 +5317,7 @@ xrandr
xrdb
xrdp
xrestop
xscorch
xscreensaver
xsel
xset