chsrc/src/recipe/os/openSUSE.c
2025-10-27 22:05:17 +08:00

88 lines
2.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/** ------------------------------------------------------------
* 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);
}