Browse Source

fix missing kernel-version in libc-dev packages, add PKG_OPTS nostaging for libc packages, to avoid cpio errors

Waldemar Brodkorb 10 years ago
parent
commit
9ea454f2ec

+ 5 - 7
mk/package.mk

@@ -106,9 +106,11 @@ build-all-pkgs: ${_IPKGS_COOKIE}
 # 7.) special package options $(PKG_OPTS)
 #     noscripts -> do not install scripts to $(STAGING_TARGET_DIR)/scripts
 #		  (needed for example for autoconf/automake)
-#     noremove -> do not remove files from $(STAGING_TARGET_DIR)/target while
+#     noremove -> do not remove files from $(STAGING_TARGET_DIR) while
 #                 cleaning (needed for toolchain packages like glibc)
+#     nostaging -> do not install files to $(STAGING_TARGET_DIR)
 #     dev -> create a development subpackage with headers and pkg-config files
+#     devonly -> create a development package only
 # should be package format independent and modular in the future
 define PKG_template
 ALL_PKGOPTS+=	$(1)
@@ -249,16 +251,13 @@ ifeq (,$(filter noremove,$(7)))
 	fi
 endif
 	@rm -f '$${STAGING_PKG_DIR}/$(1)'
+ifeq (,$(filter nostaging,$(7)))
 	-@cd $${IDIR_$(1)}; \
 	    x=$$$$(find tmp var -mindepth 1 2>/dev/null); if [[ -n $$$$x ]]; then \
 		echo 'WARNING: $${IPKG_$(1)} installs files into a' \
 		    'ramdisk location:' >&2; \
 		echo "$$$$x" | sed 's/^/- /' >&2; \
 	    fi; \
-	    if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" ];then \
-	    find lib \( -name lib\*.so\* -o -name lib\*.a \) \
-	    	-exec echo 'WARNING: $${IPKG_$(1)} installs files in /lib -' \
-		' fix this!' >&2 \; -quit 2>/dev/null; fi; \
 	    find usr ! -type d 2>/dev/null | \
 	    grep -E -v -e '^usr/lib/pkgconfig' -e '^usr/share' -e '^usr/doc' -e '^usr/src' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config' | \
 	    tee '$${STAGING_PKG_DIR}/$(1)' | \
@@ -268,6 +267,7 @@ endif
 		chmod u+w $$$$fn; \
 		$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_TARGET_DIR)/usr/lib,g" $$$$fn; \
 	done
+endif
 ifeq (,$(filter noscripts,$(7)))
 	@cd '$${STAGING_TARGET_DIR}'; grep 'usr/s*bin/' \
 	    '$${STAGING_PKG_DIR}/$(1)' | \
@@ -280,14 +280,12 @@ ifeq (,$(filter noscripts,$(7)))
 	done
 endif
 
-ifeq (,$(filter libonly,$(7)))
 ifeq (,$(filter devonly,$(7)))
 	$${PKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE)
 ifneq ($(ADK_DEBUG),y)
 	$${PKG_BUILD} $${IDIR_$(1)_DBG} $${PACKAGE_DIR} $(MAKE_TRACE)
 endif
 endif
-endif
 ifneq (,$(filter dev,$(7)))
 	$${PKG_BUILD} $${IDIR_$(1)_DEV} $${PACKAGE_DIR} $(MAKE_TRACE)
 endif

+ 2 - 6
mk/pkg-bottom.mk

