Compare commits

...

39 Commits

Author SHA1 Message Date
Arjan van de Ven 884b4283cb update packages file 2025-05-29 16:25:51 +00:00
Arjan van de Ven cf423b235d update packages file 2025-05-29 00:16:30 +00:00
Arjan van de Ven 5ba591d007 update packages file 2025-05-23 06:23:45 +00:00
Brett T. Warden e005f2164e Make catchup- a little bit more flexible with tag names
We support tag names like
${package}-${version}
${package}-v${version}
${version}
v${version}

Now add support for things like
${package}-foo-bar-${version}
foo-bar-${version}

for example:
vulkan-sdk-1.3.275.0 for SPIRV-Headers
2025-04-30 13:31:19 -07:00
Arjan van de Ven 5ed7435295 update packages file 2025-04-24 19:10:13 +00:00
Arjan van de Ven 0215deaf60 update packages file 2025-04-22 18:26:19 +00:00
Arjan van de Ven 3bea87a841 update packages file 2025-04-17 16:25:14 +00:00
Arjan van de Ven 1d363fd932 update packages file 2025-04-15 16:10:10 +00:00
Arjan van de Ven 05ccbbe7a7 update packages file 2025-04-10 16:35:03 +00:00
Arjan van de Ven b4b4a84dbb update packages file 2025-03-25 18:25:21 +00:00
Arjan van de Ven 8e2a825ca8 update packages file 2025-03-20 23:10:10 +00:00
Arjan van de Ven e8c53e4a2e update packages file 2025-03-17 15:39:42 +00:00
Arjan van de Ven 5d1521256e update packages file 2025-03-11 16:33:54 +00:00
Arjan van de Ven c43ccd01e8 update packages file 2025-03-06 19:44:36 +00:00
Arjan van de Ven f80b262ad7 update packages file 2025-03-05 07:49:33 +00:00
Arjan van de Ven 2b6b813c0a update packages file 2025-02-27 22:27:51 +00:00
Arjan van de Ven ec9fa3b778 update packages file 2025-02-25 19:01:23 +00:00
Arjan van de Ven e473e2bce8 update packages file 2025-02-18 18:30:50 +00:00
Arjan van de Ven d5dc76d31e update packages file 2025-02-13 18:17:21 +00:00
Arjan van de Ven f825b6b7fc update packages file 2025-02-12 07:05:01 +00:00
Arjan van de Ven 4627d7a47d update packages file 2025-02-04 18:21:27 +00:00
Arjan van de Ven 8b2e15fa59 update packages file 2025-01-28 17:50:13 +00:00
Arjan van de Ven ec3903192a update packages file 2025-01-24 00:07:48 +00:00
Arjan van de Ven da6bc31e4a update packages file 2025-01-17 14:49:29 +00:00
Arjan van de Ven c360ffe52c update packages file 2025-01-09 19:17:51 +00:00
Arjan van de Ven f092f66d8d update packages file 2024-12-19 06:03:26 +00:00
Brett T. Warden 704e8c90b8 Cleanup parsing of version from specfile in catchup targets
Make sure we only parse %{version} one time while doing a catchup.
2024-12-05 17:11:40 -08:00
Brett T. Warden 1ca80a16a3 Implement catchup targets
Implement a new target 'catchup' that will backport upstream commits
from the current package version to HEAD.
Implement a new target 'catchup-<commit|tag>' that will backport
upstream commits up to the target, as resolvable by git. This powers
'catchup'.
Rework the target 'backport-<commit>' to clone and use the upstream
git repository instead of using GitHub URLs. This also simplifies the
resolution of targets to full commit hashes, as needed to ensure unique
patch names and entries in 'series'.

'make catchup' will backport all the patches to catch this package up to
the upstream's HEAD
'make catchup-v5.0' will backport all the patches to catch this package
up to tag "v5.0" upstream.
'make catchup-ffdcba' will backport all the patches between this
package's current version and the upstream commit ffdcba.
'make backport-ffdcba' will backport ONLY upstream commit ffdcba.

