build-x86-images.sh.in 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #!/bin/sh
  2. ARCH=
  3. IMAGE=
  4. while getopts "a:b:hr:" opt; do
  5. case $opt in
  6. a) ARCH="$OPTARG";;
  7. b) IMAGE="$OPTARG";;
  8. h) echo "${0#/*}: [-a arch] [-b base|e|xfce|mate|cinnamon|gnome|kde|lxde|lxqt] [-r repo]" >&2; exit 1;;
  9. r) REPO="-r $OPTARG $REPO";;
  10. esac
  11. done
  12. shift $((OPTIND - 1))
  13. : ${ARCH:=$(uname -m)}
  14. readonly DATE=$(date +%Y%m%d)
  15. readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso
  16. readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso
  17. readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso
  18. readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso
  19. readonly CINNAMON_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso
  20. readonly GNOME_IMG=void-live-${ARCH}-${DATE}-gnome.iso
  21. readonly KDE_IMG=void-live-${ARCH}-${DATE}-kde.iso
  22. readonly LXDE_IMG=void-live-${ARCH}-${DATE}-lxde.iso
  23. readonly LXQT_IMG=void-live-${ARCH}-${DATE}-lxqt.iso
  24. readonly GRUB="grub-i386-efi grub-x86_64-efi"
  25. readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm void-docs-browse $GRUB"
  26. readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font dejavu-fonts-ttf alsa-plugins-pulseaudio"
  27. readonly E_PKGS="$X_PKGS lxdm enlightenment terminology udisks2 firefox-esr"
  28. readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  29. readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  30. readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon gnome-keyring colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  31. readonly GNOME_PKGS="$X_PKGS gnome gnome-terminal firefox-esr"
  32. readonly KDE_PKGS="$X_PKGS kde5 konsole firefox dolphin"
  33. readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr"
  34. readonly LXQT_PKGS="$X_PKGS lxdm lxqt gvfs-afc gvfs-mtp gvfs-smb udisks2 qupzilla"
  35. [ ! -x mklive.sh ] && exit 0
  36. if [ -z "$IMAGE" -o "$IMAGE" = base ]; then
  37. if [ ! -e $BASE_IMG ]; then
  38. ./mklive.sh -a $ARCH -o $BASE_IMG -p "$BASE_PKGS" ${REPO} "$@"
  39. fi
  40. fi
  41. if [ -z "$IMAGE" -o "$IMAGE" = e ]; then
  42. if [ ! -e $E_IMG ]; then
  43. ./mklive.sh -a $ARCH -o $E_IMG -p "$E_PKGS" ${REPO} "$@"
  44. fi
  45. fi
  46. if [ -z "$IMAGE" -o "$IMAGE" = xfce ]; then
  47. if [ ! -e $XFCE_IMG ]; then
  48. ./mklive.sh -a $ARCH -o $XFCE_IMG -p "$XFCE_PKGS" ${REPO} "$@"
  49. fi
  50. fi
  51. if [ -z "$IMAGE" -o "$IMAGE" = mate ]; then
  52. if [ ! -e $MATE_IMG ]; then
  53. ./mklive.sh -a $ARCH -o $MATE_IMG -p "$MATE_PKGS" ${REPO} "$@"
  54. fi
  55. fi
  56. if [ -z "$IMAGE" -o "$IMAGE" = cinnamon ]; then
  57. if [ ! -e $CINNAMON_IMG ]; then
  58. ./mklive.sh -a $ARCH -o $CINNAMON_IMG -p "$CINNAMON_PKGS" ${REPO} "$@"
  59. fi
  60. fi
  61. if [ -z "$IMAGE" -o "$IMAGE" = gnome ]; then
  62. if [ ! -e $GNOME_IMG ]; then
  63. ./mklive.sh -a $ARCH -o $GNOME_IMG -p "$GNOME_PKGS" ${REPO} "$@"
  64. fi
  65. fi
  66. if [ -z "$IMAGE" -o "$IMAGE" = lxde ]; then
  67. if [ ! -e $LXDE_IMG ]; then
  68. ./mklive.sh -a $ARCH -o $LXDE_IMG -p "$LXDE_PKGS" ${REPO} "$@"
  69. fi
  70. fi
  71. if [ -z "$IMAGE" -o "$IMAGE" = lxqt ]; then
  72. if [ ! -e $LXQT_IMG ]; then
  73. ./mklive.sh -a $ARCH -o $LXQT_IMG -p "$LXQT_PKGS" ${REPO} "$@"
  74. fi
  75. fi
  76. if [ "$IMAGE" = kde ]; then
  77. if [ ! -e $KDE_IMG ]; then
  78. ./mklive.sh -a $ARCH -o $KDE_IMG -p "$KDE_PKGS" ${REPO} "$@"
  79. fi
  80. fi