chsrc/src/recipe/os/BSD/NetBSD.c
2025-08-10 10:15:26 +08:00

65 lines
2.3 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.

chef_set_created_on ("2023-09-05");
chef_set_authors ("Aoran Zeng <ccmywish@qq.com>", "Heng Guo <2085471348@qq.com>");
chef_set_contributors ("Nil Null <nil@null.org>");
chef_allow_get();
chef_allow_set();
use_this;
/**
* @update 2025-07-31
*/
static Source_t os_netbsd_sources[] =
{
{&UpstreamProvider, NULL, NULL},
{&MirrorZ, "https://mirrors.cernet.edu.cn/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Ali, "https://mirrors.aliyun.com/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Ustc, "https://mirrors.ustc.edu.cn/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Tuna, "https://mirrors.tuna.tsinghua.edu.cn/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Nju, "https://mirror.nju.edu.cn/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Iscas, "https://mirror.iscas.ac.cn/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Tencent, "https://mirrors.tencent.com/pkgsrc/packages/NetBSD/", DelegateToMirror},
// {&Tencent_Intra, "https://mirrors.tencentyun.com/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Netease, "https://mirrors.163.com/pkgsrc/packages/NetBSD/", DelegateToMirror},
{&Sohu, "https://mirrors.sohu.com/pkgsrc/packages/NetBSD/", DelegateToMirror}
};
def_sources_n(os_netbsd);
void
os_netbsd_getsrc (char *option)
{
chsrc_view_file ("/usr/pkg/etc/pkgin/repositories.conf");
}
/**
* @consult
* 1. https://mirrors.tuna.tsinghua.edu.cn/help/pkgsrc/
* 2. https://book.bsdcn.org/di-27-zhang-netbsd/di-27.2-jie-huan-yuan-yu-bao-guan-li-qi.html
*
* 根据 @ykla
* NetBSD 默认状态下没有 pkgsrc用户可能安装了也可能没安装
*/
void
os_netbsd_setsrc (char *option)
{
chsrc_ensure_root ();
chsrc_yield_source_and_confirm (os_netbsd);
chsrc_backup ("/usr/pkg/etc/pkgin/repositories.conf");
char *arch = chsrc_get_cpuarch ();
char *vercmd = "cat /etc/os-release | grep \"VERSION=\" | grep -Po \"[8-9].[0-9]+\"";
char *version = xy_run (vercmd, 0);
char *url = xy_strjoin (5, chef_ensure_trailing_slash (source.url), arch, "/", version, "/All");
chsrc_overwrite_file (url, "/usr/pkg/etc/pkgin/repositories.conf");
chsrc_determine_chgtype (ChgType_Untested);
chsrc_conclude (&source);
}
def_target(os_netbsd);