From e5559fc74f2d0d868011db89f0bd36f30ae1257e Mon Sep 17 00:00:00 2001 From: eshanized Date: Fri, 3 Jan 2025 07:33:45 +0530 Subject: [PATCH] chore: initiate extra repo --- LICENSE | 21 +++++ package-list.sh | 63 ++++++++++++++ push.sh | 77 ++++++++++++++++++ repo-creds.sh | 4 + x86_64/aic94xx-firmware-30-10-any.pkg.tar.zst | Bin 0 -> 33796 bytes ...aic94xx-firmware-30-10-any.pkg.tar.zst.sig | Bin 0 -> 438 bytes x86_64/repo-updater.sh | 49 +++++++++++ x86_64/snigdhaos-core.db | Bin 0 -> 507 bytes x86_64/snigdhaos-core.db.sig | Bin 0 -> 438 bytes x86_64/snigdhaos-core.files | Bin 0 -> 588 bytes x86_64/snigdhaos-core.files.sig | Bin 0 -> 438 bytes 11 files changed, 214 insertions(+) create mode 100644 LICENSE create mode 100755 package-list.sh create mode 100755 push.sh create mode 100644 repo-creds.sh create mode 100644 x86_64/aic94xx-firmware-30-10-any.pkg.tar.zst create mode 100644 x86_64/aic94xx-firmware-30-10-any.pkg.tar.zst.sig create mode 100755 x86_64/repo-updater.sh create mode 100644 x86_64/snigdhaos-core.db create mode 100644 x86_64/snigdhaos-core.db.sig create mode 100644 x86_64/snigdhaos-core.files create mode 100644 x86_64/snigdhaos-core.files.sig diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..90da770 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 SNIGDHA OS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/package-list.sh b/package-list.sh new file mode 100755 index 0000000..a9d381e --- /dev/null +++ b/package-list.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +#----------------------------------------------------------- +# Script to generate a list of package details from a GitHub repository URL +# Author: RiO +# Date: 2024-12-27 +# Description: This script fetches the list of package filenames +# from a specified GitHub repository and processes them into a clean output. +# It also removes duplicate package names. +#----------------------------------------------------------- + +# GitHub API URL for the directory +repo_url="https://api.github.com/repos/Snigdha-OS/snigdhaos-core/contents/x86_64" + +# Output file +output_file="packages.txt" + +# Function to install curl if not installed (for Arch Linux) +install_curl() { + echo "curl is not installed. Attempting to install..." + + # Check if the system is using the pacman package manager (Arch Linux) + if command -v pacman &> /dev/null; then + sudo pacman -Sy --noconfirm curl + else + echo "Error: Could not detect pacman package manager. Please install curl manually." + exit 1 + fi + + # Verify if curl was successfully installed + if command -v curl &> /dev/null; then + echo "curl has been installed successfully." + else + echo "Error: Failed to install curl. Please install it manually." + exit 1 + fi +} + +# Function to fetch and process the package list (only package names, with duplicates removed) +fetch_packages() { + # Check if curl is installed + if ! command -v curl &> /dev/null; then + install_curl + fi + + # Fetch the directory content from the GitHub API, extract package names, remove duplicates + curl -s "$repo_url" | \ + jq -r '.[].name' | \ + grep -oP '^[^/]+(?=-[0-9]+-[a-z0-9]+\.pkg\.tar\.zst)' | \ + sort | \ + uniq > "$output_file" + + # Check if the output file is generated successfully + if [[ $? -eq 0 ]]; then + echo "Generated $output_file with package names (duplicates removed)." + else + echo "Error: Failed to generate the package list." + exit 1 + fi +} + +# Run the function +fetch_packages \ No newline at end of file diff --git a/push.sh b/push.sh new file mode 100755 index 0000000..cf80693 --- /dev/null +++ b/push.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +# Author : ESHAN ROY +# Author URI : https://eshanized.github.io + +# Define the conventional commit types with new emojis +TYPES=("๐Ÿš€ feat" "๐Ÿ› fix" "๐Ÿ“ docs" "โœจ style" "๐Ÿ›  refactor" "โšก๏ธ perf" "๐Ÿ”ฌ test" "๐Ÿ”ง build" "๐Ÿค– ci" "๐Ÿงน chore" "โช revert") + +# Function to display an error and exit and +error_exit() { + echo -e "\033[1;31m[ERROR]\033[0m $1" + exit 1 +} + +# Ensure the script is run in a Git repository +git rev-parse --is-inside-work-tree > /dev/null 2>&1 || error_exit "This is not a Git repository." + +# Get the current branch name +branch=$(git rev-parse --abbrev-ref HEAD) + +# Pull the latest changes from the remote repository +echo "Pulling latest changes from remote branch '$branch'..." +git pull origin "$branch" || error_exit "Failed to pull changes from the remote repository. Please resolve any conflicts manually." + +# Prompt the user to select a commit type +echo "Select a commit type:" +select type in "${TYPES[@]}"; do + if [[ -n "$type" ]]; then + break + else + echo "Invalid selection. Please try again." + fi +done + +# Extract the commit type and emoji from the selection +type_emoji=${type} +type=${type_emoji#* } +emoji=${type_emoji% *} + +# Prompt the user to enter a short description +read -p "Enter a short description: " desc +if [ -z "$desc" ]; then + error_exit "A short description is required!" +fi + +# Prompt the user to enter a longer description (optional) +read -p "Enter a longer description (optional): " long_desc + +# Create the commit message +commit_msg="$emoji $type: $desc" + +# If a longer description was provided, add it to the commit message +if [ -n "$long_desc" ]; then + commit_msg+="\n\n$long_desc" +fi + +# Print the commit message to the console +echo -e "\nCommit message:" +echo -e "\033[1;36m$commit_msg\033[0m" + +# Stage all changes +git add . + +# Commit the changes with the conventional commit message +if git commit -m "$commit_msg"; then + echo -e "\033[1;32mCommit successful!\033[0m" +else + error_exit "Commit failed." +fi + +# Push the changes to the remote repository +echo "Pushing changes to remote branch '$branch'..." +if git push origin "$branch"; then + echo -e "\033[1;32mChanges pushed to remote branch '$branch'.\033[0m" +else + error_exit "Push failed. Please check your connection or branch permissions." +fi \ No newline at end of file diff --git a/repo-creds.sh b/repo-creds.sh new file mode 100644 index 0000000..bcf3e0b --- /dev/null +++ b/repo-creds.sh @@ -0,0 +1,4 @@ +pacman-key --recv-key 93BC54415EA8E7AB --keyserver keyserver.ubuntu.com +pacman-key --lsign-key 93BC54415EA8E7AB +pacman -U '#' +pacman -U '@' diff --git a/x86_64/aic94xx-firmware-30-10-any.pkg.tar.zst b/x86_64/aic94xx-firmware-30-10-any.pkg.tar.zst new file mode 100644 index 0000000000000000000000000000000000000000..f5f270e7d6e1d201df4adc86b45da599ab86a05b GIT binary patch literal 33796 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 z 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 literal 0 HcmV?d00001 diff --git a/x86_64/repo-updater.sh b/x86_64/repo-updater.sh new file mode 100755 index 0000000..8a90a47 --- /dev/null +++ b/x86_64/repo-updater.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +#----------------------------------------------------------- +# Script to update Snigdha OS Core repository +# Author : Eshan Roy +# Author URI : https://eshanized.github.io +# Contributor : RiO +# Contributor URI : https://d3v1l0n.github.io +# Date : 2024-12-27 +# Description : This script updates the Snigdha OS Core repository +# by adding new package files and updating the database files. +#----------------------------------------------------------- + +# Set the name for the repository database +repo_name="snigdhaos-core" + +# Function to handle errors +handle_error() { + echo "Error: $1" + exit 1 +} + +# Step 1: Remove old packages and database files +echo "Cleaning up old package and database files..." +rm -f "${repo_name}"* || handle_error "Failed to remove old packages." + +# Step 2: Adding new packages to the repository +echo "Adding new packages to the repository..." +repo-add -s -n -R "${repo_name}.db.tar.gz" *.pkg.tar.zst || handle_error "Failed to add packages." + +# Sleep to ensure all files are processed +sleep 1 + +# Step 3: Remove old database and files +echo "Cleaning up old database and files..." +rm -f "${repo_name}.db" "${repo_name}.db.sig" "${repo_name}.files" "${repo_name}.files.sig" || handle_error "Failed to remove old database files." + +# Step 4: Move new files into place +echo "Moving new database and file archive..." +mv -f "${repo_name}.db.tar.gz" "${repo_name}.db" || handle_error "Failed to move database file." +mv -f "${repo_name}.db.tar.gz.sig" "${repo_name}.db.sig" || handle_error "Failed to move database signature file." +mv -f "${repo_name}.files.tar.gz" "${repo_name}.files" || handle_error "Failed to move files archive." +mv -f "${repo_name}.files.tar.gz.sig" "${repo_name}.files.sig" || handle_error "Failed to move files signature." + +# Step 5: Confirmation +echo "Repository updated successfully!" +echo "*******************************************************************************" +echo "You can now sync the repository with 'pacman -Sy' to fetch the latest packages." +echo "*******************************************************************************" \ No newline at end of file diff --git a/x86_64/snigdhaos-core.db b/x86_64/snigdhaos-core.db new file mode 100644 index 0000000000000000000000000000000000000000..92a8470c5734b8bb628ed4120501978b20c84e4a GIT binary patch literal 507 zcmb2|=3oE==C_y6_RTgBV0bX+ugJav?SunuOIEE4I#d?8Ig{0wfA1O@gU+i@(+yv$ zRsNc#5gQtMDQ?25Ri9(szC|P(o5egc-gSTW(l@Kr?{QvMUgrGfF&l$z-+u|5w~crGldq-qr{?c}Z23?5$J5{XEvMXX zJAXgC{L8Pu>^=XA{_lG}iBoOy+z00WKL0k)o8-EO=Y0}$Y#o={dj7EArO7YNBHgbl zr^Ljq6V5;Ursz@eoV1heOB?-EzaFtUr^MXKnqNKfvCbKTrE-e;26N{zNi&^0^4Ran z&KDof?iACT&DZW}lGD)bS0_AoomlEg@x2?Lvl_?qPyQTWuM^I{`Syj>x^26R1$bFF zo1AC8u)vIAI4>{c4 zmw(m!c3AD@kG&hTW|sE~P2KWo*(TTAcT?6zDRME7G7^0k4FK3=(1efQ$; zvlp|ruU)s>V^M|W7X9n`n^u1Dnc=p5*X*x}FWzWHo_YRIeQx=eextAHXG*{PIc`uT zzpp!(`DoVZ>^Wxae^zZeVlcryaL>(<7(1TjRlOJP*JXpF6^%%!xz9Llt#}E81_J{C D7k~JO literal 0 HcmV?d00001 diff --git a/x86_64/snigdhaos-core.db.sig b/x86_64/snigdhaos-core.db.sig new file mode 100644 index 0000000000000000000000000000000000000000..eb1a509ae88dea51b3e2bfa5fc7dd5320786528e GIT binary patch literal 438 zcmeBV+|0tj$iW~hrpU7V>?*r@{$+a}-?5r7c~6LA+=}O`S((zyT}>IdI0axLHugLW zovZYJnrvKB`YL*JMrM7ddqLm(cLEvF37Idyd=XqW>(CXg3kfS_4z7N2%HU_l74dcZ z7FxdV61tl8X!-vqf1mM1^lnivmlKq2n<{(or-p6$hs@Jr3z_F7wi`Q5J}J4c&@p*x zrf;oVU!2krZvQ!w$CX5ndTDZ=^;(qb?IE93y)5N`vDxgcy0)7oB8(Pva;$m#_43}z zjm;Y>Mvc)@=(*3-Zrxi^*GgRcOkifKStP zd(FZ>nYwCN9ygGfIMpNm>dbcIb}qebnD4TqTb2sL5T`tsZxzw)L^K zD?OTDcW%zbmgPJtVUsk@pESObqOSAeFSDSA?|(P#Gm7_4-)!u&*}6}}r2oNYoA!&L tsYl-B^1j+_)4*$Dyl3;fT6x(WTT1^ko>ZIs!F@$^`M(37!~5pG1pxe8(gOeh literal 0 HcmV?d00001 diff --git a/x86_64/snigdhaos-core.files b/x86_64/snigdhaos-core.files new file mode 100644 index 0000000000000000000000000000000000000000..7e1c6e115ab4b8b9c571ad3d2ba8e0ceb560441e GIT binary patch literal 588 zcmb2|=3oE==C@P4*H3m3Y1sWN{7l>20}RF&q>^1ueHFT$bzoOPv2$WZ=hH&Ts^34p z^4*Bbm&!8l?X23z+Wz^(%!f7|n<`w&tX0pxs*%3xW4Liqa&CdQ!7;O?9v*j>{a9MV z_VS3?N>`qwz?M?46?P6^mTlj0pv^o`cipDgse$ui`*uIGuRFf^k9Wtf-}4RR?!Vy) zMb?s*?VECs(R13%aZk@Nx%(L?xhiO#1t8noYBWC@M6K4Eso3>=l>e_$J z={S#foh zP^J35*Jp2iI+~<(IwoSyfxY5ab-v}MKL3|uQ?`#|zn)lXM(>J++`rS0|9w&OfhqFS z4=t^LfOi*X$E2>EBpdN5Z>IarU3;%ad%k-8zxA*GX4A*pXKl>>oj>XG|NW{aH~!l@ zZvVefC%0m4X@BXqA76`Rb;+IX&J4Sp`&`_)oa^t;SyMjltg_1w|9gCIK!0EM!^Y=5 g%jaE^x~k<_oh}DXB^bm%(>jJjj}9?2XfQAU09~pd82|tP literal 0 HcmV?d00001 diff --git a/x86_64/snigdhaos-core.files.sig b/x86_64/snigdhaos-core.files.sig new file mode 100644 index 0000000000000000000000000000000000000000..4de12c96b3f259e28bd6591db09d1804aabb1bc8 GIT binary patch literal 438 zcmeBV+|0tj$iW~hrpU7V>?*r@{$+a}-?5r7c~6LA+=}O`S((zyUCkJ{I0axL{TI3a z3i@pcv1xIzVYBGtkN=pwbQ#~vdr@x>cU)cg|4U_UuClx?_=A zo}K#aOTT*B=lF{W$~xM@3lsLgvSqp!f5G9X-N(6?T=Gv(bgQU*TCDA*=_uu~>X?5s zi^2W#+`+Q1H$Pd_;EcW%b3Mc8@U(!btUaI;U z_bJU@B6ZBML~*HjvygsR6{C$v;;&!-?}Yqb$d<