updating minor spec break in repoclone for arch, other small notes/fixes
This commit is contained in:
parent
b17646ea4f
commit
69d13d5c97
@ -97,9 +97,7 @@ def sync(args):
|
|||||||
# No-op. Stderr should be empty.
|
# No-op. Stderr should be empty.
|
||||||
c = subprocess.run(['echo'], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
|
c = subprocess.run(['echo'], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
|
||||||
now = int(datetime.datetime.timestamp(datetime.datetime.utcnow()))
|
now = int(datetime.datetime.timestamp(datetime.datetime.utcnow()))
|
||||||
# always write the "lastcheck" timestamp. This is something I personally do since other mirrors only update
|
with open(args['lastcheck'], 'w') as f:
|
||||||
# lastsync when syncs are needed.
|
|
||||||
with open(os.path.join(args['destination'], 'lastcheck'), 'w') as f:
|
|
||||||
f.write(str(now) + '\n')
|
f.write(str(now) + '\n')
|
||||||
os.remove(args['lockfile'])
|
os.remove(args['lockfile'])
|
||||||
# Only report errors at the end of the run if we aren't running in cron. Otherwise, log them.
|
# Only report errors at the end of the run if we aren't running in cron. Otherwise, log them.
|
||||||
@ -122,6 +120,7 @@ def getDefaults():
|
|||||||
dflt = {'mirror': 'rsync://mirror.square-r00t.net/arch/',
|
dflt = {'mirror': 'rsync://mirror.square-r00t.net/arch/',
|
||||||
'repos': 'core,extra,community,multilib,iso/latest',
|
'repos': 'core,extra,community,multilib,iso/latest',
|
||||||
'destination': '/srv/repos/arch',
|
'destination': '/srv/repos/arch',
|
||||||
|
'lastcheck': '/srv/http/arch.lastcheck',
|
||||||
'mount': '/',
|
'mount': '/',
|
||||||
'bwlimit': 0,
|
'bwlimit': 0,
|
||||||
'lockfile': '/var/run/repo-sync_arch.lck',
|
'lockfile': '/var/run/repo-sync_arch.lck',
|
||||||
@ -159,12 +158,18 @@ def parseArgs():
|
|||||||
dest = 'destination',
|
dest = 'destination',
|
||||||
default = liveopts['destination'],
|
default = liveopts['destination'],
|
||||||
help = 'The destination directory to sync to. Default: {0}'.format(liveopts['destination']))
|
help = 'The destination directory to sync to. Default: {0}'.format(liveopts['destination']))
|
||||||
|
args.add_argument('-c', '--last-check',
|
||||||
|
dest = 'lastcheck',
|
||||||
|
default = liveopts['lastcheck'],
|
||||||
|
help = ('The file to update with a timestamp on every run. Per spec, this must be outside the '
|
||||||
|
'repository webroot'))
|
||||||
args.add_argument('-b',
|
args.add_argument('-b',
|
||||||
'--bwlimit',
|
'--bwlimit',
|
||||||
dest = 'bwlimit',
|
dest = 'bwlimit',
|
||||||
default = liveopts['bwlimit'],
|
default = liveopts['bwlimit'],
|
||||||
type = int,
|
type = int,
|
||||||
help = 'The amount, in Kilobytes per second, to throttle the sync to. Default is to not throttle (0).')
|
help = ('The amount, in Kilobytes per second, to throttle the sync to. Default is to not '
|
||||||
|
'throttle (0).'))
|
||||||
args.add_argument('-l',
|
args.add_argument('-l',
|
||||||
'--log',
|
'--log',
|
||||||
dest = 'logfile',
|
dest = 'logfile',
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
# we import it for various prep stuff anyways.
|
# we import it for various prep stuff anyways.
|
||||||
# TODO: change loglevel of borg itself in subprocess to match the argparse?
|
# TODO: change loglevel of borg itself in subprocess to match the argparse?
|
||||||
# --debug, --info (same as -v/--verbose), --warning, --error, --critical
|
# --debug, --info (same as -v/--verbose), --warning, --error, --critical
|
||||||
|
# TODO: switch to XML-based cfg instead of JSON. add automatic converter.
|
||||||
|
# TODO: modify config to add repo to cfg for init? or add new operation, "add"
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import configparser
|
import configparser
|
||||||
|
@ -13,6 +13,8 @@ import lxml.etree
|
|||||||
# Serialize BSD mtree spec files into XML.
|
# Serialize BSD mtree spec files into XML.
|
||||||
# On arch, BSD mtree is ported in the AUR as nmtree.
|
# On arch, BSD mtree is ported in the AUR as nmtree.
|
||||||
|
|
||||||
|
# TODO: use bitwise operations to convert octal modes back and forth. ex. at https://stackoverflow.com/a/1746850
|
||||||
|
|
||||||
class MtreeXML(object):
|
class MtreeXML(object):
|
||||||
def __init__(self, spec):
|
def __init__(self, spec):
|
||||||
# spec is a string or bytes
|
# spec is a string or bytes
|
||||||
|
Loading…
Reference in New Issue
Block a user