From patchwork Sun Nov 9 13:30:54 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 408564 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id D520D1400E7 for ; Mon, 10 Nov 2014 00:31:12 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id BE6808B196; Sun, 9 Nov 2014 13:31:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KpPIUQx9YuK2; Sun, 9 Nov 2014 13:31:07 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id C85BF89151; Sun, 9 Nov 2014 13:31:06 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 5AB3D1C1774 for ; Sun, 9 Nov 2014 13:31:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 552EC272FC for ; Sun, 9 Nov 2014 13:31:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S3JhGn8NG36r for ; Sun, 9 Nov 2014 13:31:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.free-electrons.com (down.free-electrons.com [37.187.137.238]) by silver.osuosl.org (Postfix) with ESMTP id 58B8130048 for ; Sun, 9 Nov 2014 13:31:00 +0000 (UTC) Received: by mail.free-electrons.com (Postfix, from userid 106) id 5A24573C; Sun, 9 Nov 2014 14:31:04 +0100 (CET) Received: from localhost (132.230.147.77.rev.sfr.net [77.147.230.132]) by mail.free-electrons.com (Postfix) with ESMTPSA id D94255E5; Sun, 9 Nov 2014 14:31:03 +0100 (CET) From: Thomas Petazzoni To: Buildroot List Date: Sun, 9 Nov 2014 14:30:54 +0100 Message-Id: <1415539854-25971-4-git-send-email-thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1415539854-25971-1-git-send-email-thomas.petazzoni@free-electrons.com> References: <1415539854-25971-1-git-send-email-thomas.petazzoni@free-electrons.com> Cc: Thomas Petazzoni , Alexey Brodkin Subject: [Buildroot] [PATCHv2 3/3] quota: fix static linking X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" The aim of this patch is to fix bug #7574, i.e fix the static linking of the quota package. It does so by introducing a patch to the quota build system that generalizes the use of $(LIBS), and then changes quota.mk to use LIBS instead of LDFLAGS to link against intl and tirpc when needed. Signed-off-by: Thomas Petazzoni --- package/quota/02-fix-static-linking.patch | 55 +++++++++++++++++++++++++++++++ package/quota/quota.mk | 9 +++-- 2 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 package/quota/02-fix-static-linking.patch diff --git a/package/quota/02-fix-static-linking.patch b/package/quota/02-fix-static-linking.patch new file mode 100644 index 0000000..fd73f64 --- /dev/null +++ b/package/quota/02-fix-static-linking.patch @@ -0,0 +1,55 @@ +Use $(LIBS) properly + +This patch makes sure the quota build system uses $(LIBS) where +appropriate, so that it can be used to link with additional libraries, +which is needed when linking statically. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -105,30 +105,40 @@ + -$(INSTALL) -m $(DEF_MAN_MODE) *.8 $(ROOTDIR)$(mandir)/man8 + + quotaon: quotaon.o quotaon_xfs.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + quotacheck: quotacheck.o quotacheck_v1.o quotacheck_v2.o quotaops.o $(LIBOBJS) +- $(CC) $(LDFLAGS) -o $@ $^ $(EXT2LIBS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(EXT2LIBS) $(LIBS) + + quota: quota.o quotaops.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + quotasync: quotasync.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + quot: quot.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + repquota: repquota.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + warnquota: warnquota.o $(LIBOBJS) +- $(CC) $(LDFLAGS) -o $@ $^ $(LDAPLIBS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LDAPLIBS) $(LIBS) + + quotastats: quotastats.o common.o pot.o ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + xqmstats: xqmstats.o common.o pot.o ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + edquota: edquota.o quotaops.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + setquota: setquota.o quotaops.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + convertquota: convertquota.o $(LIBOBJS) ++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + + rpc.rquotad: rquota_server.o rquota_svc.o svc_socket.o $(LIBOBJS) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) diff --git a/package/quota/quota.mk b/package/quota/quota.mk index 0e7a2b0..332f42e 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -12,22 +12,21 @@ QUOTA_LICENSE = GPLv2+ QUOTA_CONF_OPTS = --disable-strip-binaries QUOTA_CFLAGS = $(TARGET_CFLAGS) -QUOTA_LDFLAGS = $(TARGET_LDFLAGS) ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) QUOTA_DEPENDENCIES += gettext -QUOTA_LDFLAGS += -lintl +QUOTA_LIBS += -lintl endif ifeq ($(BR2_PACKAGE_LIBTIRPC),y) QUOTA_DEPENDENCIES += libtirpc QUOTA_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc/ -QUOTA_LDFLAGS += -ltirpc +QUOTA_LIBS += -ltirpc endif -QUOTA_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LDFLAGS="$(QUOTA_LDFLAGS)" +QUOTA_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LIBS="$(QUOTA_LIBS)" QUOTA_CONF_ENV = \ - CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LDFLAGS="$(QUOTA_LDFLAGS)" + CFLAGS="$(QUOTA_CFLAGS) -D_GNU_SOURCE" LIBS="$(QUOTA_LIBS)" # Package uses autoconf but not automake. QUOTA_INSTALL_TARGET_OPTS = \