From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bob Proulx Newsgroups: gmane.emacs.help Subject: Re: Build emacs on debian Date: Mon, 7 Apr 2014 09:41:00 -0600 Message-ID: <20140407154100.GA1587@hysteria.proulx.com> References: <87sipq2ny0.fsf@newsguy.com> <20140406211145.GA7796@hysteria.proulx.com> <87fvlq2m4s.fsf@newsguy.com> <87zjjy81cw.fsf@newsguy.com> <877g72nff0.fsf@desiato.home.uhoreg.ca> <87ppkuudvs.fsf@newsguy.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1396885297 19818 80.91.229.3 (7 Apr 2014 15:41:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Apr 2014 15:41:37 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: Harry Putnam Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Apr 07 17:41:30 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WXBfs-0003AK-Ef for geh-help-gnu-emacs@m.gmane.org; Mon, 07 Apr 2014 17:41:28 +0200 Original-Received: from localhost ([::1]:35347 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WXBfs-0004XY-2S for geh-help-gnu-emacs@m.gmane.org; Mon, 07 Apr 2014 11:41:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WXBfY-0004Iz-9A for help-gnu-emacs@gnu.org; Mon, 07 Apr 2014 11:41:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WXBfS-0005Z1-3x for help-gnu-emacs@gnu.org; Mon, 07 Apr 2014 11:41:08 -0400 Original-Received: from joseki.proulx.com ([216.17.153.58]:47965) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WXBfR-0005Yq-Mo for help-gnu-emacs@gnu.org; Mon, 07 Apr 2014 11:41:02 -0400 Original-Received: from hysteria.proulx.com (hysteria.proulx.com [192.168.230.119]) by joseki.proulx.com (Postfix) with ESMTP id A69C021233; Mon, 7 Apr 2014 09:41:00 -0600 (MDT) Original-Received: by hysteria.proulx.com (Postfix, from userid 1000) id 7A7902DC9A; Mon, 7 Apr 2014 09:41:00 -0600 (MDT) Mail-Followup-To: Harry Putnam , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <87ppkuudvs.fsf@newsguy.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 216.17.153.58 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:97030 Archived-At: Harry Putnam wrote: > For the record, I'm not looking to 'apt-get install' emacs24, although > I'm pretty sure somewhere along the line apt-get is going to want to. > I just want to build emacs-24.4 from bzr sources myself. That is understood. That is fine. But you asked: > There must have been some devel pkgs removed in the interm. > ... > Any debian people here who know what I'm missing? That says that you were looking for a way to install Debian packages to supply the dependencies for building emacs. That is good. That is what I would do too. And so we have been talking about how to install the build dependencies using Debian packages. :-) Of course if you really want to do it completely outside of the package system then that is perfectly fine too. It would be a lot of time and effort to chase down everything. But it will definitely still work okay if you were to install everything in a purely from scratch build in, say, the /usr/local directory hierarchy. You can build all of the dependencies from the bottom up. That would work fine too. But that is a lot of work just to build emacs and it isn't needed for building emacs. For example at the very bottom some of the dependencies are circular and need special attention to get bootstrapped. But in my opinion the hard part of the problem is keeping everything updated after that point. Doing it once is easy. Maintaining them up to date is endless tedium. Which is why I like the package system. In any case after you build your own from source emacs build nothing you need in Debian will want to install emacs24 on your system. (I didn't say nothing but nothing you need. If you try to install "emacs-goodies.el" then it will try to install an emacs and so on. But if you build your own emacs from source then you don't need to install any of the other emacs packages either.) Some details that most people won't care about... Installing emacs from the pre-built Debian package would put it in /usr/bin/emacs and all of its files in /usr/share/emacs/24.3. Your scratch built emacs should be anchored in /usr/local/bin/emacs and the lisp files also anchored in /usr/local/share/emacs/XX.Y. There won't be a conflict between the two. It is okay to have both installed at the same time. I dare say that many developers operate this way. It allows doing A-B comparison of features and behavior from a previous version to a newer version easily. Since your PATH will (or should IMNHO) have /usr/local/bin ahead of /usr/bin then when you type in emacs from the command line you will always get your preferred version. But they operate independently of each other. The packaged version does use /usr/local/share/emacs as a place for the local admin to install whatever they feel like manually installing and the package version uses it. This is good and follows the recipe of package versions allowing the local admin to add manually add stuff in a way that puts local unpackaged stuff in /usr/local. I can't remember if the scratch build emacs uses that same location or not. Probably does. In which case that would be a directory owned by the local admin, will never include any packaged files, which would be shared between the packaged version and a from scratch built version. The package will never put anything there. The direction of control is from the local admin controlling the packaged version and not the other way around. Bob