Я создаю пакет deb, который требует java oracle> = 7. Поэтому я написал простой файл preinst с скриптом bash, который выведет сообщение (используя zenity), которое предупредит пользователя, что ему нужно его установить. Однако, когда пакет deb установлен через Ubuntu Software Center, он выходит из строя до появления сообщения.
Изменить: это произошло на Ubuntu 15.04 64/32 бит.
preinst file:
#!/bin/bash
JAVA_VERSION=`echo "$(java -version 2>&1)" | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`
if [[ "$JAVA_VERSION" = *"1.7"* ]] || [[ "$JAVA_VERSION" = *"1.8"* ]]; then
echo 'java is ok'
exit 0
fi
zenity --error --text="Please install java oracle 7 or newer. \"Ok\", exiting instalation"
exit 1
Установить журнал:
Reading database ... 100%
(Reading database ... 171184 files and directories currently installed.)
Preparing to unpack .../usb/test.deb ...
gdk_mir_display_open
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused (zenity:3179): Gtk-WARNING **:
cannot open display: dpkg: error processing archive /media/test/usb/test.deb (--install):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing: /media/test/usb/test.deb