Skip to content

Commit 892d42f

Browse files
Add support for detection of Armbian as Ubuntu flavor
Ubuntu can be used to build Armbian, it is one of the official bases for Armbian. This allows the detection of Armbian in case it is based on Ubuntu.
1 parent c145ce4 commit 892d42f

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/detection/os/os_linux.c

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,29 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result)
5252
if(!ffStrSet(xdgConfigDirs))
5353
return;
5454

55-
if(ffStrbufStartsWithS(&result->prettyName, "Linux Lite "))
55+
if (ffStrbufStartsWithS(&result->prettyName, "Armbian ")) // Armbian 24.11 noble
56+
{
57+
ffStrbufSetS(&result->name, "Armbian");
58+
ffStrbufSetS(&result->id, "armbian");
59+
ffStrbufSetS(&result->idLike, "ubuntu");
60+
ffStrbufClear(&result->versionID);
61+
uint32_t versionStart = ffStrbufFirstIndexC(&result->prettyName, ' ') + 1;
62+
uint32_t versionEnd = ffStrbufNextIndexC(&result->prettyName, versionStart, ' ');
63+
ffStrbufSetNS(&result->versionID, versionEnd - versionStart, result->prettyName.chars + versionStart);
64+
return;
65+
}
66+
else if (ffStrbufStartsWithS(&result->prettyName, "Armbian-unofficial ")) // Unofficial Armbian image built from source
67+
{
68+
ffStrbufSetS(&result->name, "Armbian (custom build)");
69+
ffStrbufSetS(&result->id, "armbian");
70+
ffStrbufSetS(&result->idLike, "ubuntu");
71+
ffStrbufClear(&result->versionID);
72+
uint32_t versionStart = ffStrbufFirstIndexC(&result->prettyName, ' ') + 1;
73+
uint32_t versionEnd = ffStrbufNextIndexC(&result->prettyName, versionStart, ' ');
74+
ffStrbufSetNS(&result->versionID, versionEnd - versionStart, result->prettyName.chars + versionStart);
75+
return;
76+
}
77+
else if(ffStrbufStartsWithS(&result->prettyName, "Linux Lite "))
5678
{
5779
ffStrbufSetS(&result->name, "Linux Lite");
5880
ffStrbufSetS(&result->id, "linuxlite");

0 commit comments

Comments
 (0)