diff --git a/README.md b/README.md index 0398d44..4cafe7e 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,7 @@ chsrc set openbsd chsrc set netbsd chsrc set manjaro +chsrc set openeuler chsrc set msys2 或 chsrc set msys ``` @@ -82,7 +83,6 @@ chsrc set msys2 或 chsrc set msys TODO: - [ ] `chsrc set openkylin` -- [ ] `chsrc set openeuler` diff --git a/chsrc.c b/chsrc.c index b1edebb..d4a8435 100644 --- a/chsrc.c +++ b/chsrc.c @@ -1268,6 +1268,42 @@ os_manjaro_setsrc(char* option) xy_info ("chsrc: If success, please use \"sudo pacman -Syy\" to flush cache"); } +/** + * 未经测试 + */ +void +os_openeuler_setsrc (char* option) +{ + int index = 0; + + if (NULL!=option) { + index = lets_find_mirror(os_openeuler, option); + } else { + index = lets_test_speed(os_openeuler); + } + + source_info source = os_openeuler_sources[index]; + chsrc_say_selection(&source); + + char* backup = "cp -rf /etc/yum.repos.d/openEuler.repot /etc/yum.repos.d/openEuler.repo.bak"; + chsrc_logcmd (backup); + system(backup); + + xy_info ("chsrc: 备份文件名: /etc/yum.repos.d/openEuler.repo.bak"); + + char* cmd; + cmd = xy_strjoin(3, + "s#http://repo.openeuler.org#", + source.url, + "#\'< /etc/yum.repos.d/openEuler.repo.bak | cat > /etc/yum.repos.d/openEuler.repo"); + chsrc_logcmd(cmd); + system(cmd); + // char* rm = "rm -rf /etc/yum.repos.d/openEuler.repo.bak"; + // system(rm); + + chsrc_say_thanks(&source); +} + /************************************** Begin Target Matrix ****************************************/ def_target_info(pl_ruby); def_target_info(pl_python); @@ -1316,7 +1352,8 @@ target_info os_arch_target = {os_arch_setsrc, NULL, os_arch_sources, 7}, os_gentoo_target = {os_gentoo_setsrc, NULL, os_gentoo_sources, 7}, os_netbsd_target = {os_netbsd_setsrc, NULL, os_netbsd_sources, 7}, - os_manjaro_target = {os_manjaro_setsrc, NULL, NULL, 0}; + os_manjaro_target = {os_manjaro_setsrc, NULL, NULL, 0}, + os_openeuler_target = {os_openeuler_setsrc, NULL, os_openeuler_sources, 7}; static const char const *os_ubuntu [] = {"ubuntu", NULL, targetinfo(&os_ubuntu_target)}, *os_deepin [] = {"deepin", NULL, targetinfo(&os_deepin_target)}, @@ -1329,9 +1366,10 @@ static const char const *os_gentoo [] = {"gentoo", NULL, targetinfo(&os_gentoo_target)}, *os_netbsd [] = {"netbsd", NULL, targetinfo(&os_netbsd_target)}, *os_manjaro [] = {"manjaro", NULL, targetinfo(&os_manjaro_target)}, +*os_openeuler [] = {"openeuler",NULL, targetinfo(&os_openeuler_target)}, **os_systems[] = { - os_ubuntu, os_deepin, os_debian,os_fedora,os_kali,os_openbsd,os_msys2,os_arch,os_gentoo,os_netbsd,os_manjaro + os_ubuntu, os_deepin, os_debian,os_fedora,os_kali,os_openbsd,os_msys2,os_arch,os_gentoo,os_netbsd,os_manjaro,os_openeuler }; diff --git a/chsrc.h b/chsrc.h index 6ca70b4..d47d07f 100644 --- a/chsrc.h +++ b/chsrc.h @@ -436,6 +436,21 @@ os_netbsd_sources[] = { {&Tencent, "https://mirrors.tencent.com/pkgsrc/packages/NetBSD/"}, {&Netease, "https://mirrors.163.com/pkgsrc/packages/NetBSD/"}, {&Sohu, "https://mirrors.sohu.com/pkgsrc/packages/NetBSD/"} +}, + +/** + * 2023-09-06 更新 + * + * TODO: 1. 源并不完整,且未经测试是否有效 + */ +os_openeular_sources[] = { + {&Ali, "https://mirrors.aliyun.com/openeuler/"}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/openeuler/"}, + {&Ustc, "https://mirrors.ustc.edu.cn/openeuler/"}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/openeuler/"}, + {&Tencent, "https://mirrors.tencent.com/openeuler/"}, + {&Netease, "https://mirrors.163.com/openeuler/"}, + {&Sohu, "https://mirrors.sohu.com/openeuler/"} } ; @@ -490,7 +505,7 @@ def_target_sources_n(pl_r); def_target_sources_n(pl_julia); def_target_sources_n(os_ubuntu); def_target_sources_n(os_debian); def_target_sources_n(os_fedora); def_target_sources_n(os_kali); def_target_sources_n(os_openbsd); def_target_sources_n(os_msys2); def_target_sources_n(os_arch); def_target_sources_n(os_gentoo); def_target_sources_n(os_netbsd); -def_target_sources_n(os_deepin); +def_target_sources_n(os_deepin); def_target_sources_n(os_openeuler); /* Target Info */ typedef struct {