Bug#856810: unblock (pre-approval): opentyrian/2.1.20130907+dfsg-2
Control: tags -1 confirmed moreinfo
On 05/03/17 00:20, Simon McVittie wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
>
> opentyrian (contrib) uses game-data-packager to package its data files
> (which are freely downloadable but proprietary, and not under a
> sufficiently clear license for non-free). If launched without those data
> files, at the moment it silently exits, making users think it has crashed
> (#856728, 'important' severity, which I think is proportionate).
>
> Alexandre Detiste has contributed a patch to make opentyrian pop up an
> error message using one of several xmessage clones. Would that be OK for
> a stretch unblock?
>
> Proposed debdiff attached.
> ++#ifdef TARGET_UNIX
> ++#define MISSING_TEXT "One or more of the required Tyrian " TYRIAN_VERSION " data files could not be found.\n" \
> ++ "These can be installed using game-data-packager.\n"
> ++ if (code == 1)
> ++ {
> ++ char* argv[6];
> ++ pid_t child_pid;
> ++ child_pid = fork();
> ++ if(child_pid == 0) {
> ++ argv[0] = "zenity";
> ++ argv[1] = "--error";
> ++ argv[2] = "--text=" MISSING_TEXT;
> ++ argv[3] = "--title=Tyrian";
> ++ argv[4] = NULL;
> ++ execvp(argv[0], argv);
> ++ argv[0] = "kdialog";
> ++ argv[2] = MISSING_TEXT;
> ++ execvp(argv[0], argv);
> ++ argv[0] = "xmessage";
> ++ argv[1] = "-center";
> ++ argv[3] = NULL;
> ++ execvp(argv[0], argv);
> ++ argv[0] = "notify-send";
> ++ argv[1] = "Tyrian";
> ++ argv[3] = "-i";
> ++ argv[4] = "dialog-error";
> ++ argv[5] = NULL;
> ++ execvp(argv[0], argv);
> ++ }
> ++ }
> ++#endif
For a moment I was wondering how xmessage or notify-send were going to display
MISSING_TEXT, until I realized you were reusing some argv members...
Go ahead and remove the moreinfo tag once this is accepted and built.
Cheers,
Emilio
Reply to: