Compare commits

...

85 Commits

Author SHA1 Message Date
Arjan van de Ven 39e8d4e68a update packages 2024-06-20 22:38:41 +00:00
Arjan van de Ven 9d440aff3a update packages 2024-06-13 20:01:45 +00:00
Arjan van de Ven c1e426713a packages update 2024-05-27 15:34:45 +00:00
William Douglas d9e4f478eb Rework vendoring support
Changes vendor from a target (it could still have a stand-alone target
but it wouldn't be used by the autospec target).

This change is needed because the Makefile is rewritten in the
autospec target but the ARCHIVES make variable is going to use the
value when make is executed. The common change causes the ARCHIVES
value to be eval'd during the autospec target execution in order for
the update from the vendor script to be seen by make.

The vendor script changes fix bugs in updating the options.conf and
Makefile. It also now handles returning the original ARCHIVES value as
well as prevent subshell scripts from outputting and adding badness
into the eval'd ARCHIVES variable.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-05-22 12:26:37 -07:00
William Douglas 96b366e71f Don't blacklist the update target directory
This is shipped by the filesystem package.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-04-29 12:39:38 -07:00
Brett T. Warden 84097fd526 Don't alter a list we're iterating through
Fix a couple of places where we're trying to remove files from the files
list while we're iterating through it -- replicate the change elsewhere
to keep a temporary list of the files to remove, then iterate through
*that* list after iterating through the global files list.
2024-04-24 10:59:16 -07:00
William Douglas c2cd51b5f2 Have vendor.py also update the options.conf file
This file is used for spec and upstream content so updating it is
important for improving the build automation.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-04-18 13:55:36 -07:00
Arjan van de Ven ed1ef58d9a update packages 2024-04-17 01:23:14 +00:00
Arjan van de Ven 497f2a66f4 update packages 2024-03-15 20:03:14 +00:00
William Douglas 3b8d3c66ea Remove echo on koji tag/untag
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-03-12 15:34:16 -07:00
William Douglas 373cbad44c Add koji-tag and koji-untag targets
Add koji-tag and koji-untag targets that can be used to tag and untag
dist-clear on the current nvr build of the package in koji.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-03-12 15:31:04 -07:00
clrbuilder 0fcc984675 Update packages file for version 40810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-02-07 10:37:45 -08:00
clrbuilder 78023bd74a Update packages file for version 40800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-02-06 13:47:20 -08:00
clrbuilder d2b5b72346 Update packages file for version 40770
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-02-06 00:07:38 -08:00
clrbuilder 4953d9e087 Update packages file for version 40760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-02-02 00:19:19 -08:00
clrbuilder ee37765ed2 Update packages file for version 40750
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-02-01 00:07:47 -08:00
clrbuilder 492abf6d32 Update packages file for version 40740
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-30 19:12:45 -08:00
clrbuilder 2562a8c7fb Update packages file for version 40720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-30 00:07:47 -08:00
clrbuilder 5fd02ece36 Update packages file for version 40700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-23 00:07:31 -08:00
clrbuilder 039e63fb1e Update packages file for version 40690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-18 00:08:20 -08:00
clrbuilder dcf8bc4978 Update packages file for version 40660
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-14 09:22:12 -08:00
clrbuilder 3951710117 Update packages file for version 40630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-09 00:07:14 -08:00
clrbuilder 504d77bc58 Update packages file for version 40590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2024-01-02 00:07:06 -08:00
clrbuilder d3514ae496 Update packages file for version 40540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-12-21 22:33:32 -08:00
clrbuilder 4403e9280a Update packages file for version 40500
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-12-19 06:25:34 -08:00
clrbuilder 0aed61be35 Update packages file for version 40460
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-12-12 00:09:31 -08:00
clrbuilder cdda6bcece Update packages file for version 40440
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-12-05 00:07:28 -08:00
clrbuilder 61203724ab Update packages file for version 40430
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-12-01 11:56:03 -08:00
clrbuilder 3dfbdf4c58 Update packages file for version 40420
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-30 00:06:04 -08:00
clrbuilder e0e5b4b1a7 Update packages file for version 40410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-28 05:38:34 -08:00
clrbuilder b95dd8c67f Update packages file for version 40370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-21 00:06:56 -08:00
Brett T. Warden 8ed4d2d0de Fix regex escaping in vendor.py
Address this warning from Python:
SyntaxWarning: invalid escape sequence '\-'
2023-11-20 12:58:01 -08:00
clrbuilder 023a2da624 Update packages file for version 40360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-16 00:06:50 -08:00
clrbuilder cdd4aeebe2 Update packages file for version 40340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-14 00:07:06 -08:00
clrbuilder ee744332e0 Update packages file for version 40310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-03 09:03:52 -07:00
clrbuilder 353042a9bd Update packages file for version 40290
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-11-01 11:20:28 -07:00
clrbuilder 1a0366ab21 Update packages file for version 40260
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-30 12:23:45 -07:00
clrbuilder 4080b704f3 Update packages file for version 40250
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-26 10:05:44 -07:00
clrbuilder 4626f673ca Update packages file for version 40240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-25 16:23:36 -07:00
clrbuilder 5121c565eb Update packages file for version 40200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-20 17:30:37 -07:00
clrbuilder a26aea0290 Update packages file for version 40180
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-19 14:39:37 -07:00
clrbuilder 54a9f967c3 Update packages file for version 40150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-19 10:40:39 -07:00
clrbuilder 9153630dcb Update packages file for version 40120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-12 00:06:02 -07:00
clrbuilder d80039c90b Update packages file for version 40110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-11 15:08:34 -07:00
clrbuilder f5a3630590 Update packages file for version 40100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-11 11:55:44 -07:00
clrbuilder 75cb8bf424 Update packages file for version 40070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-10 00:07:18 -07:00
clrbuilder 2a586be1b3 Update packages file for version 40060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-05 00:06:54 -07:00
clrbuilder 93fccd1edf Update packages file for version 40050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-03 12:45:48 -07:00
clrbuilder 9527057e5e Update packages file for version 40040
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-10-03 00:06:48 -07:00
clrbuilder f3500feb2d Update packages file for version 40030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-28 11:39:36 -07:00
clrbuilder 05598abd55 Update packages file for version 40010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-26 08:04:38 -07:00
clrbuilder 2b0163ef73 Update packages file for version 40000
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-25 13:55:49 -07:00
clrbuilder 3f2b9100e6 Update packages file for version 39990
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-22 11:34:36 -07:00
William Douglas 1b841e095d Update help comment for clean-pkgs-dir
Signed-off-by: William Douglas <william.douglas@intel.com>
2023-09-19 11:24:22 -07:00
William Douglas 579d79ef92 Make clean-pkgs-dir backup things it cleans up
If something already exists in backup form, skip it, otherwise move
the content to the backup directory.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-09-19 11:22:01 -07:00
clrbuilder d85dfaec30 Update packages file for version 39970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-19 00:06:54 -07:00
clrbuilder 8787caac84 Update packages file for version 39940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-12 00:06:48 -07:00
clrbuilder 181006f851 Update packages file for version 39910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-07 00:07:05 -07:00
clrbuilder 480917e514 Update packages file for version 39900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-09-05 00:07:23 -07:00
clrbuilder afab562778 Update packages file for version 39890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-31 00:06:52 -07:00
clrbuilder 21ae357eeb Update packages file for version 39880
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-29 12:26:30 -07:00
clrbuilder b4989fae9b Update packages file for version 39870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-29 00:06:49 -07:00
clrbuilder 09d1f48a31 Update packages file for version 39860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-24 00:09:48 -07:00
clrbuilder 3a5cfb76c6 Update packages file for version 39850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-22 00:06:40 -07:00
clrbuilder 763c25ac43 Update packages file for version 39800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-15 00:05:31 -07:00
clrbuilder b97bc72f65 Update packages file for version 39790
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-14 08:30:03 -07:00
clrbuilder 6af8cdfa99 Update packages file for version 39780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-09 18:08:15 -07:00
clrbuilder dd378bba6c Update packages file for version 39770
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-09 12:05:28 -07:00
clrbuilder 4b63761b45 Update packages file for version 39760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-08 15:12:41 -07:00
clrbuilder 5882fa9b80 Update packages file for version 39730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-03 00:06:37 -07:00
clrbuilder 8c028f361d Update packages file for version 39720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-08-01 00:07:18 -07:00
clrbuilder 56dfe24b31 Update packages file for version 39710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-27 00:09:15 -07:00
clrbuilder 5f2827db17 Update packages file for version 39690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-24 10:55:02 -07:00
clrbuilder f3d664e694 Update packages file for version 39660
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-20 06:52:51 -07:00
clrbuilder 088ab41319 Update packages file for version 39650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-18 21:30:52 -07:00
clrbuilder b2a39834c2 Update packages file for version 39640
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-18 00:07:19 -07:00
clrbuilder b7184a56a8 Update packages file for version 39630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-14 05:37:18 -07:00
clrbuilder 976837dd36 Update packages file for version 39620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-13 00:07:09 -07:00
clrbuilder 6102ce39b8 Update packages file for version 39610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-11 00:08:15 -07:00
clrbuilder 4ed6de4b77 Update packages file for version 39600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-07 12:42:26 -07:00
clrbuilder 5af73631bd Update packages file for version 39590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-06 07:19:14 -07:00
clrbuilder 7a63c36293 Update packages file for version 39550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-07-03 11:31:57 -07:00
clrbuilder 442543a9aa Update packages file for version 39540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-06-29 00:06:26 -07:00
clrbuilder 43b28277c0 Update packages file for version 39530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-06-28 14:39:47 -07:00
clrbuilder c371f6a233 Update packages file for version 39490
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2023-06-27 15:09:21 -07:00
6 changed files with 353 additions and 153 deletions
+12 -5
View File
@@ -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 \
@@ -391,6 +387,17 @@ koji-waitrepo: kojidef
koji wait-repo --build=${SRPMVERS} ${WAIT_OPTS} ${KOJI_TAG}-build; \
fi
.PHONY: koji-tag
#help koji-tag: runs koji tag-pkg on what's in the current specfile's nvr
koji-tag:
koji tag-pkg dist-clear $(SRPMVERS)
.PHONY: koji-untag
#help koji-untag: runs koji untag-pkg on what's in the current specfile's nvr
koji-untag:
koji untag-pkg dist-clear $(SRPMVERS)
update-versions:
.PHONY: update
+9 -3
View File
@@ -126,11 +126,17 @@ endif
pull: ${PULL_PKGS}
#help clean-pkgs-dir: For packages that are no longer present in the distro,
#help removes the associated package repos from the ./packages tree
#help removes the associated package repos from the ./packages tree and stores
#help it in packages_old. If it already exists in packages_old, skip it.
clean-pkgs-dir: $(PACKAGES_FILE)
@for p in ${PKGS_ORPHANED}; do \
echo "Removing $$p from packages, it is no longer in common/packages."; \
rm -rf packages/$$p; \
mkdir -p packages_old; \
if [ -d "packages_old/$$p" ]; then \
echo "packages_old/$$p already exists, not touching it"; \
else \
echo "Moving $$p from packages to packages_old, as it is no longer in common/packages."; \
mv packages/$$p packages_old/$$p; \
fi; \
done
@echo "packages directory cleaned";
-1
View File
@@ -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
+277 -125
View File
File diff suppressed because it is too large Load Diff
+6 -2
View File
@@ -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]:
+49 -17
View 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,61 +61,88 @@ 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
def update_cargo_sources(name, tag):
makefile = []
archive_match = os.path.join('$(CGIT_BASE_URL)', 'vendor', name,
options = []
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 + '[a-zA-Z0-9_\-.]+\.tar\.xz', line):
new_archives = re.sub(archive_match + '[a-zA-Z0-9_\-.]+\.tar\.xz',
f"{archive_match}-{tag}.tar.xz\n", 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_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.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)
else:
new_archives = f"{line[:-1]} {archive_match}-{tag}.tar.xz ./vendor\n"
options.append(new_archives)
else:
options.append(line)
with open('options.conf', 'w', encoding='utf8') as ofile:
ofile.writelines(options)
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)
@@ -122,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()