mirror of
https://github.com/RubyMetric/chsrc
synced 2025-06-08 03:04:03 +08:00
Rename back to chsrc_
This commit is contained in:
parent
82956b7976
commit
54e33cab23
214
chsrc.c
214
chsrc.c
@ -20,9 +20,9 @@ void
|
|||||||
pl_ruby_getsrc (char* option)
|
pl_ruby_getsrc (char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "gem sources";
|
char* cmd = "gem sources";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
cmd = "bundle config get mirror.https://rubygems.org";
|
cmd = "bundle config get mirror.https://rubygems.org";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,14 +56,14 @@ pl_ruby_setsrc (char* option)
|
|||||||
if (xy_str_start_with(buf, "http")){
|
if (xy_str_start_with(buf, "http")){
|
||||||
cmd = xy_str_delete_suffix(buf, "\n");
|
cmd = xy_str_delete_suffix(buf, "\n");
|
||||||
cmd = xy_2strjoin("gem sources -r ", cmd);
|
cmd = xy_2strjoin("gem sources -r ", cmd);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
memset(buf, 0, 512);
|
memset(buf, 0, 512);
|
||||||
}
|
}
|
||||||
pclose(fp);
|
pclose(fp);
|
||||||
|
|
||||||
cmd = xy_2strjoin("gem source -a ", source.url);
|
cmd = xy_2strjoin("gem source -a ", source.url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
check_cmd = xy_str_to_quietcmd("bundle -v");
|
check_cmd = xy_str_to_quietcmd("bundle -v");
|
||||||
exist = does_the_program_exist (check_cmd, "bundle");
|
exist = does_the_program_exist (check_cmd, "bundle");
|
||||||
@ -73,7 +73,7 @@ pl_ruby_setsrc (char* option)
|
|||||||
}
|
}
|
||||||
|
|
||||||
cmd = xy_2strjoin("bundle config 'mirror.https://rubygems.org' ", source.url);
|
cmd = xy_2strjoin("bundle config 'mirror.https://rubygems.org' ", source.url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
puts("");
|
puts("");
|
||||||
@ -115,7 +115,7 @@ pl_python_getsrc (char* option)
|
|||||||
char* prog = NULL;
|
char* prog = NULL;
|
||||||
pl_python_check_cmd_ (&prog);
|
pl_python_check_cmd_ (&prog);
|
||||||
char* cmd = xy_2strjoin(prog, " -m pip config get global.index-url");
|
char* cmd = xy_2strjoin(prog, " -m pip config get global.index-url");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -140,7 +140,7 @@ pl_python_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* cmd = xy_2strjoin(prog, xy_2strjoin(" -m pip config set global.index-url ", source.url));
|
char* cmd = xy_2strjoin(prog, xy_2strjoin(" -m pip config set global.index-url ", source.url));
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,12 +171,12 @@ pl_nodejs_getsrc (char* option)
|
|||||||
if (npm_exist)
|
if (npm_exist)
|
||||||
{
|
{
|
||||||
char* cmd = "npm config get registry";
|
char* cmd = "npm config get registry";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
if (yarn_exist)
|
if (yarn_exist)
|
||||||
{
|
{
|
||||||
char* cmd = "yarn config get registry";
|
char* cmd = "yarn config get registry";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,13 +203,13 @@ pl_nodejs_setsrc (char* option)
|
|||||||
if (npm_exist)
|
if (npm_exist)
|
||||||
{
|
{
|
||||||
char* cmd = xy_2strjoin("npm config set registry ", source.url);
|
char* cmd = xy_2strjoin("npm config set registry ", source.url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (yarn_exist)
|
if (yarn_exist)
|
||||||
{
|
{
|
||||||
char* cmd = xy_str_to_quietcmd(xy_2strjoin("yarn config set registry ", source.url));
|
char* cmd = xy_str_to_quietcmd(xy_2strjoin("yarn config set registry ", source.url));
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -236,7 +236,7 @@ pl_perl_getsrc (char* option)
|
|||||||
// 可以使用 CPAN::Shell->o('conf', 'urllist');
|
// 可以使用 CPAN::Shell->o('conf', 'urllist');
|
||||||
// 另外,上述两种方法无论哪种,都要首先load()
|
// 另外,上述两种方法无论哪种,都要首先load()
|
||||||
char* cmd = "perl -MCPAN -e \"CPAN::HandleConfig->load(); CPAN::HandleConfig->prettyprint('urllist')\" ";
|
char* cmd = "perl -MCPAN -e \"CPAN::HandleConfig->load(); CPAN::HandleConfig->prettyprint('urllist')\" ";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -258,7 +258,7 @@ pl_perl_setsrc (char* option)
|
|||||||
|
|
||||||
char* cmd = xy_strjoin(3,
|
char* cmd = xy_strjoin(3,
|
||||||
"perl -MCPAN -e \"CPAN::HandleConfig->load(); CPAN::HandleConfig->edit('urllist', 'unshift', '", source.url, "'); CPAN::HandleConfig->commit()\"");
|
"perl -MCPAN -e \"CPAN::HandleConfig->load(); CPAN::HandleConfig->edit('urllist', 'unshift', '", source.url, "'); CPAN::HandleConfig->commit()\"");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_warn ("请您使用 perl -v 以及 cpan -v,若 Perl >= v5.36 或 CPAN >= 2.29,请额外手动调用下面的命令");
|
chsrc_warn ("请您使用 perl -v 以及 cpan -v,若 Perl >= v5.36 或 CPAN >= 2.29,请额外手动调用下面的命令");
|
||||||
puts("perl -MCPAN -e \"CPAN::HandleConfig->load(); CPAN::HandleConfig->edit('pushy_https', 0);; CPAN::HandleConfig->commit()\"");
|
puts("perl -MCPAN -e \"CPAN::HandleConfig->load(); CPAN::HandleConfig->edit('pushy_https', 0);; CPAN::HandleConfig->commit()\"");
|
||||||
@ -287,7 +287,7 @@ pl_php_getsrc (char* option)
|
|||||||
{
|
{
|
||||||
pl_php_check_cmd_ ();
|
pl_php_check_cmd_ ();
|
||||||
char* cmd = "composer config -g repositories";
|
char* cmd = "composer config -g repositories";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -310,7 +310,7 @@ pl_php_setsrc (char* option)
|
|||||||
chsrc_say_selection (&source);
|
chsrc_say_selection (&source);
|
||||||
|
|
||||||
char* cmd = xy_2strjoin("composer config -g repo.packagist composer ", source.url);
|
char* cmd = xy_2strjoin("composer config -g repo.packagist composer ", source.url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -334,7 +334,7 @@ pl_go_getsrc (char* option)
|
|||||||
{
|
{
|
||||||
pl_go_check_cmd_ ();
|
pl_go_check_cmd_ ();
|
||||||
char* cmd = "go env GOPROXY";
|
char* cmd = "go env GOPROXY";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -356,10 +356,10 @@ pl_go_setsrc (char* option)
|
|||||||
chsrc_say_selection (&source);
|
chsrc_say_selection (&source);
|
||||||
|
|
||||||
char* cmd = "go env -w GO111MODULE=on";
|
char* cmd = "go env -w GO111MODULE=on";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = xy_strjoin(3, "go env -w GOPROXY=", source.url, ",direct");
|
cmd = xy_strjoin(3, "go env -w GOPROXY=", source.url, ",direct");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,7 +374,7 @@ pl_rust_getsrc (char* option)
|
|||||||
} else {
|
} else {
|
||||||
cmd = "cat ~/.cargo";
|
cmd = "cat ~/.cargo";
|
||||||
}
|
}
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -555,10 +555,10 @@ pl_dart_getsrc(char* option)
|
|||||||
char* cmd = NULL;
|
char* cmd = NULL;
|
||||||
if (xy_on_windows) {
|
if (xy_on_windows) {
|
||||||
cmd = "set PUB_HOSTED_URL & set FLUTTER_STORAGE_BASE_URL";
|
cmd = "set PUB_HOSTED_URL & set FLUTTER_STORAGE_BASE_URL";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
} else {
|
} else {
|
||||||
cmd = "echo $PUB_HOSTED_URL; echo $FLUTTER_STORAGE_BASE_URL";
|
cmd = "echo $PUB_HOSTED_URL; echo $FLUTTER_STORAGE_BASE_URL";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -588,23 +588,23 @@ pl_dart_setsrc (char* option)
|
|||||||
{
|
{
|
||||||
if (xy_file_exist(xy_win_powershell_profile))
|
if (xy_file_exist(xy_win_powershell_profile))
|
||||||
{
|
{
|
||||||
xy_run(xy_strjoin(4, "echo $env:PUB_HOSTED_URL = \"", pub, "\" >> ", xy_win_powershell_profile));
|
chsrc_run(xy_strjoin(4, "echo $env:PUB_HOSTED_URL = \"", pub, "\" >> ", xy_win_powershell_profile));
|
||||||
xy_run(xy_strjoin(4, "echo $env:FLUTTER_STORAGE_BASE_URL = \"", flutter, "\" >> ", xy_win_powershell_profile));
|
chsrc_run(xy_strjoin(4, "echo $env:FLUTTER_STORAGE_BASE_URL = \"", flutter, "\" >> ", xy_win_powershell_profile));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xy_file_exist(xy_win_powershellv5_profile))
|
if (xy_file_exist(xy_win_powershellv5_profile))
|
||||||
{
|
{
|
||||||
xy_run(xy_strjoin(4, "echo $env:PUB_HOSTED_URL = \"", pub, "\" >> ", xy_win_powershellv5_profile));
|
chsrc_run(xy_strjoin(4, "echo $env:PUB_HOSTED_URL = \"", pub, "\" >> ", xy_win_powershellv5_profile));
|
||||||
xy_run(xy_strjoin(4, "echo $env:FLUTTER_STORAGE_BASE_URL = \"", flutter, "\" >> ", xy_win_powershell_profile));
|
chsrc_run(xy_strjoin(4, "echo $env:FLUTTER_STORAGE_BASE_URL = \"", flutter, "\" >> ", xy_win_powershell_profile));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmd = xy_strjoin(3, "echo 'export PUB_HOSTED_URL=\"", pub, "\"' >> ~/.bashrc >> ~/.zshrc");
|
cmd = xy_strjoin(3, "echo 'export PUB_HOSTED_URL=\"", pub, "\"' >> ~/.bashrc >> ~/.zshrc");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
cmd = xy_strjoin(3, "export 'FLUTTER_STORAGE_BASE_URL=\"", flutter, "\"' >> ~/.bashrc >> ~/.zshrc");
|
cmd = xy_strjoin(3, "export 'FLUTTER_STORAGE_BASE_URL=\"", flutter, "\"' >> ~/.bashrc >> ~/.zshrc");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -678,7 +678,7 @@ pl_ocaml_getsrc(char* option)
|
|||||||
{
|
{
|
||||||
pl_ocaml_check_cmd_();
|
pl_ocaml_check_cmd_();
|
||||||
char* cmd = "opam repo get-url default";
|
char* cmd = "opam repo get-url default";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -703,7 +703,7 @@ pl_ocaml_setsrc(char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
" --all --set-default");
|
" --all --set-default");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_info("如果是首次使用 opam ,请使用以下命令进行初始化");
|
chsrc_info("如果是首次使用 opam ,请使用以下命令进行初始化");
|
||||||
puts(xy_2strjoin("opam init default ", source.url));
|
puts(xy_2strjoin("opam init default ", source.url));
|
||||||
@ -727,7 +727,7 @@ pl_r_getsrc (char* option)
|
|||||||
} else {
|
} else {
|
||||||
cmd = "cat ~/.Rprofile";
|
cmd = "cat ~/.Rprofile";
|
||||||
}
|
}
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -759,7 +759,7 @@ pl_r_setsrc (char* option)
|
|||||||
else
|
else
|
||||||
cmd = xy_strjoin(3, "echo '", file, "' >> ~/.Rprofile");
|
cmd = xy_strjoin(3, "echo '", file, "' >> ~/.Rprofile");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
file = xy_strjoin (3, "options(BioC_mirror=\"", bioconductor_url, "\")" );
|
file = xy_strjoin (3, "options(BioC_mirror=\"", bioconductor_url, "\")" );
|
||||||
// 或者我们调用 r.exe --slave -e 上面的内容
|
// 或者我们调用 r.exe --slave -e 上面的内容
|
||||||
@ -768,7 +768,7 @@ pl_r_setsrc (char* option)
|
|||||||
else
|
else
|
||||||
cmd = xy_strjoin(3, "echo '", file, "' >> ~/.Rprofile");
|
cmd = xy_strjoin(3, "echo '", file, "' >> ~/.Rprofile");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,7 +790,7 @@ pl_julia_getsrc (char* option)
|
|||||||
} else {
|
} else {
|
||||||
cmd = "cat ~/.julia/config/startup.jl";
|
cmd = "cat ~/.julia/config/startup.jl";
|
||||||
}
|
}
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -822,7 +822,7 @@ pl_julia_setsrc (char* option)
|
|||||||
cmd = xy_strjoin(4, xy_str_to_quietcmd("mkdir -p ~/.julia/config"),
|
cmd = xy_strjoin(4, xy_str_to_quietcmd("mkdir -p ~/.julia/config"),
|
||||||
";echo '", file, "' >> ~/.julia/config/startup.jl");
|
";echo '", file, "' >> ~/.julia/config/startup.jl");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -836,7 +836,7 @@ void
|
|||||||
os_ubuntu_getsrc(char* option)
|
os_ubuntu_getsrc(char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "cat /etc/apt/sources.list";
|
char* cmd = "cat /etc/apt/sources.list";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -859,7 +859,7 @@ os_ubuntu_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
// xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
// xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
||||||
|
|
||||||
@ -880,7 +880,7 @@ os_ubuntu_setsrc (char* option)
|
|||||||
"-ports@g\' /etc/apt/sources.list");
|
"-ports@g\' /etc/apt/sources.list");
|
||||||
}
|
}
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
@ -892,7 +892,7 @@ void
|
|||||||
os_debian_getsrc(char* option)
|
os_debian_getsrc(char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "cat /etc/apt/sources.list";
|
char* cmd = "cat /etc/apt/sources.list";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -919,14 +919,14 @@ os_debian_setsrc (char* option)
|
|||||||
xy_info ("chsrc: sudo apt install apt-transport-https ca-certificates");
|
xy_info ("chsrc: sudo apt install apt-transport-https ca-certificates");
|
||||||
|
|
||||||
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
char* cmd = xy_strjoin(3,
|
char* cmd = xy_strjoin(3,
|
||||||
"sed -E -i \'s@https?://.*/debian/?@",
|
"sed -E -i \'s@https?://.*/debian/?@",
|
||||||
source.url,
|
source.url,
|
||||||
"@g\' /etc/apt/sources.list");
|
"@g\' /etc/apt/sources.list");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
@ -940,7 +940,7 @@ void
|
|||||||
os_deepin_getsrc(char* option)
|
os_deepin_getsrc(char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "cat /etc/apt/sources.list";
|
char* cmd = "cat /etc/apt/sources.list";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -962,7 +962,7 @@ os_deepin_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
||||||
|
|
||||||
@ -971,7 +971,7 @@ os_deepin_setsrc (char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
"@g\' /etc/apt/sources.list");
|
"@g\' /etc/apt/sources.list");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
|
|
||||||
@ -1002,10 +1002,10 @@ os_fedora_setsrc (char* option)
|
|||||||
xy_warn ("chsrc: fedora 29 及以下版本暂不支持");
|
xy_warn ("chsrc: fedora 29 及以下版本暂不支持");
|
||||||
|
|
||||||
char* backup = "cp /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.bak --backup='t'";
|
char* backup = "cp /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
backup = "cp /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.bak";
|
backup = "cp /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.bak";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名:1. /etc/yum.repos.d/fedora.repo.bak");
|
xy_info ("chsrc: 备份文件名:1. /etc/yum.repos.d/fedora.repo.bak");
|
||||||
xy_info ("chsrc: 备份文件名:2. /etc/yum.repos.d/fedora-updates.repo.bak");
|
xy_info ("chsrc: 备份文件名:2. /etc/yum.repos.d/fedora-updates.repo.bak");
|
||||||
@ -1021,7 +1021,7 @@ os_fedora_setsrc (char* option)
|
|||||||
"/etc/yum.repos.d/fedora-updates.repo ",
|
"/etc/yum.repos.d/fedora-updates.repo ",
|
||||||
"/etc/yum.repos.d/fedora-updates-modular.repo");
|
"/etc/yum.repos.d/fedora-updates-modular.repo");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
xy_info ("chsrc: 替换文件:/etc/yum.repos.d/fedora.repo");
|
xy_info ("chsrc: 替换文件:/etc/yum.repos.d/fedora.repo");
|
||||||
xy_info ("chsrc: 新增文件:/etc/yum.repos.d/fedora-modular.repo");
|
xy_info ("chsrc: 新增文件:/etc/yum.repos.d/fedora-modular.repo");
|
||||||
@ -1057,7 +1057,7 @@ os_opensuse_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* source_nselect = "zypper mr -da";
|
char* source_nselect = "zypper mr -da";
|
||||||
xy_run(source_nselect);
|
chsrc_run(source_nselect);
|
||||||
|
|
||||||
char* cmd1 = xy_strjoin(3,
|
char* cmd1 = xy_strjoin(3,
|
||||||
"zypper ar -cfg '",
|
"zypper ar -cfg '",
|
||||||
@ -1084,17 +1084,17 @@ os_opensuse_setsrc (char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
"/opensuse/distribution/leap/$releasever/backports/' mirror-backports-update");
|
"/opensuse/distribution/leap/$releasever/backports/' mirror-backports-update");
|
||||||
|
|
||||||
xy_run(cmd1);
|
chsrc_run(cmd1);
|
||||||
xy_run(cmd2);
|
chsrc_run(cmd2);
|
||||||
xy_run(cmd3);
|
chsrc_run(cmd3);
|
||||||
xy_run(cmd4);
|
chsrc_run(cmd4);
|
||||||
|
|
||||||
xy_info("chsrc: leap 15.3用户还需 要添加sle和backports源");
|
xy_info("chsrc: leap 15.3用户还需 要添加sle和backports源");
|
||||||
xy_info("chsrc: 另外请确保系统在更新后仅启用了六个软件源,可以使用 zypper lr 检查软件源状态");
|
xy_info("chsrc: 另外请确保系统在更新后仅启用了六个软件源,可以使用 zypper lr 检查软件源状态");
|
||||||
xy_info("chsrc: 并使用 zypper mr -d 禁用多余的软件源");
|
xy_info("chsrc: 并使用 zypper mr -d 禁用多余的软件源");
|
||||||
|
|
||||||
xy_run(cmd5);
|
chsrc_run(cmd5);
|
||||||
xy_run(cmd6);
|
chsrc_run(cmd6);
|
||||||
// char* rm = "rm -f /etc/apt/source.list.bak";
|
// char* rm = "rm -f /etc/apt/source.list.bak";
|
||||||
// chsrc_runcmd(rm);
|
// chsrc_runcmd(rm);
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
@ -1120,7 +1120,7 @@ os_kali_setsrc(char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
char* backup = "cp /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
||||||
|
|
||||||
@ -1129,7 +1129,7 @@ os_kali_setsrc(char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
"@g\' /etc/apt/sources.list");
|
"@g\' /etc/apt/sources.list");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
|
|
||||||
@ -1158,13 +1158,13 @@ os_msys2_setsrc(char* option)
|
|||||||
|
|
||||||
|
|
||||||
char* backup = "cp -f /etc/pacman.d/mirrorlist.mingw32 /etc/pacman.d/mirrorlist.mingw32.bak";
|
char* backup = "cp -f /etc/pacman.d/mirrorlist.mingw32 /etc/pacman.d/mirrorlist.mingw32.bak";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
backup = "cp -f /etc/pacman.d/mirrorlist.mingw64 /etc/pacman.d/mirrorlist.mingw64.bak";
|
backup = "cp -f /etc/pacman.d/mirrorlist.mingw64 /etc/pacman.d/mirrorlist.mingw64.bak";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
backup = "cp -f /etc/pacman.d/mirrorlist.msys /etc/pacman.d/mirrorlist.msys.bak";
|
backup = "cp -f /etc/pacman.d/mirrorlist.msys /etc/pacman.d/mirrorlist.msys.bak";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: 1. /etc/pacman.d/mirrorlist.mingw32.bak");
|
xy_info ("chsrc: 备份文件名: 1. /etc/pacman.d/mirrorlist.mingw32.bak");
|
||||||
xy_info ("chsrc: 备份文件名: 2. /etc/pacman.d/mirrorlist.mingw64.bak");
|
xy_info ("chsrc: 备份文件名: 2. /etc/pacman.d/mirrorlist.mingw64.bak");
|
||||||
@ -1179,7 +1179,7 @@ os_msys2_setsrc(char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
"#g\" /etc/pacman.d/mirrorlist* ");
|
"#g\" /etc/pacman.d/mirrorlist* ");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
// char* rm = "rm -rf /etc/pacman.d/mirrorlist.mingw32.bak";
|
// char* rm = "rm -rf /etc/pacman.d/mirrorlist.mingw32.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
@ -1213,7 +1213,7 @@ os_arch_setsrc(char* option)
|
|||||||
|
|
||||||
|
|
||||||
char* backup = "cp -f /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak --backup='t'";
|
char* backup = "cp -f /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
|
|
||||||
bool arch_flag = false;
|
bool arch_flag = false;
|
||||||
@ -1234,20 +1234,20 @@ os_arch_setsrc(char* option)
|
|||||||
|
|
||||||
// TODO: 这里用的是 > 吗?
|
// TODO: 这里用的是 > 吗?
|
||||||
cmd = xy_strjoin(3,"echo ", new_file, " > /etc/pacman.d/mirrorlist");
|
cmd = xy_strjoin(3,"echo ", new_file, " > /etc/pacman.d/mirrorlist");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
xy_info("chsrc: 使用 archlinuxcn ");
|
xy_info("chsrc: 使用 archlinuxcn ");
|
||||||
|
|
||||||
cmd = xy_strjoin(3, "cat [archlinuxcn] \r\n Server=",source.url,"archlinuxcn/$repo/os/$arch >> /etc/pacman.d/mirrorlist");
|
cmd = xy_strjoin(3, "cat [archlinuxcn] \r\n Server=",source.url,"archlinuxcn/$repo/os/$arch >> /etc/pacman.d/mirrorlist");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = "pacman -Sy archlinux-keyring";
|
cmd = "pacman -Sy archlinux-keyring";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
if(arch_flag) {
|
if(arch_flag) {
|
||||||
xy_run("pacman -Syyu");
|
chsrc_run("pacman -Syyu");
|
||||||
} else {
|
} else {
|
||||||
xy_run("pacman -Syy");
|
chsrc_run("pacman -Syy");
|
||||||
}
|
}
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -1274,13 +1274,13 @@ os_gentoo_setsrc(char* option)
|
|||||||
|
|
||||||
|
|
||||||
char* backup = "cp -f /etc/portage/repos.conf/gentoo.conf /etc/portage/repos.conf/gentoo.conf.bak";
|
char* backup = "cp -f /etc/portage/repos.conf/gentoo.conf /etc/portage/repos.conf/gentoo.conf.bak";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /etc/portage/repos.conf/gentoo.conf.bak");
|
xy_info ("chsrc: 备份文件名: /etc/portage/repos.conf/gentoo.conf.bak");
|
||||||
char* cmd = xy_strjoin(3,"sed -i \"s#rsync://.*/gentoo-portage#rsync://",
|
char* cmd = xy_strjoin(3,"sed -i \"s#rsync://.*/gentoo-portage#rsync://",
|
||||||
source.url,
|
source.url,
|
||||||
"gentoo-portage#g");
|
"gentoo-portage#g");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
char * yuan = xy_strjoin(3,"GENTOO_MIRRORS=\"https://",
|
char * yuan = xy_strjoin(3,"GENTOO_MIRRORS=\"https://",
|
||||||
source.url,
|
source.url,
|
||||||
@ -1288,7 +1288,7 @@ os_gentoo_setsrc(char* option)
|
|||||||
cmd = xy_strjoin(3,"cat ",
|
cmd = xy_strjoin(3,"cat ",
|
||||||
yuan,
|
yuan,
|
||||||
" >> /etc/portage/make.conf");
|
" >> /etc/portage/make.conf");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
// char* rm = "rm -rf /etc/portage/repos.conf/gentoo.conf.bak";
|
// char* rm = "rm -rf /etc/portage/repos.conf/gentoo.conf.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
@ -1321,7 +1321,7 @@ os_rocky_setsrc (char* option)
|
|||||||
"-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=", source.url, "|g' "
|
"-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=", source.url, "|g' "
|
||||||
"-i.bak /etc/yum.repos.d/rocky-extras.repo /etc/yum.repos.d/rocky.repo"
|
"-i.bak /etc/yum.repos.d/rocky-extras.repo /etc/yum.repos.d/rocky.repo"
|
||||||
);
|
);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1349,10 +1349,10 @@ os_alpine_setsrc (char* option)
|
|||||||
char* cmd = xy_strjoin(3,
|
char* cmd = xy_strjoin(3,
|
||||||
"sed -i 's#https\\?://dl-cdn.alpinelinux.org/alpine#", source.url, "#g' /etc/apk/repositories"
|
"sed -i 's#https\\?://dl-cdn.alpinelinux.org/alpine#", source.url, "#g' /etc/apk/repositories"
|
||||||
);
|
);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = "apk update";
|
cmd = "apk update";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -1363,7 +1363,7 @@ void
|
|||||||
os_void_getsrc (char* option)
|
os_void_getsrc (char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "xbps-query -L";
|
char* cmd = "xbps-query -L";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1386,15 +1386,15 @@ os_void_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* cmd = "mkdir -p /etc/xbps.d";
|
char* cmd = "mkdir -p /etc/xbps.d";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = "cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/";
|
cmd = "cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = xy_strjoin(3,
|
cmd = xy_strjoin(3,
|
||||||
"sed -i 's|https://repo-default.voidlinux.org|", source.url, "|g' /etc/xbps.d/*-repository-*.conf"
|
"sed -i 's|https://repo-default.voidlinux.org|", source.url, "|g' /etc/xbps.d/*-repository-*.conf"
|
||||||
);
|
);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = xy_strjoin(3,
|
cmd = xy_strjoin(3,
|
||||||
"sed -i 's|https://alpha.de.repo.voidlinux.org|", source.url, "|g' /etc/xbps.d/*-repository-*.conf"
|
"sed -i 's|https://alpha.de.repo.voidlinux.org|", source.url, "|g' /etc/xbps.d/*-repository-*.conf"
|
||||||
@ -1415,9 +1415,9 @@ os_manjaro_setsrc(char* option)
|
|||||||
{
|
{
|
||||||
ensure_root();
|
ensure_root();
|
||||||
char* cmd = "sudo pacman-mirrors -i -c China -m rank";
|
char* cmd = "sudo pacman-mirrors -i -c China -m rank";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
xy_run("sudo pacman -Syy");
|
chsrc_run("sudo pacman -Syy");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1441,7 +1441,7 @@ os_openeuler_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* backup = "cp -f /etc/yum.repos.d/openEuler.repot /etc/yum.repos.d/openEuler.repo.bak --backup='t'";
|
char* backup = "cp -f /etc/yum.repos.d/openEuler.repot /etc/yum.repos.d/openEuler.repo.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /etc/yum.repos.d/openEuler.repo.bak");
|
xy_info ("chsrc: 备份文件名: /etc/yum.repos.d/openEuler.repo.bak");
|
||||||
|
|
||||||
@ -1451,7 +1451,7 @@ os_openeuler_setsrc (char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
"#\'< /etc/yum.repos.d/openEuler.repo.bak | cat > /etc/yum.repos.d/openEuler.repo");
|
"#\'< /etc/yum.repos.d/openEuler.repo.bak | cat > /etc/yum.repos.d/openEuler.repo");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
// char* rm = "rm -rf /etc/yum.repos.d/openEuler.repo.bak";
|
// char* rm = "rm -rf /etc/yum.repos.d/openEuler.repo.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
@ -1480,7 +1480,7 @@ os_openkylin_setsrc (char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* backup = "cp -f /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
char* backup = "cp -f /etc/apt/sources.list /etc/apt/sources.list.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
xy_info ("chsrc: 备份文件名: /etc/apt/sources.list.bak");
|
||||||
|
|
||||||
@ -1490,7 +1490,7 @@ os_openkylin_setsrc (char* option)
|
|||||||
source.url,
|
source.url,
|
||||||
"@\'< /etc/apt/sources.list.bak | cat > /etc/apt/sources.list");
|
"@\'< /etc/apt/sources.list.bak | cat > /etc/apt/sources.list");
|
||||||
|
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
// char* rm = "rm -rf /etc/apt/source.list.bak";
|
||||||
// system(rm);
|
// system(rm);
|
||||||
|
|
||||||
@ -1527,8 +1527,8 @@ os_freebsd_setsrc (char* option)
|
|||||||
xy_info("chsrc: 1. 添加 freebsd-pkg 源 (二进制安装包)");
|
xy_info("chsrc: 1. 添加 freebsd-pkg 源 (二进制安装包)");
|
||||||
char* pkg_mkdir = "mkdir -p /usr/local/etc/pkg/repos";
|
char* pkg_mkdir = "mkdir -p /usr/local/etc/pkg/repos";
|
||||||
char* pkg_createconf = xy_strjoin(3, "ee /usr/local/etc/pkg/repos/", source.mirror->code, ".conf");
|
char* pkg_createconf = xy_strjoin(3, "ee /usr/local/etc/pkg/repos/", source.mirror->code, ".conf");
|
||||||
xy_run(pkg_mkdir);
|
chsrc_run(pkg_mkdir);
|
||||||
xy_run(pkg_createconf);
|
chsrc_run(pkg_createconf);
|
||||||
|
|
||||||
|
|
||||||
char* pkg_content = xy_strjoin(4,
|
char* pkg_content = xy_strjoin(4,
|
||||||
@ -1541,7 +1541,7 @@ os_freebsd_setsrc (char* option)
|
|||||||
}");
|
}");
|
||||||
|
|
||||||
char* pkg_cmd = xy_strjoin(3, "cat ", pkg_content, "> /usr/local/etc/pkg/repos/", source.mirror->code , ".conf");
|
char* pkg_cmd = xy_strjoin(3, "cat ", pkg_content, "> /usr/local/etc/pkg/repos/", source.mirror->code , ".conf");
|
||||||
xy_run(pkg_cmd);
|
chsrc_run(pkg_cmd);
|
||||||
|
|
||||||
xy_warn("chsrc: 若要使用HTTPS源,请先安装securtiy/ca_root_ns,并将 'http' 改成 'https' ,最后使用 'pkg update -f' 刷新缓存即可\n");
|
xy_warn("chsrc: 若要使用HTTPS源,请先安装securtiy/ca_root_ns,并将 'http' 改成 'https' ,最后使用 'pkg update -f' 刷新缓存即可\n");
|
||||||
|
|
||||||
@ -1551,14 +1551,14 @@ os_freebsd_setsrc (char* option)
|
|||||||
bool git_exist = does_the_program_exist (xy_str_to_quietcmd("git version"), "git");
|
bool git_exist = does_the_program_exist (xy_str_to_quietcmd("git version"), "git");
|
||||||
if (git_exist) {
|
if (git_exist) {
|
||||||
char* git_cmd = xy_strjoin(3, "git clone --depth 1 https://", source.url, "/freebsd-ports/ports.git /usr/ports");
|
char* git_cmd = xy_strjoin(3, "git clone --depth 1 https://", source.url, "/freebsd-ports/ports.git /usr/ports");
|
||||||
xy_run(git_cmd);
|
chsrc_run(git_cmd);
|
||||||
} else {
|
} else {
|
||||||
char* fetch = xy_strjoin(3, "fetch https://", source.url, "/freebsd-ports/ports.tar.gz"); // 70多MB
|
char* fetch = xy_strjoin(3, "fetch https://", source.url, "/freebsd-ports/ports.tar.gz"); // 70多MB
|
||||||
char* unzip = "tar -zxvf ports.tar.gz -C /usr/ports";
|
char* unzip = "tar -zxvf ports.tar.gz -C /usr/ports";
|
||||||
char* delete = "rm ports.tar.gz";
|
char* delete = "rm ports.tar.gz";
|
||||||
xy_run(fetch);
|
chsrc_run(fetch);
|
||||||
xy_run(unzip);
|
chsrc_run(unzip);
|
||||||
xy_run(delete);
|
chsrc_run(delete);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* https://help.mirrors.cernet.edu.cn/FreeBSD-ports/ 的换源方法 */
|
/* https://help.mirrors.cernet.edu.cn/FreeBSD-ports/ 的换源方法 */
|
||||||
@ -1613,7 +1613,7 @@ void
|
|||||||
os_netbsd_getsrc (char* option)
|
os_netbsd_getsrc (char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "cat /usr/pkg/etc/pkgin/repositories.conf";
|
char* cmd = "cat /usr/pkg/etc/pkgin/repositories.conf";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1644,7 +1644,7 @@ os_netbsd_setsrc(char* option)
|
|||||||
|
|
||||||
|
|
||||||
char* backup = "cp -f /usr/pkg/etc/pkgin/repositories.conf /usr/pkg/etc/pkgin/repositories.conf.bak";
|
char* backup = "cp -f /usr/pkg/etc/pkgin/repositories.conf /usr/pkg/etc/pkgin/repositories.conf.bak";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /usr/pkg/etc/pkgin/repositories.conf.bak");
|
xy_info ("chsrc: 备份文件名: /usr/pkg/etc/pkgin/repositories.conf.bak");
|
||||||
|
|
||||||
@ -1656,7 +1656,7 @@ os_netbsd_setsrc(char* option)
|
|||||||
"/",
|
"/",
|
||||||
version,
|
version,
|
||||||
"/All > /usr/pkg/etc/pkgin/repositories.conf");
|
"/All > /usr/pkg/etc/pkgin/repositories.conf");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -1667,7 +1667,7 @@ void
|
|||||||
os_openbsd_getsrc (char* option)
|
os_openbsd_getsrc (char* option)
|
||||||
{
|
{
|
||||||
char* cmd = "cat /etc/installurl";
|
char* cmd = "cat /etc/installurl";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1691,12 +1691,12 @@ os_openbsd_setsrc(char* option)
|
|||||||
chsrc_say_selection(&source);
|
chsrc_say_selection(&source);
|
||||||
|
|
||||||
char* backup = "cp -f /etc/installurl /etc/installurl.bak --backup='t'";
|
char* backup = "cp -f /etc/installurl /etc/installurl.bak --backup='t'";
|
||||||
xy_run(backup);
|
chsrc_run(backup);
|
||||||
|
|
||||||
xy_info ("chsrc: 备份文件名: /etc/installurl.bak");
|
xy_info ("chsrc: 备份文件名: /etc/installurl.bak");
|
||||||
|
|
||||||
char* cmd = xy_strjoin(3,"echo ", source.url, " > /etc/installurl");
|
char* cmd = xy_strjoin(3,"echo ", source.url, " > /etc/installurl");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -1728,10 +1728,10 @@ wr_tex_getsrc(char* option)
|
|||||||
wr_tex_check_cmd_(&tlmgr_exist, &mpm_exist);
|
wr_tex_check_cmd_(&tlmgr_exist, &mpm_exist);
|
||||||
|
|
||||||
if (tlmgr_exist) {
|
if (tlmgr_exist) {
|
||||||
xy_run("tlmgr option repository");
|
chsrc_run("tlmgr option repository");
|
||||||
}
|
}
|
||||||
if (mpm_exist) {
|
if (mpm_exist) {
|
||||||
xy_run("mpm --get-repository");
|
chsrc_run("mpm --get-repository");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1758,13 +1758,13 @@ wr_tex_setsrc(char* option)
|
|||||||
|
|
||||||
if (tlmgr_exist) {
|
if (tlmgr_exist) {
|
||||||
cmd = xy_2strjoin("tlmgr option repository ", source.url);
|
cmd = xy_2strjoin("tlmgr option repository ", source.url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mpm_exist) {
|
if (mpm_exist) {
|
||||||
char* miktex_url = xy_2strjoin(xy_str_delete_suffix(source.url, "texlive/tlnet"), "win32/miktex/tm/packages/");
|
char* miktex_url = xy_2strjoin(xy_str_delete_suffix(source.url, "texlive/tlnet"), "win32/miktex/tm/packages/");
|
||||||
cmd = xy_2strjoin("mpm --set-repository=", miktex_url);
|
cmd = xy_2strjoin("mpm --set-repository=", miktex_url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
@ -1829,10 +1829,10 @@ wr_brew_setsrc(char* option)
|
|||||||
char* brew_git_remote = xy_strjoin(3, "export HOMEBREW_BREW_GIT_REMOTE=\"", xy_2strjoin(source.url, "git/homebrew/brew.git"), "\"");
|
char* brew_git_remote = xy_strjoin(3, "export HOMEBREW_BREW_GIT_REMOTE=\"", xy_2strjoin(source.url, "git/homebrew/brew.git"), "\"");
|
||||||
char* core_git_remote = xy_strjoin(3, "export HOMEBREW_CORE_GIT_REMOTE=\"", xy_2strjoin(source.url, "git/homebrew/homebrew-core.git"), "\"");
|
char* core_git_remote = xy_strjoin(3, "export HOMEBREW_CORE_GIT_REMOTE=\"", xy_2strjoin(source.url, "git/homebrew/homebrew-core.git"), "\"");
|
||||||
|
|
||||||
xy_run(xy_strjoin(3,"echo ", api_domain, " >> ~/.bashrc >> ~/.zshrc"));
|
chsrc_run(xy_strjoin(3,"echo ", api_domain, " >> ~/.bashrc >> ~/.zshrc"));
|
||||||
xy_run(xy_strjoin(3,"echo ", bottle_domain, " >> ~/.bashrc >> ~/.zshrc"));
|
chsrc_run(xy_strjoin(3,"echo ", bottle_domain, " >> ~/.bashrc >> ~/.zshrc"));
|
||||||
xy_run(xy_strjoin(3,"echo ", brew_git_remote, " >> ~/.bashrc >> ~/.zshrc"));
|
chsrc_run(xy_strjoin(3,"echo ", brew_git_remote, " >> ~/.bashrc >> ~/.zshrc"));
|
||||||
xy_run(xy_strjoin(3,"echo ", core_git_remote, " >> ~/.bashrc >> ~/.zshrc"));
|
chsrc_run(xy_strjoin(3,"echo ", core_git_remote, " >> ~/.bashrc >> ~/.zshrc"));
|
||||||
|
|
||||||
chsrc_say_thanks (&source);
|
chsrc_say_thanks (&source);
|
||||||
puts(""); xy_warn("chsrc: 请您重启终端使环境变量生效");
|
puts(""); xy_warn("chsrc: 请您重启终端使环境变量生效");
|
||||||
@ -1900,13 +1900,13 @@ wr_nix_setsrc (char* option)
|
|||||||
chsrc_say_selection (&source);
|
chsrc_say_selection (&source);
|
||||||
|
|
||||||
char* cmd = xy_strjoin(3, "nix-channel --add ", source.url, "nixpkgs-unstable nixpkgs");
|
char* cmd = xy_strjoin(3, "nix-channel --add ", source.url, "nixpkgs-unstable nixpkgs");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = xy_strjoin (3, "echo \"substituters = ", source.url, "store https://cache.nixos.org/\" >> ~/.config/nix/nix.conf");
|
cmd = xy_strjoin (3, "echo \"substituters = ", source.url, "store https://cache.nixos.org/\" >> ~/.config/nix/nix.conf");
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
cmd = "nix-channel --update";
|
cmd = "nix-channel --update";
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
xy_info("chsrc: 若您使用的是NixOS,请确认您的系统版本<version>(如22.11),并手动运行:");
|
xy_info("chsrc: 若您使用的是NixOS,请确认您的系统版本<version>(如22.11),并手动运行:");
|
||||||
cmd = xy_strjoin(3, "nix-channel --add ", source.url, "nixpkgs-<version> nixpkgs");
|
cmd = xy_strjoin(3, "nix-channel --add ", source.url, "nixpkgs-<version> nixpkgs");
|
||||||
@ -1945,7 +1945,7 @@ wr_flathub_setsrc(char* option)
|
|||||||
puts(note);
|
puts(note);
|
||||||
|
|
||||||
char* cmd = xy_2strjoin("sudo flatpak remote-modify flathub --url=", source.url);
|
char* cmd = xy_2strjoin("sudo flatpak remote-modify flathub --url=", source.url);
|
||||||
xy_run(cmd);
|
chsrc_run(cmd);
|
||||||
|
|
||||||
chsrc_say_thanks(&source);
|
chsrc_say_thanks(&source);
|
||||||
}
|
}
|
||||||
@ -1998,7 +1998,7 @@ wr_anaconda_setsrc(char* option)
|
|||||||
xy_error ("chsrc: 未找到 conda 命令,请检查是否存在");
|
xy_error ("chsrc: 未找到 conda 命令,请检查是否存在");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
xy_run("conda config --set show_channel_urls yes");
|
chsrc_run("conda config --set show_channel_urls yes");
|
||||||
}
|
}
|
||||||
|
|
||||||
xy_info(xy_strjoin(3, "chsrc: 请向 ", config, " 中手动添加:"));
|
xy_info(xy_strjoin(3, "chsrc: 请向 ", config, " 中手动添加:"));
|
||||||
|
33
chsrc.h
33
chsrc.h
@ -273,6 +273,39 @@ not_root:
|
|||||||
#define chsrc_error(str) xy_error(xy_2strjoin(App_Prefix, (str)))
|
#define chsrc_error(str) xy_error(xy_2strjoin(App_Prefix, (str)))
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
chsrc_run (const char* cmd)
|
||||||
|
{
|
||||||
|
xy_info (xy_2strjoin ("chsrc: 运行 ", cmd));
|
||||||
|
system(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
chsrc_append_to_file (char* prefix, char* str, char* file)
|
||||||
|
{
|
||||||
|
char* cmd = NULL;
|
||||||
|
if (xy_on_windows) {
|
||||||
|
cmd = xy_strjoin (4, "echo ", str, " >> ", file);
|
||||||
|
} else {
|
||||||
|
cmd = xy_strjoin (4, "echo '", str, "' >> ", file);
|
||||||
|
}
|
||||||
|
chsrc_run(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
chsrc_overwrite_file (char* prefix, char* str, char* file)
|
||||||
|
{
|
||||||
|
char* cmd = NULL;
|
||||||
|
if (xy_on_windows) {
|
||||||
|
cmd = xy_strjoin (4, "echo ", str, " > ", file);
|
||||||
|
} else {
|
||||||
|
cmd = xy_strjoin (4, "echo '", str, "' > ", file);
|
||||||
|
}
|
||||||
|
chsrc_run(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Target Info */
|
/* Target Info */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
void (*setfn)(char* option);
|
void (*setfn)(char* option);
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
* 测试 xy.h
|
* 测试 xy.h
|
||||||
* ------------------------------------------------------------*/
|
* ------------------------------------------------------------*/
|
||||||
|
|
||||||
#define XY_Run_Prefix "test_xy: "
|
|
||||||
#include "xy.h"
|
#include "xy.h"
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -76,9 +75,5 @@ main (int argc, char const *argv[])
|
|||||||
putb(xy_file_exist(xy_win_powershell_profile));
|
putb(xy_file_exist(xy_win_powershell_profile));
|
||||||
putb(xy_file_exist(xy_win_powershellv5_profile));
|
putb(xy_file_exist(xy_win_powershellv5_profile));
|
||||||
|
|
||||||
char* str = "nix.settings.substituters = [ \"https://mirrors.bfsu.edu.cn/nix-channels/store\" ]";
|
|
||||||
xy_overwrite_file(str, "test.txt");
|
|
||||||
xy_append_to_file(str, "test.txt");
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
34
xy.h
34
xy.h
@ -524,38 +524,4 @@ xy_file_exist(char* path)
|
|||||||
return access(newpath, 0) ? false : true;
|
return access(newpath, 0) ? false : true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
xy_run (const char* cmd)
|
|
||||||
{
|
|
||||||
char* log = XY_Run_Prefix;
|
|
||||||
xy_info (xy_2strjoin (log, cmd));
|
|
||||||
system(cmd);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
xy_append_to_file (char* str, char* file)
|
|
||||||
{
|
|
||||||
char* cmd = NULL;
|
|
||||||
if (xy_on_windows) {
|
|
||||||
cmd = xy_strjoin (4, "echo ", str, " >> ", file);
|
|
||||||
} else {
|
|
||||||
cmd = xy_strjoin (4, "echo '", str, "' >> ", file);
|
|
||||||
}
|
|
||||||
xy_run(cmd);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
xy_overwrite_file (char* str, char* file)
|
|
||||||
{
|
|
||||||
char* cmd = NULL;
|
|
||||||
if (xy_on_windows) {
|
|
||||||
cmd = xy_strjoin (4, "echo ", str, " > ", file);
|
|
||||||
} else {
|
|
||||||
cmd = xy_strjoin (4, "echo '", str, "' > ", file);
|
|
||||||
}
|
|
||||||
xy_run(cmd);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user