mirror of
https://github.com/tuna/tunasync-scripts.git
synced 2025-04-20 04:12:42 +00:00
update docker-ce related files
This commit is contained in:
parent
e14262952f
commit
7b86366c56
0
docker-ce.py
Normal file → Executable file
0
docker-ce.py
Normal file → Executable file
72
docker.sh
72
docker.sh
@ -1,72 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# reqires: wget, yum-utils
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
_here=`dirname $(realpath $0)`
|
|
||||||
. ${_here}/helpers/apt-download
|
|
||||||
APT_VERSIONS=("debian-wheezy" "debian-jessie" "debian-stretch" "ubuntu-precise" "ubuntu-trusty" "ubuntu-xenial")
|
|
||||||
|
|
||||||
BASE_PATH="${TUNASYNC_WORKING_DIR}"
|
|
||||||
APT_PATH="${BASE_PATH}/apt/repo"
|
|
||||||
YUM_PATH="${BASE_PATH}/yum/repo"
|
|
||||||
|
|
||||||
mkdir -p ${APT_PATH} ${YUM_PATH}
|
|
||||||
|
|
||||||
wget -q -N -O ${BASE_PATH}/yum/gpg https://yum.dockerproject.org/gpg
|
|
||||||
wget -q -N -O ${BASE_PATH}/apt/gpg https://apt.dockerproject.org/gpg
|
|
||||||
|
|
||||||
# YUM mirror
|
|
||||||
cache_dir="/tmp/yum-docker-cache/"
|
|
||||||
cfg="/tmp/docker-yum.conf"
|
|
||||||
cat <<EOF > ${cfg}
|
|
||||||
[main]
|
|
||||||
keepcache=0
|
|
||||||
|
|
||||||
[centos6]
|
|
||||||
name=Docker Repository
|
|
||||||
baseurl=https://yum.dockerproject.org/repo/main/centos/6
|
|
||||||
enabled=1
|
|
||||||
gpgcheck=0
|
|
||||||
gpgkey=https://yum.dockerproject.org/gpg
|
|
||||||
sslverify=0
|
|
||||||
|
|
||||||
[centos7]
|
|
||||||
name=Docker Repository
|
|
||||||
baseurl=https://yum.dockerproject.org/repo/main/centos/7
|
|
||||||
enabled=1
|
|
||||||
gpgcheck=0
|
|
||||||
gpgkey=https://yum.dockerproject.org/gpg
|
|
||||||
sslverify=0
|
|
||||||
EOF
|
|
||||||
|
|
||||||
[ ! -d ${YUM_PATH}/centos6 ] && mkdir -p ${YUM_PATH}/centos6
|
|
||||||
[ ! -d ${YUM_PATH}/centos7 ] && mkdir -p ${YUM_PATH}/centos7
|
|
||||||
|
|
||||||
if [[ -z ${DRY_RUN:-} ]]; then
|
|
||||||
reposync -c $cfg -d -p ${YUM_PATH} -e $cache_dir
|
|
||||||
createrepo --update -v -c $cache_dir -o ${YUM_PATH}/centos6 ${YUM_PATH}/centos7
|
|
||||||
createrepo --update -v -c $cache_dir -o ${YUM_PATH}/centos7 ${YUM_PATH}/centos7
|
|
||||||
fi
|
|
||||||
rm $cfg
|
|
||||||
|
|
||||||
# APT mirror
|
|
||||||
if [[ ! -z ${DRY_RUN:-} ]]; then
|
|
||||||
export APT_DRY_RUN=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
base_url="https://apt.dockerproject.org/repo"
|
|
||||||
remote_filelist="${APT_PATH}/filelist"
|
|
||||||
[[ -f $remote_filelist ]] && rm $remote_filelist
|
|
||||||
|
|
||||||
for version in ${APT_VERSIONS[@]}; do
|
|
||||||
apt-download-binary ${base_url} "$version" "main" "amd64" "${APT_PATH}" ${remote_filelist} || true
|
|
||||||
apt-download-binary ${base_url} "$version" "main" "i386" "${APT_PATH}" ${remote_filelist} || true
|
|
||||||
apt-download-binary ${base_url} "$version" "main" "armhf" "${APT_PATH}" ${remote_filelist} || true
|
|
||||||
done
|
|
||||||
|
|
||||||
apt-delete-old-debs ${APT_PATH} $remote_filelist
|
|
||||||
|
|
||||||
# sync_docker "http://apt.dockerproject.org/" "${TUNASYNC_WORKING_DIR}/apt"
|
|
||||||
# sync_docker "http://yum.dockerproject.org/" "${TUNASYNC_WORKING_DIR}/yum"
|
|
@ -1,76 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
import requests
|
|
||||||
from pyquery import PyQuery as pq
|
|
||||||
|
|
||||||
meta_urls = []
|
|
||||||
|
|
||||||
|
|
||||||
def is_metafile_url(url):
|
|
||||||
deb_dists=('debian', 'ubuntu', 'raspbian')
|
|
||||||
rpm_dists=('fedora', 'centos')
|
|
||||||
|
|
||||||
for dist in deb_dists:
|
|
||||||
if '/'+dist+'/' not in url:
|
|
||||||
continue
|
|
||||||
if '/Contents-' in url:
|
|
||||||
return True
|
|
||||||
if '/binary-' in url:
|
|
||||||
return True
|
|
||||||
if 'Release' in url:
|
|
||||||
return True
|
|
||||||
|
|
||||||
for dist in rpm_dists:
|
|
||||||
if '/'+dist+'/' not in url:
|
|
||||||
continue
|
|
||||||
if '/repodata/' in url:
|
|
||||||
return True
|
|
||||||
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def recursive_get_filelist(base_url, filter_meta=False):
|
|
||||||
if not base_url.endswith('/'):
|
|
||||||
yield base_url
|
|
||||||
return
|
|
||||||
|
|
||||||
r = requests.get(base_url)
|
|
||||||
if not r.ok:
|
|
||||||
return
|
|
||||||
|
|
||||||
d = pq(r.text)
|
|
||||||
for link in d('a'):
|
|
||||||
if link.text.startswith('..'):
|
|
||||||
continue
|
|
||||||
href = base_url + link.text
|
|
||||||
if filter_meta and is_metafile_url(href):
|
|
||||||
meta_urls.append(href)
|
|
||||||
elif link.text.endswith('/'):
|
|
||||||
yield from recursive_get_filelist(href, filter_meta=filter_meta)
|
|
||||||
else:
|
|
||||||
yield href
|
|
||||||
|
|
||||||
|
|
||||||
def get_filelist(base_url):
|
|
||||||
yield from recursive_get_filelist(base_url, filter_meta=True)
|
|
||||||
|
|
||||||
|
|
||||||
def get_meta_filelist():
|
|
||||||
for url in meta_urls:
|
|
||||||
yield from recursive_get_filelist(url, filter_meta=False)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.add_argument("base_url", default="https://download.docker.com/")
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
for file_url in get_filelist(args.base_url):
|
|
||||||
print(file_url, flush=True)
|
|
||||||
|
|
||||||
for file_url in get_meta_filelist():
|
|
||||||
print(file_url, flush=True)
|
|
||||||
|
|
||||||
|
|
||||||
# vim: ts=4 sw=4 sts=4 expandtab
|
|
Loading…
x
Reference in New Issue
Block a user