From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Bloat in the Emacs Windows package Date: Wed, 17 Apr 2019 10:31:26 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="2678"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: K-9 Mail for Android To: emacs-devel@gnu.org, =?ISO-8859-1?Q?Bj=F6rn_Lindqvist?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 17 09:31:40 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hGf2h-0000Xx-4m for ged-emacs-devel@m.gmane.org; Wed, 17 Apr 2019 09:31:39 +0200 Original-Received: from localhost ([127.0.0.1]:48360 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGf2f-0003fq-UU for ged-emacs-devel@m.gmane.org; Wed, 17 Apr 2019 03:31:37 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:42108) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGf2Y-0003fj-KE for emacs-devel@gnu.org; Wed, 17 Apr 2019 03:31:31 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35208) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGf2Y-0007UD-Dl; Wed, 17 Apr 2019 03:31:30 -0400 Original-Received: from [176.12.247.39] (port=56009 helo=[10.160.102.216]) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1hGf2X-0004vf-9N; Wed, 17 Apr 2019 03:31:30 -0400 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235566 Archived-At: On April 17, 2019 8:01:56 AM GMT+03:00, "Bj=C3=B6rn Lindqvist" wrote: > The emacs-26=2E1-x86_64=2Ezip file is really big=2E It contains a lot of > files which I wonder why they are necessary=2E Some examples >=20 > python2=2E7=2Eexe > gdbus=2Eexe > libgdk_pixbuf-2=2E0-0=2Edll > include/jasper/ > include/GL > include/gnutls AND include/openssl > lib/systemd > sqlite3200=2Edll > lib/pkgconfig > lib/cmake > share/bash-completion > share/vala > =2E=2E=2E Some people want the binary zip to include all the optional features that = Emacs on Windows can support=2E This zip includes all of the dependencies = for those optional features=2E Arguably, some of the auxiliary files, like= header files and import libraries, could be omitted, but determining which= ones are required is a very non-trivial and time-consuming job, so I can u= nderstand why Phillip, who volunteered to produce the binary zips, didn't d= o that=2E This "one cannot fit all" problem is why we also have the bare-m= inimum zip with only the dependencies that are absolutely required=2E > The emacs-26=2E1-x86_64-no-deps=2Ezip installation is smaller, but still > double the size of the corresponding 24=2E5 installation=2E This seem to > be because all binaries now include debugging symbols=2E Some examples > of the size increases: >=20 > addpm=2Eexe 577 kB =3D> 2 282 kB > ctags=2Eexe 956 kB =3D> 3 245 kB > emacs=2Eexe 8 989 kB =3D> 121 740 kB > emacs-24=2E5=2Eexe 8 989 kB =3D> 121 740 kB (emacs-26=2E1=2Eexe) Stripping emacs=2Eexe produces a 29MB file for Emacs 26=2E2=2E We could perhaps move the debug info to a separate file and distribute it = in a separate zip archive, but whether Phillip can afford that is entirely = up to him=2E He does that on his own free time; the Emacs project doesn't = produce any "official" binaries, on any system=2E > The emacs=2Eexe growth is especially annoying because the file is > copied=2E This seems like poor packaging to me=2E Why not have an > emacs=2Ebat file calling emacs-26=2E1=2Eexe and immediately save 121M? What you see in the zip is what the stock Emacs build procedure produces (= except that originally the two Emacs executables are hard links to the same= file data; but zip format doesn't support hard links, AFAIK)=2E The reaso= n for that is to allow installation of additional versions on the same file= system tree=2E We don't provide any shell scripts or batch files because the build on Pos= ix systems doesn't=2E Once again, it's hard to blame volunteers for using = the build products as is, without adding any more work=2E > According to the thread on help-gnu-emacs Emacs binaries used to be > stripped of debugging symbols, but aren't anymore and that is what is > causing the size increase=2E I wonder if we can return that? Most > software ported to Windows, such as MinGW, strips debugging symbols so > it is customary=2E For most users they are useless because they don't > run emacs=2Eexe in gdb=2Eexe=2E It is a great help to have debug info when problems are reported that caus= e crashes and cannot be easily reproduced=2E But if Phillip can afford pro= dicing separate debug info file for Emacs, we could have the cake and eat i= t, too=2E The other programs can be stripped, as far as Emacs is concern= ed (but they are much smaller, so the savings in disk space will be small)= =2E > On my machine it increases Emacs > start time by a second (although I don't know if that is caused by the > debugging symbols or if it is something else)=2E=20 It cannot be due to debug info, because that is not read when the program = loads=2E > It is also > aesthetically displeasing -- hackers like minimalism and hate bloat=2E FWIW, I think you the first one to complain about this=2E > And while on the subject of Windows packaging=2E How come there is no > MSI installer for Emacs? It shouldn't be to hard to put one together > and it would make Emacs a little easier to install for newbies=2E What tools to use to produce the binary distribution is entirely up to the= person who does that=2E And of course MSI is not free software=2E