mirror of
https://gitee.com/RubyMetric/chsrc.git
synced 2025-12-25 20:52:49 +00:00
88 lines
2.5 KiB
C
88 lines
2.5 KiB
C
/** ------------------------------------------------------------
|
||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||
* ------------------------------------------------------------*/
|
||
|
||
def_target(os_opensuse, "opensuse/opensuse-leap/opensuse-tumbleweed");
|
||
|
||
void
|
||
os_opensuse_prelude ()
|
||
{
|
||
chef_prep_this (os_opensuse, s);
|
||
|
||
chef_set_created_on (this, "2023-09-17");
|
||
chef_set_last_updated (this, "2025-08-10");
|
||
chef_set_sources_last_updated (this, "2025-06-20");
|
||
|
||
chef_set_chef (this, NULL);
|
||
chef_set_cooks (this, 2, "@ccmywish", "@G_I_Y");
|
||
chef_set_sauciers (this, 0);
|
||
|
||
chef_allow_local_mode (this, CanNot, NULL, NULL);
|
||
chef_deny_english(this);
|
||
chef_deny_user_define(this);
|
||
|
||
chef_set_note(this, NULL, NULL);
|
||
|
||
def_sources_begin()
|
||
{&UpstreamProvider, "https://download.opensuse.org/", DelegateToUpstream},
|
||
{&Ali, "https://mirrors.aliyun.com/opensuse", DelegateToMirror},
|
||
{&Volcengine, "https://mirrors.volces.com/opensuse", DelegateToMirror},
|
||
{&Bfsu, "https://mirrors.bfsu.edu.cn/opensuse", DelegateToMirror},
|
||
{&Ustc, "https://mirrors.ustc.edu.cn/opensuse", DelegateToMirror},
|
||
{&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/opensuse", DelegateToMirror},
|
||
{&Tencent, "https://mirrors.tencent.com/opensuse", DelegateToMirror}
|
||
def_sources_end()
|
||
}
|
||
|
||
|
||
/**
|
||
* @consult https://mirrors.tuna.tsinghua.edu.cn/help/opensuse/
|
||
*/
|
||
void
|
||
os_opensuse_setsrc (char *option)
|
||
{
|
||
// chsrc_ensure_root ();
|
||
|
||
chsrc_use_this_source (os_opensuse);
|
||
|
||
while (1) {
|
||
chsrc_note2 ("请选择你的操作系统为:");
|
||
printf ("%s",
|
||
"1. openSUSE Leap\n"
|
||
"2. openSUSE Tumbleweed\n"
|
||
"\n"
|
||
"==> ");
|
||
|
||
int choice = 0;
|
||
|
||
/* 接受到一个数字时返回1,非法为0,流结束为-1 */
|
||
if (scanf ("%d", &choice) != 1)
|
||
{
|
||
/* 清除输入缓冲区 */
|
||
int ch;
|
||
while ((ch = getchar()) != '\n' && ch != EOF);
|
||
chsrc_error2 ("输入无效!请输入数字");
|
||
continue;
|
||
}
|
||
if (choice == 1)
|
||
{
|
||
char *script = xy_str_gsub (RAWSTR_os_openSUSE_leap_in_bash, "@url@", source.url);
|
||
chsrc_run_as_bash_file (script);
|
||
break;
|
||
}
|
||
if (choice == 2)
|
||
{
|
||
char *script = xy_str_gsub (RAWSTR_os_openSUSE_tumbleweed_in_bash, "@url@", source.url);
|
||
chsrc_run_as_bash_file (script);
|
||
break;
|
||
}
|
||
else
|
||
{
|
||
chsrc_error2 ("无效的选择,请输入 1 或 2 ");
|
||
}
|
||
}
|
||
|
||
chsrc_determine_chgtype (ChgType_Untested);
|
||
chsrc_conclude (&source);
|
||
}
|