From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Qa+xnUsKkiIoOmhQQq628MVDgJhZ7fD6MxmFtMOjHUI=; b=teB0fJsKoPLnUufPQp3wL9LSk/sl2tEaUw6GUVZVOrRTCjWMHhKCCmGq4WIGRaLIDt TyR5fgkIhsoDGruGGoBJ36ZJ2V36lG0mCRlIBVq4ck051MSXd1kayuh8vVg0cc8Uv3l4 LeGGepvlikMWgvqlotuHNSvkdWMs23HRzsKNLL1pJwyNW+1Ndcz6SGyEYeAF4qEpdt8r jXeiSpEnb9RL9GVoTEzroo0D6LGBZ3sx55Uwc2oEL0OdRNVnWOVpv4uECqywZtlmJuIW VTeYIN+WqeLV+j3xTemGTMJ2rAc/9dLI+NSMsSAraePiwc5wFT911An88hD8n8xrkJ8B F6ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=Qa+xnUsKkiIoOmhQQq628MVDgJhZ7fD6MxmFtMOjHUI=; b=KKrC5Zzxjuauvgoh/2F2QinRSbHW9KBhLM+Y4fypYpApr00IDadnJD6v93JYddbNu8 UbVV9QWZX2Om/IJCtKoWRhM2Qu1URBFOQNyAJmdDlWer7qkD93lo/aAIPs60dCSaXKS/ UnGeYzMfXBnjp3cpQfmsp/kAjT2nxBtGXkFx4LgpOVjBACNhCFCcwTWUs42Fg+OGKWxJ /B33jXpyDh98wfmEcpi7r8qlBh+I4pnTvEYz5GyUEcY2Eb3KcB505tSw1EEyIDwOoM/9 AkQ9e/cm5yDlv1HVnw4fwGJIFoIlnJBp1oLtZY1b0nVYn4wXLnXuSTNf+vXIZF0WQ2Uu 5NOQ== X-Gm-Message-State: AHPjjUhdKOBEHNwyRban7DM4lcGljcumk2PJPkyJyeuYh705myn6z+vC DC3qjUHQZTS5SBjL X-Google-Smtp-Source: ADKCNb6SPJASFEKQ5NN2/a9BGoMB7sILMmawVNjktJmhDJ4cCH4BWWTk4c6hkPsPdNEgw620enlJzQ== X-Received: by 10.25.198.78 with SMTP id w75mr7654lff.211.1504220494044; Thu, 31 Aug 2017 16:01:34 -0700 (PDT) Date: Fri, 1 Sep 2017 02:01:27 +0300 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20170831230125.GA4645@celery> References: <1704288.AR3Uk1DLxt@nenderus-pc.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1704288.AR3Uk1DLxt@nenderus-pc.localdomain> User-Agent: Mutt/1.8.3 (2017-05-23) X-Mailman-Approved-At: Fri, 01 Sep 2017 02:15:06 +0300 Subject: Re: [devel] =?utf-8?q?Steam_=D0=B8_Bash4?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Aug 2017 23:01:40 -0000 Archived-At: List-Archive: List-Post: On Fri, Sep 01, 2017 at 12:30:31AM +0300, Nazarov Denis wrote: > Сегодняшнее обновление клиента Steam с серверов Valve принесло неприятность - > теперь оно требует bash 4, т.к. в скрипте $HOME/.local/share/Steam/steam.sh > теперь используется инструкция > > declare -A > > которая в bash 3 не поддерживается. Steam просто виснет на логине. Если > исправить в начале этого файла интерпретатор с > > #!/usr/bin/env bash > > на > > #!/usr/bin/env bash4 > > то всё работает. > > Если поправить интерпретатор в /usr/bin/steam, то это не помогает, т.к. он в > итоге запускает скрипт $HOME/.local/share/Steam/steam.sh (который сам > обновляется с серверов Valve). > > Что-то я никак не могу придумать как решить эту появившуюся проблему. У кого- > нибудь есть какие-нибудь идеи? Можно пропатчить /bin/bash. --- bash-3.2.57/shell.c- 2017-09-01 01:11:07 +0300 +++ bash-3.2.57/shell.c 2017-09-01 01:28:39 +0300 @@ -448,6 +448,13 @@ main (argc, argv, env) this_command_name = shell_name; /* for error reporting */ arg_index = parse_shell_options (argv, arg_index, argc); + if (arg_index < argc && !want_pending_command /* not -c */ && + strstr(argv[arg_index], "/Steam/steam.sh")) + { + execv("/bin/bash4", argv); + fprintf(stderr, "execv /bin/bash4 failed: %m"); + } + /* If user supplied the "--login" (or -l) flag, then set and invert LOGIN_SHELL. */ if (make_login_shell) Хорошо работает! $ pwd .../BUILD/bash-3.2.57/build-bash $ cat ./Steam/steam.sh echo $BASH_VERSION $ ./bash -c 'echo $BASH_VERSION ./Steam/steam.sh' 3.2.57(10)-release ./Steam/steam.sh $ ./bash './Steam/steam.sh' 4.2.50(1)-release