mirror of
https://github.com/clearlinux/common.git
synced 2026-06-16 11:06:15 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c1e426713a | |||
| d9e4f478eb | |||
| 96b366e71f | |||
| 84097fd526 |
+1
-5
@@ -157,10 +157,6 @@ pullrebase:
|
||||
fi \
|
||||
fi
|
||||
|
||||
# help vendor: Attempt to create an updated vendor tar archive if needed
|
||||
vendor: preautospec-checks pullrebase clean-old-content
|
||||
@ $(TOPLVL)/projects/common/vendor.py $(firstword $(NEWURL) $(URL)) $(PKG_NAME) $(VND_BASE_URL)
|
||||
|
||||
preautospec-checks:
|
||||
|
||||
#help autospec: automatically generates a specfile. If there is
|
||||
@@ -174,8 +170,8 @@ autospec: preautospec-checks pullrebase localreponotice clean-old-content
|
||||
echo "Specfile already exists and was not created by autospec.py! Aborting."; \
|
||||
exit 1; \
|
||||
fi
|
||||
$(eval ARCHIVES = $(shell $(TOPLVL)/projects/common/vendor.py '$(value ARCHIVES)' $(firstword $(NEWURL) $(URL)) $(PKG_NAME) $(VND_BASE_URL)))
|
||||
@printf 'PKG_NAME := %s\nURL = %s\nARCHIVES = %s\n\ninclude ../common/Makefile.common\n' $(PKG_NAME) '$(firstword $(value NEWURL) $(value URL))' '$(value ARCHIVES)' > Makefile
|
||||
@$(MAKE) vendor
|
||||
python3 $(TOPLVL)/projects/autospec/autospec/autospec.py \
|
||||
--target . \
|
||||
--integrity \
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
/usr/lib/systemd/system/sysinit.target.wants/systemd-firstboot.service
|
||||
/usr/lib/systemd/system/sysinit.target.wants/systemd-hwdb-update.service
|
||||
/usr/lib/systemd/system/sysinit.target.wants/systemd-update-done.service
|
||||
/usr/lib/systemd/system/update-triggers.target.wants
|
||||
|
||||
@@ -110,6 +110,7 @@ R-ISOcodes
|
||||
R-ISwR
|
||||
R-Iso
|
||||
R-JM
|
||||
R-KMsurv
|
||||
R-Lahman
|
||||
R-LearnBayes
|
||||
R-Luminescence
|
||||
@@ -376,6 +377,7 @@ R-estimability
|
||||
R-etm
|
||||
R-evaluate
|
||||
R-evd
|
||||
R-exactRankTests
|
||||
R-expint
|
||||
R-expm
|
||||
R-expsmooth
|
||||
@@ -414,6 +416,7 @@ R-fixest
|
||||
R-flashClust
|
||||
R-flexmix
|
||||
R-flexsurv
|
||||
R-flexsurvcure
|
||||
R-flextable
|
||||
R-float
|
||||
R-fontBitstreamVera
|
||||
@@ -461,9 +464,13 @@ R-ggfortify
|
||||
R-ggjoy
|
||||
R-ggplot2
|
||||
R-ggplot2movies
|
||||
R-ggpubr
|
||||
R-ggrepel
|
||||
R-ggridges
|
||||
R-ggsci
|
||||
R-ggsignif
|
||||
R-ggstats
|
||||
R-ggtext
|
||||
R-ggvis
|
||||
R-gh
|
||||
R-git2r
|
||||
@@ -483,6 +490,7 @@ R-gower
|
||||
R-gplots
|
||||
R-gridBase
|
||||
R-gridExtra
|
||||
R-gridtext
|
||||
R-gsl
|
||||
R-gss
|
||||
R-gtable
|
||||
@@ -537,6 +545,7 @@ R-kernlab
|
||||
R-kimisc
|
||||
R-kit
|
||||
R-klaR
|
||||
R-km.ci
|
||||
R-kmi
|
||||
R-knitr
|
||||
R-ks
|
||||
@@ -597,6 +606,7 @@ R-mathjaxr
|
||||
R-matrixStats
|
||||
R-matrixcalc
|
||||
R-maxLik
|
||||
R-maxstat
|
||||
R-mclogit
|
||||
R-mclust
|
||||
R-mcmc
|
||||
@@ -843,6 +853,7 @@ R-rsdmx
|
||||
R-rstan
|
||||
R-rstanarm
|
||||
R-rstantools
|
||||
R-rstatix
|
||||
R-rstpm2
|
||||
R-rstudioapi
|
||||
R-rsvg
|
||||
@@ -923,7 +934,9 @@ R-styler
|
||||
R-subplex
|
||||
R-subselect
|
||||
R-superpc
|
||||
R-survMisc
|
||||
R-survey
|
||||
R-survminer
|
||||
R-svUnit
|
||||
R-svglite
|
||||
R-sys
|
||||
@@ -1175,6 +1188,7 @@ boto3
|
||||
botocore
|
||||
bovo
|
||||
box2d
|
||||
bpftool
|
||||
bpftrace
|
||||
breeze
|
||||
breeze-gtk
|
||||
@@ -1544,7 +1558,6 @@ gc
|
||||
gcab
|
||||
gcc
|
||||
gcc11
|
||||
gcc14
|
||||
gcc7
|
||||
gcc8
|
||||
gcc9
|
||||
@@ -4086,6 +4099,7 @@ pypi-kiwisolver
|
||||
pypi-krb5
|
||||
pypi-kubernetes
|
||||
pypi-langcodes
|
||||
pypi-language_data
|
||||
pypi-lark_parser
|
||||
pypi-latexcodec
|
||||
pypi-lavacli
|
||||
@@ -4111,6 +4125,7 @@ pypi-lxml
|
||||
pypi-lz4
|
||||
pypi-macholib
|
||||
pypi-mako
|
||||
pypi-marisa_trie
|
||||
pypi-markdown
|
||||
pypi-markdown2
|
||||
pypi-markdown_exec
|
||||
@@ -4130,6 +4145,7 @@ pypi-mkdocs
|
||||
pypi-mkdocs_autorefs
|
||||
pypi-mkdocs_exclude
|
||||
pypi-mkdocs_gen_files
|
||||
pypi-mkdocs_get_deps
|
||||
pypi-mkdocs_htmlproofer_plugin
|
||||
pypi-mkdocs_material_extensions
|
||||
pypi-mkdocs_monorepo_plugin
|
||||
@@ -4195,6 +4211,7 @@ pypi-outcome
|
||||
pypi-overrides
|
||||
pypi-ovirt_imageio
|
||||
pypi-packaging
|
||||
pypi-packaging_legacy
|
||||
pypi-paginate
|
||||
pypi-paho_mqtt
|
||||
pypi-pandocfilters
|
||||
@@ -4260,6 +4277,7 @@ pypi-portend
|
||||
pypi-posix_ipc
|
||||
pypi-poyo
|
||||
pypi-pre_commit
|
||||
pypi-pretty_errors
|
||||
pypi-prettytable
|
||||
pypi-probed
|
||||
pypi-progress
|
||||
@@ -4455,6 +4473,7 @@ pypi-safetensors
|
||||
pypi-salib
|
||||
pypi-sanic_routing
|
||||
pypi-scikit_build
|
||||
pypi-scikit_build_core
|
||||
pypi-scikit_image
|
||||
pypi-scikit_learn
|
||||
pypi-scp
|
||||
@@ -4584,6 +4603,7 @@ pypi-ttp
|
||||
pypi-twine
|
||||
pypi-typed_ast
|
||||
pypi-typeguard
|
||||
pypi-types_cffi
|
||||
pypi-types_colorama
|
||||
pypi-types_cryptography
|
||||
pypi-types_dataclasses
|
||||
@@ -4641,6 +4661,7 @@ pypi-vsts_cd_manager
|
||||
pypi-waitress
|
||||
pypi-warlock
|
||||
pypi-watchdog
|
||||
pypi-watchfiles
|
||||
pypi-wbdata
|
||||
pypi-wcmatch
|
||||
pypi-wcwidth
|
||||
@@ -4869,6 +4890,7 @@ rtmpdump
|
||||
rttr
|
||||
ruby
|
||||
runc
|
||||
rust-bindgen
|
||||
rustc
|
||||
rxvt-unicode
|
||||
s2tc
|
||||
|
||||
+6
-2
@@ -98,9 +98,13 @@ def zap_entire_file_end(filename):
|
||||
global files
|
||||
global files_chunks
|
||||
global files_header
|
||||
files_to_remove = list()
|
||||
for file in files:
|
||||
if file.endswith(filename):
|
||||
files.remove(file)
|
||||
# Don't modify the original list while iterating over it
|
||||
files_to_remove.append(file)
|
||||
for file in files_to_remove:
|
||||
files.remove(file)
|
||||
|
||||
def zap_line_in_file_substring(filename, match):
|
||||
global header
|
||||
@@ -186,7 +190,7 @@ def zap_empty_chunks():
|
||||
files_to_remove = list()
|
||||
for file in files:
|
||||
if file not in files_chunks:
|
||||
files.remove(file)
|
||||
files_to_remove.append(file)
|
||||
continue
|
||||
to_remove = list()
|
||||
for chunk in files_chunks[file]:
|
||||
|
||||
@@ -30,6 +30,7 @@ def vendor_check():
|
||||
|
||||
def get_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('archives')
|
||||
parser.add_argument('url')
|
||||
parser.add_argument('name')
|
||||
parser.add_argument('git')
|
||||
@@ -44,7 +45,7 @@ def setup_content(url):
|
||||
with open(outfile, 'wb') as cfile:
|
||||
cfile.write(response.content)
|
||||
|
||||
subprocess.run(f"tar xf {outfile}", shell=True, cwd=tdir, check=True)
|
||||
subprocess.run(f"tar xf {outfile}", shell=True, cwd=tdir, check=True, stdout=subprocess.DEVNULL)
|
||||
os.remove(outfile)
|
||||
return tdir
|
||||
|
||||
@@ -60,32 +61,36 @@ def setup_cargo_vendor(path):
|
||||
def update_cargo_vendor(path, name, git):
|
||||
git_uri = os.path.join(git, name)
|
||||
vendor_path = os.path.join(path, '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)
|
||||
vendor_git = os.path.join(vendor_path, '.git')
|
||||
if not os.path.isdir(vendor_git):
|
||||
# initialize a git repo
|
||||
subprocess.run('git init .', cwd=vendor_path, shell=True, check=True)
|
||||
subprocess.run('git init .', cwd=vendor_path, shell=True, check=True,
|
||||
stdout=subprocess.DEVNULL)
|
||||
subprocess.run(f"git remote add origin {git_uri}", cwd=vendor_path,
|
||||
shell=True, check=True)
|
||||
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,
|
||||
shell=True, check=True)
|
||||
shell=True, check=True, stdout=subprocess.DEVNULL)
|
||||
shutil.rmtree(vendor_path)
|
||||
subprocess.run('cargo vendor', cwd=path, shell=True, check=True)
|
||||
subprocess.run('cargo vendor', cwd=path, shell=True, check=True,
|
||||
stdout=subprocess.DEVNULL)
|
||||
subprocess.run(f"cp -a {backup_vendor_git} {vendor_git}", cwd=path,
|
||||
shell=True, check=True)
|
||||
shell=True, check=True, stdout=subprocess.DEVNULL)
|
||||
repo = Repo(vendor_path)
|
||||
if not (len(repo.untracked_files) > 0 or repo.is_dirty()):
|
||||
return False
|
||||
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)
|
||||
subprocess.run('git commit -m "vendor update"', cwd=vendor_path,
|
||||
shell=True, check=True)
|
||||
shell=True, check=True, stdout=subprocess.DEVNULL)
|
||||
gmt = time.gmtime()
|
||||
tag = f"{gmt.tm_year}-{gmt.tm_mon:02d}-{gmt.tm_mday:02d}-{gmt.tm_hour:02d}-{gmt.tm_min:02d}-{gmt.tm_sec:02d}"
|
||||
subprocess.run(f"git tag {tag}", cwd=vendor_path, shell=True,
|
||||
check=True)
|
||||
check=True, stdout=subprocess.DEVNULL)
|
||||
subprocess.run(f"git push origin main:main {tag}", cwd=vendor_path,
|
||||
shell=True, check=True)
|
||||
shell=True, check=True, stdout=subprocess.DEVNULL)
|
||||
time.sleep(30)
|
||||
return tag
|
||||
|
||||
@@ -93,30 +98,35 @@ def update_cargo_vendor(path, name, git):
|
||||
def update_cargo_sources(name, tag):
|
||||
makefile = []
|
||||
options = []
|
||||
archive_match = os.path.join('$(CGIT_BASE_URL)', 'vendor', name,
|
||||
archive_match = os.path.join(r'\$\(CGIT_BASE_URL\)', 'vendor', name,
|
||||
'snapshot', name)
|
||||
archive_replace = os.path.join('$(CGIT_BASE_URL)', 'vendor', name,
|
||||
'snapshot', name)
|
||||
with open('Makefile', encoding='utf8') as mfile:
|
||||
for line in mfile.readlines():
|
||||
if line.startswith('ARCHIVES'):
|
||||
if re.match(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.xz', line):
|
||||
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\n", line)
|
||||
f"{archive_replace}-{tag}.tar.xz", line)
|
||||
else:
|
||||
new_archives = f"ARCHIVES = {archive_match}-{tag}.tar.xz ./vendor\n"
|
||||
new_archives = f"{line[:-1]} {archive_replace}-{tag}.tar.xz ./vendor\n"
|
||||
print(new_archives.replace('ARCHIVES = ', '', 1))
|
||||
makefile.append(new_archives)
|
||||
else:
|
||||
makefile.append(line)
|
||||
with open('Makefile', 'w', encoding='utf8') as mfile:
|
||||
mfile.writelines(makefile)
|
||||
|
||||
archive_match = os.path.join('http://localhost', 'cgit', 'vendor', name,
|
||||
'snapshot', name)
|
||||
with open('options.conf', encoding='utf8') as ofile:
|
||||
for line in ofile.readlines():
|
||||
if line.startswith('archives'):
|
||||
if re.match(archive_match + r'[a-zA-Z0-9_\-.]+\.tar\.xz', line):
|
||||
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\n", line)
|
||||
f"{archive_match}-{tag}.tar.xz", line)
|
||||
else:
|
||||
new_archives = f"achives = {archive_match}-{tag}.tar.xz ./vendor\n"
|
||||
new_archives = f"{line[:-1]} {archive_match}-{tag}.tar.xz ./vendor\n"
|
||||
options.append(new_archives)
|
||||
else:
|
||||
options.append(line)
|
||||
@@ -125,11 +135,14 @@ def update_cargo_sources(name, tag):
|
||||
|
||||
|
||||
def main():
|
||||
updated = False
|
||||
args = get_args()
|
||||
|
||||
vtype = vendor_check()
|
||||
if not vtype:
|
||||
print(args.archives)
|
||||
return
|
||||
|
||||
args = get_args()
|
||||
tdir = setup_content(args.url)
|
||||
if vtype == 'cargo':
|
||||
vdir = setup_cargo_vendor(tdir)
|
||||
@@ -137,7 +150,11 @@ def main():
|
||||
tag = update_cargo_vendor(vdir, args.name, args.git)
|
||||
if tag:
|
||||
update_cargo_sources(args.name, tag)
|
||||
updated = True
|
||||
if not updated:
|
||||
print(args.archives)
|
||||
shutil.rmtree(tdir)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user