mirror of
https://github.com/RubyMetric/chsrc.git
synced 2025-04-23 12:44:15 +08:00
Get CPU arch
This commit is contained in:
parent
984aa6b323
commit
fcb74cb2ef
@ -7,7 +7,7 @@
|
||||
* Contributors : Null Nil <null@nil.com>
|
||||
* |
|
||||
* Created on : <2023-08-29>
|
||||
* Last modified : <2024-06-14>
|
||||
* Last modified : <2024-06-21>
|
||||
*
|
||||
* chsrc 头文件
|
||||
* ------------------------------------------------------------*/
|
||||
@ -710,6 +710,37 @@ chsrc_backup (const char *path)
|
||||
}
|
||||
|
||||
|
||||
static char *
|
||||
chsrc_get_cpuarch ()
|
||||
{
|
||||
char *ret;
|
||||
bool exist;
|
||||
|
||||
if (xy_on_windows)
|
||||
{
|
||||
xy_unimplement;
|
||||
}
|
||||
|
||||
exist = chsrc_check_program ("arch");
|
||||
if (exist)
|
||||
{
|
||||
ret = xy_run ("arch", 0, NULL);
|
||||
return ret;
|
||||
}
|
||||
|
||||
exist = chsrc_check_program ("uname");
|
||||
if (exist)
|
||||
{
|
||||
ret = xy_run ("uname -p", 0, NULL);
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
chsrc_error ("无法检测到CPU类型");
|
||||
exit (Exit_UserCause);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Target Info */
|
||||
typedef struct TargetInfo_t {
|
||||
|
14
src/chsrc.c
14
src/chsrc.c
@ -14,7 +14,7 @@
|
||||
* chsrc: Change Source —— 全平台通用命令行换源工具
|
||||
* ------------------------------------------------------------*/
|
||||
|
||||
#define Chsrc_Version "v0.1.7.pre5-2024/06/21"
|
||||
#define Chsrc_Version "v0.1.7.rc1-2024/06/21"
|
||||
#define Chsrc_Maintain_URL "https://gitee.com/RubyMetric/chsrc"
|
||||
|
||||
#include "chsrc.h"
|
||||
@ -940,7 +940,7 @@ os_ubuntu_setsrc_for_deb822 (char *option)
|
||||
|
||||
chsrc_backup (ETC_APT_DEB822_Ubuntu_Sources);
|
||||
|
||||
char *arch = xy_run ("arch", 0, NULL);
|
||||
char *arch = chsrc_get_cpuarch ();
|
||||
char *cmd = NULL;
|
||||
if (strncmp (arch, "x86_64", 6)==0)
|
||||
{
|
||||
@ -983,9 +983,9 @@ os_ubuntu_setsrc (char *option)
|
||||
chsrc_backup (ETC_APT_SOURCELIST);
|
||||
}
|
||||
|
||||
char *arch = xy_run ("arch", 0, NULL);
|
||||
char *arch = chsrc_get_cpuarch ();
|
||||
char *cmd = NULL;
|
||||
if (strncmp (arch, "x86_64", 6)==0)
|
||||
if (0==strncmp (arch, "x86_64", 6))
|
||||
{
|
||||
cmd = xy_strjoin (3, "sed -E -i \'s@https?://.*/ubuntu/?@", source.url, "@g\' " ETC_APT_SOURCELIST);
|
||||
}
|
||||
@ -1384,7 +1384,7 @@ os_arch_setsrc (char *option)
|
||||
|
||||
bool arch_flag = false;
|
||||
char *new_file = NULL;
|
||||
char *arch = xy_run ("arch", 0, NULL);
|
||||
char *arch = chsrc_get_cpuarch ();
|
||||
|
||||
if (strncmp(arch, "x86_64", 6)==0)
|
||||
{
|
||||
@ -1858,14 +1858,14 @@ os_netbsd_setsrc (char *option)
|
||||
|
||||
chsrc_backup ("/usr/pkg/etc/pkgin/repositories.conf");
|
||||
|
||||
char *arch = xy_run("arch", 0, NULL);
|
||||
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, NULL);
|
||||
|
||||
char *url = xy_strjoin (5, source.url, arch, "/", version, "/All");
|
||||
chsrc_overwrite_file (url, "/usr/pkg/etc/pkgin/repositories.conf");
|
||||
|
||||
chsrc_say_lastly(&source, ChsrcTypeUntested);
|
||||
chsrc_say_lastly (&source, ChsrcTypeUntested);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user