From 0edab819814a919ee2b4e32802802f12040f556b Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Fri, 16 Aug 2024 02:15:36 +0800 Subject: [PATCH] Split linuxmint out --- README.md | 2 +- include/source.h | 16 +-------- src/chsrc.c | 32 +---------------- src/recipe/catalog.c | 8 ++--- src/recipe/os/apt-family/linuxmint.c | 53 ++++++++++++++++++++++++++++ 5 files changed, 60 insertions(+), 51 deletions(-) create mode 100644 src/recipe/os/apt-family/linuxmint.c diff --git a/README.md b/README.md index 100fcf1..d534f1a 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ chsrc set julia ```bash sudo chsrc set ubuntu -sudo chsrc set mint 或 linuxmint +sudo chsrc set linuxmint 或 mint sudo chsrc set debian sudo chsrc set fedora sudo chsrc set suse 或 set opensuse diff --git a/include/source.h b/include/source.h index e03441a..da73f3a 100644 --- a/include/source.h +++ b/include/source.h @@ -153,24 +153,11 @@ pl_dotnet_sources[] = { - -/** - * @time 2023-09-29 更新 - * @note 实际上镜像站里的内容和Ubuntu的不太一样 - */ -static SourceInfo -os_mint_sources[] = { - {&Upstream, NULL}, - {&MirrorZ, "https://mirrors.cernet.edu.cn/linuxmint/"}, - {&Ali, "http://mirrors.aliyun.com/linuxmint-packages/"}, - {&Netease, "https://mirrors.163.com/linuxmint/packages/"}, -}, - - /** * @time 2023-09-06 更新 * @note 源并不完整,且未经测试是否有效 */ +static SourceInfo os_deepin_sources[] = { {&Upstream, NULL}, {&Ali, "https://mirrors.aliyun.com/deepin"}, @@ -455,7 +442,6 @@ wr_tex_sources[] = { def_sources_n(pl_clojure); def_sources_n(pl_dotnet); -def_sources_n(os_mint); def_sources_n(os_fedora); def_sources_n(os_kali); def_sources_n(os_msys2); diff --git a/src/chsrc.c b/src/chsrc.c index 0149f4b..59c4154 100644 --- a/src/chsrc.c +++ b/src/chsrc.c @@ -69,40 +69,10 @@ pl_clojure_setsrc (char *option) #include "recipe/lang/r.c" #include "recipe/lang/julia.c" - - -void -os_mint_getsrc (char *option) -{ - chsrc_view_file ("/etc/apt/sources.list.d/official-package-repositories.list"); -} - -/** - * 参考: https://help.mirrors.cernet.edu.cn/linuxmint/ - */ -void -os_mint_setsrc (char *option) -{ - chsrc_ensure_root (); - - SourceInfo source; - chsrc_yield_source (os_mint); - chsrc_confirm_source (&source); - - chsrc_backup ("/etc/apt/sources.list.d/official-package-repositories.list"); - - char* cmd = xy_strjoin (3, "sed -E -i 's@https?://.*/.*/?@", source.url, - "@g' /etc/apt/sources.list.d/official-package-repositories.list"); - - chsrc_run (cmd, RunOpt_Default); - chsrc_run ("apt update", RunOpt_No_Last_New_Line); - chsrc_say_lastly (&source, ChsrcTypeAuto); - chsrc_warn2 ("完成后请不要再使用 mintsources(自带的图形化软件源设置工具)进行任何操作,因为在操作后,无论是否有按“确定”,mintsources 均会覆写我们刚才换源的内容"); -} - #include "recipe/os/apt-family/common.h" #include "recipe/os/apt-family/debian.c" #include "recipe/os/apt-family/ubuntu.c" +#include "recipe/os/apt-family/linuxmint.c" #include "recipe/os/apt-family/trisquel.c" #include "recipe/os/apt-family/armbian.c" diff --git a/src/recipe/catalog.c b/src/recipe/catalog.c index a044c15..0d4f5ed 100644 --- a/src/recipe/catalog.c +++ b/src/recipe/catalog.c @@ -39,7 +39,7 @@ static const char }; -def_target(os_mint); def_target(os_kali); +def_target(os_kali); def_target(os_linuxlite); def_target(os_deepin); def_target(os_openkylin); def_target(os_raspberrypi); @@ -54,8 +54,8 @@ TargetInfo os_manjaro_target = {NULL, os_manjaro_setsrc, NULL, NULL, 0}; static const char *os_ubuntu [] = {"ubuntu", NULL, t(&os_ubuntu_target)}, -*os_mint [] = {"mint", NULL, t(&os_mint_target)}, -*os_debian [] = {"debian", "deb", NULL, t(&os_debian_target)}, +*os_linuxmint [] = {"linuxmint", "mint", NULL, t(&os_linuxmint_target)}, +*os_debian [] = {"debian", NULL, t(&os_debian_target)}, *os_fedora [] = {"fedora", NULL, t(&os_fedora_target)}, *os_opensuse [] = {"opensuse", NULL, t(&os_opensuse_target)}, *os_kali [] = {"kali", NULL, t(&os_kali_target)}, @@ -88,7 +88,7 @@ static const char **os_systems[] = { - os_ubuntu, os_mint, os_debian, os_fedora, os_opensuse, os_kali, + os_debian, os_ubuntu, os_linuxmint, os_fedora, os_opensuse, os_kali, os_arch, os_archlinuxcn, os_manjaro, os_gentoo, os_rocky, os_alma, os_alpine, os_void, os_solus, os_ros, diff --git a/src/recipe/os/apt-family/linuxmint.c b/src/recipe/os/apt-family/linuxmint.c new file mode 100644 index 0000000..dc949e6 --- /dev/null +++ b/src/recipe/os/apt-family/linuxmint.c @@ -0,0 +1,53 @@ +/** ------------------------------------------------------------ + * SPDX-License-Identifier: GPL-3.0-or-later + * ------------------------------------------------------------- + * File Authors : Aoran Zeng + * Contributors : Nil Null + * Created On : <2023-09-29> + * Last Modified : <2024-08-16> + * ------------------------------------------------------------*/ + +/** + * @time 2023-09-29 更新 + * @note 实际上镜像站里的内容和Ubuntu的不太一样 + */ +static SourceInfo +os_linuxmint_sources[] = { + {&Upstream, NULL}, + {&MirrorZ, "https://mirrors.cernet.edu.cn/linuxmint/"}, + {&Ali, "http://mirrors.aliyun.com/linuxmint-packages/"}, + {&Netease, "https://mirrors.163.com/linuxmint/packages/"}, +}; +def_sources_n(os_linuxmint); + + +void +os_linuxmint_getsrc (char *option) +{ + chsrc_view_file ("/etc/apt/sources.list.d/official-package-repositories.list"); +} + +/** + * 参考: https://help.mirrors.cernet.edu.cn/linuxmint/ + */ +void +os_linuxmint_setsrc (char *option) +{ + chsrc_ensure_root (); + + SourceInfo source; + chsrc_yield_source (os_linuxmint); + chsrc_confirm_source (&source); + + chsrc_backup ("/etc/apt/sources.list.d/official-package-repositories.list"); + + char* cmd = xy_strjoin (3, "sed -E -i 's@https?://.*/.*/?@", source.url, + "@g' /etc/apt/sources.list.d/official-package-repositories.list"); + + chsrc_run (cmd, RunOpt_Default); + chsrc_run ("apt update", RunOpt_No_Last_New_Line); + chsrc_say_lastly (&source, ChsrcTypeAuto); + chsrc_warn2 ("完成后请不要再使用 mintsources(自带的图形化软件源设置工具)进行任何操作,因为在操作后,无论是否有按“确定”,mintsources 均会覆写我们刚才换源的内容"); +} + +def_target(os_linuxmint);