From d146a8a62a9de074f5b285ef118fe2770570ca20 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Sun, 10 Aug 2025 09:54:52 +0800 Subject: [PATCH] Update os recipes using framework v2 --- src/framework/chef.h | 6 +- src/recipe/os/APT/Armbian.c | 74 +++++++++----------- src/recipe/os/APT/Debian.c | 101 ++++++++++++--------------- src/recipe/os/APT/Kali-Linux.c | 81 ++++++++------------- src/recipe/os/APT/Linux-Lite.c | 69 +++++++----------- src/recipe/os/APT/Linux-Mint.c | 84 +++++++++++----------- src/recipe/os/APT/ROS.c | 79 ++++++++++----------- src/recipe/os/APT/Raspberry-Pi-OS.c | 70 +++++++++---------- src/recipe/os/APT/Termux.c | 99 ++++++++++---------------- src/recipe/os/APT/Trisquel.c | 70 +++++++++---------- src/recipe/os/APT/Ubuntu.c | 50 ++++++------- src/recipe/os/APT/deepin.c | 77 +++++++++----------- src/recipe/os/APT/openKylin.c | 67 ++++++++---------- src/recipe/os/Alpine-Linux.c | 82 +++++++++++----------- src/recipe/os/BSD/FreeBSD.c | 34 ++------- src/recipe/os/BSD/NetBSD.c | 34 ++------- src/recipe/os/BSD/OpenBSD.c | 35 ++-------- src/recipe/os/Gentoo-Linux.c | 82 ++++++++++------------ src/recipe/os/OpenWrt.c | 87 +++++++++++------------ src/recipe/os/Solus.c | 71 ++++++++++--------- src/recipe/os/Void-Linux.c | 72 ++++++++++--------- src/recipe/os/YUM/AlmaLinux.c | 33 ++------- src/recipe/os/YUM/Anolis-OS.c | 34 ++------- src/recipe/os/YUM/Fedora-Linux.c | 35 ++-------- src/recipe/os/YUM/Rocky-Linux.c | 34 ++------- src/recipe/os/YUM/openEuler.c | 38 +++------- src/recipe/os/openSUSE.c | 85 ++++++++++------------ src/recipe/os/pacman/Arch-Linux.c | 61 +++++----------- src/recipe/os/pacman/MSYS2.c | 31 ++------ src/recipe/os/pacman/Manjaro-Linux.c | 17 ++--- 30 files changed, 709 insertions(+), 1083 deletions(-) diff --git a/src/framework/chef.h b/src/framework/chef.h index efdd6ce..11f677e 100644 --- a/src/framework/chef.h +++ b/src/framework/chef.h @@ -46,9 +46,9 @@ chef_ensure_trailing_slash (char *str) } -#define chef_has_getfn() this->getfn = t##_getsrc; -#define chef_has_setfn() this->setfn = t##_setsrc; -#define chef_has_resetsrc() this->resetfn = t##_resetsrc; +#define chef_has_get() this->getfn = t##_getsrc; +#define chef_has_set() this->setfn = t##_setsrc; +#define chef_has_reset() this->resetfn = t##_resetsrc; void diff --git a/src/recipe/os/APT/Armbian.c b/src/recipe/os/APT/Armbian.c index f9fddd6..55e4ecb 100644 --- a/src/recipe/os/APT/Armbian.c +++ b/src/recipe/os/APT/Armbian.c @@ -1,30 +1,42 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Shengwei Chen <414685209@qq.com> - * Contributors : Aoran Zeng - * | Yangmoooo - * | - * Created On : <2024-06-14> - * Last Modified : <2025-07-14> * ------------------------------------------------------------*/ -/** - * @update 2024-11-21 - */ -static Source_t os_armbian_sources[] = +def_target(os_armbian); + +void +os_armbian_prelude () { - {&UpstreamProvider, "http://apt.armbian.com", NULL}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/armbian", DelegateToMirror}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/armbian", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/armbian", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/armbian", DelegateToMirror}, - {&Sustech, "https://mirrors.sustech.edu.cn/armbian", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/armbian", DelegateToMirror}, - {&Nju, "https://mirrors.nju.edu.cn/armbian", DelegateToMirror}, - {&Ali, "https://mirrors.aliyun.com/armbian", DelegateToMirror}, -}; -def_sources_n(os_armbian); + use_this(os_armbian); + + chef_set_created_on (this, "2024-06-14"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-11-21"); + + chef_set_authors (this, 1, "Shengwei Chen", "414685209@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 2, + "Aoran Zeng", "ccmywish@qq.com", + "Yangmoooo", "yangmoooo@outlook.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + + def_upstream("http://apt.armbian.com"); + def_sources_begin(os_armbian) + {&upstream, "http://apt.armbian.com", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/armbian", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/armbian", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/armbian", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/armbian", DelegateToMirror}, + {&Sustech, "https://mirrors.sustech.edu.cn/armbian", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/armbian", DelegateToMirror}, + {&Nju, "https://mirrors.nju.edu.cn/armbian", DelegateToMirror}, + {&Ali, "https://mirrors.aliyun.com/armbian", DelegateToMirror} + def_sources_end() +} void @@ -70,21 +82,3 @@ os_armbian_resetsrc (char *option) { os_armbian_setsrc (option); } - - -Feature_t -os_armbian_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.can_english = true; - f.can_user_define = true; - - return f; -} - -def_target_gsrf(os_armbian); diff --git a/src/recipe/os/APT/Debian.c b/src/recipe/os/APT/Debian.c index 98f96a3..7434aff 100644 --- a/src/recipe/os/APT/Debian.c +++ b/src/recipe/os/APT/Debian.c @@ -1,63 +1,68 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * | Heng Guo <2085471348@qq.com> - * Contributors : Yangmoooo - * | GitHub Copilot - * | - * Created On : <2023-09-02> - * Major Revision : 3 - * Last Modified : <2025-07-21> * ------------------------------------------------------------*/ #define OS_Debian_Speed_URL_Postfix "/dists/bookworm/main/Contents-all.gz" -static SourceProvider_t os_debian_upstream = -{ - def_upstream, "https://ftp.debian.org/debian/", - {NotSkip, NA, NA, "https://ftp.debian.org/debian/dists/bookworm/main/Contents-all.gz", ACCURATE} // 32MB -}; +def_target(os_debian); - -/** - * @update 2025-07-11 - */ -static Source_t os_debian_sources[] = +void +os_debian_prelude () { - {&os_debian_upstream, "http://deb.debian.org/debian", DelegateToUpstream}, + use_this(os_debian); + + chef_set_created_on (this, "2023-09-02"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2025-07-11"); + + chef_set_authors (this, 2, + "Aoran Zeng", "ccmywish@qq.com", + "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 2, + "Yangmoooo", "yangmoooo@outlook.com", + "GitHub Copilot", "https://github.com/copilot"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + + def_upstream("http://deb.debian.org/debian"); + def_sources_begin(os_debian) + {&upstream, "http://deb.debian.org/debian", DelegateToUpstream}, /* MirrorZ 的速度这么测也是可以的 */ - {&MirrorZ, "https://mirrors.cernet.edu.cn/debian/", - "https://mirrors.cernet.edu.cn/debian/" OS_Debian_Speed_URL_Postfix}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/debian/", + "https://mirrors.cernet.edu.cn/debian/" OS_Debian_Speed_URL_Postfix}, - {&Ali, "https://mirrors.aliyun.com/debian", - "https://mirrors.aliyun.com/debian" OS_Debian_Speed_URL_Postfix}, + {&Ali, "https://mirrors.aliyun.com/debian", + "https://mirrors.aliyun.com/debian" OS_Debian_Speed_URL_Postfix}, - {&Volcengine, "https://mirrors.volces.com/debian", - "https://mirrors.volces.com/debian" OS_Debian_Speed_URL_Postfix}, + {&Volcengine, "https://mirrors.volces.com/debian", + "https://mirrors.volces.com/debian" OS_Debian_Speed_URL_Postfix}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/debian", - "https://mirrors.bfsu.edu.cn/debian" OS_Debian_Speed_URL_Postfix}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/debian", + "https://mirrors.bfsu.edu.cn/debian" OS_Debian_Speed_URL_Postfix}, - {&Ustc, "https://mirrors.ustc.edu.cn/debian", - "https://mirrors.ustc.edu.cn/debian" OS_Debian_Speed_URL_Postfix}, + {&Ustc, "https://mirrors.ustc.edu.cn/debian", + "https://mirrors.ustc.edu.cn/debian" OS_Debian_Speed_URL_Postfix}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/debian", - "https://mirrors.tuna.tsinghua.edu.cn/debian" OS_Debian_Speed_URL_Postfix}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/debian", + "https://mirrors.tuna.tsinghua.edu.cn/debian" OS_Debian_Speed_URL_Postfix}, - {&Tencent, "https://mirrors.tencent.com/debian", - "https://mirrors.tencent.com/debian" OS_Debian_Speed_URL_Postfix}, + {&Tencent, "https://mirrors.tencent.com/debian", + "https://mirrors.tencent.com/debian" OS_Debian_Speed_URL_Postfix} // {&Tencent_Intra, "https://mirrors.tencentyun.com/debian", FeedBySourcesPrepare}, /* 不启用原因:过慢 */ - // {&Netease, "https://mirrors.163.com/debian", FeedBySourcesPrepare}, + // {&Netease, "https://mirrors.163.com/debian", FeedBySourcesPrepare}, /* 不启用原因:过慢 */ - // {&Sohu, "https://mirrors.sohu.com/debian", FeedBySourcesPrepare} -}; -def_sources_n(os_debian); + // {&Sohu, "https://mirrors.sohu.com/debian", FeedBySourcesPrepare} + def_sources_end() +} void @@ -191,23 +196,3 @@ os_debian_resetsrc (char* option) { os_debian_setsrc (option); } - - -Feature_t -os_debian_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = false; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_debian); diff --git a/src/recipe/os/APT/Kali-Linux.c b/src/recipe/os/APT/Kali-Linux.c index e0f9c2c..6a40c70 100644 --- a/src/recipe/os/APT/Kali-Linux.c +++ b/src/recipe/os/APT/Kali-Linux.c @@ -1,40 +1,42 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Yangmoooo - * | Happy Game - * | - * Created On : <2023-09-29> - * Last Modified : <2025-07-21> - * - * Kali Linux 基于 Debian Testing branch * ------------------------------------------------------------*/ -static SourceProvider_t os_kali_upstream = -{ - def_upstream, "http://http.kali.org/kali", - // https://github.com/RubyMetric/chsrc/issues/121 - {NotSkip, NA, NA, "https://http.kali.org/kali/dists/kali-dev/Contents-amd64.gz", ACCURATE} // 47MB -}; +def_target(os_kali); -/** - * @update 2025-06-20 - */ -static Source_t os_kali_sources[] = +void +os_kali_prelude () { - {&os_kali_upstream, "http://http.kali.org/kali", DelegateToUpstream}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/kali", DelegateToMirror}, - {&Ali, "https://mirrors.aliyun.com/kali", DelegateToMirror}, - {&Volcengine, "https://mirrors.volces.com/kali", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/kali", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/kali", DelegateToMirror}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/kali", DelegateToMirror}, + use_this(os_kali); + chef_set_created_on (this, "2023-09-29"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2025-06-20"); + + chef_set_authors (this, 1, "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 2, + "Yangmoooo", "yangmoooo@outlook.com", + "Happy Game", "happygame1024@gmail.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + + def_upstream("http://http.kali.org/kali"); + def_sources_begin(os_kali) + {&upstream, "http://http.kali.org/kali", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/kali", DelegateToMirror}, + {&Ali, "https://mirrors.aliyun.com/kali", DelegateToMirror}, + {&Volcengine, "https://mirrors.volces.com/kali", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/kali", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/kali", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/kali", DelegateToMirror} /* 不启用原因: 未与上游同步 */ - // {&Huawei, "https://mirrors.huaweicloud.com/kali", DelegateToMirror}, -}; -def_sources_n(os_kali); + // {&Huawei, "https://mirrors.huaweicloud.com/kali", DelegateToMirror}, + def_sources_end() +} void os_kali_getsrc (char *option) @@ -68,24 +70,3 @@ os_kali_resetsrc (char *option) { os_kali_setsrc (option); } - - -Feature_t -os_kali_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_kali); diff --git a/src/recipe/os/APT/Linux-Lite.c b/src/recipe/os/APT/Linux-Lite.c index 9c338fb..b7e4609 100644 --- a/src/recipe/os/APT/Linux-Lite.c +++ b/src/recipe/os/APT/Linux-Lite.c @@ -1,30 +1,36 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Yangmoooo - * | - * Created On : <2023-09-29> - * Last Modified : <2025-07-21> * ------------------------------------------------------------*/ -static SourceProvider_t os_linuxlite_upstream = -{ - def_upstream, "http://repo.linuxliteos.com/linuxlite/", - {NotSkip, NA, NA, "http://repo.linuxliteos.com/linuxlite/isos/7.2/linux-lite-7.2-64bit.iso", ACCURATE} // 2.9GB -}; +def_target(os_linuxlite); -/** - * @update 2024-11-21 - */ -static Source_t os_linuxlite_sources[] = +void +os_linuxlite_prelude () { - {&os_linuxlite_upstream, "http://repo.linuxliteos.com/linuxlite/", DelegateToUpstream}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/linuxliteos/", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirrors.sjtug.sjtu.edu.cn/linuxliteos/", DelegateToMirror}, - {&Nju, "https://mirror.nju.edu.cn/linuxliteos/", DelegateToMirror} -}; -def_sources_n(os_linuxlite); + use_this(os_linuxlite); + + chef_set_created_on (this, "2023-09-29"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-11-21"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Yangmoooo", "yangmoooo@outlook.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + + def_upstream("http://repo.linuxliteos.com/linuxlite/"); + def_sources_begin(os_linuxlite) + {&upstream, "http://repo.linuxliteos.com/linuxlite/", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/linuxliteos/", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirrors.sjtug.sjtu.edu.cn/linuxliteos/", DelegateToMirror}, + {&Nju, "https://mirror.nju.edu.cn/linuxliteos/", DelegateToMirror} + def_sources_end() +} void @@ -59,24 +65,3 @@ os_linuxlite_resetsrc (char *option) { os_linuxlite_setsrc (option); } - - -Feature_t -os_linuxlite_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_linuxlite); diff --git a/src/recipe/os/APT/Linux-Mint.c b/src/recipe/os/APT/Linux-Mint.c index 30ff94a..6453300 100644 --- a/src/recipe/os/APT/Linux-Mint.c +++ b/src/recipe/os/APT/Linux-Mint.c @@ -1,36 +1,48 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Happy Game - * | - * Created On : <2023-09-29> - * Last Modified : <2025-07-21> * ------------------------------------------------------------*/ -/** - * @update 2024-11-21 更新 - * @note 实际上镜像站里的内容和Ubuntu的不太一样 - */ -static Source_t os_linuxmint_sources[] = +def_target(os_linuxmint); + +void +os_linuxmint_prelude () { - {&UpstreamProvider, NULL, NULL}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/linuxmint/", DelegateToMirror}, - {&Ali, "http://mirrors.aliyun.com/linuxmint-packages/", DelegateToMirror}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/linuxmint/", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/linuxmint/", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/linuxmint/", DelegateToMirror}, - {&Jlu, "https://mirrors.jlu.edu.cn/linuxmint/", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/linuxmint/", DelegateToMirror}, - {&Bjtu, "https://mirror.bjtu.edu.cn/linuxmint/", DelegateToMirror}, - {&Zju, "https://mirrors.zju.edu.cn/linuxmint/", DelegateToMirror}, - {&Sustech, "https://mirrors.sustech.edu.cn/linuxmint/", DelegateToMirror}, - {&Iscas, "https://mirror.iscas.ac.cn/linuxmint/", DelegateToMirror}, - {&Scau, "https://mirrors.scau.edu.cn/linuxmint/", DelegateToMirror}, + use_this(os_linuxmint); + + chef_set_created_on (this, "2023-09-29"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-11-21"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Happy Game", "happygame1024@gmail.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + + /* @note 实际上镜像站里的内容和Ubuntu的不太一样 */ + def_upstream("http://packages.linuxmint.com"); + def_sources_begin(os_linuxmint) + {&upstream, "http://packages.linuxmint.com", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/linuxmint/", DelegateToMirror}, + {&Ali, "http://mirrors.aliyun.com/linuxmint-packages/", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/linuxmint/", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/linuxmint/", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/linuxmint/", DelegateToMirror}, + {&Jlu, "https://mirrors.jlu.edu.cn/linuxmint/", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/linuxmint/", DelegateToMirror}, + {&Bjtu, "https://mirror.bjtu.edu.cn/linuxmint/", DelegateToMirror}, + {&Zju, "https://mirrors.zju.edu.cn/linuxmint/", DelegateToMirror}, + {&Sustech, "https://mirrors.sustech.edu.cn/linuxmint/", DelegateToMirror}, + {&Iscas, "https://mirror.iscas.ac.cn/linuxmint/", DelegateToMirror}, + {&Scau, "https://mirrors.scau.edu.cn/linuxmint/", DelegateToMirror} /* 不启用原因:过慢 */ - // {&Netease, "https://mirrors.163.com/linuxmint/packages/", DelegateToMirror} -}; -def_sources_n(os_linuxmint); + // {&Netease, "https://mirrors.163.com/linuxmint/packages/", DelegateToMirror} + def_sources_end() +} void @@ -70,22 +82,4 @@ os_linuxmint_setsrc (char *option) -Feature_t -os_linuxmint_feat (char *option) -{ - Feature_t f = {0}; - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsf(os_linuxmint); diff --git a/src/recipe/os/APT/ROS.c b/src/recipe/os/APT/ROS.c index dbe1437..7b4e186 100644 --- a/src/recipe/os/APT/ROS.c +++ b/src/recipe/os/APT/ROS.c @@ -1,34 +1,47 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Aoran Zeng - * | zouri - * | - * Created On : <2023-09-03> - * Last Modified : <2025-07-21> * ------------------------------------------------------------*/ -/** - * @update 2024-04-18 - */ -static Source_t os_ros_sources[] = -{ - {&UpstreamProvider, NULL, NULL}, +def_target(os_ros); - {&Ali, "https://mirrors.aliyun.com", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn", DelegateToMirror}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn", DelegateToMirror}, - {&Tencent, "https://mirrors.tencent.com", DelegateToMirror}, +void +os_ros_prelude () +{ + use_this(os_ros); + + chef_set_created_on (this, "2023-09-03"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-04-18"); + + chef_set_authors (this, 1, "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 2, + "Aoran Zeng", "ccmywish@qq.com", + "zouri", "guoshuaisun@outlook.com"); + + chef_has_get(); + chef_has_set(); + chef_has_reset(); + + this.note = "该换源方案中,URL存在拼凑,因此不能手动使用某URL来换源"; + + def_upstream("http://packages.ros.org"); + def_sources_begin(os_ros) + {&upstream, "http://packages.ros.org", DelegateToUpstream}, + {&Ali, "https://mirrors.aliyun.com", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn", DelegateToMirror}, + {&Tencent, "https://mirrors.tencent.com", DelegateToMirror}, // {&Tencent_Intra, "https://mirrors.tencentyun.com", DelegateToMirror}, - {&Huawei, "https://mirrors.huaweicloud.com", DelegateToMirror}, + {&Huawei, "https://mirrors.huaweicloud.com", DelegateToMirror} /* 不启用原因:过慢 */ - // {&Netease, "https://mirrors.163.com", DelegateToMirror}, + // {&Netease, "https://mirrors.163.com", DelegateToMirror}, /* 不启用原因:过慢 */ - // {&Sohu, "https://mirrors.sohu.com", DelegateToMirror} -}; -def_sources_n(os_ros); + // {&Sohu, "https://mirrors.sohu.com", DelegateToMirror} + def_sources_end() +} void @@ -62,23 +75,3 @@ os_ros_setsrc (char *option) chsrc_determine_chgtype (ChgType_Untested); chsrc_conclude (&source); } - - -Feature_t -os_ros_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = "该换源方案中,URL存在拼凑,因此不能手动使用某URL来换源"; - return f; -} - -def_target_gsf(os_ros); diff --git a/src/recipe/os/APT/Raspberry-Pi-OS.c b/src/recipe/os/APT/Raspberry-Pi-OS.c index 23a0cf5..b23e770 100644 --- a/src/recipe/os/APT/Raspberry-Pi-OS.c +++ b/src/recipe/os/APT/Raspberry-Pi-OS.c @@ -1,29 +1,41 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Yangmoooo - * Created On : <2023-09-29> - * Last Modified : <2025-07-21> - * - * Raspberry Pi OS 树莓派操作系统,以前称为 Raspbian * ------------------------------------------------------------*/ -/** - * @update 2023-09-29 - */ -static Source_t os_raspberrypi_sources[] = +def_target(os_raspberrypi); + +void +os_raspberrypi_prelude () { + use_this(os_raspberrypi); + + chef_set_created_on (this, "2023-09-29"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2023-09-29"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Yangmoooo", "yangmoooo@outlook.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetfn(); + + /* Raspberry Pi OS 树莓派操作系统,以前称为 Raspbian */ + def_upstream("https://archive.raspberrypi.com/"); + def_sources_begin(os_raspberrypi) // https://archive.raspberrypi.org/ until Debian "bullseye" release - {&UpstreamProvider, "https://archive.raspberrypi.com/", DelegateToUpstream}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/raspberrypi/", DelegateToMirror}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/raspberrypi/", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/raspberrypi/", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirrors.sjtug.sjtu.edu.cn/raspberrypi/", DelegateToMirror}, - {&Sustech, "https://mirrors.sustech.edu.cn/raspberrypi/", DelegateToMirror} -}; -def_sources_n(os_raspberrypi); + {&upstream, "https://archive.raspberrypi.com/", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/raspberrypi/", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/raspberrypi/", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/raspberrypi/", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirrors.sjtug.sjtu.edu.cn/raspberrypi/", DelegateToMirror}, + {&Sustech, "https://mirrors.sustech.edu.cn/raspberrypi/", DelegateToMirror} + def_sources_end() +} void @@ -60,22 +72,4 @@ os_raspberrypi_resetsrc (char *option) } -Feature_t -os_raspberrypi_feat (char *option) -{ - Feature_t f = {0}; - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = false; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_raspberrypi); diff --git a/src/recipe/os/APT/Termux.c b/src/recipe/os/APT/Termux.c index d0a7b19..6c976d8 100644 --- a/src/recipe/os/APT/Termux.c +++ b/src/recipe/os/APT/Termux.c @@ -1,40 +1,48 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Nul None - * Created On : <2025-03-04> - * Last Modified : <2025-03-04> - * - * 该 recipe 存在对应的 bootstrapper * ------------------------------------------------------------*/ -/** - * @update 2025-03-04 - */ -static Source_t -os_termux_sources[] = { - {&UpstreamProvider, NULL}, - {&Ustc, "https://mirrors.ustc.edu.cn/termux/", NULL}, - {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/termux/", NULL}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/termux/", NULL}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/termux/", NULL}, - {&Pku, "https://mirrors.pku.edu.cn/termux/", NULL}, - {&Nyist, "https://mirror.nyist.edu.cn/termux/", NULL}, - {&Nju, "https://mirror.nju.edu.cn/termux/", NULL}, - {&Sustech, "https://mirrors.sustech.edu.cn/termux/", NULL}, - {&Iscas, "https://mirror.iscas.ac.cn/termux/", NULL}, - {&Zju, "https://mirrors.zju.edu.cn/termux/", NULL}, - {&Sdu, "https://mirrors.sdu.edu.cn/termux/", NULL}, - {&Cqupt, "https://mirrors.cqupt.edu.cn/termux/", NULL} +def_target(os_termux); -}; -def_sources_n(os_termux); +void +os_termux_prelude () +{ + use_this(os_termux); + + chef_set_created_on (this, "2025-03-04"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2025-03-04"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Nul None", "nul@none.org"); + + chef_has_get(); + chef_has_set(); + chef_has_reset(); + this.note = "该 recipe 存在对应的 bootstrapper"; + + def_upstream("https://packages.termux.org/apt/termux-main/"); + def_sources_begin(os_termux) + {&upstream, "https://packages.termux.org/apt/termux-main/", DelegateToUpstream}, + {&Ustc, "https://mirrors.ustc.edu.cn/termux/", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/termux/", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/termux/", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/termux/", DelegateToMirror}, + {&Pku, "https://mirrors.pku.edu.cn/termux/", DelegateToMirror}, + {&Nyist, "https://mirror.nyist.edu.cn/termux/", DelegateToMirror}, + {&Nju, "https://mirror.nju.edu.cn/termux/", DelegateToMirror}, + {&Sustech, "https://mirrors.sustech.edu.cn/termux/", DelegateToMirror}, + {&Iscas, "https://mirror.iscas.ac.cn/termux/", DelegateToMirror}, + {&Zju, "https://mirrors.zju.edu.cn/termux/", DelegateToMirror}, + {&Sdu, "https://mirrors.sdu.edu.cn/termux/", DelegateToMirror}, + {&Cqupt, "https://mirrors.cqupt.edu.cn/termux/", DelegateToMirror} + def_sources_end() +} -/** - * chsrc get termux - */ void os_termux_getsrc (char *option) { @@ -67,39 +75,8 @@ os_termux_setsrc (char *option) chsrc_conclude (&source); } - -/** - * chsrc reset termux - * - * 暂时缺乏原地址 - */ void os_termux_resetsrc (char *option) { os_termux_setsrc (option); } - - -/** - * chsrc ls termux - */ -Feature_t -os_termux_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = false; - f.can_user_define = false; - - f.note = NULL; - return f; -} - - -def_target_gsf(os_termux); diff --git a/src/recipe/os/APT/Trisquel.c b/src/recipe/os/APT/Trisquel.c index 4f969c0..e12e681 100644 --- a/src/recipe/os/APT/Trisquel.c +++ b/src/recipe/os/APT/Trisquel.c @@ -1,27 +1,39 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Nil Null - * Created On : <2023-09-29> - * Last Modified : <2025-07-21> - * - * Trisquel基于Ubuntu开发,不含任何专有软件及专有固件,内核使用 Linux-libre * ------------------------------------------------------------*/ -/** - * @update 2024-11-21 - */ -static Source_t os_trisquel_sources[] = +def_target(os_trisquel); + +void +os_trisquel_prelude () { - {&UpstreamProvider, NULL, NULL}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/trisquel/", DelegateToMirror}, - {&Ali, "https://mirrors.aliyun.com/trisquel/", DelegateToMirror}, - {&Nju, "https://mirror.nju.edu.cn/trisquel/", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/trisquel/", DelegateToMirror}, - {&Iscas, "https://mirror.iscas.ac.cn/trisquel/", DelegateToMirror} -}; -def_sources_n(os_trisquel); + use_this(os_trisquel); + + chef_set_created_on (this, "2023-09-29"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-11-21"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Nil Null", "nil@null.org"); + + chef_has_get(); + chef_has_set(); + chef_has_reset(); + + /* Trisquel基于Ubuntu开发,不含任何专有软件及专有固件,内核使用 Linux-libre */ + def_upstream("http://archive.trisquel.info/trisquel/"); + def_sources_begin(os_trisquel) + {&upstream, "http://archive.trisquel.info/trisquel/", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/trisquel/", DelegateToMirror}, + {&Ali, "https://mirrors.aliyun.com/trisquel/", DelegateToMirror}, + {&Nju, "https://mirror.nju.edu.cn/trisquel/", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/trisquel/", DelegateToMirror}, + {&Iscas, "https://mirror.iscas.ac.cn/trisquel/", DelegateToMirror} + def_sources_end() +} void @@ -53,22 +65,8 @@ os_trisquel_setsrc (char *option) } -Feature_t -os_trisquel_feat (char *option) +void +os_trisquel_resetsrc (char *option) { - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; + os_trisquel_setsrc (option); } - -def_target_gsf(os_trisquel); diff --git a/src/recipe/os/APT/Ubuntu.c b/src/recipe/os/APT/Ubuntu.c index 600cd01..cd1c49f 100644 --- a/src/recipe/os/APT/Ubuntu.c +++ b/src/recipe/os/APT/Ubuntu.c @@ -1,14 +1,30 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * | Heng Guo <2085471348@qq.com> - * Contributors : Zhao <1792582687@qq.com> - * | - * Created On : <2023-08-30> - * Last Modified : <2025-07-11> * ------------------------------------------------------------*/ +def_target(os_ubuntu); + +void +os_ubuntu_prelude () +{ + use_this(os_ubuntu); + + chef_set_created_on (this, "2023-08-30"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2025-07-11"); + + chef_set_authors (this, 2, + "Aoran Zeng", "ccmywish@qq.com", + "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Zhao", "1792582687@qq.com"); + + chef_has_getfn; + chef_has_setfn; + chef_has_resetsrc; + #define OS_Ubuntu_Speed_URL_Postfix "/dists/noble/Contents-amd64.gz" static SourceProvider_t os_ubuntu_upstream = @@ -167,23 +183,3 @@ os_ubuntu_resetsrc (char *option) { os_ubuntu_setsrc (option); } - - -Feature_t -os_ubuntu_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_ubuntu); diff --git a/src/recipe/os/APT/deepin.c b/src/recipe/os/APT/deepin.c index 7ed2398..e0d903b 100644 --- a/src/recipe/os/APT/deepin.c +++ b/src/recipe/os/APT/deepin.c @@ -1,33 +1,43 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Yangmoooo - * Created On : <2023-09-26> - * Last Modified : <2025-07-21> - * - * 名称为小写deepin,而非Deepin * ------------------------------------------------------------*/ -/** - * @update 2024-09-14 - */ -static Source_t os_deepin_sources[] = -{ - {&UpstreamProvider, "https://community-packages.deepin.com/deepin", DelegateToUpstream}, - {&Ali, "https://mirrors.aliyun.com/deepin", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/deepin", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/deepin", DelegateToMirror}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/deepin", DelegateToMirror}, - {&Tencent, "https://mirrors.tencent.com/deepin", DelegateToMirror}, - // {&Tencent_Intra, "https://mirrors.tencentyun.com/deepin", DelegateToMirror}, +def_target(os_deepin); +void +os_deepin_prelude () +{ + use_this(os_deepin); + + chef_set_created_on (this, "2023-09-26"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-09-14"); + + chef_set_authors (this, 1, "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Yangmoooo", "yangmoooo@outlook.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + + def_upstream("https://community-packages.deepin.com/deepin"); + def_sources_begin(os_deepin) + {&upstream, "https://community-packages.deepin.com/deepin", DelegateToUpstream}, + {&Ali, "https://mirrors.aliyun.com/deepin", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/deepin", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/deepin", DelegateToMirror}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/deepin", DelegateToMirror}, + {&Tencent, "https://mirrors.tencent.com/deepin", DelegateToMirror} + // {&Tencent_Intra, "https://mirrors.tencentyun.com/deepin", DelegateToMirror}, /* 不启用原因:过慢 */ - // {&Netease, "https://mirrors.163.com/deepin", DelegateToMirror}, + // {&Netease, "https://mirrors.163.com/deepin", DelegateToMirror}, /* 不启用原因:过慢 */ - // {&Sohu, "https://mirrors.sohu.com/deepin", DelegateToMirror} -}; -def_sources_n(os_deepin); + // {&Sohu, "https://mirrors.sohu.com/deepin", DelegateToMirror} + def_sources_end() +} void @@ -65,24 +75,3 @@ os_deepin_resetsrc (char *option) { os_deepin_setsrc (option); } - - -Feature_t -os_deepin_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_deepin); diff --git a/src/recipe/os/APT/openKylin.c b/src/recipe/os/APT/openKylin.c index 480e9da..fa91208 100644 --- a/src/recipe/os/APT/openKylin.c +++ b/src/recipe/os/APT/openKylin.c @@ -1,25 +1,37 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Aoran Zeng - * Created On : <2023-09-06> - * Last Modified : <2025-07-21> - * - * openKylin直接基于Linux内核开发,属于和Debian、openSUSE、Fedora、Arch - * 同一级别的、根社区发布的系统 * ------------------------------------------------------------*/ -/** - * @update 2023-09-29 - */ -static Source_t os_openkylin_sources[] = +def_target(os_openkylin); + +void +os_openkylin_prelude () { - {&UpstreamProvider, "https://archive.openkylin.top/openkylin/", DelegateToUpstream}, - {&Ali, "https://mirrors.aliyun.com/openkylin/", DelegateToMirror}, - {&Netease, "https://mirrors.163.com/openkylin/", DelegateToMirror}, -}; -def_sources_n(os_openkylin); + use_this(os_openkylin); + + chef_set_created_on (this, "2023-09-06"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2023-09-29"); + + chef_set_authors (this, 1, "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Aoran Zeng", "ccmywish@qq.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetfn(); + + /* openKylin直接基于Linux内核开发,属于和Debian、openSUSE、Fedora、Arch + * 同一级别的、根社区发布的系统 */ + def_upstream("https://archive.openkylin.top/openkylin/"); + def_sources_begin(os_openkylin) + {&upstream, "https://archive.openkylin.top/openkylin/", DelegateToUpstream}, + {&Ali, "https://mirrors.aliyun.com/openkylin/", DelegateToMirror}, + {&Netease, "https://mirrors.163.com/openkylin/", DelegateToMirror} + def_sources_end() +} void os_openkylin_getsrc (char *option) @@ -50,24 +62,3 @@ os_openkylin_resetsrc (char *option) { os_openkylin_setsrc (option); } - - -Feature_t -os_openkylin_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_openkylin); diff --git a/src/recipe/os/Alpine-Linux.c b/src/recipe/os/Alpine-Linux.c index 322b4b8..2245eeb 100644 --- a/src/recipe/os/Alpine-Linux.c +++ b/src/recipe/os/Alpine-Linux.c @@ -1,11 +1,5 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Yangmoooo - * | - * Created On : <2023-09-24> - * Last Modified : <2025-07-21> * ------------------------------------------------------------*/ static SourceProvider_t os_alpine_upstream = @@ -14,24 +8,45 @@ static SourceProvider_t os_alpine_upstream = {NotSkip, NA, NA, "https://dl-cdn.alpinelinux.org/alpine/latest-stable/releases/x86_64/alpine-standard-3.21.0-x86_64.iso", ACCURATE} }; +def_target(os_alpine); -/** - * @update 2024-09-14 - */ -static Source_t os_alpine_sources[] = +void +os_alpine_prelude () { - {&os_alpine_upstream, "http://dl-cdn.alpinelinux.org/alpine", DelegateToUpstream}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/alpine", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirrors.sjtug.sjtu.edu.cn/alpine", DelegateToMirror}, - {&Sustech, "https://mirrors.sustech.edu.cn/alpine", DelegateToMirror}, - {&Zju, "https://mirrors.zju.edu.cn/alpine", DelegateToMirror}, - {&Lzuoss, "https://mirror.lzu.edu.cn/alpine", DelegateToMirror}, - {&Ali, "https://mirrors.aliyun.com/alpine", DelegateToMirror}, - {&Tencent, "https://mirrors.cloud.tencent.com/alpine", DelegateToMirror}, - // {&Tencent_Intra, "https://mirrors.cloud.tencentyun.com/alpine", DelegateToMirror}, - {&Huawei, "https://mirrors.huaweicloud.com/alpine", DelegateToMirror} -}; -def_sources_n(os_alpine); + use_this(os_alpine); + + chef_set_created_on (this, "2023-09-24"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-09-14"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Yangmoooo", "yangmoooo@outlook.com"); + + chef_has_getfn(); + chef_has_setfn(); + // chef_has_resetsrc(); + this.cap_locally = CanNot; + this.cap_locally_explain = NULL; + this.can_english = true; + this.can_user_define = false; + this.note = NULL; + + def_upstream_provider(os_alpine_upstream); + def_sources_begin() + {&upstream, "http://dl-cdn.alpinelinux.org/alpine", DelegateToUpstream}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/alpine", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirrors.sjtug.sjtu.edu.cn/alpine", DelegateToMirror}, + {&Sustech, "https://mirrors.sustech.edu.cn/alpine", DelegateToMirror}, + {&Zju, "https://mirrors.zju.edu.cn/alpine", DelegateToMirror}, + {&Lzuoss, "https://mirror.lzu.edu.cn/alpine", DelegateToMirror}, + {&Ali, "https://mirrors.aliyun.com/alpine", DelegateToMirror}, + {&Tencent, "https://mirrors.cloud.tencent.com/alpine", DelegateToMirror}, + {&Huawei, "https://mirrors.huaweicloud.com/alpine", DelegateToMirror} + def_sources_end() +} void @@ -49,7 +64,8 @@ os_alpine_setsrc (char *option) { // chsrc_ensure_root(); // HELP: 不确定是否需要root - chsrc_yield_source_and_confirm (os_alpine); + use_this(os_alpine); + Source_t source = chsrc_yield_source_and_confirm (this, option); char* cmd = xy_strjoin (3, "sed -i 's#https\\?://dl-cdn.alpinelinux.org/alpine#", source.url, "#g' /etc/apk/repositories" @@ -61,23 +77,3 @@ os_alpine_setsrc (char *option) chsrc_determine_chgtype (ChgType_Untested); chsrc_conclude (&source); } - - -Feature_t -os_alpine_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = NULL; - return f; -} - -def_target_gsf(os_alpine); diff --git a/src/recipe/os/BSD/FreeBSD.c b/src/recipe/os/BSD/FreeBSD.c index 94e1418..9145711 100644 --- a/src/recipe/os/BSD/FreeBSD.c +++ b/src/recipe/os/BSD/FreeBSD.c @@ -1,12 +1,8 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * | Heng Guo <2085471348@qq.com> - * Contributors : Nil Null - * Created On : <2023-09-03> - * Last Modified : <2025-07-31> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-03"); +chef_set_authors ("Aoran Zeng ", "Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("Nil Null "); +chef_has_setfn; +use_this; /** * @update 2023-09-27 @@ -132,22 +128,4 @@ os_freebsd_setsrc (char *option) } -Feature_t -os_freebsd_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = false; - f.can_user_define = false; - - f.note = NULL; - return f; -} - - -def_target_sf(os_freebsd); +def_target(os_freebsd); diff --git a/src/recipe/os/BSD/NetBSD.c b/src/recipe/os/BSD/NetBSD.c index f9adbbd..1f7b53f 100644 --- a/src/recipe/os/BSD/NetBSD.c +++ b/src/recipe/os/BSD/NetBSD.c @@ -1,12 +1,9 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * | Heng Guo <2085471348@qq.com> - * Contributors : Nil Null - * Created On : <2023-09-05> - * Last Modified : <2025-07-31> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-05"); +chef_set_authors ("Aoran Zeng ", "Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("Nil Null "); +chef_has_getfn; +chef_has_setfn; +use_this; /** * @update 2025-07-31 @@ -64,21 +61,4 @@ os_netbsd_setsrc (char *option) } -Feature_t -os_netbsd_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = NULL; - return f; -} - -def_target_gsf(os_netbsd); +def_target(os_netbsd); diff --git a/src/recipe/os/BSD/OpenBSD.c b/src/recipe/os/BSD/OpenBSD.c index 1cb689c..667044a 100644 --- a/src/recipe/os/BSD/OpenBSD.c +++ b/src/recipe/os/BSD/OpenBSD.c @@ -1,12 +1,9 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * | Aoran Zeng - * Contributors : Nil Null - * Created On : <2023-09-03> - * Last Modified : <2025-07-31> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-03"); +chef_set_authors ("Heng Guo <2085471348@qq.com>", "Aoran Zeng "); +chef_set_contributors ("Nil Null "); +chef_has_getfn; +chef_has_setfn; +use_this; /** * @update 2025-07-31 @@ -58,22 +55,4 @@ os_openbsd_setsrc (char *option) } -Feature_t -os_openbsd_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - - -def_target_gsf(os_openbsd); +def_target(os_openbsd); diff --git a/src/recipe/os/Gentoo-Linux.c b/src/recipe/os/Gentoo-Linux.c index b2fd8e2..2a3a8d9 100644 --- a/src/recipe/os/Gentoo-Linux.c +++ b/src/recipe/os/Gentoo-Linux.c @@ -1,31 +1,43 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Aoran Zeng - * Created On : <2023-09-05> - * Last Modified : <2025-07-31> * ------------------------------------------------------------*/ -/** - * @update 2025-06-20 - */ -static Source_t os_gentoo_sources[] = -{ - {&UpstreamProvider, NULL, NULL}, - {&Ali, "mirrors.aliyun.com", DelegateToMirror }, - {&Bfsu, "mirrors.bfsu.edu.cn", DelegateToMirror}, - {&Ustc, "mirrors.ustc.edu.cn", DelegateToMirror}, - {&Tuna, "mirrors.tuna.tsinghua.edu.cn", DelegateToMirror}, - {&Tencent, "mirrors.tencent.com", DelegateToMirror}, - // {&Tencent_Intra, "mirrors.tencentyun.com", DelegateToMirror}, +def_target(os_gentoo); - /* 不启用原因:过慢 */ - // {&Netease, "mirrors.163.com", DelegateToMirror}, - /* 不启用原因:过慢 */ - // {&Sohu, "mirrors.sohu.com", DelegateToMirror} -}; -def_sources_n(os_gentoo); +void +os_gentoo_prelude () +{ + use_this(os_gentoo); + + chef_set_created_on (this, "2023-09-05"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2025-06-20"); + + chef_set_authors (this, 1, "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Aoran Zeng", "ccmywish@qq.com"); + + // chef_has_getfn(); + chef_has_setfn(); + // chef_has_resetsrc(); + this.cap_locally = CanNot; + this.cap_locally_explain = NULL; + this.can_english = true; + this.can_user_define = false; + this.note = NULL; + + def_upstream("https://www.gentoo.org/downloads/mirrors/"); + def_sources_begin() + {&upstream, "rsync://rsync.gentoo.org/gentoo-portage", DelegateToUpstream}, + {&Ali, "mirrors.aliyun.com", DelegateToMirror}, + {&Bfsu, "mirrors.bfsu.edu.cn", DelegateToMirror}, + {&Ustc, "mirrors.ustc.edu.cn", DelegateToMirror}, + {&Tuna, "mirrors.tuna.tsinghua.edu.cn", DelegateToMirror}, + {&Tencent, "mirrors.tencent.com", DelegateToMirror} + def_sources_end() +} /** @@ -36,7 +48,8 @@ os_gentoo_setsrc (char *option) { chsrc_ensure_root (); - chsrc_yield_source_and_confirm (os_gentoo); + use_this(os_gentoo); + Source_t source = chsrc_yield_source_and_confirm (this, option); chsrc_backup ("/etc/portage/repos.conf/gentoo.conf"); @@ -52,24 +65,3 @@ os_gentoo_setsrc (char *option) chsrc_determine_chgtype (ChgType_Untested); chsrc_conclude (&source); } - - -Feature_t -os_gentoo_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = NULL; - return f; -} - - -def_target_sf(os_gentoo); diff --git a/src/recipe/os/OpenWrt.c b/src/recipe/os/OpenWrt.c index 1f1377e..14a05bb 100644 --- a/src/recipe/os/OpenWrt.c +++ b/src/recipe/os/OpenWrt.c @@ -1,12 +1,5 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Yangmoooo - * | happy game - * | - * Created On : <2024-08-08> - * Last Modified : <2025-07-21> * ------------------------------------------------------------*/ static SourceProvider_t os_openwrt_upstream = @@ -15,24 +8,46 @@ static SourceProvider_t os_openwrt_upstream = {NotSkip, NA, NA, "https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/openwrt-sdk-23.05.5-x86-64_gcc-12.3.0_musl.Linux-x86_64.tar.xz", ACCURATE} }; -/** - * @update 2024-12-14 - */ -static Source_t os_openwrt_sources[] = -{ - {&os_openwrt_upstream, "https://downloads.openwrt.org", DelegateToUpstream}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/openwrt", DelegateToMirror}, - {&Ali, "https://mirrors.aliyun.com/openwrt", DelegateToMirror}, - {&Tencent, "https://mirrors.cloud.tencent.com/openwrt", DelegateToMirror}, - // {&Tencent_Intra, "https://mirrors.cloud.tencentyun.com/openwrt", DelegateToMirror}, - {&Tuna, "https://mirror.tuna.tsinghua.edu.cn/openwrt", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/openwrt", DelegateToMirror}, - {&Ustc, "https://mirrors.ustc.edu.cn/openwrt", DelegateToMirror}, - {&Pku, "https://mirrors.pku.edu.cn/openwrt", DelegateToMirror}, - {&Sustech, "https://mirrors.sustech.edu.cn/openwrt", DelegateToMirror}, -}; +def_target(os_openwrt); -def_sources_n(os_openwrt); +void +os_openwrt_prelude () +{ + use_this(os_openwrt); + + chef_set_created_on (this, "2024-08-08"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-12-14"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 2, + "Yangmoooo", "yangmoooo@outlook.com", + "happy game", "happygame1024@gmail.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + this.cap_locally = CanNot; + this.cap_locally_explain = NULL; + this.can_english = true; + this.can_user_define = true; + this.note = NULL; + + def_upstream_provider(os_openwrt_upstream); + def_sources_begin() + {&upstream, "https://downloads.openwrt.org", DelegateToUpstream}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/openwrt", DelegateToMirror}, + {&Ali, "https://mirrors.aliyun.com/openwrt", DelegateToMirror}, + {&Tencent, "https://mirrors.cloud.tencent.com/openwrt", DelegateToMirror}, + {&Tuna, "https://mirror.tuna.tsinghua.edu.cn/openwrt", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/openwrt", DelegateToMirror}, + {&Ustc, "https://mirrors.ustc.edu.cn/openwrt", DelegateToMirror}, + {&Pku, "https://mirrors.pku.edu.cn/openwrt", DelegateToMirror}, + {&Sustech, "https://mirrors.sustech.edu.cn/openwrt", DelegateToMirror} + def_sources_end() +} #define OS_OpenWRT_SourceConfig "/etc/opkg/distfeeds.conf" @@ -53,7 +68,8 @@ os_openwrt_setsrc (char *option) { chsrc_ensure_root (); - chsrc_yield_source_and_confirm (os_openwrt); + use_this(os_openwrt); + Source_t source = chsrc_yield_source_and_confirm (this, option); chsrc_backup (OS_OpenWRT_SourceConfig); @@ -72,24 +88,3 @@ os_openwrt_resetsrc (char *option) { os_openwrt_setsrc (option); } - - -Feature_t -os_openwrt_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - return f; -} - - -def_target_gsrf(os_openwrt); diff --git a/src/recipe/os/Solus.c b/src/recipe/os/Solus.c index 83c053e..dcdb7a9 100644 --- a/src/recipe/os/Solus.c +++ b/src/recipe/os/Solus.c @@ -1,23 +1,41 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Nil Null - * Created On : <2023-09-29> - * Last Modified : <2025-07-14> * ------------------------------------------------------------*/ -/** - * @update 2023-09-29 - */ -static Source_t os_solus_sources[] = +def_target(os_solus); + +void +os_solus_prelude () { - {&UpstreamProvider, NULL, NULL}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/solus/packages/shannon/eopkg-index.xml.xz", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/solus/packages/shannon/eopkg-index.xml.xz", DelegateToMirror}, - {&Nju, "https://mirror.nju.edu.cn/solus/packages/shannon/eopkg-index.xml.xz", DelegateToMirror} -}; -def_sources_n(os_solus); + use_this(os_solus); + + chef_set_created_on (this, "2023-09-29"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2023-09-29"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Nil Null", "nil@null.org"); + + // chef_has_getfn(); + chef_has_setfn(); + // chef_has_resetsrc(); + this.cap_locally = CanNot; + this.cap_locally_explain = NULL; + this.can_english = false; + this.can_user_define = true; + this.note = NULL; + + def_upstream("https://packages.getsol.us/"); + def_sources_begin() + {&upstream, "https://packages.getsol.us/shannon/eopkg-index.xml.xz", DelegateToUpstream}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/solus/packages/shannon/eopkg-index.xml.xz", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/solus/packages/shannon/eopkg-index.xml.xz", DelegateToMirror}, + {&Nju, "https://mirror.nju.edu.cn/solus/packages/shannon/eopkg-index.xml.xz", DelegateToMirror} + def_sources_end() +} /** @@ -28,7 +46,8 @@ os_solus_setsrc (char *option) { chsrc_ensure_root (); - chsrc_yield_source_and_confirm (os_solus); + use_this(os_solus); + Source_t source = chsrc_yield_source_and_confirm (this, option); char *cmd = xy_2strjoin ("eopkg add-repo Solus ", source.url); chsrc_run (cmd, RunOpt_Default); @@ -36,23 +55,3 @@ os_solus_setsrc (char *option) chsrc_determine_chgtype (ChgType_Auto); chsrc_conclude (&source); } - - -Feature_t -os_solus_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = false; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_sf(os_solus); diff --git a/src/recipe/os/Void-Linux.c b/src/recipe/os/Void-Linux.c index 24bdc9e..66c58c5 100644 --- a/src/recipe/os/Void-Linux.c +++ b/src/recipe/os/Void-Linux.c @@ -1,11 +1,5 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Yangmoooo - * | - * Created On : <2023-09-24> - * Last Modified : <2025-07-14> * ------------------------------------------------------------*/ static SourceProvider_t os_voidlinux_upstream = @@ -14,17 +8,40 @@ static SourceProvider_t os_voidlinux_upstream = {NotSkip, NA, NA, "https://repo-default.voidlinux.org/live/20240314/void-live-x86_64-musl-20240314-xfce.iso", ACCURATE} }; -/** - * @update 2024-12-18 - */ -static Source_t os_voidlinux_sources[] = +def_target(os_voidlinux); + +void +os_voidlinux_prelude () { - {&os_voidlinux_upstream, "https://repo-default.voidlinux.org", DelegateToUpstream}, - {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/voidlinux", DelegateToMirror}, - {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/voidlinux", DelegateToMirror}, - {&Bfsu, "https://mirrors.bfsu.edu.cn/voidlinux", DelegateToMirror} -}; -def_sources_n(os_voidlinux); + use_this(os_voidlinux); + + chef_set_created_on (this, "2023-09-24"); + chef_set_last_updated (this, "2025-08-10"); + chef_set_sources_last_updated (this, "2024-12-18"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Yangmoooo", "yangmoooo@outlook.com"); + + chef_has_getfn(); + chef_has_setfn(); + chef_has_resetsrc(); + this.cap_locally = CanNot; + this.cap_locally_explain = NULL; + this.can_english = false; + this.can_user_define = true; + this.note = NULL; + + def_upstream_provider(os_voidlinux_upstream); + def_sources_begin() + {&upstream, "https://repo-default.voidlinux.org", DelegateToUpstream}, + {&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/voidlinux", DelegateToMirror}, + {&Sjtug_Zhiyuan, "https://mirror.sjtu.edu.cn/voidlinux", DelegateToMirror}, + {&Bfsu, "https://mirrors.bfsu.edu.cn/voidlinux", DelegateToMirror} + def_sources_end() +} void @@ -42,7 +59,8 @@ os_voidlinux_setsrc (char *option) { chsrc_ensure_root (); - chsrc_yield_source_and_confirm (os_voidlinux); + use_this(os_voidlinux); + Source_t source = chsrc_yield_source_and_confirm (this, option); chsrc_ensure_dir ("/etc/xbps.d"); char *cmd = "cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/"; @@ -70,23 +88,3 @@ os_voidlinux_resetsrc (char *option) { os_voidlinux_setsrc (option); } - - -Feature_t -os_voidlinux_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = false; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_gsrf(os_voidlinux); diff --git a/src/recipe/os/YUM/AlmaLinux.c b/src/recipe/os/YUM/AlmaLinux.c index faa1ef5..e45f203 100644 --- a/src/recipe/os/YUM/AlmaLinux.c +++ b/src/recipe/os/YUM/AlmaLinux.c @@ -1,12 +1,8 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Yangmoooo - * | - * Created On : <2024-06-12> - * Last Modified : <2025-07-21> - * ------------------------------------------------------------*/ +chef_set_created_on ("2024-06-12"); +chef_set_authors ("Aoran Zeng "); +chef_set_contributors ("Yangmoooo "); +chef_has_setfn; +use_this; static SourceProvider_t os_almalinux_upstream = { @@ -49,21 +45,4 @@ os_almalinux_setsrc (char *option) } -Feature_t -os_almalinux_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = NULL; - return f; -} - -def_target_sf(os_almalinux); +def_target(os_almalinux); diff --git a/src/recipe/os/YUM/Anolis-OS.c b/src/recipe/os/YUM/Anolis-OS.c index 4407a19..6d3f6fa 100644 --- a/src/recipe/os/YUM/Anolis-OS.c +++ b/src/recipe/os/YUM/Anolis-OS.c @@ -1,13 +1,8 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Nil Null - * Created On : <2023-09-24> - * Last Modified : <2024-08-16> - * - * Anolis OS 为这个操作系统的名字,OpenAnolis(龙蜥社区) 只是社区名 - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-24"); +chef_set_authors ("Aoran Zeng "); +chef_set_contributors ("Nil Null "); +chef_has_setfn; +use_this; /** * @update 2024-06-12 @@ -42,21 +37,4 @@ os_anolis_setsrc (char *option) } -Feature_t -os_anolis_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = NULL; - return f; -} - -def_target_sf(os_anolis); +def_target(os_anolis); diff --git a/src/recipe/os/YUM/Fedora-Linux.c b/src/recipe/os/YUM/Fedora-Linux.c index b1518b7..85e9b2a 100644 --- a/src/recipe/os/YUM/Fedora-Linux.c +++ b/src/recipe/os/YUM/Fedora-Linux.c @@ -1,15 +1,9 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * | happy game - * Contributors : Aoran Zeng - * | - * Created On : <2023-09-26> - * Last Modified : <2025-07-21> - * - * 名称为 Fedora Linux - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-26"); +chef_set_authors ("Heng Guo <2085471348@qq.com>", "happy game "); +chef_set_contributors ("Aoran Zeng "); +chef_has_setfn; +chef_has_resetsrc; +use_this; /** * @update 2025-06-20 @@ -87,19 +81,4 @@ os_fedora_resetsrc (char *option) } -Feature_t -os_fedora_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = true; - - f.cap_locally = CanNot; - f.can_english = false; - f.can_user_define = true; - - return f; -} - -def_target_srf(os_fedora); +def_target(os_fedora); diff --git a/src/recipe/os/YUM/Rocky-Linux.c b/src/recipe/os/YUM/Rocky-Linux.c index 4fa4792..c8a5f8c 100644 --- a/src/recipe/os/YUM/Rocky-Linux.c +++ b/src/recipe/os/YUM/Rocky-Linux.c @@ -1,12 +1,9 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : happy game - * | - * Created On : <2023-09-24> - * Last Modified : <2025-07-21> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-24"); +chef_set_authors ("Aoran Zeng "); +chef_set_contributors ("happy game "); +chef_has_setfn; +chef_has_resetsrc; +use_this; /** * @update 2025-06-20 @@ -75,21 +72,4 @@ os_rockylinux_setsrc (char *option) } -Feature_t -os_rockylinux_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = false; - - f.note = NULL; - return f; -} - -def_target_sf(os_rockylinux); +def_target(os_rockylinux); diff --git a/src/recipe/os/YUM/openEuler.c b/src/recipe/os/YUM/openEuler.c index db646e6..a339c95 100644 --- a/src/recipe/os/YUM/openEuler.c +++ b/src/recipe/os/YUM/openEuler.c @@ -1,14 +1,8 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Aoran Zeng - * | Yangmoooo - * | happy game - * | - * Created On : <2023-09-06> - * Last Modified : <2025-07-21> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-06"); +chef_set_authors ("Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("Aoran Zeng ", "Yangmoooo ", "happy game "); +chef_has_setfn; +use_this; static SourceProvider_t os_openEuler_upstream = { @@ -91,22 +85,6 @@ os_openeuler_resetsrc (char *option) /** * chsrc ls openeuler */ -Feature_t -os_openeuler_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = true; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = true; - f.can_user_define = true; - - f.note = NULL; - - return f; -} - -def_target_gsrf(os_openeuler); +chef_has_getfn; +chef_has_resetsrc; +def_target(os_openeuler); diff --git a/src/recipe/os/openSUSE.c b/src/recipe/os/openSUSE.c index c0819e5..f29b1d0 100644 --- a/src/recipe/os/openSUSE.c +++ b/src/recipe/os/openSUSE.c @@ -1,33 +1,44 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Aoran Zeng - * Created On : <2023-09-17> - * Major Revision : 1 - * Last Modified : <2025-08-09> * ------------------------------------------------------------*/ -/** - * @update 2025-06-20 - */ -static Source_t os_opensuse_sources[] = -{ - {&UpstreamProvider, NULL, NULL}, - {&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}, - // {&Tencent_Intra, "https://mirrors.tencentyun.com/opensuse", DelegateToMirror}, +def_target(os_opensuse); - /* 不启用原因:过慢 */ - // {&Netease, "https://mirrors.163.com/opensuse", DelegateToMirror}, - /* 不启用原因:过慢 */ - // {&Sohu, "https://mirrors.sohu.com/opensuse", DelegateToMirror} -}; -def_sources_n(os_opensuse); +void +os_opensuse_prelude () +{ + use_this(os_opensuse); + + 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_authors (this, 1, "Heng Guo", "2085471348@qq.com"); + chef_set_chef (this, NULL, NULL); + chef_set_sous_chefs (this, 0); + chef_set_contributors (this, 1, + "Aoran Zeng", "ccmywish@qq.com"); + + // chef_has_getfn(); + chef_has_setfn(); + // chef_has_resetsrc(); + this.cap_locally = CanNot; + this.cap_locally_explain = NULL; + this.can_english = false; + this.can_user_define = false; + this.note = NULL; + + def_upstream("https://download.opensuse.org/"); + def_sources_begin() + {&upstream, "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() +} /** @@ -38,7 +49,8 @@ os_opensuse_setsrc (char *option) { // chsrc_ensure_root (); - chsrc_yield_source_and_confirm (os_opensuse); + use_this(os_opensuse); + Source_t source = chsrc_yield_source_and_confirm (this, option); while (1) { chsrc_note2 ("请选择你的操作系统为:"); @@ -80,24 +92,3 @@ os_opensuse_setsrc (char *option) chsrc_determine_chgtype (ChgType_Untested); chsrc_conclude (&source); } - - -Feature_t -os_opensuse_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.cap_locally_explain = NULL; - f.can_english = false; - f.can_user_define = false; - - f.note = NULL; - return f; -} - - -def_target_sf(os_opensuse); diff --git a/src/recipe/os/pacman/Arch-Linux.c b/src/recipe/os/pacman/Arch-Linux.c index c17e5d2..40c14a8 100644 --- a/src/recipe/os/pacman/Arch-Linux.c +++ b/src/recipe/os/pacman/Arch-Linux.c @@ -1,13 +1,10 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * | Heng Guo <2085471348@qq.com> - * Contributors : happy game - * | - * Created On : <2023-09-05> - * Last Modified : <2025-06-20> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-05"); +chef_set_authors ("Aoran Zeng ", "Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("happy game "); +chef_has_getfn; +chef_has_setfn; +chef_note("可额外使用 chsrc set archlinuxcn 来更换 Arch Linux CN Repository 源"); +use_this; /** * @update 2025-06-20 @@ -154,39 +151,13 @@ os_archlinuxcn_setsrc (char *option) #undef OS_Pacman_ArchLinuxCN_MirrorList -Feature_t -os_arch_feat (char *option) -{ - Feature_t f = {0}; +def_target_has_note("可额外使用 chsrc set arch 来更换 Arch Linux 源"); +def_target(os_arch); - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.can_english = true; - f.can_user_define = true; - - f.note = "可额外使用 chsrc set archlinuxcn 来更换 Arch Linux CN Repository 源"; - return f; -} - - -Feature_t -os_archlinuxcn_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = true; - f.can_reset = false; - - f.cap_locally = CanNot; - f.can_english = true; - f.can_user_define = true; - - f.note = "可额外使用 chsrc set arch 来更换 Arch Linux 源"; - return f; -} - - -def_target_gsf(os_arch); -def_target_gsf(os_archlinuxcn); +chef_set_created_on ("2023-09-05"); +chef_set_authors ("Aoran Zeng ", "Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("happy game "); +chef_has_getfn; +chef_has_setfn; +chef_note("可额外使用 chsrc set arch 来更换 Arch Linux 源"); +def_target(os_archlinuxcn); diff --git a/src/recipe/os/pacman/MSYS2.c b/src/recipe/os/pacman/MSYS2.c index d3fd521..f059535 100644 --- a/src/recipe/os/pacman/MSYS2.c +++ b/src/recipe/os/pacman/MSYS2.c @@ -1,11 +1,8 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Aoran Zeng - * Created On : <2023-09-06> - * Last Modified : <2025-06-20> - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-06"); +chef_set_authors ("Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("Aoran Zeng "); +chef_has_setfn; +use_this; /** * @update 2025-06-20 @@ -55,20 +52,4 @@ os_msys2_setsrc (char *option) } -Feature_t -os_msys2_feat (char *option) -{ - Feature_t f = {0}; - - f.can_get = false; - f.can_reset = false; - - f.cap_locally = CanNot; - f.can_english = false; - f.can_user_define = true; - - f.note = NULL; - return f; -} - -def_target_sf(os_msys2); +def_target(os_msys2); diff --git a/src/recipe/os/pacman/Manjaro-Linux.c b/src/recipe/os/pacman/Manjaro-Linux.c index 4d42cf8..45d646b 100644 --- a/src/recipe/os/pacman/Manjaro-Linux.c +++ b/src/recipe/os/pacman/Manjaro-Linux.c @@ -1,13 +1,8 @@ -/** ------------------------------------------------------------ - * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Heng Guo <2085471348@qq.com> - * Contributors : Nil Null - * Created On : <2023-09-06> - * Last Modified : <2024-08-16> - * - * Manjaro Linux(或简称Manjaro)基于Arch Linux - * ------------------------------------------------------------*/ +chef_set_created_on ("2023-09-06"); +chef_set_authors ("Heng Guo <2085471348@qq.com>"); +chef_set_contributors ("Nil Null "); +chef_has_setfn; +use_this; /** * 似乎会弹出GUI,待确定 @@ -25,4 +20,4 @@ os_manjaro_setsrc (char *option) chsrc_conclude (NULL); } -Target_t os_manjaro_target = {NULL, os_manjaro_setsrc, NULL, NULL, 0}; +def_target(os_manjaro);