Patchwork Issues with ubi utils Makefile

login
register
mail settings
Submitter Artem Bityutskiy
Date Oct. 25, 2010, 7:03 p.m.
Message ID <1288033416.1865.2.camel@brekeke>
Download mbox | patch
Permalink /patch/69131/
State New
Headers show

Comments

Artem Bityutskiy - Oct. 25, 2010, 7:03 p.m.
On Thu, 2010-10-21 at 16:43 +1300, Charles Manning wrote:
> Hi All
> 
> I'm getting some errors trying to mount a ubinized volume with a more recent 
> kernel and think it might be due to problems in the ubi utils distributed 
> with Ubuntu Meerkat.
> 
> I thus thought I'd build from git
> 
> When I do a make install from inside the mtd-utils/ubi-utils it tries to place 
> the binaries in /usr/local//usr/sbin.
> 
> Same happens if I try make install from mtd-utils/
> 
> Is something broken or am I driving it incorrectly?

Looks like Mike's commit broke it:

commit 96a4f76f2e9dad7fdbd6fd7740de44bc90d5769e
Author: Mike Frysinger <vapier@gentoo.org>

    Unify all common build system parts

I've quickly cooked this fix, does it work for you? Mike, are you ok
with this?

From 69148e5bb5b0aa546c097a76e293585b3a839e0c Mon Sep 17 00:00:00 2001
From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Date: Mon, 25 Oct 2010 21:54:47 +0300
Subject: [PATCH] mtd-utils: fix make install

Commit 96a4f76f2e9dad7fdbd6fd7740de44bc90d5769e broke 'make install'.
Before that commit, $DESTDIR was undefined, so  ${DESTDIR}/${SBINDIR}
was /usr/sbin, and after the commit $DESTDIR became /usr/local, so
${DESTDIR}/${SBINDIR} became /usr/local//usr/sbin, which is wrong.

Fix this by making $DESTDIR become the distination directory of installing,
i.e. 'DESTDIR ?= /usr' and making SBINDIR become just 'sbin'.

While we are on it, fix $MANDIR similarly, and remove $PREFIX and
$EXEC_PREFIX variables, which become unneeded.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Reported-by: Charles Manning <manningc2@actrix.gen.nz>
---
 common.mk |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)
Mike Frysinger - Oct. 25, 2010, 8:45 p.m.
On Mon, Oct 25, 2010 at 15:03, Artem Bityutskiy wrote:
> Commit 96a4f76f2e9dad7fdbd6fd7740de44bc90d5769e broke 'make install'.
> Before that commit, $DESTDIR was undefined, so  ${DESTDIR}/${SBINDIR}
> was /usr/sbin, and after the commit $DESTDIR became /usr/local, so
> ${DESTDIR}/${SBINDIR} became /usr/local//usr/sbin, which is wrong.

that isnt really true.  DESTDIR had value in makefiles before my changes.

> Fix this by making $DESTDIR become the distination directory of installing,
> i.e. 'DESTDIR ?= /usr' and making SBINDIR become just 'sbin'.

i'd rather we change DESTDIR to match the standard -- it's a "root"
prefix only.  so the default should be:
DESTDIR ?=
-mike

Patch

diff --git a/common.mk b/common.mk
index a55c548..2e4452f 100644
--- a/common.mk
+++ b/common.mk
@@ -20,12 +20,9 @@  ifneq ($(WITHOUT_LARGEFILE), 1)
   CPPFLAGS += -D_FILE_OFFSET_BITS=64
 endif
 
-DESTDIR ?= /usr/local
-PREFIX=/usr
-EXEC_PREFIX=$(PREFIX)
-SBINDIR=$(EXEC_PREFIX)/sbin
-MANDIR=$(PREFIX)/share/man
-INCLUDEDIR=$(PREFIX)/include
+DESTDIR ?= /usr
+SBINDIR=sbin
+MANDIR=share/man
 
 ifndef BUILDDIR
 ifeq ($(origin CROSS),undefined)