@@ -134,9 +134,7 @@ ifneq ($(filter manual,${INSTALL_STYLE}),)
 else ifeq ($(strip ${INSTALL_STYLE}),)
 	cd ${WRKBUILD} && env ${MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
 	    DESTDIR='${WRKINST}' ${FAKE_FLAGS} ${INSTALL_TARGET} $(MAKE_TRACE)
-ifeq (,$(filter libonly,${PKG_OPTS}))
 	env ${MAKE_ENV} ${MAKE} post-install $(MAKE_TRACE)
-endif
 else
 	@echo "Invalid INSTALL_STYLE '${INSTALL_STYLE}'" >&2
 	@exit 1
@@ -183,11 +181,8 @@ ifneq (,$(filter dev,${PKG_OPTS}))
 		chmod 755 $(WRKDIR)/fake-${ADK_TARGET_CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin/$$(basename $$a); \
 	done
 endif
+ifeq (,$(filter nostaging,${PKG_OPTS}))
 	@-cd ${WRKINST}; \
-	    if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" -a "${PKG_NAME}" != "tzdata" ];then \
-	    find lib \( -name lib\*.so\* -o -name lib\*.a \) \
-	    	-exec echo 'WARNING: ${PKG_NAME} installs files in /lib -' \
-		' fix this!' >&2 \; -quit 2>/dev/null; fi;\
 	    find usr ! -type d 2>/dev/null | \
 	    grep -E -v -e '^usr/lib/pkgconfig' -e '^usr/share' -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config*' -e '^/usr/lib/libpthread_nonshared.a' | \
 	    tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \
@@ -197,6 +192,7 @@ endif
 		chmod u+w $$fn; \
 		$(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_TARGET_DIR)/usr/lib,g" $$fn; \
 	done
+endif
 ifeq (,$(filter noscripts,${PKG_OPTS}))
 	@cd '${STAGING_TARGET_DIR}'; grep 'usr/s*bin/' \
 	    '${STAGING_PKG_DIR}/${PKG_NAME}' | \

+ 2 - 1
package/glibc/Makefile

@@ -2,12 +2,13 @@
 # material, please see the LICENCE file in the top-level directory.
 
 include $(TOPDIR)/rules.mk
+include $(TOPDIR)/mk/kernel-ver.mk
 include $(TOPDIR)/toolchain/glibc/Makefile.inc
 
 PKG_NAME:=		glibc
 PKG_DESCR:=		gnu c library
 PKG_SECTION:=		base/libs
-PKG_OPTS:=		noremove
+PKG_OPTS:=		noremove nostaging
 PKG_SUBPKGS:=		GLIBC GLIBC_DEV
 
 NO_DISTFILES:=		1

+ 1 - 1
package/libpthread/Makefile

@@ -16,7 +16,7 @@ endif
 PKG_NAME:=		libpthread
 PKG_DESCR:=		posix threading library
 PKG_SECTION:=		libs/misc
-PKG_OPTS:=		noremove
+PKG_OPTS:=		noremove nostaging
 
 NO_DISTFILES:=		1
 

+ 2 - 1
package/libstdcxx/Makefile

@@ -16,11 +16,12 @@ endif
 PKG_NAME:=		libstdcxx
 PKG_DESCR:=		c++ support library
 PKG_SECTION:=		libs/misc
+PKG_OPTS:=		nostaging
 NO_DISTFILES:=		1
 
 include ${TOPDIR}/mk/package.mk
 
-$(eval $(call PKG_template,LIBSTDCXX,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBSTDCXX,libstdcxx,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
 CONFIG_STYLE:=		manual
 BUILD_STYLE:=		manual

+ 2 - 1
package/musl/Makefile

@@ -2,12 +2,13 @@
 # material, please see the LICENCE file in the top-level directory.
 
 include $(TOPDIR)/rules.mk
+include $(TOPDIR)/mk/kernel-ver.mk
 include $(TOPDIR)/toolchain/musl/Makefile.inc
 
 PKG_NAME:=		musl
 PKG_DESCR:=		embedded C library
 PKG_SECTION:=		base/libs
-PKG_OPTS:=		noremove
+PKG_OPTS:=		noremove nostaging
 
 PKG_SUBPKGS:=		MUSL MUSL_DEV
 PKGSD_MUSL_DEV:=	development files for musl

+ 2 - 1
package/uclibc/Makefile

@@ -2,12 +2,13 @@
 # material, please see the LICENCE file in the top-level directory.
 
 include $(TOPDIR)/rules.mk
+include $(TOPDIR)/mk/kernel-ver.mk
 include $(TOPDIR)/toolchain/uclibc/Makefile.inc
 
 PKG_NAME:=		uClibc
 PKG_DESCR:=		embedded c library
 PKG_SECTION:=		base/libs
-PKG_OPTS:=		noremove
+PKG_OPTS:=		noremove nostaging
 
 PKG_SUBPKGS:=		UCLIBC UCLIBC_DEV
 PKGSD_UCLIBC_DEV:=	development files for uclibc