home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
-
- my $runnerPID = getppid();
- my $installerPID = "";
- my $uid = "";
- my $uname = "";
-
- open( PSOUT, "/bin/ps -axww -o pid,ppid -p $runnerPID |" );
- while( <PSOUT> ) {
- my @fields = split '\s+', $_;
- if ("$fields[1]" eq "$runnerPID") {
- $installerPID = $fields[2];
- }
- }
- close( PSOUT );
-
- if ("$installerPID" ne "") {
- open( PSOUT, "/bin/ps -axww -o pid,ruid -p $installerPID |" );
- while( <PSOUT> ) {
- my @fields = split '\s+', $_;
- if ("$fields[1]" eq "$installerPID") {
- $uid = $fields[2];
- }
- }
- close( PSOUT );
- }
-
- if ("$uid" ne "") {
- open( PSOUTA, "/usr/bin/id -p $uid |" );
- while( <PSOUTA> ) {
- my @fields = split '\s+', $_;
- if ("$fields[0]" eq "uid") {
- $uname = $fields[1];
- }
- }
- close( PSOUTA );
- }
-
- my $ALERT_APP = "$ARGV[0]" . "/Contents/Resources/QT6Installer.app/Contents/MacOS/QT6Installer";
- my $EXIT_VALUE = 0;
-
- my $cmd = "\"$ALERT_APP\" -showregistration";
- if ("$uname" ne "") {
- $cmd = "sudo -u $uname \"$ALERT_APP\" -showregistration";
- }
-
- $EXIT_VALUE = system("$cmd");
-
- if (($EXIT_VALUE >> 8) != 0) {
- if ("$installerPID" ne "") {
- kill "QUIT", $installerPID;
- }
- kill "QUIT", $runnerPID;
- exit($EXIT_VALUE >> 8);
- }
-
- my $CLEANUP_PREFS = "$ARGV[0]" . "/Contents/Resources/cleanprefs";
-
- my $cmd = "\"$CLEANUP_PREFS\"";
- if ("$uname" ne "") {
- $cmd = "sudo -u $uname \"$CLEANUP_PREFS\"";
- }
- system("$cmd");
-
-