alvatip / Nordzy-icon

Nordzy is a free and open source icon theme for Linux desktops using the Nord color palette from Arctic Ice Studio and based on WhiteSur and Numix Icon Theme.
GNU General Public License v3.0
334 stars 14 forks source link

[BUG] ./install.sh: line 64: /bin/sed: Argument list too long #51

Closed darkshram closed 2 years ago

darkshram commented 2 years ago

Describe the bug Number of files to process with sed is to big to be used as regular user. Number of files exceeds nofile limit of any Linux system for regular users.

./install.sh: line 64: /bin/sed: Argument list too long

To Reproduce Install Nordzy-icon as regular user.

Expected behaviour Should process line 64 command without "Argument list too long".

Desktop ALDOS 1.4.

Additional context Instead of:

sed -i "s/${hex_dark}/${hex_white}/g" "${THEME_DIR}"/{actions,devices,places,status}/{16,22,24}/*

You may use the following as workaround:

  for ICONTYPE in actions devices places status 
  do
    for i in 16 22 24
    do
      sed -i "s/${hex_dark}/${hex_white}/g" "${THEME_DIR}"/${ICONTYPE}/${i}/*
    done
  done

This way, the number of files processed by sed will not exceed the nofile limit of system. Certainly this would be fixed running ulimit, but for regular-non-technical users will be easier to modify the way files are processed from the install script.

This is the patch for install.sh. Do not think it worth to make a push request, but if you ask, I'll do it.

--- Nordzy-icon-f1734de91f79260fc6a08ebb645fefe8242d122a.orig/install.sh    2022-06-21 12:37:27.286806827 -0500
+++ Nordzy-icon-f1734de91f79260fc6a08ebb645fefe8242d122a/install.sh 2022-06-21 12:47:51.068027755 -0500
@@ -61,7 +61,13 @@
 }

 change_color(){
-  sed -i "s/${hex_dark}/${hex_white}/g" "${THEME_DIR}"/{actions,devices,places,status}/{16,22,24}/*
+  for ICONTYPE in actions devices places status 
+  do
+    for i in 16 22 24
+    do
+      sed -i "s/${hex_dark}/${hex_white}/g" "${THEME_DIR}"/${ICONTYPE}/${i}/*
+    done
+  done
   sed -i "s/${hex_dark}/${hex_white}/g" "${THEME_DIR}"/actions/32/*
   sed -i "s/${hex_dark}/${hex_white}/g" "${THEME_DIR}"/{actions,apps,categories,emblems,devices,mimes,places}/symbolic/*
 }
alvatip commented 2 years ago

Thanks for noticing, I will modify it today 👍

alvatip commented 2 years ago

Should be fine now :smile: