mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
3.0 KiB

  1. #!/bin/bash
  2. postflist_desktop_rock2desktop() {
  3. case "${1}" in
  4. base/boot) echo "Core" ;;
  5. base/kernel) echo "Core" ;;
  6. base/setup) echo "Core" ;;
  7. base/tool) echo "Core" ;;
  8. base/development) echo "Core" ;;
  9. base/system) echo "Core" ;;
  10. base/library) echo "Core" ;;
  11. base/x11) echo "Core" ;;
  12. extra/archive) echo "Archiving" ;;
  13. extra/base) echo "Core" ;;
  14. extra/crypto) echo "System;Security" ;;
  15. extra/configuration) echo "System" ;;
  16. extra/database) echo "Development;Database" ;;
  17. extra/desktop/kde) echo "Core" ;;
  18. extra/desktop/enlightenment) echo "Core" ;;
  19. extra/desktop/gnome) echo "Core" ;;
  20. extra/desktop/xfce) echo "Core" ;;
  21. extra/development) echo "Development" ;;
  22. extra/documentation) echo "Development" ;;
  23. extra/editor) echo "Utility;TextEditor" ;;
  24. extra/education) echo "Education" ;;
  25. extra/emulator) echo "Emulator" ;;
  26. extra/filesystem) echo "System;FileSystem" ;;
  27. extra/font) echo "Core" ;;
  28. extra/game) echo "Game" ;;
  29. extra/icon) echo "Core" ;;
  30. extra/login) echo "Core" ;;
  31. extra/multimedia) echo "AudioVideo" ;;
  32. extra/network) echo "Network" ;;
  33. extra/office) echo "Office" ;;
  34. extra/printing) echo "Office" ;;
  35. extra/scientific) echo "Science" ;;
  36. extra/screensaver) echo "Utility" ;;
  37. extra/security) echo "System;Security" ;;
  38. extra/server) echo "Core" ;;
  39. extra/shell) echo "Shell" ;;
  40. extra/text) echo "Utility;TextEditor" ;;
  41. extra/theme) echo "Core" ;;
  42. extra/tool) echo "Utility" ;;
  43. extra/toy) echo "Amusement" ;;
  44. extra/windowmanager) echo "Core" ;;
  45. extra/religion) echo "Utility" ;;
  46. *) echo "AIEE! postflist_desktop_rock2desktop is out of date!!" >&2 ;
  47. echo "I don't know what ${1} maps to!" >&2 ;
  48. abort ;;
  49. esac
  50. }
  51. postflist_desktop_process_desktop() {
  52. file=${1}
  53. if ! grep -q "Categories=" "${file}" ; then
  54. category="`postflist_desktop_rock2desktop ${desc_C}`"
  55. echo "Adding Categories tag (${category})"
  56. echo "Categories=${category}" >>"${file}"
  57. fi
  58. if ! grep -q "X-ROCK-Name=" "${file}" ; then
  59. echo "Adding X-ROCK-Name tag (${pkg})"
  60. echo "X-ROCK-Name=${pkg}" >>"${file}"
  61. fi
  62. }
  63. postflist_desktop() {
  64. tmp=`mktemp`
  65. grep \.desktop\$ ${builddir}/flist.txt | while read desktop ; do
  66. [ "${desktop/opt?kde/}" != "${desktop}" ] && continue
  67. echo "Checking ${desktop} ... "
  68. rm -f "${tmp}"
  69. rm -f "${desktop}.new"
  70. while read line ; do
  71. if [ "${line:0:1}" == "[" ] ; then
  72. entry=$(( ${entry} + 1 ))
  73. if [ ${entry} -gt 1 ] ; then # this is to support multiple entries in one file
  74. if [ -f "${tmp}" ] ; then
  75. postflist_desktop_process_desktop "${tmp}"
  76. cat "${tmp}" >> "${desktop}.new"
  77. rm -f "${tmp}"
  78. fi
  79. fi
  80. fi
  81. echo "${line}" >>"${tmp}"
  82. done < "${desktop}"
  83. if [ -f "${tmp}" ] ; then
  84. postflist_desktop_process_desktop "${tmp}"
  85. cat "${tmp}" >> "${desktop}.new"
  86. rm -f "${tmp}"
  87. fi
  88. rm -f ${desktop}
  89. mv "${desktop}.new" "${desktop}"
  90. done
  91. }
  92. hook_add postflist 5 postflist_desktop