All targets will produce patches named "backport-<commit>.patch", where
<commit> is the full SHA1 commit hash, regardless of whether you used an
abbreviated hash (or a tag, for catchup-%).

Patches are added to 'series' in chronological order, unless they're
already anywhere in that file.
2024-12-05 16:00:31 -08:00
Arjan van de Ven 27e359bda0 update packages file 2024-12-05 19:57:20 +00:00
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
William Douglas 9bfaefc491 Add support for multiple Cargo.toml files
Some projects store multiple Cargo.toml files, let vendor handle all
of them (might be worth having some config for certain Cargo.toml
paths to skip in the future though).

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-10-31 10:30:24 -07:00
Arjan van de Ven 64a20fa5c2 update packages file 2024-10-24 18:55:47 +00:00
Arjan van de Ven e0b152250f use gz not xz 2024-10-22 15:39:37 +00:00
Arjan van de Ven 70ca088ce6 update packages file 2024-10-18 19:19:02 +00:00
Arjan van de Ven a3c7b734fa packages update 2024-10-17 15:08:53 +00:00
Arjan van de Ven 7ff8c3a6d5 update packages file 2024-10-15 13:47:25 +00:00
3 changed files with 184 additions and 47 deletions
+72
View File
@@ -582,6 +582,78 @@ cloc: $(SRPMFILE)
@$(MOCK) --clean --scrub=chroot --uniqueext=$(PKG_NAME)
cat results/cloc.txt
#help catchup: Backport the commits from the current version to the upstream HEAD (not release).
#help Only works if giturl is defined and the current package version can be mapped to a git tag.
catchup:
$(MAKE) catchup-HEAD
#help catchup-<commit|tag>: Backport the commits from the current version to the specified commit or tag.
#help Only works if giturl is defined and the current package version can be mapped to a git tag.
catchup-%:
@target=$*; \
giturl=$$(grep -E '^giturl\s*=\s*\S+' options.conf | sed 's/giturl\s*=\s*//' 2>/dev/null); \
if [[ -z "$${giturl}" ]]; then \
echo "Error: giturl not defined in options.conf"; \
exit 1; \
fi; \
mkdir -p results; \
if [[ -d results/$(PKG_NAME) ]]; then \
echo "Reusing existing repository..."; \
git -C results/$(PKG_NAME) fetch origin; \
else \
echo "Cloning upstream repository..."; \
git -C results clone "$${giturl}" $(PKG_NAME); \
fi; \
if ! git -C results/$(PKG_NAME) rev-parse --verify --quiet "$${target}" >/dev/null; then \
echo "Error: Target commit/tag $${target} not found"; \
exit 1; \
fi; \
version=$$(rpm -q --qf '%{VERSION}\n' --specfile $(SPECFILE) | head -1); \
echo "Version: $${version}"; \
current_tag=$$(git -C results/$(PKG_NAME) tag --list | grep -E "^($(PKG_NAME)-)?(.+-|v)?$${version}$$") || { \
echo "Error: No tag found for current package version"; \
exit 1; \
}; \
echo "Catching up from $${current_tag} to $${target}"; \
for commit in $$(git -C results/$(PKG_NAME) log --reverse --pretty=oneline $${current_tag}..$${target} | cut -d' ' -f1); do \
$(MAKE) backport-$${commit}; \
done;
#help backport-<commit>: Retrieve a commit from the upstream git repository and save it as a backport patch.
#help The giturl is read from options.conf.
backport-%:
@commit=$*; \
echo "Backporting commit: $${commit}"; \
giturl=$$(grep -E '^giturl\s*=\s*\S+' options.conf | sed 's/giturl\s*=\s*//' 2>/dev/null); \
if [[ -z "$${giturl}" ]]; then \
echo "Error: giturl not defined in options.conf"; \
exit 1; \
fi; \
mkdir -p results; \
if [[ -d results/$(PKG_NAME) ]]; then \
echo "Reusing existing repository..."; \
git -C results/$(PKG_NAME) fetch origin; \
else \
echo "Cloning upstream repository..."; \
git -C results clone "$${giturl}" $(PKG_NAME); \
fi; \
full_commit=$$(git -C results/$(PKG_NAME) show --pretty=oneline $${commit} 2>/dev/null | head -1 | cut -d' ' -f 1); \
if [[ -z "$${full_commit}" ]]; then \
echo "Error: Commit for $${commit} not found"; \
exit 1; \
fi; \
patch=backport-$${full_commit}.patch; \
git -C results/$(PKG_NAME) format-patch -1 --stdout $${full_commit} > $${patch}; \
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
+90 -28
View File
@@ -9,6 +9,7 @@ CopyQ
DML
Endeavour
F-Engrave
FreeCAD
FreeRDP
FreeRDP2
GConf
@@ -49,6 +50,7 @@ PySocks
PyYAML
QAT-ZSTD-Plugin
QAT_engine
QGIS
QR-Code-generator
QXlsx
R
@@ -180,6 +182,7 @@ R-Ryacas
R-SGP
R-SGPdata
R-SQUAREM
R-SimDesign
R-Sleuth2
R-SnowballC
R-SparseM
@@ -232,6 +235,7 @@ R-bayesplot
R-bazar
R-bbmle
R-bdsmatrix
R-beepr
R-beeswarm
R-bench
R-benchr
@@ -584,6 +588,7 @@ R-linprog
R-lintr
R-listenv
R-listviewer
R-litedown
R-lle
R-lme4
R-lmerTest
@@ -809,6 +814,7 @@ R-readr
R-readstata13
R-readxl
R-recipes
R-reformulas
R-registry
R-relimp
R-rematch
@@ -824,7 +830,6 @@ R-reshape
R-reshape2
R-reticulate
R-rex
R-rgdal
R-rgenoud
R-rgeos
R-rgl
@@ -871,6 +876,7 @@ R-rsvg
R-runjags
R-rversions
R-rvest
R-rworldmap
R-s2
R-sampling
R-sandwich
@@ -916,6 +922,7 @@ R-sp
R-spData
R-spam
R-sparkline
R-sparsevctrs
R-spatstat
R-spatstat.core
R-spatstat.data
@@ -1056,6 +1063,7 @@ SDL2_image
SDL2_mixer
SDL2_net
SDL2_ttf
SDL3
SDL_gfx
SDL_image
SDL_mixer
@@ -1093,6 +1101,7 @@ accountsservice
acl
acpica-unix2
ade
adwaita-fonts
adwaita-icon-theme
akonadi
akonadi-calendar
@@ -1117,11 +1126,13 @@ ansible
ansible-core
antlr4-python3-runtime
apache-ant
apache-arrow
appstream
appstream-glib
apr
apr-util
arandr
ardopcf
argon2
aria2
ark
@@ -1203,10 +1214,10 @@ boost
borgbackup
boto3
botocore
bottom
bovo
box2d
bpftool
bpftrace
breeze
breeze-gtk
breeze-icons
@@ -1233,10 +1244,12 @@ buildreq-qmake
buildreq-qt6
buildreq-scons
buildx
bwidget
byobu
bz2file
bzip2
c-ares
c-blosc
c-blosc2
cJSON
c_rehash
@@ -1331,17 +1344,20 @@ colord-kde
colordiff
columbiad
compat-Botan-soname2
compat-abseil-cpp-rolling
compat-atkmm-soname16
compat-babeltrace-one
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
compat-glibmm-soname24
compat-gnome-bluetooth-soname-13
compat-grpc-soname66
compat-gsl-soname27
compat-gtksourceview-soname3
compat-icu4c-rolling
@@ -1354,15 +1370,19 @@ compat-libsoup-soname-24
compat-libva-soname1
compat-libvpx-soname7
compat-libvpx-soname8
compat-libvpx-soname9
compat-libxml2-soname2
compat-pangomm-soname14
compat-protobuf-soname29
compat-protobuf-soname32
compat-python3-rolling
compat-re2-soname10
compat-readline-soname5
compat-taglib-soname1
compat-tbb-soname2
compat-tiff-soname5
compat-wlroots-soname11
compat-yaml-cpp-soname6
component
compose
configobj
@@ -1378,6 +1398,7 @@ coreutils
corosync
coturn
cov-core
cpdb-libs
cpio
cppcheck
cppunit
@@ -1398,6 +1419,7 @@ cups-filters
cups-pk-helper
curl
cycler
cyme
cyrus-sasl
dapl
darktable
@@ -1431,6 +1453,7 @@ dino
directx-headers
direwolf
dist-pam-configs
dive
dkms
dlib
dlt-daemon
@@ -1519,6 +1542,7 @@ fakeroot
falcosecurity-libs
fann
farstream
fast_float
fastfetch
faultstat
fcgi
@@ -1576,6 +1600,7 @@ fsearch
fuse
fwupd
fwupd-efi
game-music-emu
garcon
gawk
gbinder-python
@@ -1586,6 +1611,7 @@ gcc11
gcc7
gcc8
gcc9
gccmakedep
gcompris-qt
gcr
gdal
@@ -1614,6 +1640,7 @@ gi-docgen
giflib
gifsicle
gimp
gimp-xsanecli
girara
git
git-gui
@@ -1742,6 +1769,7 @@ gstreamer-vaapi
gtk+
gtk-doc
gtk-frdp
gtk-layer-shell
gtk-vnc
gtk-xfce-engine
gtk3
@@ -1835,6 +1863,7 @@ ipe
iperf
ipmitool
ipp-crypto
ipp-usb
iproute2
ipset
iptables
@@ -1847,6 +1876,7 @@ irrlicht
irrlichtmt
irssi
isa-l
isl
iso-codes
isodate
isomd5sum
@@ -2253,6 +2283,7 @@ libmbim
libmediaart
libmemcached
libmicrohttpd
libmikmod
libmnl
libmodbus
libmodplug
@@ -2289,6 +2320,7 @@ libopenzwave
libopusenc
liborcus
libosinfo
libp11
libpagemaker
libpanel
libpcap
@@ -2339,6 +2371,7 @@ libsoup
libspatialindex
libspatialite
libspectre
libspelling
libspiro
libspnav
libspng
@@ -2372,6 +2405,7 @@ libva
libva-intel-driver
libva-utils
libvdpau
libversion
libvirt
libvirt-dbus
libvirt-glib
@@ -2425,6 +2459,7 @@ linux-ltscurrent
linux-ltsprev
linux-preempt-rt
linux-tools
linuxcnc
linuxptp
lksctp-tools
lldpd
@@ -2433,6 +2468,8 @@ llvm14
llvm15
llvm16
llvm17
llvm18
llvm19
lm-sensors
lmdb
logrotate
@@ -2450,6 +2487,7 @@ lttng-ust
lua
lua-nginx-module
lualgi
luanti
luarocks
lutris
luv
@@ -2465,6 +2503,7 @@ m4
mailcommon
mailimporter
make
makedepend
man-db
man-pages
man-pages-posix
@@ -2488,10 +2527,10 @@ memtier_benchmark
menu-cache
mercurial
mesa
mesa-clc
mesa-demos
meson
messagelib
meta-c-basic
meta-desktop-gnome
meta-os-core
meta-os-core-plus
@@ -2507,13 +2546,13 @@ micro-config-drive-oci
milou
mimalloc
mimetreeparser
minetest
minetest_game
mingw-binutils
mingw-crt
mingw-gcc
minicom
minimodem
minizip-ng
minuet
mixer-tools
mkfontdir
@@ -2595,6 +2634,7 @@ nettle
network-manager-applet
networkmanager-qt
newt
nextcloud-desktop
nfs-utils
nftables
nghttp2
@@ -2616,6 +2656,7 @@ nload
nlohmann_json
nlopt
nmap
nng
node-addon-api
nodejs
nose-parameterized
@@ -2638,6 +2679,7 @@ numactl
numatop
numlockx
numpy-stl
nushell
nut
nv-codec-headers
nvme-cli
@@ -2702,6 +2744,7 @@ paho.mqtt.c
paho.mqtt.cpp
palapeli
pam-python
pam_u2f
pam_wrapper
pandas
pandoc
@@ -3576,7 +3619,6 @@ perl-prefork
perl-strictures
pesign
phonon
phonon-vlc
phoronix-test-suite
php
php-APCu
@@ -3636,7 +3678,6 @@ php-zmq
picmi
picocom
pidgin
pidgin-sipe
pigeonhole
pigz
pim-data-exporter
@@ -3724,6 +3765,7 @@ pynvim
pyotherside
pyotp
pyparted
pypi-Yapps
pypi-absl_py
pypi-abydos
pypi-accelerate
@@ -3741,7 +3783,6 @@ pypi-alabaster
pypi-altair
pypi-altgraph
pypi-amqp
pypi-aniso8601
pypi-annotated_types
pypi-ansi2html
pypi-ansible_builder
@@ -3777,7 +3818,6 @@ pypi-atpublic
pypi-attr
pypi-attrdict
pypi-attrs
pypi-autocommand
pypi-automat
pypi-awesomeversion
pypi-awscrt
@@ -3795,7 +3835,6 @@ pypi-babel
pypi-backcall
pypi-backoff
pypi-backports.ssl_match_hostname
pypi-bash_kernel
pypi-bashlex
pypi-bcrypt
pypi-beartype
@@ -3812,6 +3851,8 @@ pypi-blessed
pypi-blinker
pypi-blivet
pypi-blockdiag
pypi-blosc
pypi-blosc2
pypi-bokeh
pypi-boolean.py
pypi-booleanoperations
@@ -3832,14 +3873,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
@@ -3849,7 +3888,6 @@ pypi-check_jsonschema
pypi-check_manifest
pypi-cheetah3
pypi-cheroot
pypi-cherrypy
pypi-cibuildwheel
pypi-ciscoisesdk
pypi-ciso8601
@@ -3861,11 +3899,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
@@ -3886,6 +3924,7 @@ pypi-coveralls
pypi-cppy
pypi-crashtest
pypi-crcmod
pypi-crypt_r
pypi-cryptography
pypi-cryptography_vectors
pypi-cs
@@ -3908,6 +3947,7 @@ pypi-decorator
pypi-deepmerge
pypi-deepspeed
pypi-dep_logic
pypi-dependency_groups
pypi-deprecated
pypi-deprecation
pypi-devpi_client
@@ -3943,8 +3983,11 @@ pypi-doxypypy
pypi-doxyqml
pypi-dpcontracts
pypi-dulwich
pypi-durationpy
pypi-ecdsa
pypi-editables
pypi-editdistance
pypi-edlib
pypi-einops
pypi-elementpath
pypi-enrich
@@ -3967,6 +4010,7 @@ pypi-falcon
pypi-fasteners
pypi-fastimport
pypi-fastjsonschema
pypi-fido2
pypi-filecache
pypi-filelock
pypi-findpython
@@ -4045,6 +4089,7 @@ pypi-hatch_requirements_txt
pypi-hatch_vcs
pypi-hatchling
pypi-heapdict
pypi-hf_xet
pypi-hishel
pypi-hjson
pypi-hkp4py
@@ -4065,6 +4110,7 @@ pypi-hyperlink
pypi-hypothesis
pypi-icalendar
pypi-icecream
pypi-id
pypi-identify
pypi-idna
pypi-idna_ssl
@@ -4089,8 +4135,8 @@ pypi-iocapture
pypi-ipaddress
pypi-ipdb
pypi-ipykernel
pypi-ipyparallel
pypi-ipython
pypi-ipython-pygments-lexers
pypi-ipython_genutils
pypi-ipython_sql
pypi-ipywidgets
@@ -4099,10 +4145,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
@@ -4115,7 +4159,6 @@ pypi-jinxed
pypi-jmespath
pypi-joblib
pypi-josepy
pypi-jsmin
pypi-json5
pypi-jsondiff
pypi-jsonlines
@@ -4145,7 +4188,6 @@ pypi-jupyterlab_server
pypi-jupyterlab_widgets
pypi-jupyterlite_core
pypi-jupyterlite_pyodide_kernel
pypi-jupyterlite_sphinx
pypi-jxmlease
pypi-kcc
pypi-kerberos
@@ -4163,6 +4205,7 @@ pypi-lazy
pypi-lazy_loader
pypi-lazy_object_proxy
pypi-ldap3
pypi-legacy_cgi
pypi-levenshtein
pypi-libarchive_c
pypi-libevdev
@@ -4237,12 +4280,14 @@ pypi-nbformat
pypi-nbsphinx
pypi-nbval
pypi-ndg_httpsclient
pypi-ndindex
pypi-neat_python
pypi-nest_asyncio
pypi-netapp_lib
pypi-netdisco
pypi-netifaces
pypi-networkx
pypi-nftables
pypi-nh3
pypi-nibabel
pypi-nltk
@@ -4331,6 +4376,7 @@ pypi-poetry
pypi-poetry_core
pypi-poetry_plugin_export
pypi-polib
pypi-polyleven
pypi-port_for
pypi-portalocker
pypi-portend
@@ -4344,6 +4390,7 @@ pypi-progress
pypi-progressbar
pypi-prometheus_client
pypi-prompt_toolkit
pypi-propcache
pypi-proto_plus
pypi-protobuf
pypi-psautohint
@@ -4372,6 +4419,7 @@ pypi-pycollada
pypi-pycosat
pypi-pycountry
pypi-pycparser
pypi-pycrdt
pypi-pycryptodome
pypi-pycryptodomex
pypi-pycups
@@ -4397,7 +4445,6 @@ pypi-pylint
pypi-pymdown_extensions
pypi-pynacl
pypi-pynetbox
pypi-pynsist
pypi-pynvml
pypi-pyomo
pypi-pyopengl
@@ -4432,6 +4479,7 @@ pypi-pyroute2.nftables
pypi-pyroute2.nslink
pypi-pyrsistent
pypi-pysaml2
pypi-pyscard
pypi-pyscss
pypi-pyserial
pypi-pysnow
@@ -4487,6 +4535,7 @@ pypi-rapidfuzz
pypi-rapidfuzz_capi
pypi-rcssmin
pypi-rdflib
pypi-re2
pypi-readme_renderer
pypi-readtime
pypi-recommonmark
@@ -4496,7 +4545,6 @@ pypi-regress
pypi-reportlab
pypi-repoze.lru
pypi-requests
pypi-requests_download
pypi-requests_file
pypi-requests_gssapi
pypi-requests_kerberos
@@ -4508,11 +4556,9 @@ pypi-requirements_parser
pypi-resolvelib
pypi-responses
pypi-restructuredtext_lint
pypi-retrolab
pypi-retry
pypi-retry_decorator
pypi-retryz
pypi-retype
pypi-rfc3339_validator
pypi-rfc3986
pypi-rfc3986_validator
@@ -4520,6 +4566,7 @@ pypi-rfc3987
pypi-rich
pypi-rjsmin
pypi-rlpycairo
pypi-roman_numerals_py
pypi-rope
pypi-routes
pypi-rpds_py
@@ -4621,6 +4668,7 @@ pypi-subprocess_tee
pypi-suds
pypi-sure
pypi-svg.path
pypi-tables
pypi-tabulate
pypi-tap.py
pypi-tblib
@@ -4635,6 +4683,7 @@ pypi-text_unidecode
pypi-textdistance
pypi-textfsm
pypi-texttable
pypi-thefuzz
pypi-threadpoolctl
pypi-three_merge
pypi-tifffile
@@ -4654,7 +4703,6 @@ pypi-tornado_xstatic
pypi-tox
pypi-tqdm
pypi-traitlets
pypi-trampolim
pypi-transformers
pypi-translationstring
pypi-trimesh
@@ -4664,7 +4712,6 @@ pypi-trove_classifiers
pypi-truststore
pypi-ttp
pypi-twine
pypi-typed_ast
pypi-typeguard
pypi-types_cffi
pypi-types_colorama
@@ -4690,12 +4737,13 @@ pypi-types_toml
pypi-types_typed_ast
pypi-types_urllib3
pypi-typing_extensions
pypi-typing_inspection
pypi-typogrify
pypi-tzdata
pypi-tzlocal
pypi-ua_parser
pypi-ua_parser_builtins
pypi-uc_micro_py
pypi-ufo2ft
pypi-ufolib2
pypi-uharfbuzz
pypi-ujson
@@ -4715,6 +4763,7 @@ pypi-uvloop
pypi-venusian
pypi-verboselogs
pypi-versioneer
pypi-versioningit
pypi-vine
pypi-virtualenv
pypi-volatile
@@ -4746,7 +4795,6 @@ pypi-wsproto
pypi-wurlitzer
pypi-wxPython
pypi-xcffib
pypi-xgboost
pypi-xmldiff
pypi-xmljson
pypi-xmlschema
@@ -4774,6 +4822,7 @@ pypi-yarg
pypi-yarl
pypi-yattag
pypi-ypy_websocket
pypi-yubikey_manager
pypi-zabbix_api
pypi-zc.lockfile
pypi-zeroconf
@@ -4795,6 +4844,7 @@ pypi-zope.security
pypi-zope.testing
pypi-zope.testrunner
pypi-zopfli
pystring
python
python-digitalocean
python-distutils-extra
@@ -4919,6 +4969,7 @@ rage
ragel
rapidjson
raptor2
rasdaemon
rasqal
rclone
rdfind
@@ -4931,6 +4982,7 @@ recode
redis2-nginx-module
redland
redsocks
redumper
requests-ntlm
rest
restic
@@ -4964,6 +5016,7 @@ s3fs-fuse
salt
samba
samtools
sane-airscan
sane-backends
sassc
sbc
@@ -4976,6 +5029,7 @@ scour
scowl
screen
scummvm
scx
sddm
sddm-kcm
seahorse
@@ -5087,7 +5141,9 @@ tallow
tar
taskwarrior
tbb
tbtools
tcl
tclx
tcpdump
tdb
tecla
@@ -5142,10 +5198,12 @@ udisks2
udunits
uget
uhttpmock
uhubctl
umockdev
unbundle
unibilium
unifdef
unified-memory-framework
unison
unit
unixODBC
@@ -5156,7 +5214,6 @@ usb-modeswitch-data
usbredir
usbutils
userspace-rcu
usrbinjava
usrbinvi
usrsctp
utf8proc
@@ -5172,6 +5229,7 @@ valijson
valkey
vapoursynth
vbox-integration
vc-intrinsics
vectorscan
vid.stab
vifm
@@ -5184,7 +5242,6 @@ virglrenderer
virt-manager
virt-viewer
vkd3d
vlc
volk
volume_key
vpnc
@@ -5216,6 +5273,7 @@ wlroots
wmctrl
woff2
wol
wolfssl
wpa_supplicant
wsjtx
wslu
@@ -5302,6 +5360,8 @@ xrandr
xrdb
xrdp
xrestop
xsane
xscorch
xscreensaver
xsel
xset
@@ -5328,6 +5388,7 @@ yelp-tools
yelp-xsl
yq
ytnef
yyjson
zabbix
zathura
zathura-pdf-poppler
@@ -5335,6 +5396,7 @@ zenity
zimg
zip
zlib
zlib-ng
znc
zopfli
zsh
+22 -19
View File
@@ -50,16 +50,17 @@ def setup_content(url):
def setup_cargo_vendor(path):
cargo_paths = []
for dirpath, _, files in os.walk(path):
for fname in files:
if fname == "Cargo.toml":
return dirpath
return False
cargo_paths.append(os.path.join(dirpath, fname))
return cargo_paths
def update_cargo_vendor(path, name, git):
def update_cargo_vendor(tmpdir, cargo_paths, name, git):
git_uri = os.path.join(git, name)
vendor_path = os.path.join(path, 'vendor')
vendor_path = os.path.join(tmpdir, 'vendor')
subprocess.run(f"git clone {git_uri} {vendor_path}", shell=True, check=True,
stdout=subprocess.DEVNULL)
vendor_git = os.path.join(vendor_path, '.git')
@@ -69,16 +70,18 @@ def update_cargo_vendor(path, name, git):
stdout=subprocess.DEVNULL)
subprocess.run(f"git remote add origin {git_uri}", cwd=vendor_path,
shell=True, check=True, stdout=subprocess.DEVNULL)
backup_vendor_git = os.path.join(path, 'clear-linux-vendor-git')
subprocess.run(f"cp -a {vendor_git} {backup_vendor_git}", cwd=path,
backup_vendor_git = os.path.join(tmpdir, 'clear-linux-vendor-git')
subprocess.run(f"cp -a {vendor_git} {backup_vendor_git}", cwd=tmpdir,
shell=True, check=True, stdout=subprocess.DEVNULL)
shutil.rmtree(vendor_path)
cargo_vendors = subprocess.run('cargo vendor', cwd=path, shell=True,
vendor_cmd = 'cargo vendor ' + ' '.join([f"-s {x}" for x in cargo_paths[:-1]])
vendor_cmd += f" --manifest-path {cargo_paths[-1]}"
cargo_vendors = subprocess.run(vendor_cmd, cwd=tmpdir, shell=True,
check=True, stdout=subprocess.PIPE,
universal_newlines=True).stdout
with open(os.path.join(vendor_path, ".gitattributes"), "w", encoding='utf8') as gafile:
gafile.write("* text=false\n")
subprocess.run(f"cp -a {backup_vendor_git} {vendor_git}", cwd=path,
subprocess.run(f"cp -a {backup_vendor_git} {vendor_git}", cwd=tmpdir,
shell=True, check=True, stdout=subprocess.DEVNULL)
repo = Repo(vendor_path)
if not (len(repo.untracked_files) > 0 or repo.is_dirty()):
@@ -111,11 +114,11 @@ def update_cargo_sources(name, tag, cargo_vendors):
with open('Makefile', encoding='utf8') as mfile:
for line in mfile.readlines():
if line.startswith('ARCHIVES'):
if re.search(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.xz', line):
new_archives = re.sub(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.xz',
f"{archive_replace}-{tag}.tar.xz", line)
if re.search(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.gz', line):
new_archives = re.sub(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.gz',
f"{archive_replace}-{tag}.tar.gz", line)
else:
new_archives = f"{line[:-1]} {archive_replace}-{tag}.tar.xz ./vendor\n"
new_archives = f"{line[:-1]} {archive_replace}-{tag}.tar.gz ./vendor\n"
print(new_archives.replace('ARCHIVES = ', '', 1))
makefile.append(new_archives)
else:
@@ -128,11 +131,11 @@ def update_cargo_sources(name, tag, cargo_vendors):
with open('options.conf', encoding='utf8') as ofile:
for line in ofile.readlines():
if line.startswith('archives'):
if re.search(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.xz', line):
new_archives = re.sub(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.xz',
f"{archive_match}-{tag}.tar.xz", line)
if re.search(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.gz', line):
new_archives = re.sub(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.gz',
f"{archive_match}-{tag}.tar.gz", line)
else:
new_archives = f"{line[:-1]} {archive_match}-{tag}.tar.xz ./vendor\n"
new_archives = f"{line[:-1]} {archive_match}-{tag}.tar.gz ./vendor\n"
options.append(new_archives)
else:
options.append(line)
@@ -152,11 +155,11 @@ def main():
tdir = setup_content(args.url)
if vtype == 'cargo':
vdir = setup_cargo_vendor(tdir)
if not vdir:
cargo_paths = setup_cargo_vendor(tdir)
if len(cargo_paths) == 0:
print(args.archives)
else:
tag, cargo_vendors = update_cargo_vendor(vdir, args.name, args.git)
tag, cargo_vendors = update_cargo_vendor(tdir, cargo_paths, args.name, args.git)
update_cargo_sources(args.name, tag, cargo_vendors)
shutil.rmtree(tdir)