build-x86-images.sh.in 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/bin/sh
  2. set -eu
  3. ARCH=$(uname -m)
  4. IMAGES="base enlightenment xfce mate cinnamon gnome kde lxde lxqt"
  5. REPO=
  6. DATE=$(date +%Y%m%d)
  7. help() {
  8. echo "${0#/*}: [-a arch] [-b base|enlightenment|xfce|mate|cinnamon|gnome|kde|lxde|lxqt] [-r repo]" >&2
  9. }
  10. while getopts "a:b:hr:" opt; do
  11. case $opt in
  12. a) ARCH="$OPTARG";;
  13. b) IMAGES="$OPTARG";;
  14. h) help; exit 0;;
  15. r) REPO="-r $OPTARG $REPO";;
  16. *) help; exit 1;;
  17. esac
  18. done
  19. shift $((OPTIND - 1))
  20. build_variant() {
  21. variant="$1"
  22. IMG=void-live-${ARCH}-${DATE}-${variant}.iso
  23. GRUB_PKGS="grub-i386-efi grub-x86_64-efi"
  24. PKGS="dialog cryptsetup lvm2 mdadm void-docs-browse xtools-minimal $GRUB_PKGS"
  25. XORG_PKGS="xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font dejavu-fonts-ttf alsa-plugins-pulseaudio"
  26. SERVICES="sshd"
  27. case $variant in
  28. base)
  29. SERVICES="$SERVICES dhcpcd wpa_supplicant acpid"
  30. ;;
  31. enlightenment)
  32. PKGS="$PKGS $XORG_PKGS lxdm enlightenment terminology udisks2 firefox-esr"
  33. SERVICES="$SERVICES acpid dhcpcd wpa_supplicant lxdm dbus polkitd"
  34. ;;
  35. xfce)
  36. PKGS="$PKGS $XORG_PKGS lxdm xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  37. SERVICES="$SERVICES dbus elogind lxdm NetworkManager polkitd"
  38. ;;
  39. mate)
  40. PKGS="$PKGS $XORG_PKGS lxdm mate mate-extra gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  41. SERVICES="$SERVICES dbus elogind lxdm NetworkManager polkitd"
  42. ;;
  43. cinnamon)
  44. PKGS="$PKGS $XORG_PKGS lxdm cinnamon gnome-keyring colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  45. SERVICES="$SERVICES dbus elogind lxdm NetworkManager polkitd"
  46. ;;
  47. gnome)
  48. PKGS="$PKGS $XORG_PKGS gnome firefox-esr"
  49. SERVICES="$SERVICES dbus elogind gdm NetworkManager polkitd"
  50. ;;
  51. kde)
  52. PKGS="$PKGS $XORG_PKGS kde5 konsole firefox-esr dolphin"
  53. SERVICES="$SERVICES dbus elogind NetworkManager sddm"
  54. ;;
  55. lxde)
  56. PKGS="$PKGS $XORG_PKGS lxde lxdm gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  57. SERVICES="$SERVICES acpid dbus dhcpcd wpa_supplicant lxdm polkitd"
  58. ;;
  59. lxqt)
  60. PKGS="$PKGS $XORG_PKGS lxqt lxdm gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  61. SERVICES="$SERVICES elogind dbus dhcpcd wpa_supplicant lxdm polkitd"
  62. ;;
  63. *)
  64. >&2 echo "Unknown variant $variant"
  65. exit 1
  66. ;;
  67. esac
  68. ./mklive.sh -a "$ARCH" -o "$IMG" -p "$PKGS" -S "$SERVICES" ${REPO} "$@"
  69. }
  70. if [ ! -x mklive.sh ]; then
  71. echo mklive.sh not found >&2
  72. exit 1
  73. fi
  74. for image in $IMAGES; do
  75. build_variant "$image"
  76. done