Compare commits

...

30 Commits

Author SHA1 Message Date
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
William Douglas bdac11063e bump target: Stash repo first
In order to prevent content that wasn't committed from working its way
into a build, stash prior to doing the rest of the bump.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-10-10 11:47:15 -07:00
Arjan van de Ven 52f73c1530 packages update 2024-09-20 15:00:40 +00:00
Arjan van de Ven 072d9b81a2 packages update 2024-09-11 17:01:52 +00:00
Brett T. Warden 85a3e1cd32 Add libpng-2.0 license 2024-09-11 08:38:47 -07:00
William Douglas 3bf41ad9c9 Update vendor script to always use the latest tag
Sometimes vendor repos get tagged but the package fails to update for
another reason. In this case the repo wouldn't have the new vendor
ARCHIVE set and new attempts to build would use the old vendor archive
causing failures. Force using the latest vendor tag as generally this
is what we want (if we get a bad vendor tag somehow, it should mean a
new tag needs to be created to replace it anyway).

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-09-06 13:12:13 -07:00
Arjan van de Ven 92b3d682ec udpate 2024-08-22 18:35:05 +00:00
Arjan van de Ven ce873b4b19 packages update 2024-08-20 15:16:40 +00:00
Arjan van de Ven 463112629b packages update 2024-08-13 15:18:01 +00:00
Arjan van de Ven 0fd1fc5a1d packages update 2024-07-30 16:29:55 +00:00
William Douglas 0e9a2b7e82 Force git attributes for vendor directories
Avoid cases where user git settings cause files to have different line
endings than the package and cause hash mismatches when building.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-25 12:45:07 -07:00
William Douglas 398fb69708 Always remove the pumpAutospec file
Remove pumpAutospec even if the package hasn't yet become a git repo
yet.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-24 15:36:47 -07:00
William Douglas cdcb8aa9d8 Switch to git rm for removing the autospec log file
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-22 16:38:33 -07:00
Arjan van de Ven 3168ba058e update 2024-07-22 23:22:51 +00:00
William Douglas 76fef57d5b Add env var for autospec logging
Add environment variable that autospec uses to decide when to log
fatal errors to a special file used for the update process.

