From d96aa3f3fe3d5be23ea642e11170a05ebbc0035e Mon Sep 17 00:00:00 2001 From: nevernever69 Date: Wed, 10 Apr 2024 18:32:30 +0530 Subject: [PATCH 1/3] Added Support for Arch and cmake --- CMakeLists.txt | 43 +++++++++++++++ Makefile | 8 +++ public/arch.png | Bin 0 -> 3702 bytes scripts/setup_host.sh | 73 ------------------------- src-tauri/src/commands/general.rs | 2 +- src/components/Home/Home.tsx | 11 ++-- src/components/Home/UbuntuBranding.tsx | 12 +++- src/components/context/Distro.jsx | 13 +++++ src/main.tsx | 3 + 9 files changed, 84 insertions(+), 81 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 Makefile create mode 100644 public/arch.png delete mode 100755 scripts/setup_host.sh create mode 100644 src/components/context/Distro.jsx diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..2f2c172 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 3.0) +project(RunScript) + +if(UNIX AND NOT APPLE) + file(READ "/etc/os-release" OS_RELEASE) + + string(REGEX MATCH "ID=([A-Za-z]*)" LINUX_ID_MATCH "${OS_RELEASE}") + set(LINUX_ID "${CMAKE_MATCH_1}") + + if(NOT LINUX_ID) + string(REGEX MATCH "ID_LIKE=([A-Za-z]*)" LINUX_ID_LIKE_MATCH "${OS_RELEASE}") + set(LINUX_ID "${CMAKE_MATCH_1}") + endif() + + if(LINUX_ID STREQUAL "") + message(WARNING "Could not identify Linux distribution. Adapting as much as possible.") + set(DISTRO "Unknown Linux Distribution") + else() + if(LINUX_ID STREQUAL "arch") + message(STATUS "Detected Arch Linux") + set(DISTRO "Arch Linux") + add_custom_target(run_script + COMMAND sudo pacman -S --needed base-devel curl wget file openssl gtk3 patchelf libappindicator-gtk3 librsvg -y webkit2gtk + COMMENT "Running script on Arch Linux" + ) + elseif(LINUX_ID STREQUAL "debian") + message(STATUS "Detected Debian Linux") + set(DISTRO "Debian Linux") + add_custom_target(run_script + COMMAND sudo apt-get install libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev patchelf libappindicator3-dev librsvg2-dev -y + COMMENT "Running script on Debian Linux" + ) + + else() + message(STATUS "Detected ${LINUX_ID}-like Linux distribution") + set(DISTRO "${LINUX_ID}-like Linux") + endif() + endif() + + +else() + message(FATAL_ERROR "This CMake script is designed for Linux systems only.") +endif() diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..25a10fd --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +all: build run +build: + cmake -Bbuild + cmake --build build/ + + +clean: + rm -rf build/ diff --git a/public/arch.png b/public/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..4e5c6cc767a59f7a5826f90eb9e846dec26ba6f6 GIT binary patch literal 3702 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 Result { "cat", false, true, - vec!["/etc/lsb-release"], + vec!["/etc/*-release"], ) .exec(None) { diff --git a/src/components/Home/Home.tsx b/src/components/Home/Home.tsx index d2e0756..86e247f 100644 --- a/src/components/Home/Home.tsx +++ b/src/components/Home/Home.tsx @@ -1,18 +1,21 @@ import { ScrollArea } from "../ui/scroll-area"; import General from "./General"; import AllServices from "./Services"; -import Ubuntu from "./UbuntuBranding"; +import Ubuntu from './UbuntuBranding.tsx' import Update from "./Update"; - +import {useContext} from 'react'; +import {DistroContext} from '../context/Distro.jsx' export default function Home() { + const distrocontext = useContext(DistroContext); + const imageSrc = distrocontext.distro === "arch" ? "/arch.png" : "/ubuntu.png"; return (
Ubuntu Desktop Logo diff --git a/src/components/Home/UbuntuBranding.tsx b/src/components/Home/UbuntuBranding.tsx index 70b5fd0..52d27b7 100644 --- a/src/components/Home/UbuntuBranding.tsx +++ b/src/components/Home/UbuntuBranding.tsx @@ -1,4 +1,6 @@ import { rspc } from "@/context/rspc"; +import React, {useContext} from 'react'; +import {DistroContext} from "../context/Distro.jsx"; // This will collect information about the distro // The data will be like this @@ -7,6 +9,7 @@ import { rspc } from "@/context/rspc"; // DISTRIB_CODENAME=jammy // DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS" export default function Ubuntu() { +const distrocontext = useContext(DistroContext); const { data, isLoading, error } = rspc.useQuery(["get_distro"]); if (error) { @@ -18,13 +21,16 @@ export default function Ubuntu() { } const info = data.split("\n"); - const release = info[2].replace("DISTRIB_CODENAME=", ""); - const distro = info[3].replace('DISTRIB_DESCRIPTION="', "").replace('"', ""); + const release = info[2].replace(/PRETTY_NAME=("|')(.*?)\1|DISTRIB_CODENAME=("|')(.*?)\3/g, "$2$4"); + const distro_name = info[3].replace('DISTRIB_DESCRIPTION="', "").replace('"', "").replace("ID=", ""); + distrocontext.setDistro(distro_name); + return (
{release} - {distro} + {distro_name}
); } + diff --git a/src/components/context/Distro.jsx b/src/components/context/Distro.jsx new file mode 100644 index 0000000..c2a8108 --- /dev/null +++ b/src/components/context/Distro.jsx @@ -0,0 +1,13 @@ +import {createContext, useState} from 'react'; +export const DistroContext = createContext(null); +export const DistroProvider = (props) => { + const [distro, setDistro] = useState('Ubuntu'); + return( + + {props.children} + + + ) +} + + diff --git a/src/main.tsx b/src/main.tsx index e96a376..24f9df9 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -11,6 +11,7 @@ import TOR from "./components/TOR"; import Settings from "./components/Settings"; import Help from "./components/Help"; import Firewall from "./components/Firewall"; +import {DistroProvider} from './components/context/Distro.jsx' const router = createBrowserRouter([ { @@ -39,8 +40,10 @@ document.addEventListener("DOMContentLoaded", () => { ReactDom.createRoot(document.getElementById("root") as HTMLElement).render( + + , ); From 0ccd10ed3b42bbe2a30e52f9814a914f35f75563 Mon Sep 17 00:00:00 2001 From: nevernever69 Date: Wed, 10 Apr 2024 18:33:42 +0530 Subject: [PATCH 2/3] Handling pop-os --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f2c172..4ad6db7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,11 @@ if(UNIX AND NOT APPLE) else() message(STATUS "Detected ${LINUX_ID}-like Linux distribution") set(DISTRO "${LINUX_ID}-like Linux") + add_custom_target(run_script + COMMAND sudo apt-get install libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev patchelf libappindicator3-dev librsvg2-dev -y + COMMENT "Running script on Debian Linux" + ) + endif() endif() From 8f5bb998440aefe5996a3d157645225ae6419aef Mon Sep 17 00:00:00 2001 From: nevernever69 Date: Wed, 10 Apr 2024 19:44:49 +0530 Subject: [PATCH 3/3] Added Arch.png --- public/arch.png | Bin 3702 -> 27862 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/arch.png b/public/arch.png index 4e5c6cc767a59f7a5826f90eb9e846dec26ba6f6..84bea2a307dac2d34843ce38635a283352f33480 100644 GIT binary patch literal 27862 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 F{{cWgz6sHS_d9na!%mP~I{?{~^ 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