From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Android port of Emacs Date: Fri, 23 Jun 2023 16:52:52 +0800 Message-ID: <87o7l6y2zf.fsf@yahoo.com> References: <83v8fnslfz.fsf@gnu.org> <83edmask4z.fsf@gnu.org> <5c02371a-3c42-de66-70b7-4ed0d88cc3fa@gutov.dev> <87cz1td0ku.fsf@yahoo.com> <87cz1ta5fr.fsf@telefonica.net> <87edm645yy.fsf@yahoo.com> <87mt0ryqlg.fsf@yahoo.com> <2aa76ba11fdd1c81b2f0@heytings.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4083"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: =?utf-8?Q?=C3=93scar?= Fuentes , emacs-devel@gnu.org To: Gregory Heytings Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 23 10:54:20 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qCcYc-0000mX-GY for ged-emacs-devel@m.gmane-mx.org; Fri, 23 Jun 2023 10:54:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qCcXS-00047i-Ar; Fri, 23 Jun 2023 04:53:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qCcXR-00047a-IU for emacs-devel@gnu.org; Fri, 23 Jun 2023 04:53:05 -0400 Original-Received: from sonic304-20.consmr.mail.ne1.yahoo.com ([66.163.191.146]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qCcXP-0004LU-Q9 for emacs-devel@gnu.org; Fri, 23 Jun 2023 04:53:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1687510380; bh=VtaO6MSwP/utkKXrlmzfXfU/UbLiwIHOsJ+LaFh8yMY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=lRDIopO3mezcDv5ZwfnWPEE84g9KwSpvfMrLDQPMqORaAJ3q5koKBK+zoKK9igWJAhU0DgE6+VgBav2AycF9TrLg8QXMTPOxIK8rBbnYKXCFkB9myt7OtPOQvdanL9BrEb4pvVa9KYD0iEGfRsR1LFUx6r/DhGsrrN13UdE6K2idBwacOZNBW7thMwD2J9mc4T3tOdUL5GEvYlNo8aVkZQw6oaV3wfM3ve7q2ZCR+UFRiRJqKvEyFr3L5WHTPWa8BFlBZwumG4yNZFhJRzkwoEGmu+SbmD8CjvwhxOm4+Um9VL79xPSGPVrL8D2y6Jkq9TEt0NUa4sMQlF1xixdlgQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1687510380; bh=Uc7y9i0T94Fv92r6vu4iYxbGz2Lvac0JNIVNeIEBxHX=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Y/sJ7J8+Ci3+zc7z59FfIRGbrsk+o1c6mfcgOOa7KbIKStTKp+sU8FtJHSBkDhWR3bg7mipbWt0fmmRs9RUHJ96tB2oiEhU1gsm1C4Y1dIygJGYLlqQpJa8wb+/TOIx7LOnf184DJIILCVXN7ZHQ7hP+tFlbGXz8m63QqoJPnttAn3mIEOHIRFo2LsgetS1YCW8Fm8A7ODYtJM5dUgwY6wlc56dZB6icIdJw0DtKU6syjYr9V2TLzQNs9PMFGihk/pBJu6ET87KYEiWq+kan/DWgoU3/X50utonVg7QIYMtDfKun5uO0O94zOTl/aZqIMlcpMGT/u4lIvwAYVBG3wQ== X-YMail-OSG: HYxRnisVM1kvNgG9_tt0mvtf3H_cSw.EZ1awHyF_4mRXqIxj9L59Of392ZlAPFs fK0tGGFqaKNnFqYXNmmzwN4Ukm4Mvrs8tDTqlFOpIjgWURHVUb4Nom7wjuFubP_JErnkp3E_F3RF phF._Q.9UYqFyv7dYeN95yJq8hAJPG8VHYG0ZyIqo28J8A_r5Oh1c5bheh1oMt6yDJK58twCpFaE v4Mjiu8jaqzAL4czzSY.n_Qv_XBIuCUc1zvYPPaq_DcT5Fe91ZKa53pfspvF1nBJHSIp9DxKEhX6 tQKaEXHw2.xNrOFjw.oxqOBaFtWivwoTGIrMd53g3QkVqf38huQ5JONj4fCnez1jdm.Y7yDAEPEE N2.m1.C6gzJXPMISw74jDnhDCdcY5Da3lKm1tm07ziw_AzwOk9IQARqkIFfcbdVF8dNCYylhwQ8a .u9g6IIxWKJSsGmVAYEHuOJ3oyMV96TJxKReGtwK0D81u6Ys6UtmEZHLLhgjiy.7hjrMRX5opsxJ 25gvS3YYEG8WhXCupWIg0bQNE7uCBT2LbOF7rF79jp29GnY.d6MxliOr1JwZjL4aJAxeSnq.hTCM RqC0yM6Ae66uZUJbY1MSETYW_kiXjSjFSv.qwR2G9._OCEA9dd_.o6lFwbeCjiU6UTNrLGDbsBIs mHrBghY1FZSSctEwtRBreP0DLokSDmr.79bZdnsk1KNOAMPMNvs5_GMkgqV4DBLa3xFUYZTS6.4e TckOH0.TdxpWSyaCL2fqjskrWYQKUM4QpuRPan4YrWHLi6TfohVvhIki52NbgfniRvgI6jqVVA9p RJy_4StPZtTR7o.6dpkMX2253AWbKTN0Ddkf6UKN12 X-Sonic-MF: X-Sonic-ID: db98adec-6258-412e-bdaf-90467b5fe1cb Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ne1.yahoo.com with HTTP; Fri, 23 Jun 2023 08:53:00 +0000 Original-Received: by hermes--production-sg3-748897c457-7nnzj (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 440fc766195a63d965a4ad5f84f6a328; Fri, 23 Jun 2023 08:52:57 +0000 (UTC) In-Reply-To: <2aa76ba11fdd1c81b2f0@heytings.org> (Gregory Heytings's message of "Fri, 23 Jun 2023 07:37:43 +0000") X-Mailer: WebService/1.1.21557 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.191.146; envelope-from=luangruo@yahoo.com; helo=sonic304-20.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:307154 Archived-At: Gregory Heytings writes: > If that process was as trivial as you say it is, distros would not > exist. Users will have to do that every time they want to upgrade > their packages. And the same programs will be installed twice on their > device (unless they want to use Emacs exclusively). And most users will wish to use Emacs exclusively: its features are much richer than that of the Termux application. > I won't do that. I'm not a student and you're not a teacher here. Then the only conclusion I can reach is that what you said earlier was wrong. Android security policy cannot prevent Emacs from executing programs, as long as executing read-only binaries is permitted, ptrace continues to work, and executable memory mappings to files can continue to be made. All of which are required for either LLDB or Chromium to work, and both are explicitly supported as part of Android. > Not only will Termux not have to adopt that "solution", but they > unequivocally said they will not do that, and they already have > another solution, of which they say that it's the only correct > solution. Their ``other solution'' is to rely on yet another feature obsoleted by Android: sharing files between APK packages, using android:sharedUserId. Its documentation says: This constant is deprecated as of API level 29. Shared user IDs cause non-deterministic behavior within the package manager. As such, their use is strongly discouraged and might be ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ removed in a future version of Android. Instead, use proper ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ communication mechanisms, such as services and content providers, to facilitate interoperability between shared components. Existing apps can't remove this value, as migrating off a shared user ID isn't supported. In these apps, add android:sharedUserMaxSdkVersion="32" to avoid using shared user ID on new user installs. The reason Termux developers believe that ptrace-based solutions are unsuitable, is because it violates their interpretation of Google Play Store policy. We are not interested in distributing Emacs through proprietary platforms, and thus are not limited by those policies. In an ironic twist, Termux developers stopped being able to upload updates to the Play Store, shortly after their developers came to their ``conclusions'', as the Play Store placed a minimum target API requirement on new applications and their updates -- updating their target API level to the requirement would stop them from being able to execute binaries. In fact, the approach I have taken is the only approach that Android has not discouraged or decided to remove in the future.