Also does the cleanup of the autospec created file for new autospec
runs.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-22 16:20:55 -07:00
Arjan van de Ven 59ea0b102e new packages file 2024-07-09 18:23:06 +00:00
William Douglas e4c604a161 Export the output of cargo vendor
autospec learned how to use 'cargo vendor' output as a drop in
configuration file so put the output of cargo vendor there.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-08 15:11:34 -07:00
William Douglas 59c4520f37 Fix import order
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-08 14:07:10 -07:00
4 changed files with 220 additions and 56 deletions
+75
View File
@@ -166,6 +166,7 @@ preautospec-checks:
#help to autospec. #help to autospec.
#help For more information, see the project at https://github.com/clearlinux/autospec #help For more information, see the project at https://github.com/clearlinux/autospec
autospec: preautospec-checks pullrebase localreponotice clean-old-content autospec: preautospec-checks pullrebase localreponotice clean-old-content
git rm --ignore-unmatch pumpAutospec || rm -f pumpAutospec
@if [ -e $(SPECFILE) ] && ! grep -q "# Generated by: autospec.py" $(SPECFILE) ; then \ @if [ -e $(SPECFILE) ] && ! grep -q "# Generated by: autospec.py" $(SPECFILE) ; then \
echo "Specfile already exists and was not created by autospec.py! Aborting."; \ echo "Specfile already exists and was not created by autospec.py! Aborting."; \
exit 1; \ exit 1; \
@@ -222,6 +223,7 @@ scanlicense:
#help the variable BUMP_MSG is set, its value is used as the commit summary. #help the variable BUMP_MSG is set, its value is used as the commit summary.
#help Otherwise a generic commit summary is used. #help Otherwise a generic commit summary is used.
bump: bump:
git stash
git pull --rebase git pull --rebase
$(MAKE) bumpnogit $(MAKE) bumpnogit
git add $(SPECFILE) release git add $(SPECFILE) release
@@ -406,6 +408,7 @@ update-versions:
#help or update the package and push the update to koji. #help or update the package and push the update to koji.
#help If no update.sh exists, update the version, autospec and push the #help If no update.sh exists, update the version, autospec and push the
#help update to koji (bumping the bump.list if found). #help update to koji (bumping the bump.list if found).
update: export AUTOSPEC_UPDATE=1
update: update:
@if [ -f update.first ]; then \ @if [ -f update.first ]; then \
for pkg in $$(< update.first); do \ for pkg in $$(< update.first); do \
@@ -579,6 +582,78 @@ cloc: $(SRPMFILE)
@$(MOCK) --clean --scrub=chroot --uniqueext=$(PKG_NAME) @$(MOCK) --clean --scrub=chroot --uniqueext=$(PKG_NAME)
cat results/cloc.txt 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 .PHONY: whatrequires
#help whatrequires: Output a list of packages that directly depend on this one, #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 #help showing the subpackage-level breakdown. Each line of output has the format
+1
View File
@@ -5,3 +5,4 @@ GFDL-1.3+
MIT-Opengroup MIT-Opengroup
WXwindows WXwindows
w3c w3c
libpng-2.0
+105 -25
View File
@@ -26,6 +26,7 @@ LibreCAD
Linux-PAM Linux-PAM
LuaJIT LuaJIT
LyX LyX
MangoHud
MarkupSafe MarkupSafe
ModemManager ModemManager
MuseScore MuseScore
@@ -62,6 +63,8 @@ R-BMA
R-BatchJobs R-BatchJobs
R-BayesFactor R-BayesFactor
R-BiasedUrn R-BiasedUrn
R-Biobase
R-BiocGenerics
R-BiocManager R-BiocManager
R-BoolNet R-BoolNet
R-BradleyTerry2 R-BradleyTerry2
@@ -121,6 +124,7 @@ R-MNP
R-MatchIt R-MatchIt
R-Matching R-Matching
R-MatrixModels R-MatrixModels
R-MetricsWeighted
R-ModelMetrics R-ModelMetrics
R-NADA R-NADA
R-NLP R-NLP
@@ -148,6 +152,7 @@ R-RNetCDF
R-ROCR R-ROCR
R-ROSE R-ROSE
R-RProtoBuf R-RProtoBuf
R-RPushbullet
R-RSQLite R-RSQLite
R-RSclient R-RSclient
R-RUnit R-RUnit
@@ -175,6 +180,7 @@ R-Ryacas
R-SGP R-SGP
R-SGPdata R-SGPdata
R-SQUAREM R-SQUAREM
R-SimDesign
R-Sleuth2 R-Sleuth2
R-SnowballC R-SnowballC
R-SparseM R-SparseM
@@ -216,6 +222,7 @@ R-arules
R-ash R-ash
R-askpass R-askpass
R-assertthat R-assertthat
R-audio
R-backports R-backports
R-base64enc R-base64enc
R-base64url R-base64url
@@ -226,6 +233,7 @@ R-bayesplot
R-bazar R-bazar
R-bbmle R-bbmle
R-bdsmatrix R-bdsmatrix
R-beepr
R-beeswarm R-beeswarm
R-bench R-bench
R-benchr R-benchr
@@ -263,6 +271,7 @@ R-calibrator
R-callr R-callr
R-car R-car
R-carData R-carData
R-cards
R-caret R-caret
R-cclust R-cclust
R-cellranger R-cellranger
@@ -338,6 +347,7 @@ R-distr
R-distrEx R-distrEx
R-distributional R-distributional
R-dlm R-dlm
R-doBy
R-doMC R-doMC
R-doMPI R-doMPI
R-doParallel R-doParallel
@@ -351,6 +361,7 @@ R-drc
R-dreamerr R-dreamerr
R-dtplyr R-dtplyr
R-dtw R-dtw
R-duckdb
R-dygraphs R-dygraphs
R-dynamicTreeCut R-dynamicTreeCut
R-dynlm R-dynlm
@@ -656,6 +667,7 @@ R-mvnormtest
R-mvoutlier R-mvoutlier
R-mvtnorm R-mvtnorm
R-nanoarrow R-nanoarrow
R-nanoparquet
R-natserv R-natserv
R-ncbit R-ncbit
R-ncdf4 R-ncdf4
@@ -861,6 +873,7 @@ R-rsvg
R-runjags R-runjags
R-rversions R-rversions
R-rvest R-rvest
R-rworldmap
R-s2 R-s2
R-sampling R-sampling
R-sandwich R-sandwich
@@ -879,6 +892,7 @@ R-sessioninfo
R-setRNG R-setRNG
R-sets R-sets
R-sf R-sf
R-sfd
R-sfsmisc R-sfsmisc
R-sgeostat R-sgeostat
R-shape R-shape
@@ -914,6 +928,7 @@ R-spatstat.linnet
R-spatstat.model R-spatstat.model
R-spatstat.random R-spatstat.random
R-spatstat.sparse R-spatstat.sparse
R-spatstat.univar
R-spatstat.utils R-spatstat.utils
R-spc R-spc
R-spdep R-spdep
@@ -963,6 +978,7 @@ R-tibble
R-tidyr R-tidyr
R-tidyrules R-tidyrules
R-tidyselect R-tidyselect
R-tidytable
R-tidyverse R-tidyverse
R-tikzDevice R-tikzDevice
R-timeDate R-timeDate
@@ -1072,6 +1088,7 @@ WPEBackend-fdo
WireGuard WireGuard
XStatic-term.js XStatic-term.js
Z3 Z3
aardvark-dns
abireport abireport
abseil-cpp abseil-cpp
accel-config accel-config
@@ -1103,6 +1120,7 @@ ansible
ansible-core ansible-core
antlr4-python3-runtime antlr4-python3-runtime
apache-ant apache-ant
apache-arrow
appstream appstream
appstream-glib appstream-glib
apr apr
@@ -1149,7 +1167,10 @@ avahi
awesome-wm awesome-wm
awscli awscli
axel axel
azure-c-logging
azure-configs azure-configs
azure-macro-utils-c
azure-umock-c
babeltrace babeltrace
babl babl
baloo baloo
@@ -1160,7 +1181,6 @@ bash-completion
bashdb bashdb
bats bats
bc bc
bcache-tools
bcachefs-tools bcachefs-tools
bcc bcc
bcftools bcftools
@@ -1221,6 +1241,8 @@ byobu
bz2file bz2file
bzip2 bzip2
c-ares c-ares
c-blosc
c-blosc2
cJSON cJSON
c_rehash c_rehash
ca-certs ca-certs
@@ -1246,6 +1268,7 @@ cereal
cfitsio cfitsio
cgdb cgdb
cgit cgit
chafa
check check
cheese cheese
chirp chirp
@@ -1299,7 +1322,6 @@ cmocka
cmrt cmrt
cmus cmus
cnf cnf
cni
cni-plugins cni-plugins
cockpit cockpit
codec2 codec2
@@ -1314,19 +1336,23 @@ colord-kde
colordiff colordiff
columbiad columbiad
compat-Botan-soname2 compat-Botan-soname2
compat-abseil-cpp-rolling
compat-atkmm-soname16 compat-atkmm-soname16
compat-babeltrace-one compat-babeltrace-one
compat-cairomm-soname10 compat-cairomm-soname10
compat-codec2-soname1 compat-codec2-soname1
compat-enchant-soname1 compat-enchant-soname1
compat-ffmpeg-4.4 compat-ffmpeg-4.4
compat-ffmpeg-6
compat-fuse-soname2 compat-fuse-soname2
compat-gcc-10 compat-gcc-10
compat-gcr-soname1 compat-gcr-soname1
compat-glibmm-soname24 compat-glibmm-soname24
compat-gnome-bluetooth-soname-13 compat-gnome-bluetooth-soname-13
compat-grpc-soname66
compat-gsl-soname27 compat-gsl-soname27
compat-gtksourceview-soname3 compat-gtksourceview-soname3
compat-icu4c-rolling
compat-json-c-soname4 compat-json-c-soname4
compat-libffi-soname6 compat-libffi-soname6
compat-libffi-soname7 compat-libffi-soname7
@@ -1339,6 +1365,7 @@ compat-libvpx-soname8
compat-pangomm-soname14 compat-pangomm-soname14
compat-protobuf-soname29 compat-protobuf-soname29
compat-protobuf-soname32 compat-protobuf-soname32
compat-python3-rolling
compat-re2-soname10 compat-re2-soname10
compat-readline-soname5 compat-readline-soname5
compat-taglib-soname1 compat-taglib-soname1
@@ -1380,6 +1407,7 @@ cups-filters
cups-pk-helper cups-pk-helper
curl curl
cycler cycler
cyme
cyrus-sasl cyrus-sasl
dapl dapl
darktable darktable
@@ -1392,6 +1420,7 @@ dbus-glib
dbus-python dbus-python
dconf dconf
dconf-editor dconf-editor
ddcutil
ddd ddd
deap deap
debugedit debugedit
@@ -1500,8 +1529,10 @@ fakeroot
falcosecurity-libs falcosecurity-libs
fann fann
farstream farstream
fastfetch
faultstat faultstat
fcgi fcgi
fd
fdk-aac fdk-aac
fdupes fdupes
feh feh
@@ -1548,7 +1579,6 @@ freeglut
freeipmi freeipmi
freetype freetype
fribidi fribidi
fritzing-app
frozen frozen
fs fs
fsarchiver fsarchiver
@@ -1556,8 +1586,10 @@ fsearch
fuse fuse
fwupd fwupd
fwupd-efi fwupd-efi
game-music-emu
garcon garcon
gawk gawk
gbinder-python
gc gc
gcab gcab
gcc gcc
@@ -1577,8 +1609,6 @@ gdm
geany geany
geany-plugins geany-plugins
geary geary
gedit
gedit-plugins-gnome
geeqie geeqie
gegl gegl
gengetopt gengetopt
@@ -1676,6 +1706,9 @@ goaccess
gobject-introspection gobject-introspection
golang-github-cpuguy83-go-md2man golang-github-cpuguy83-go-md2man
goocanvas goocanvas
google-benchmark
google-cloud-cpp
google-crc32c
googletest googletest
gparted gparted
gpaste gpaste
@@ -1739,6 +1772,7 @@ gzip
hamlib hamlib
haproxy haproxy
hardinfo hardinfo
hardinfo2
harfbuzz harfbuzz
haveged haveged
hdf5 hdf5
@@ -1749,6 +1783,7 @@ help2man
hexchat hexchat
hexedit hexedit
hicolor-icon-theme hicolor-icon-theme
highway
hiredis-c hiredis-c
hostname hostname
howdy howdy
@@ -1760,7 +1795,6 @@ hub
hugo hugo
hunspell hunspell
hwloc hwloc
hyperscan
hyphen hyphen
i2c-tools i2c-tools
i3 i3
@@ -2169,6 +2203,7 @@ libfontenc
libfprint libfprint
libfreehand libfreehand
libftdi1 libftdi1
libgbinder
libgcrypt libgcrypt
libgd libgd
libgdata libgdata
@@ -2177,6 +2212,7 @@ libgee
libgeotiff libgeotiff
libgit2 libgit2
libgit2-glib libgit2-glib
libglibutil
libglvnd libglvnd
libgnome-keyring libgnome-keyring
libgnomekbd libgnomekbd
@@ -2228,6 +2264,7 @@ libmbim
libmediaart libmediaart
libmemcached libmemcached
libmicrohttpd libmicrohttpd
libmikmod
libmnl libmnl
libmodbus libmodbus
libmodplug libmodplug
@@ -2261,6 +2298,7 @@ libodfgen
libogg libogg
libopenmpt libopenmpt
libopenzwave libopenzwave
libopusenc
liborcus liborcus
libosinfo libosinfo
libpagemaker libpagemaker
@@ -2313,6 +2351,7 @@ libsoup
libspatialindex libspatialindex
libspatialite libspatialite
libspectre libspectre
libspelling
libspiro libspiro
libspnav libspnav
libspng libspng
@@ -2347,6 +2386,7 @@ libva-intel-driver
libva-utils libva-utils
libvdpau libvdpau
libvirt libvirt
libvirt-dbus
libvirt-glib libvirt-glib
libvirt-python libvirt-python
libvisio libvisio
@@ -2405,6 +2445,8 @@ llvm
llvm14 llvm14
llvm15 llvm15
llvm16 llvm16
llvm17
llvm18
lm-sensors lm-sensors
lmdb lmdb
logrotate logrotate
@@ -2426,6 +2468,7 @@ luarocks
lutris lutris
luv luv
lv2 lv2
lxc
lynx lynx
lz4 lz4
lzlib lzlib
@@ -2476,6 +2519,7 @@ micro-config-drive-aws
micro-config-drive-equinix micro-config-drive-equinix
micro-config-drive-oci micro-config-drive-oci
milou milou
mimalloc
mimetreeparser mimetreeparser
minetest minetest
minetest_game minetest_game
@@ -2503,6 +2547,7 @@ modsecurity
modsecurity-nginx modsecurity-nginx
modules modules
mokutil mokutil
mold
mono mono
moreutils moreutils
mosh mosh
@@ -2511,6 +2556,7 @@ motd-update
motif motif
mozjs102 mozjs102
mozjs115 mozjs115
mozjs128
mozjs91 mozjs91
mpc mpc
mpfr mpfr
@@ -2552,6 +2598,7 @@ neovim
net-snmp net-snmp
net-tools net-tools
netaddr netaddr
netavark
netbase netbase
netcdf netcdf
netcdf-fortran netcdf-fortran
@@ -2562,6 +2609,7 @@ nettle
network-manager-applet network-manager-applet
networkmanager-qt networkmanager-qt
newt newt
nextcloud-desktop
nfs-utils nfs-utils
nftables nftables
nghttp2 nghttp2
@@ -2678,6 +2726,7 @@ parallel
parley parley
parted parted
pass pass
passt
passwdqc passwdqc
patch patch
patchelf patchelf
@@ -3072,6 +3121,7 @@ perl-IPC-ShareLite
perl-IPC-Shareable perl-IPC-Shareable
perl-IPC-System-Simple perl-IPC-System-Simple
perl-Image-Base perl-Image-Base
perl-Image-ExifTool
perl-Image-Info perl-Image-Info
perl-Image-Size perl-Image-Size
perl-Image-Xbm perl-Image-Xbm
@@ -3425,7 +3475,6 @@ perl-Test-Without-Module
perl-Test-YAML perl-Test-YAML
perl-Test-utf8 perl-Test-utf8
perl-Test2-Plugin-NoWarnings perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Text-Autoformat perl-Text-Autoformat
perl-Text-Brew perl-Text-Brew
perl-Text-CSV perl-Text-CSV
@@ -3697,15 +3746,16 @@ pypi-acme
pypi-adal pypi-adal
pypi-aiodns pypi-aiodns
pypi-aiofiles pypi-aiofiles
pypi-aiohappyeyeballs
pypi-aiohttp pypi-aiohttp
pypi-aiohttp_cors pypi-aiohttp_cors
pypi-aiosignal pypi-aiosignal
pypi-aiosmtpd pypi-aiosmtpd
pypi-aiosqlite pypi-aiosqlite
pypi-alabaster pypi-alabaster
pypi-altair
pypi-altgraph pypi-altgraph
pypi-amqp pypi-amqp
pypi-aniso8601
pypi-annotated_types pypi-annotated_types
pypi-ansi2html pypi-ansi2html
pypi-ansible_builder pypi-ansible_builder
@@ -3741,7 +3791,6 @@ pypi-atpublic
pypi-attr pypi-attr
pypi-attrdict pypi-attrdict
pypi-attrs pypi-attrs
pypi-autocommand
pypi-automat pypi-automat
pypi-awesomeversion pypi-awesomeversion
pypi-awscrt pypi-awscrt
@@ -3759,7 +3808,6 @@ pypi-babel
pypi-backcall pypi-backcall
pypi-backoff pypi-backoff
pypi-backports.ssl_match_hostname pypi-backports.ssl_match_hostname
pypi-bash_kernel
pypi-bashlex pypi-bashlex
pypi-bcrypt pypi-bcrypt
pypi-beartype pypi-beartype
@@ -3776,6 +3824,8 @@ pypi-blessed
pypi-blinker pypi-blinker
pypi-blivet pypi-blivet
pypi-blockdiag pypi-blockdiag
pypi-blosc
pypi-blosc2
pypi-bokeh pypi-bokeh
pypi-boolean.py pypi-boolean.py
pypi-booleanoperations pypi-booleanoperations
@@ -3796,14 +3846,12 @@ pypi-cachy
pypi-cairocffi pypi-cairocffi
pypi-cairosvg pypi-cairosvg
pypi-calver pypi-calver
pypi-capturer
pypi-cattrs pypi-cattrs
pypi-cerberus pypi-cerberus
pypi-certbot pypi-certbot
pypi-certbot_dns_google pypi-certbot_dns_google
pypi-certifi pypi-certifi
pypi-cffi pypi-cffi
pypi-cffsubr
pypi-cfgv pypi-cfgv
pypi-chai pypi-chai
pypi-chaospy pypi-chaospy
@@ -3813,7 +3861,6 @@ pypi-check_jsonschema
pypi-check_manifest pypi-check_manifest
pypi-cheetah3 pypi-cheetah3
pypi-cheroot pypi-cheroot
pypi-cherrypy
pypi-cibuildwheel pypi-cibuildwheel
pypi-ciscoisesdk pypi-ciscoisesdk
pypi-ciso8601 pypi-ciso8601
@@ -3825,11 +3872,11 @@ pypi-click_log
pypi-clikit pypi-clikit
pypi-cloudevents pypi-cloudevents
pypi-cloudflare pypi-cloudflare
pypi-clr_artifact
pypi-cmarkgfm pypi-cmarkgfm
pypi-cmd2 pypi-cmd2
pypi-codecov pypi-codecov
pypi-colorama pypi-colorama
pypi-coloredlogs
pypi-colorlog pypi-colorlog
pypi-columnize pypi-columnize
pypi-comm pypi-comm
@@ -3842,6 +3889,7 @@ pypi-cons
pypi-contextlib2 pypi-contextlib2
pypi-contextvars pypi-contextvars
pypi-contourpy pypi-contourpy
pypi-controlnet_aux
pypi-cookiecutter pypi-cookiecutter
pypi-coverage pypi-coverage
pypi-coverage_enable_subprocess pypi-coverage_enable_subprocess
@@ -3849,6 +3897,7 @@ pypi-coveralls
pypi-cppy pypi-cppy
pypi-crashtest pypi-crashtest
pypi-crcmod pypi-crcmod
pypi-crypt_r
pypi-cryptography pypi-cryptography
pypi-cryptography_vectors pypi-cryptography_vectors
pypi-cs pypi-cs
@@ -3859,6 +3908,7 @@ pypi-cu2qu
pypi-curio pypi-curio
pypi-cvss pypi-cvss
pypi-cxxfilt pypi-cxxfilt
pypi-cysystemd
pypi-cython pypi-cython
pypi-cytoolz pypi-cytoolz
pypi-dacite pypi-dacite
@@ -3870,6 +3920,7 @@ pypi-decorator
pypi-deepmerge pypi-deepmerge
pypi-deepspeed pypi-deepspeed
pypi-dep_logic pypi-dep_logic
pypi-dependency_groups
pypi-deprecated pypi-deprecated
pypi-deprecation pypi-deprecation
pypi-devpi_client pypi-devpi_client
@@ -3900,12 +3951,17 @@ pypi-docopt
pypi-docstring_parser pypi-docstring_parser
pypi-docstring_to_markdown pypi-docstring_to_markdown
pypi-docutils pypi-docutils
pypi-doit
pypi-doxypypy pypi-doxypypy
pypi-doxyqml pypi-doxyqml
pypi-dpcontracts pypi-dpcontracts
pypi-dulwich pypi-dulwich
pypi-durationpy
pypi-ecdsa pypi-ecdsa
pypi-editables pypi-editables
pypi-editdistance
pypi-edlib
pypi-einops
pypi-elementpath pypi-elementpath
pypi-enrich pypi-enrich
pypi-entrypoints pypi-entrypoints
@@ -3941,6 +3997,7 @@ pypi-flaky
pypi-flask pypi-flask
pypi-flatbuffers pypi-flatbuffers
pypi-flatten_json pypi-flatten_json
pypi-flexcache
pypi-flexparser pypi-flexparser
pypi-flit pypi-flit
pypi-flit_core pypi-flit_core
@@ -3955,6 +4012,7 @@ pypi-ftfy
pypi-funcparserlib pypi-funcparserlib
pypi-future pypi-future
pypi-gast pypi-gast
pypi-gdown
pypi-gevent pypi-gevent
pypi-geventhttpclient pypi-geventhttpclient
pypi-ghp_import pypi-ghp_import
@@ -4057,10 +4115,8 @@ pypi-isort
pypi-itsdangerous pypi-itsdangerous
pypi-janus pypi-janus
pypi-jaraco.classes pypi-jaraco.classes
pypi-jaraco.collections
pypi-jaraco.context pypi-jaraco.context
pypi-jaraco.functools pypi-jaraco.functools
pypi-jaraco.text
pypi-jarn.viewdoc pypi-jarn.viewdoc
pypi-javaproperties pypi-javaproperties
pypi-jedi pypi-jedi
@@ -4073,7 +4129,6 @@ pypi-jinxed
pypi-jmespath pypi-jmespath
pypi-joblib pypi-joblib
pypi-josepy pypi-josepy
pypi-jsmin
pypi-json5 pypi-json5
pypi-jsondiff pypi-jsondiff
pypi-jsonlines pypi-jsonlines
@@ -4101,6 +4156,9 @@ pypi-jupyterlab_link_share
pypi-jupyterlab_pygments pypi-jupyterlab_pygments
pypi-jupyterlab_server pypi-jupyterlab_server
pypi-jupyterlab_widgets pypi-jupyterlab_widgets
pypi-jupyterlite_core
pypi-jupyterlite_pyodide_kernel
pypi-jupyterlite_sphinx
pypi-jxmlease pypi-jxmlease
pypi-kcc pypi-kcc
pypi-kerberos pypi-kerberos
@@ -4118,6 +4176,7 @@ pypi-lazy
pypi-lazy_loader pypi-lazy_loader
pypi-lazy_object_proxy pypi-lazy_object_proxy
pypi-ldap3 pypi-ldap3
pypi-legacy_cgi
pypi-levenshtein pypi-levenshtein
pypi-libarchive_c pypi-libarchive_c
pypi-libevdev pypi-libevdev
@@ -4183,6 +4242,7 @@ pypi-mutagen
pypi-mypy_extensions pypi-mypy_extensions
pypi-myst_nb pypi-myst_nb
pypi-myst_parser pypi-myst_parser
pypi-narwhals
pypi-natsort pypi-natsort
pypi-nbclassic pypi-nbclassic
pypi-nbclient pypi-nbclient
@@ -4191,12 +4251,14 @@ pypi-nbformat
pypi-nbsphinx pypi-nbsphinx
pypi-nbval pypi-nbval
pypi-ndg_httpsclient pypi-ndg_httpsclient
pypi-ndindex
pypi-neat_python pypi-neat_python
pypi-nest_asyncio pypi-nest_asyncio
pypi-netapp_lib pypi-netapp_lib
pypi-netdisco pypi-netdisco
pypi-netifaces pypi-netifaces
pypi-networkx pypi-networkx
pypi-nftables
pypi-nh3 pypi-nh3
pypi-nibabel pypi-nibabel
pypi-nltk pypi-nltk
@@ -4208,6 +4270,7 @@ pypi-numexpr
pypi-numpoly pypi-numpoly
pypi-numpy pypi-numpy
pypi-numpydoc pypi-numpydoc
pypi-nvidia_ml_py
pypi-oauth2client pypi-oauth2client
pypi-oauthlib pypi-oauthlib
pypi-olefile pypi-olefile
@@ -4217,6 +4280,7 @@ pypi-openshift
pypi-openstep_plist pypi-openstep_plist
pypi-opt_einsum pypi-opt_einsum
pypi-ordered_set pypi-ordered_set
pypi-orjson
pypi-ouimeaux pypi-ouimeaux
pypi-outcome pypi-outcome
pypi-overrides pypi-overrides
@@ -4283,6 +4347,7 @@ pypi-poetry
pypi-poetry_core pypi-poetry_core
pypi-poetry_plugin_export pypi-poetry_plugin_export
pypi-polib pypi-polib
pypi-polyleven
pypi-port_for pypi-port_for
pypi-portalocker pypi-portalocker
pypi-portend pypi-portend
@@ -4296,6 +4361,7 @@ pypi-progress
pypi-progressbar pypi-progressbar
pypi-prometheus_client pypi-prometheus_client
pypi-prompt_toolkit pypi-prompt_toolkit
pypi-propcache
pypi-proto_plus pypi-proto_plus
pypi-protobuf pypi-protobuf
pypi-psautohint pypi-psautohint
@@ -4317,12 +4383,14 @@ pypi-pybind11
pypi-pybtex pypi-pybtex
pypi-pybtex_docutils pypi-pybtex_docutils
pypi-pycares pypi-pycares
pypi-pyclip
pypi-pyclipper pypi-pyclipper
pypi-pycodestyle pypi-pycodestyle
pypi-pycollada pypi-pycollada
pypi-pycosat pypi-pycosat
pypi-pycountry pypi-pycountry
pypi-pycparser pypi-pycparser
pypi-pycrdt
pypi-pycryptodome pypi-pycryptodome
pypi-pycryptodomex pypi-pycryptodomex
pypi-pycups pypi-pycups
@@ -4348,7 +4416,6 @@ pypi-pylint
pypi-pymdown_extensions pypi-pymdown_extensions
pypi-pynacl pypi-pynacl
pypi-pynetbox pypi-pynetbox
pypi-pynsist
pypi-pynvml pypi-pynvml
pypi-pyomo pypi-pyomo
pypi-pyopengl pypi-pyopengl
@@ -4361,7 +4428,6 @@ pypi-pypresence
pypi-pyproject_api pypi-pyproject_api
pypi-pyproject_hooks pypi-pyproject_hooks
pypi-pyproject_metadata pypi-pyproject_metadata
pypi-pyprojectx
pypi-pypsrp pypi-pypsrp
pypi-pyqrcode pypi-pyqrcode
pypi-pyqt5_sip pypi-pyqt5_sip
@@ -4448,7 +4514,6 @@ pypi-regress
pypi-reportlab pypi-reportlab
pypi-repoze.lru pypi-repoze.lru
pypi-requests pypi-requests
pypi-requests_download
pypi-requests_file pypi-requests_file
pypi-requests_gssapi pypi-requests_gssapi
pypi-requests_kerberos pypi-requests_kerberos
@@ -4464,7 +4529,6 @@ pypi-retrolab
pypi-retry pypi-retry
pypi-retry_decorator pypi-retry_decorator
pypi-retryz pypi-retryz
pypi-retype
pypi-rfc3339_validator pypi-rfc3339_validator
pypi-rfc3986 pypi-rfc3986
pypi-rfc3986_validator pypi-rfc3986_validator
@@ -4573,6 +4637,7 @@ pypi-subprocess_tee
pypi-suds pypi-suds
pypi-sure pypi-sure
pypi-svg.path pypi-svg.path
pypi-tables
pypi-tabulate pypi-tabulate
pypi-tap.py pypi-tap.py
pypi-tblib pypi-tblib
@@ -4587,9 +4652,11 @@ pypi-text_unidecode
pypi-textdistance pypi-textdistance
pypi-textfsm pypi-textfsm
pypi-texttable pypi-texttable
pypi-thefuzz
pypi-threadpoolctl pypi-threadpoolctl
pypi-three_merge pypi-three_merge
pypi-tifffile pypi-tifffile
pypi-timm
pypi-tinycss2 pypi-tinycss2
pypi-tldextract pypi-tldextract
pypi-tokenizers pypi-tokenizers
@@ -4599,12 +4666,12 @@ pypi-tomli_w
pypi-tomlkit pypi-tomlkit
pypi-toolz pypi-toolz
pypi-torchmetrics pypi-torchmetrics
pypi-torchvision
pypi-tornado pypi-tornado
pypi-tornado_xstatic pypi-tornado_xstatic
pypi-tox pypi-tox
pypi-tqdm pypi-tqdm
pypi-traitlets pypi-traitlets
pypi-trampolim
pypi-transformers pypi-transformers
pypi-translationstring pypi-translationstring
pypi-trimesh pypi-trimesh
@@ -4614,7 +4681,6 @@ pypi-trove_classifiers
pypi-truststore pypi-truststore
pypi-ttp pypi-ttp
pypi-twine pypi-twine
pypi-typed_ast
pypi-typeguard pypi-typeguard
pypi-types_cffi pypi-types_cffi
pypi-types_colorama pypi-types_colorama
@@ -4645,7 +4711,6 @@ pypi-tzdata
pypi-tzlocal pypi-tzlocal
pypi-ua_parser pypi-ua_parser
pypi-uc_micro_py pypi-uc_micro_py
pypi-ufo2ft
pypi-ufolib2 pypi-ufolib2
pypi-uharfbuzz pypi-uharfbuzz
pypi-ujson pypi-ujson
@@ -4777,8 +4842,10 @@ qemu
qemu-guest-additions qemu-guest-additions
qgit qgit
qhull qhull
qmapshack
qml-box2d qml-box2d
qpdf qpdf
qpl
qqc2-desktop-style qqc2-desktop-style
qrencode qrencode
qscintilla qscintilla
@@ -4876,7 +4943,6 @@ re2c
readline readline
rebootmgr rebootmgr
recode recode
redis-native
redis2-nginx-module redis2-nginx-module
redland redland
redsocks redsocks
@@ -4891,6 +4957,7 @@ rng-tools
robin-map robin-map
roboto roboto
rofi rofi
routino
rpcbind rpcbind
rpcsvc-proto rpcsvc-proto
rpm rpm
@@ -4924,6 +4991,7 @@ scour
scowl scowl
screen screen
scummvm scummvm
scx
sddm sddm
sddm-kcm sddm-kcm
seahorse seahorse
@@ -4955,6 +5023,7 @@ slurm
smartmontools smartmontools
smemstat smemstat
snappy snappy
snapshot
sndio sndio
socat socat
socket.io-client-cpp socket.io-client-cpp
@@ -5065,6 +5134,7 @@ tig
tigervnc tigervnc
time time
tini tini
tinyxml2
tiptop tiptop
tk tk
tmux tmux
@@ -5115,7 +5185,10 @@ v4l-utils
vala vala
valgrind valgrind
valijson valijson
valkey
vapoursynth
vbox-integration vbox-integration
vectorscan
vid.stab vid.stab
vifm vifm
vim vim
@@ -5128,12 +5201,14 @@ virt-manager
virt-viewer virt-viewer
vkd3d vkd3d
vlc vlc
volk
volume_key volume_key
vpnc vpnc
vsqlite vsqlite
vte vte
waffle waffle
wavpack wavpack
waydroid
wayland wayland
wayland-protocols wayland-protocols
waypipe waypipe
@@ -5147,10 +5222,12 @@ wget
which which
whois whois
wine wine
winegui
wireless-regdb-master wireless-regdb-master
wireplumber wireplumber
wireshark wireshark
wl-clipboard wl-clipboard
wlrobs
wlroots wlroots
wmctrl wmctrl
woff2 woff2
@@ -5168,6 +5245,7 @@ xapian-core
xastir xastir
xauth xauth
xbitmaps xbitmaps
xboxdrv
xcb-proto xcb-proto
xcb-util-cursor xcb-util-cursor
xcb-util-xrm xcb-util-xrm
@@ -5240,10 +5318,12 @@ xrandr
xrdb xrdb
xrdp xrdp
xrestop xrestop
xscorch
xscreensaver xscreensaver
xsel xsel
xset xset
xsetroot xsetroot
xsimd
xss-lock xss-lock
xterm xterm
xtrans xtrans
+39 -31
View File
@@ -9,9 +9,8 @@ import subprocess
import tempfile import tempfile
import time import time
from git import Repo
import requests import requests
from git import Repo
def vendor_check(): def vendor_check():
@@ -51,16 +50,17 @@ def setup_content(url):
def setup_cargo_vendor(path): def setup_cargo_vendor(path):
cargo_paths = []
for dirpath, _, files in os.walk(path): for dirpath, _, files in os.walk(path):
for fname in files: for fname in files:
if fname == "Cargo.toml": if fname == "Cargo.toml":
return dirpath cargo_paths.append(os.path.join(dirpath, fname))
return False 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) 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, subprocess.run(f"git clone {git_uri} {vendor_path}", shell=True, check=True,
stdout=subprocess.DEVNULL) stdout=subprocess.DEVNULL)
vendor_git = os.path.join(vendor_path, '.git') vendor_git = os.path.join(vendor_path, '.git')
@@ -70,17 +70,26 @@ def update_cargo_vendor(path, name, git):
stdout=subprocess.DEVNULL) stdout=subprocess.DEVNULL)
subprocess.run(f"git remote add origin {git_uri}", cwd=vendor_path, subprocess.run(f"git remote add origin {git_uri}", cwd=vendor_path,
shell=True, check=True, stdout=subprocess.DEVNULL) shell=True, check=True, stdout=subprocess.DEVNULL)
backup_vendor_git = os.path.join(path, 'clear-linux-vendor-git') backup_vendor_git = os.path.join(tmpdir, 'clear-linux-vendor-git')
subprocess.run(f"cp -a {vendor_git} {backup_vendor_git}", cwd=path, subprocess.run(f"cp -a {vendor_git} {backup_vendor_git}", cwd=tmpdir,
shell=True, check=True, stdout=subprocess.DEVNULL) shell=True, check=True, stdout=subprocess.DEVNULL)
shutil.rmtree(vendor_path) shutil.rmtree(vendor_path)
subprocess.run('cargo vendor', cwd=path, shell=True, check=True, vendor_cmd = 'cargo vendor ' + ' '.join([f"-s {x}" for x in cargo_paths[:-1]])
stdout=subprocess.DEVNULL) vendor_cmd += f" --manifest-path {cargo_paths[-1]}"
subprocess.run(f"cp -a {backup_vendor_git} {vendor_git}", cwd=path, 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=tmpdir,
shell=True, check=True, stdout=subprocess.DEVNULL) shell=True, check=True, stdout=subprocess.DEVNULL)
repo = Repo(vendor_path) repo = Repo(vendor_path)
if not (len(repo.untracked_files) > 0 or repo.is_dirty()): if not (len(repo.untracked_files) > 0 or repo.is_dirty()):
return False # Always use the newest tag as sometimes a new tag will
# be created but the package won't be updated to use it
# for a different failure reason.
tag = sorted(repo.tags, key=lambda x: x.name, reverse=True)[0]
return tag, cargo_vendors
subprocess.run('git add .', cwd=vendor_path, shell=True, check=True, subprocess.run('git add .', cwd=vendor_path, shell=True, check=True,
stdout=subprocess.DEVNULL) stdout=subprocess.DEVNULL)
subprocess.run('git commit -m "vendor update"', cwd=vendor_path, subprocess.run('git commit -m "vendor update"', cwd=vendor_path,
@@ -92,10 +101,10 @@ def update_cargo_vendor(path, name, git):
subprocess.run(f"git push origin main:main {tag}", cwd=vendor_path, subprocess.run(f"git push origin main:main {tag}", cwd=vendor_path,
shell=True, check=True, stdout=subprocess.DEVNULL) shell=True, check=True, stdout=subprocess.DEVNULL)
time.sleep(30) time.sleep(30)
return tag return tag, cargo_vendors
def update_cargo_sources(name, tag): def update_cargo_sources(name, tag, cargo_vendors):
makefile = [] makefile = []
options = [] options = []
archive_match = os.path.join(r'\$\(CGIT_BASE_URL\)', 'vendor', name, archive_match = os.path.join(r'\$\(CGIT_BASE_URL\)', 'vendor', name,
@@ -105,11 +114,11 @@ def update_cargo_sources(name, tag):
with open('Makefile', encoding='utf8') as mfile: with open('Makefile', encoding='utf8') as mfile:
for line in mfile.readlines(): for line in mfile.readlines():
if line.startswith('ARCHIVES'): if line.startswith('ARCHIVES'):
if re.search(archive_match + r'[a-zA-Z0-9_\-.]+\.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\.xz', new_archives = re.sub(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.gz',
f"{archive_replace}-{tag}.tar.xz", line) f"{archive_replace}-{tag}.tar.gz", line)
else: 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)) print(new_archives.replace('ARCHIVES = ', '', 1))
makefile.append(new_archives) makefile.append(new_archives)
else: else:
@@ -122,20 +131,21 @@ def update_cargo_sources(name, tag):
with open('options.conf', encoding='utf8') as ofile: with open('options.conf', encoding='utf8') as ofile:
for line in ofile.readlines(): for line in ofile.readlines():
if line.startswith('archives'): if line.startswith('archives'):
if re.search(archive_match + r'[a-zA-Z0-9_\-.]+\.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\.xz', new_archives = re.sub(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.gz',
f"{archive_match}-{tag}.tar.xz", line) f"{archive_match}-{tag}.tar.gz", line)
else: 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) options.append(new_archives)
else: else:
options.append(line) options.append(line)
with open('options.conf', 'w', encoding='utf8') as ofile: with open('options.conf', 'w', encoding='utf8') as ofile:
ofile.writelines(options) ofile.writelines(options)
with open('cargo_vendors', 'w', encoding='utf8') as cfile:
cfile.write(cargo_vendors)
def main(): def main():
updated = False
args = get_args() args = get_args()
vtype = vendor_check() vtype = vendor_check()
@@ -145,14 +155,12 @@ def main():
tdir = setup_content(args.url) tdir = setup_content(args.url)
if vtype == 'cargo': if vtype == 'cargo':
vdir = setup_cargo_vendor(tdir) cargo_paths = setup_cargo_vendor(tdir)
if vdir: if len(cargo_paths) == 0:
tag = update_cargo_vendor(vdir, args.name, args.git) print(args.archives)
if tag: else:
update_cargo_sources(args.name, tag) tag, cargo_vendors = update_cargo_vendor(tdir, cargo_paths, args.name, args.git)
updated = True update_cargo_sources(args.name, tag, cargo_vendors)
if not updated:
print(args.archives)
shutil.rmtree(tdir) shutil.rmtree(tdir)