From 92fc59e59c89a7d37a103b773cd724ff261fc236 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 23 Sep 2009 19:05:07 +0200 Subject: add a BUG list, refresh TODO --- BUGS | 2 ++ TODO | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 BUGS diff --git a/BUGS b/BUGS new file mode 100644 index 000000000..3a0b24dff --- /dev/null +++ b/BUGS @@ -0,0 +1,2 @@ +- openssh on amd64 does not work, ssh-keygen endless loop +- uclibc on lemote mips64 target does not work (only uclibc-trunk with patches) diff --git a/TODO b/TODO index 1bc7559b0..09aa69915 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,7 @@ +- cleanup dots in menu (script is in test phase) +- rpm package backend +- ALSA updates +- port htop software - stripping of kernel is not working for all targets - implement a non-interactive allmodconfig for different targets (make TARGET=foo defconfig allmodconfig) -- cgit v1.2.3 From c10cfe023e220187943751f9eb9afce75486171e Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 23 Sep 2009 21:28:52 +0200 Subject: fix dropbear startup, add mips64 qemu bug notice --- BUGS | 1 + package/dropbear/files/dropbear.postinst | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/BUGS b/BUGS index 3a0b24dff..f08dabec5 100644 --- a/BUGS +++ b/BUGS @@ -1,2 +1,3 @@ - openssh on amd64 does not work, ssh-keygen endless loop - uclibc on lemote mips64 target does not work (only uclibc-trunk with patches) +- qemu-mips64* targets does not boot, kernel problem? diff --git a/package/dropbear/files/dropbear.postinst b/package/dropbear/files/dropbear.postinst index 1e45f3924..b09c34147 100644 --- a/package/dropbear/files/dropbear.postinst +++ b/package/dropbear/files/dropbear.postinst @@ -1,3 +1,3 @@ #!/bin/sh . $IPKG_INSTROOT/etc/functions.sh -add_rcconf '"NO" to disable' dropbear_flags "" +add_rcconf '"NO" to disable' dropbear_flags " " -- cgit v1.2.3 From bb813d480b00ed42f1e59b760b6433f4ad96bcde Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 23 Sep 2009 22:05:04 +0200 Subject: install hostpython to STAGIND_DIR for further usage --- package/python/Makefile | 11 ++++++----- package/python/patches/patch-Makefile_pre_in | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package/python/Makefile b/package/python/Makefile index e0df5d9e4..a602c6706 100644 --- a/package/python/Makefile +++ b/package/python/Makefile @@ -20,8 +20,8 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,PYTHON,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) MAKE_ENV+= OPT="$(TARGET_CFLAGS)" \ - HOSTPYTHON=./hostpython \ - HOSTPGEN=./hostpgen \ + HOSTPYTHON=hostpython \ + HOSTPGEN=hostpgen \ CROSS_COMPILE=yes CONFIGURE_STYLE:= gnu @@ -39,9 +39,10 @@ pre-configure: --prefix=$(STAGING_TOOLS) \ ); $(MAKE) -C ${WRKBUILD} python Parser/pgen - (cd $(WRKBUILD);mv Parser/pgen hostpgen) - ${CP} ${WRKBUILD}/python ${WRKBUILD}/hostpython - $(MAKE) -C ${WRKBUILD} HOSTPYTHON="./hostpython" sharedmods install + ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/hostpgen + ${CP} ${WRKBUILD}/python ${STAGING_TOOLS}/bin/hostpython + PATH='${TARGET_PATH}' \ + $(MAKE) -C ${WRKBUILD} HOSTPYTHON="hostpython" sharedmods install $(MAKE) -C ${WRKBUILD} distclean post-install: diff --git a/package/python/patches/patch-Makefile_pre_in b/package/python/patches/patch-Makefile_pre_in index bbf50fb57..ac6c129ee 100644 --- a/package/python/patches/patch-Makefile_pre_in +++ b/package/python/patches/patch-Makefile_pre_in @@ -1,5 +1,5 @@ --- Python-3.1.1.orig/Makefile.pre.in 2009-06-12 00:54:11.000000000 +0200 -+++ Python-3.1.1/Makefile.pre.in 2009-09-16 21:36:12.000000000 +0200 ++++ Python-3.1.1/Makefile.pre.in 2009-09-23 21:48:18.000000000 +0200 @@ -177,6 +177,7 @@ LIBOBJS= @LIBOBJS@ PYTHON= python$(EXE) @@ -38,8 +38,8 @@ @case $$MAKEFLAGS in \ - *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \ - *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ -+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \ -+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ ++ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \ ++ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ esac # Build static library -- cgit v1.2.3 From f53612bc7414c0d9e4700f957d6a1a1742574c67 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 28 Sep 2009 19:46:42 +0200 Subject: fix cross-compile at least from x86 to x86_64 --- package/python/Makefile | 18 +++--- package/python/patches/patch-Makefile_pre_in | 11 +++- package/python/patches/patch-setup_py | 83 ++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 9 deletions(-) create mode 100644 package/python/patches/patch-setup_py diff --git a/package/python/Makefile b/package/python/Makefile index a602c6706..d80b3a05a 100644 --- a/package/python/Makefile +++ b/package/python/Makefile @@ -15,18 +15,20 @@ PKG_SITES:= http://www.python.org/ftp/python/3.1.1/ DISTFILES= Python-${PKG_VERSION}.tgz WRKDIST= ${WRKDIR}/Python-${PKG_VERSION} +DISMOD:= readline _curses _curses_panel _tkinter nis + include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,PYTHON,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) MAKE_ENV+= OPT="$(TARGET_CFLAGS)" \ - HOSTPYTHON=hostpython \ - HOSTPGEN=hostpgen \ - CROSS_COMPILE=yes + HOSTPYTHON=./hostpython \ + HOSTPGEN=./Parser/hostpgen \ + PYTHON_DISABLE_MODULES="$(DISMOD)" CONFIGURE_STYLE:= gnu CONFIGURE_ENV+= OPT="$(TARGET_CFLAGS)" -CONFGIURE_ARGS:= --with-threads \ +CONFIGURE_ARGS:= --with-threads \ --with-system-ffi \ --without-cxx-main BUILD_STYLE:= auto @@ -39,10 +41,10 @@ pre-configure: --prefix=$(STAGING_TOOLS) \ ); $(MAKE) -C ${WRKBUILD} python Parser/pgen - ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/hostpgen - ${CP} ${WRKBUILD}/python ${STAGING_TOOLS}/bin/hostpython - PATH='${TARGET_PATH}' \ - $(MAKE) -C ${WRKBUILD} HOSTPYTHON="hostpython" sharedmods install + ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/pgen + ${CP} ${WRKBUILD}/python ${STAGING_TOOLS}/bin/python + ${CP} ${WRKBUILD}/Parser/pgen ${WRKBUILD}/Parser/hostpgen + ${CP} ${WRKBUILD}/python ${WRKBUILD}/hostpython $(MAKE) -C ${WRKBUILD} distclean post-install: diff --git a/package/python/patches/patch-Makefile_pre_in b/package/python/patches/patch-Makefile_pre_in index ac6c129ee..00504cb16 100644 --- a/package/python/patches/patch-Makefile_pre_in +++ b/package/python/patches/patch-Makefile_pre_in @@ -1,5 +1,14 @@ --- Python-3.1.1.orig/Makefile.pre.in 2009-06-12 00:54:11.000000000 +0200 -+++ Python-3.1.1/Makefile.pre.in 2009-09-23 21:48:18.000000000 +0200 ++++ Python-3.1.1/Makefile.pre.in 2009-09-28 19:01:13.167748736 +0200 +@@ -52,7 +52,7 @@ INSTALL_DATA= @INSTALL_DATA@ + # Shared libraries must be installed with executable mode on some systems; + # rather than figuring out exactly which, we always give them executable mode. + # Also, making them read-only seems to be a good idea... +-INSTALL_SHARED= ${INSTALL} -m 555 ++INSTALL_SHARED= ${INSTALL} -m 755 + + MAKESETUP= $(srcdir)/Modules/makesetup + @@ -177,6 +177,7 @@ LIBOBJS= @LIBOBJS@ PYTHON= python$(EXE) diff --git a/package/python/patches/patch-setup_py b/package/python/patches/patch-setup_py new file mode 100644 index 000000000..c9f3dfe08 --- /dev/null +++ b/package/python/patches/patch-setup_py @@ -0,0 +1,83 @@ +--- Python-3.1.1.orig/setup.py 2009-08-12 20:39:44.000000000 +0200 ++++ Python-3.1.1/setup.py 2009-09-28 19:12:33.550271196 +0200 +@@ -255,36 +255,6 @@ class PyBuildExt(build_ext): + # cached. Clear that cache before trying to import. + sys.path_importer_cache.clear() + +- try: +- imp.load_dynamic(ext.name, ext_filename) +- except ImportError as why: +- self.failed.append(ext.name) +- self.announce('*** WARNING: renaming "%s" since importing it' +- ' failed: %s' % (ext.name, why), level=3) +- assert not self.inplace +- basename, tail = os.path.splitext(ext_filename) +- newname = basename + "_failed" + tail +- if os.path.exists(newname): +- os.remove(newname) +- os.rename(ext_filename, newname) +- +- # XXX -- This relies on a Vile HACK in +- # distutils.command.build_ext.build_extension(). The +- # _built_objects attribute is stored there strictly for +- # use here. +- # If there is a failure, _built_objects may not be there, +- # so catch the AttributeError and move on. +- try: +- for filename in self._built_objects: +- os.remove(filename) +- except AttributeError: +- self.announce('unable to remove files (ignored)') +- except: +- exc_type, why, tb = sys.exc_info() +- self.announce('*** WARNING: importing extension "%s" ' +- 'failed with %s: %s' % (ext.name, exc_type, why), +- level=3) +- self.failed.append(ext.name) + + def get_platform(self): + # Get value of sys.platform +@@ -295,8 +265,8 @@ class PyBuildExt(build_ext): + + def detect_modules(self): + # Ensure that /usr/local is always used +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') +- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +@@ -332,20 +302,22 @@ class PyBuildExt(build_ext): + for directory in reversed(options.dirs): + add_dir_to_list(dir_list, directory) + +- if os.path.normpath(sys.prefix) != '/usr': +- add_dir_to_list(self.compiler.library_dirs, +- sysconfig.get_config_var("LIBDIR")) +- add_dir_to_list(self.compiler.include_dirs, +- sysconfig.get_config_var("INCLUDEDIR")) ++ #if os.path.normpath(sys.prefix) != '/usr': ++ # add_dir_to_list(self.compiler.library_dirs, ++ # sysconfig.get_config_var("LIBDIR")) ++ # add_dir_to_list(self.compiler.include_dirs, ++ # sysconfig.get_config_var("INCLUDEDIR")) + + # lib_dirs and inc_dirs are used to search for files; + # if a file is found in one of those directories, it can + # be assumed that no additional -I,-L directives are needed. +- lib_dirs = self.compiler.library_dirs + [ +- '/lib64', '/usr/lib64', +- '/lib', '/usr/lib', +- ] +- inc_dirs = self.compiler.include_dirs + ['/usr/include'] ++ #lib_dirs = self.compiler.library_dirs + [ ++ # '/lib64', '/usr/lib64', ++ # '/lib', '/usr/lib', ++ # ] ++ #inc_dirs = self.compiler.include_dirs + ['/usr/include'] ++ inc_dirs = self.compiler.include_dirs ++ lib_dirs = self.compiler.library_dirs + exts = [] + missing = [] + -- cgit v1.2.3 From 71c91ce903a90de852b5d66a27a673ff6e785cee Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 29 Sep 2009 20:13:11 +0200 Subject: fix some eglibc adk buildsystem problems --- mk/package.mk | 2 +- package/Depends.mk | 4 ++-- package/bzip2/Makefile | 1 + package/eglibc/Makefile | 12 ++++++++---- package/eglibc/files/libc.so.x86_64 | 5 +++++ package/gcc/Makefile | 1 + package/libpthread/Makefile | 6 +++++- package/microperl/files/uconfig.h.x86_64 | 4 ++-- package/ncurses/Makefile | 2 +- toolchain/gcc/patches/no-lib64.patch | 2 +- 10 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 package/eglibc/files/libc.so.x86_64 diff --git a/mk/package.mk b/mk/package.mk index c28f22a7c..a9339b811 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -196,7 +196,7 @@ endif '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" ];then \ + if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libthread-db" ];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; \ diff --git a/package/Depends.mk b/package/Depends.mk index 02cf03427..0be553ba7 100644 --- a/package/Depends.mk +++ b/package/Depends.mk @@ -52,7 +52,7 @@ git-compile: openssl-compile curl-compile expat-compile gkrellmd-compile: glib-compile glib-compile: gettext-compile libiconv-compile gmediaserver-compile: id3lib-compile libupnp-compile -gnutls-compile: libgcrypt-compile liblzo-compile libtasn1-compile opencdk-compile zlib-compile +gnutls-compile: libgcrypt-compile liblzo-compile libtasn1-compile opencdk-compile zlib-compile ncurses-compile ifeq (${ADK_COMPILE_GPSD_WITH_UCLIBCXX},y) gpsd-compile: uclibc++-compile endif @@ -105,7 +105,7 @@ libtirpc-compile: libgssglue-compile endif libtorrent-compile: openssl-compile libsigc++-compile libvorbis-compile: libogg-compile -libvirt-compile: libxml2-compile gnutls-compile +libvirt-compile: libxml2-compile gnutls-compile python-compile libfontenc-compile: xproto-compile zlib-compile libICE-compile: xtrans-compile libSM-compile: libICE-compile diff --git a/package/bzip2/Makefile b/package/bzip2/Makefile index e5c690ea7..62ac57e50 100644 --- a/package/bzip2/Makefile +++ b/package/bzip2/Makefile @@ -16,6 +16,7 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,BZIP2,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +TCFLAGS+= -fPIC XAKE_FLAGS+= PREFIX=${WRKINST}/usr BUILD_STYLE:= auto INSTALL_STYLE:= auto diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile index d9c4cad1e..ea271f4b6 100644 --- a/package/eglibc/Makefile +++ b/package/eglibc/Makefile @@ -44,19 +44,23 @@ do-extract: # do nothing, eglibc is already build in toolchain directory do-install: - ${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc + ${INSTALL_DIR} $(IDIR_EGLIBC)/lib $(IDIR_EGLIBC)/etc $(IDIR_EGLIBC)/usr/lib # install /etc/localtime from host system (FIXME) ${CP} /etc/localtime $(IDIR_EGLIBC)/etc ifeq ($(ADK_SSP),y) $(CP) $(STAGING_DIR)/lib/libssp.so* $(IDIR_EGLIBC)/lib/ endif + $(CP) $(STAGING_DIR)/lib/ld-* $(IDIR_EGLIBC)/lib/ $(CP) $(STAGING_DIR)/lib/libgcc_s.so* $(IDIR_EGLIBC)/lib/ - -for file in libc ld libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \ + -for file in libc libcrypt libdl libm libresolv librt libutil libnss_compat libnss_dns libnss_files; do \ $(CP) $(STAGING_DIR)/lib/$$file.so* $(IDIR_EGLIBC)/lib/; \ $(CP) $(STAGING_DIR)/lib/$$file-$(PKG_VERSION).so $(IDIR_EGLIBC)/lib/; \ done - # create ld.so link for x86 linker and gcc - cd $(IDIR_EGLIBC)/lib && ln -sf ld-$(PKG_VERSION).so ld-linux.so.2 + # install linker script + -cp ./files/libc.so.$(CPU_ARCH) $(IDIR_EGLIBC)/usr/lib/libc.so + cd $(IDIR_EGLIBC)/lib && ln -sf libm.so.6 libm.so + cd $(IDIR_EGLIBC)/lib && ln -sf libutil.so.1 libutil.so + cd $(IDIR_EGLIBC)/lib && ln -sf librt.so.1 librt.so # header package $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \ INSTALL_HDR_PATH=$(IDIR_EGLIBC_DEV)/usr \ diff --git a/package/eglibc/files/libc.so.x86_64 b/package/eglibc/files/libc.so.x86_64 new file mode 100644 index 000000000..a2e2de87f --- /dev/null +++ b/package/eglibc/files/libc.so.x86_64 @@ -0,0 +1,5 @@ +/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ + OUTPUT_FORMAT(elf64-x86-64) + GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-x86-64.so.2 ) ) diff --git a/package/gcc/Makefile b/package/gcc/Makefile index 813a8241f..6c28e0f4c 100644 --- a/package/gcc/Makefile +++ b/package/gcc/Makefile @@ -46,6 +46,7 @@ ifeq ($(ADK_TARGET_LIB_UCLIBC),y) ${CP} ${STAGING_DIR}/lib/crt* ${IDIR_GCC}/usr/lib else ${CP} ${STAGING_DIR}/usr/lib/crt* ${IDIR_GCC}/usr/lib + ${CP} ${STAGING_DIR}/usr/lib/libc_nonshared.a ${IDIR_GCC}/usr/lib endif rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools diff --git a/package/libpthread/Makefile b/package/libpthread/Makefile index 74b0ea865..a70697533 100644 --- a/package/libpthread/Makefile +++ b/package/libpthread/Makefile @@ -5,7 +5,11 @@ include ${TOPDIR}/rules.mk ifeq ($(ADK_TARGET_LIB_GLIBC),y) include ${TOPDIR}/toolchain/glibc/Makefile.inc -else +endif +ifeq ($(ADK_TARGET_LIB_EGLIBC),y) +include ${TOPDIR}/toolchain/eglibc/Makefile.inc +endif +ifeq ($(ADK_TARGET_LIB_UCLIBC),y) include ${TOPDIR}/toolchain/uClibc/Makefile.inc endif diff --git a/package/microperl/files/uconfig.h.x86_64 b/package/microperl/files/uconfig.h.x86_64 index 4ad2bc5c8..c5491c2b7 100644 --- a/package/microperl/files/uconfig.h.x86_64 +++ b/package/microperl/files/uconfig.h.x86_64 @@ -3865,13 +3865,13 @@ * This symbol, if defined, indicates that the strlcat () routine is * available to do string concatenation. */ -#define HAS_STRLCAT /**/ +/*#define HAS_STRLCAT /* */ /* HAS_STRLCPY: * This symbol, if defined, indicates that the strlcpy () routine is * available to do string copying. */ -#define HAS_STRLCPY /**/ +/*#define HAS_STRLCPY /* */ /* HAS_STRTOLD: * This symbol, if defined, indicates that the strtold routine is diff --git a/package/ncurses/Makefile b/package/ncurses/Makefile index c008f1917..db71137ce 100644 --- a/package/ncurses/Makefile +++ b/package/ncurses/Makefile @@ -38,7 +38,7 @@ CONFIGURE_ARGS+= --without-cxx \ --enable-const \ --enable-echo BUILD_STYLE= auto -INSTALL_STYLE= auto confprog +INSTALL_STYLE= auto ALL_TARGET:= libs INSTALL_TARGET:= install.libs install.data diff --git a/toolchain/gcc/patches/no-lib64.patch b/toolchain/gcc/patches/no-lib64.patch index 25ada0e4e..add17ecb8 100644 --- a/toolchain/gcc/patches/no-lib64.patch +++ b/toolchain/gcc/patches/no-lib64.patch @@ -6,7 +6,7 @@ diff -Nur gcc-4.4.1.orig/gcc/config/i386/linux64.h gcc-4.4.1/gcc/config/i386/lin #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" #undef ASM_SPEC #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \ -- cgit v1.2.3 From 01f827482883432131c465a8e7c2586b18cbb167 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 29 Sep 2009 20:21:30 +0200 Subject: add ifup/ifdown dirs --- package/base-files/extra/etc/network/if-down.d/.empty | 0 package/base-files/extra/etc/network/if-post-down.d/.empty | 0 package/base-files/extra/etc/network/if-pre-up.d/.empty | 0 package/base-files/extra/etc/network/if-up.d/.empty | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 package/base-files/extra/etc/network/if-down.d/.empty create mode 100644 package/base-files/extra/etc/network/if-post-down.d/.empty create mode 100644 package/base-files/extra/etc/network/if-pre-up.d/.empty create mode 100644 package/base-files/extra/etc/network/if-up.d/.empty diff --git a/package/base-files/extra/etc/network/if-down.d/.empty b/package/base-files/extra/etc/network/if-down.d/.empty new file mode 100644 index 000000000..e69de29bb diff --git a/package/base-files/extra/etc/network/if-post-down.d/.empty b/package/base-files/extra/etc/network/if-post-down.d/.empty new file mode 100644 index 000000000..e69de29bb diff --git a/package/base-files/extra/etc/network/if-pre-up.d/.empty b/package/base-files/extra/etc/network/if-pre-up.d/.empty new file mode 100644 index 000000000..e69de29bb diff --git a/package/base-files/extra/etc/network/if-up.d/.empty b/package/base-files/extra/etc/network/if-up.d/.empty new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3 From 7f46305c0aa9963be7b87489d52876916c8643e0 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 30 Sep 2009 19:03:23 +0200 Subject: fix tool dependency list add preliminary rpm backend support --- README | 4 +--- package/eglibc/Makefile | 1 + scripts/scan-pkgs.sh | 11 +++++++++++ scripts/scan-tools.sh | 32 -------------------------------- target/Config.in | 10 ++++++++-- 5 files changed, 21 insertions(+), 37 deletions(-) diff --git a/README b/README index 6922cd085..c7c09f684 100644 --- a/README +++ b/README @@ -16,9 +16,6 @@ Before you can start you need to install some tools: - bzip2 - cpio - wget -- flex -- bison -- gperf - file - unzip - autoconf @@ -26,6 +23,7 @@ Before you can start you need to install some tools: - zlib-dev / libz-dev - libncurses5-dev - libc-dev +- perl There is a check for the required versions of these tools in advance, though (to re-issue the checks, use "make prereq"). diff --git a/package/eglibc/Makefile b/package/eglibc/Makefile index ea271f4b6..3333f85dc 100644 --- a/package/eglibc/Makefile +++ b/package/eglibc/Makefile @@ -61,6 +61,7 @@ endif cd $(IDIR_EGLIBC)/lib && ln -sf libm.so.6 libm.so cd $(IDIR_EGLIBC)/lib && ln -sf libutil.so.1 libutil.so cd $(IDIR_EGLIBC)/lib && ln -sf librt.so.1 librt.so + cd $(IDIR_EGLIBC)/lib && ln -sf libcrypt.so.1 libcrypt.so # header package $(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/linux-$(KERNEL_VERSION) ARCH=$(ARCH) V=1 \ INSTALL_HDR_PATH=$(IDIR_EGLIBC_DEV)/usr \ diff --git a/scripts/scan-pkgs.sh b/scripts/scan-pkgs.sh index 69f2b1e3a..ad265d457 100644 --- a/scripts/scan-pkgs.sh +++ b/scripts/scan-pkgs.sh @@ -23,6 +23,10 @@ out=0 . $topdir/.config +if [[ -n $ADK_TARGET_PACKAGE_RPM ]]; then + NEED_RPM="$NEED_RPM rpm" +fi + if [[ -n $ADK_PACKAGE_ALSA_UTILS ]]; then NEED_XMLTO="$NEED_XMLTO alsa-utils" fi @@ -111,6 +115,13 @@ if [[ -n $ADK_USE_CCACHE ]]; then fi fi +if [[ -n $NEED_RPM ]]; then + if ! which rpmbuild >/dev/null 2>&1; then + echo >&2 You need rpmbuild to to use $NEED_RPM package backend + out=1 + fi +fi + #if [[ -n $ADK_COMPILE_MYSQL && $OStype != Linux ]]; then # echo >&2 mySQL does not build on non-GNU/Linux. # out=1 diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh index 29cdf0fef..d63391f66 100644 --- a/scripts/scan-tools.sh +++ b/scripts/scan-tools.sh @@ -107,38 +107,6 @@ if ! which cpp >/dev/null 2>&1; then out=1 fi -#if ! which flex >/dev/null 2>&1; then -# echo You must install flex to continue. -# echo -# out=1 -#else -# echo '%%' | flex - -# if fgrep _POSIX_SOURCE lex.yy.c; then -# echo Your lexer \(flex\) contains a broken skeleton. -# if [[ $NO_ERROR = 1 ]]; then -# echo WARNING: continue at your own risk. -# echo Some packages may be broken. -# else -# echo You can continue the build by issuing \'make prereq-noerror\' -# echo However, several packages may faild to build correctly. -# out=1 -# fi -# echo -# fi -#fi - -#if ! which bison >/dev/null 2>&1; then -# echo You must install GNU bison to continue. -# echo -# out=1 -#fi - -#if ! which gperf >/dev/null 2>&1; then -# echo You must install gperf to continue. -# echo -# out=1 -#fi - if ! which tar >/dev/null 2>&1; then echo You must install GNU tar to continue. echo diff --git a/target/Config.in b/target/Config.in index 2b7b3169c..6ee9430af 100644 --- a/target/Config.in +++ b/target/Config.in @@ -631,13 +631,19 @@ config ADK_TARGET_PACKAGE_IPKG prompt "ipkg package format" select BUSYBOX_IPKG help - Use ipkg package format. + Create ipkg packages. config ADK_TARGET_PACKAGE_TGZ boolean prompt "gzip compressed tar archive" help - Use simple compressed tar archive. + Create simple compressed tar archives. + +config ADK_TARGET_PACKAGE_RPM + boolean + prompt "rpm package format" + help + Create rpm binary packages. endchoice -- cgit v1.2.3 From 1d2ddabc7b9d0b63887058f6799c281cfa1f1370 Mon Sep 17 00:00:00 2001 From: Linux User Date: Thu, 1 Oct 2009 15:44:52 +0200 Subject: some native build fixes - git package needs a better fix. but existing symlinks are broken build without perl - update curl to latest upstream, including libcurl-dev package - add libopenssl-dev package --- mk/buildhlp.mk | 2 +- mk/package.mk | 24 +++++++++++++++++++----- package/Makefile | 2 ++ package/curl/Config.in | 14 +++++++++++--- package/curl/Makefile | 7 +++++-- package/curl/patches/patch-configure | 17 ++++++----------- package/git/Makefile | 5 +++-- package/git/patches/patch-Makefile | 27 +++++++++++++++++++-------- package/openssl/Makefile | 4 ++++ scripts/scan-pkgs.sh | 14 ++++++++++++++ 10 files changed, 84 insertions(+), 32 deletions(-) diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk index afad521e2..684801617 100644 --- a/mk/buildhlp.mk +++ b/mk/buildhlp.mk @@ -88,7 +88,7 @@ endif ${BASH} ${TOPDIR}/scripts/update-patches); \ if [[ -n $$toedit && $$toedit != FAIL ]]; then \ echo -n 'edit patches: '; read i; \ - cd patches && $${VISUAL:-$${EDITOR:-/usr/bin/vi}} $$toedit; \ + cd patches && $${VISUAL:-$${EDITOR:-vi}} $$toedit; \ fi; \ rm -rf ${WRKDIR}.orig; \ [[ $$toedit != FAIL ]] diff --git a/mk/package.mk b/mk/package.mk index a9339b811..64884e4b4 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -7,17 +7,23 @@ ifeq ($(ADK_STATIC),y) TCFLAGS:= ${TARGET_CFLAGS} -static TCXXFLAGS:= ${TARGET_CFLAGS} -static TCPPFLAGS:= ${TARGET_CPPFLAGS} -static +ifeq ($(ADK_NATIVE),y) +TCFLAGS:= +TCXXFLAGS:= +TCPPFLAGS:= +TLDFLAGS:= else TCFLAGS:= ${TARGET_CFLAGS} TCXXFLAGS:= ${TARGET_CFLAGS} TCPPFLAGS:= ${TARGET_CPPFLAGS} +TLDFLAGS:= ${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \ + -Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \ + -L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib +endif endif ifeq ($(ADK_DEBUG),) TCPPFLAGS+= -DNDEBUG endif -TLDFLAGS:= ${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \ - -Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \ - -L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib ifneq ($(ADK_DEBUG),) CONFIGURE_ARGS+= --enable-debug else @@ -30,7 +36,11 @@ CONFIGURE_ARGS+= --disable-ipv6 endif ifeq ($(ADK_NATIVE),y) - CONFIG_SHELL='$(strip ${SHELL})' +CONFIGURE_ENV+= CONFIG_SHELL='$(strip ${SHELL})' \ + CFLAGS='$(strip ${TCFLAGS})' \ + CXXFLAGS='$(strip ${TCXXFLAGS})' \ + CPPFLAGS='$(strip ${TCPPFLAGS})' \ + LDFLAGS='$(strip ${TLDFLAGS})' else CONFIGURE_ENV+= ${TARGET_CONFIGURE_OPTS} \ ${HOST_CONFIGURE_OPTS} \ @@ -59,7 +69,11 @@ INSTALL_TARGET?= install ifeq ($(ADK_NATIVE),y) MAKE_ENV+= \ WRKDIR='${WRKDIR}' WRKDIST='${WRKDIST}' \ - WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}' + WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}' \ + CFLAGS='$(strip ${TCFLAGS})' \ + CXXFLAGS='$(strip ${TCXXFLAGS})' \ + CPPFLAGS='$(strip ${TCPPFLAGS})' \ + LDFLAGS='$(strip ${TLDFLAGS})' else MAKE_ENV+= PATH='${TARGET_PATH}' \ ${HOST_CONFIGURE_OPTS} \ diff --git a/package/Makefile b/package/Makefile index c6c2d4114..401780da6 100644 --- a/package/Makefile +++ b/package/Makefile @@ -200,7 +200,9 @@ package-$(ADK_PACKAGE_LIBPCAP) += libpcap package-$(ADK_PACKAGE_LIBPCIACCESS) += libpciaccess package-$(ADK_PACKAGE_LIBPNG) += libpng package-$(ADK_PACKAGE_LIBPRI) += libpri +ifeq (${ADK_NATIVE},n) package-$(ADK_PACKAGE_LIBPTHREAD) += libpthread +endif package-$(ADK_COMPILE_LIBSHOUT) += libshout package-$(ADK_PACKAGE_LIBSIGCXX) += libsigc++ package-$(ADK_PACKAGE_LIBSTDCXX) += libstdcxx diff --git a/package/curl/Config.in b/package/curl/Config.in index b5d42ea1f..c9d34b5c8 100644 --- a/package/curl/Config.in +++ b/package/curl/Config.in @@ -11,16 +11,24 @@ config ADK_PACKAGE_LIBCURL select ADK_PACKAGE_LIBOPENSSL select ADK_PACKAGE_ZLIB help - A client-side URL transfer library. + http://curl.haxx.se/ +config ADK_PACKAGE_LIBCURL_DEV + prompt "libcurl-dev....................... development files for libcurl" + tristate + default n + depends on ADK_PACKAGE_LIBCURL + select ADK_COMPILE_CURL + select ADK_PACKAGE_LIBOPENSSL + select ADK_PACKAGE_ZLIB + help http://curl.haxx.se/ + config ADK_PACKAGE_CURL prompt "curl............................ A client-side URL transfer tool" tristate default n depends on ADK_PACKAGE_LIBCURL help - A client-side URL transfer tool. - http://curl.haxx.se/ diff --git a/package/curl/Makefile b/package/curl/Makefile index 078a940bf..a0e27d77c 100644 --- a/package/curl/Makefile +++ b/package/curl/Makefile @@ -4,9 +4,9 @@ include ${TOPDIR}/rules.mk PKG_NAME:= curl -PKG_VERSION:= 7.19.0 +PKG_VERSION:= 7.19.6 PKG_RELEASE:= 1 -PKG_MD5SUM:= 35f51ac7bcff689b2d2d6e38a3c4d1ae +PKG_MD5SUM:= 6625de9d42d1b8d3af372d3241a576fd PKG_DESCR:= a client-side URL transfer tool PKG_SECTION:= net PKG_URL:= http://curl.haxx.se @@ -26,6 +26,7 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,CURL,curl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,LIBCURL,libcurl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION_1})) +$(eval $(call PKG_template,LIBCURL_DEV,libcurl-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION_1})) CONFIGURE_STYLE= gnu CONFIGURE_ENV+= curl_typeof_curl_socklen_t=socklen_t @@ -54,7 +55,9 @@ INSTALL_STYLE= auto post-install: ${INSTALL_DIR} ${IDIR_CURL}/usr/bin ${IDIR_LIBCURL}/usr/lib + ${INSTALL_DIR} ${IDIR_LIBCURL_DEV}/usr/include/curl ${CP} ${WRKINST}/usr/bin/curl ${IDIR_CURL}/usr/bin/ ${CP} ${WRKINST}/usr/lib/libcurl.so.* ${IDIR_LIBCURL}/usr/lib/ + ${CP} ${WRKINST}/usr/include/curl/*.h ${IDIR_LIBCURL_DEV}/usr/include/curl/ include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/curl/patches/patch-configure b/package/curl/patches/patch-configure index d046721f0..3cb59e18e 100644 --- a/package/curl/patches/patch-configure +++ b/package/curl/patches/patch-configure @@ -1,21 +1,16 @@ -$Id$ - - Don't do *THAT* for cross-compiling. - ---- curl-7.16.3.orig/configure 2007-06-25 11:18:41.000000000 +0200 -+++ curl-7.16.3/configure 2007-08-02 17:44:28.000000000 +0200 -@@ -25783,17 +25783,6 @@ fi - +--- curl-7.19.6.orig/configure 2009-07-22 22:11:25.000000000 +0200 ++++ curl-7.19.6/configure 2009-10-01 14:05:37.578930054 +0200 +@@ -25479,16 +25479,6 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -- + - if test "$OPENSSL_ENABLED" = "1"; then - if test -n "$LIB_OPENSSL"; then - - LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL" - export LD_LIBRARY_PATH -- { echo "$as_me:$LINENO: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&5 --echo "$as_me: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&6;} +- { $as_echo "$as_me:$LINENO: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&5 +-$as_echo "$as_me: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&6;} - fi - fi - diff --git a/package/git/Makefile b/package/git/Makefile index db4082797..e02c9e669 100644 --- a/package/git/Makefile +++ b/package/git/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:= git PKG_VERSION:= 1.6.4.2 -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_MD5SUM:= d7732d13a227d89f05122d230c5c8048 PKG_DESCR:= fast version control system PKG_SECTION:= misc @@ -17,7 +17,8 @@ include $(TOPDIR)/mk/package.mk $(eval $(call PKG_template,GIT,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -TCFLAGS+= -DNO_NSEC -DNO_TCLTK -DNO_PERL +MAKE_ENV+= NO_PERL=1 NO_NSEC=1 NO_TCLTK=1 +XAKE_FLAGS+= V=1 CONFIGURE_STYLE:= gnu CONFIGURE_ENV+= ac_cv_c_c99_format=yes \ ac_cv_fread_reads_directories=no \ diff --git a/package/git/patches/patch-Makefile b/package/git/patches/patch-Makefile index c0e2e28ce..172f4c882 100644 --- a/package/git/patches/patch-Makefile +++ b/package/git/patches/patch-Makefile @@ -1,24 +1,35 @@ ---- git-1.6.4.1.orig/Makefile 2009-08-22 06:54:01.000000000 +0200 -+++ git-1.6.4.1/Makefile 2009-08-23 12:11:07.755226105 +0200 -@@ -1345,7 +1345,6 @@ builtin-help.o: builtin-help.c common-cm +--- git-1.6.4.2.orig/Makefile 2009-08-29 23:58:52.000000000 +0200 ++++ git-1.6.4.2/Makefile 2009-10-01 15:36:20.567802008 +0200 +@@ -212,8 +212,8 @@ uname_V := $(shell sh -c 'uname -v 2>/de + + # CFLAGS and LDFLAGS are for the users to override from the command line. + +-CFLAGS = -g -O2 -Wall +-LDFLAGS = ++CFLAGS ?= -g -O2 -Wall ++LDFLAGS ?= + ALL_CFLAGS = $(CFLAGS) + ALL_LDFLAGS = $(LDFLAGS) + STRIP ?= strip +@@ -1345,8 +1345,6 @@ builtin-help.o: builtin-help.c common-cm $(BUILT_INS): git$X $(QUIET_BUILT_IN)$(RM) $@ && \ - ln git$X $@ 2>/dev/null || \ - ln -s git$X $@ 2>/dev/null || \ +- ln -s git$X $@ 2>/dev/null || \ cp git$X $@ -@@ -1663,11 +1662,11 @@ endif + common-cmds.h: ./generate-cmdlist.sh command-list.txt +@@ -1663,12 +1661,9 @@ endif { test "$$bindir/" = "$$execdir/" || \ { $(RM) "$$execdir/git$X" && \ test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \ - ln "$$bindir/git$X" "$$execdir/git$X" 2>/dev/null || \ -+ ln -s "$$bindir/git$X" "$$execdir/git$X" 2>/dev/null || \ cp "$$bindir/git$X" "$$execdir/git$X"; } ; } && \ { for p in $(BUILT_INS); do \ $(RM) "$$execdir/$$p" && \ - ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \ -+ ln -s "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \ - ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \ +- ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \ cp "$$execdir/git$X" "$$execdir/$$p" || exit; \ done; } && \ + ./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X" diff --git a/package/openssl/Makefile b/package/openssl/Makefile index fa93afd82..5afcec4ed 100644 --- a/package/openssl/Makefile +++ b/package/openssl/Makefile @@ -19,10 +19,12 @@ PKG_SITES:= http://www.openssl.org/source/ \ PKG_DESCR_UTIL:= OpenSSL (Secure Socket Layer) command line tool PKG_SECTION_UTIL:= admin PKG_DEPENDS_UTIL:= libopenssl +PKG_DEPENDS_DEV:= libopenssl include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,LIBOPENSSL,libopenssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,LIBOPENSSL_DEV,libopenssl-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_DEV},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_UTIL},${PKG_DESCR_UTIL},${PKG_SECTION_UTIL})) BUILD_STYLE:= manual @@ -67,5 +69,7 @@ post-install: ${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/etc/ssl/{,certs,private} ${CP} ${WRKSRC}/apps/openssl.cnf ${IDIR_OPENSSL_UTIL}/etc/ssl/ chmod 0700 ${IDIR_OPENSSL_UTIL}/etc/ssl/private + ${INSTALL_DIR} ${IDIR_LIBOPENSSL_DEV}/usr/include + ${CP} ${WRKINST}/usr/include/* ${IDIR_LIBOPENSSL_DEV}/usr/include include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/scripts/scan-pkgs.sh b/scripts/scan-pkgs.sh index 69f2b1e3a..1faaeaeb8 100644 --- a/scripts/scan-pkgs.sh +++ b/scripts/scan-pkgs.sh @@ -23,6 +23,13 @@ out=0 . $topdir/.config +if [[ -n $ADK_NATIVE ]];then + if [[ -n $ADK_PACKAGE_GIT ]];then + NEED_CURLDEV="$NEED_CURLDEV git" + NEED_SSLDEV="$NEED_SSLDEV git" + fi +fi + if [[ -n $ADK_PACKAGE_ALSA_UTILS ]]; then NEED_XMLTO="$NEED_XMLTO alsa-utils" fi @@ -60,6 +67,13 @@ if [[ -n $NEED_GETTEXT ]]; then fi fi +if [[ -n $NEED_CURLDEV ]];then + if ! test -f /usr/include/curl/curl.h >/dev/null; then + echo >&2 You need curl headers to build $NEED_CURLDEV + out=1 + fi +fi + if [[ -n $NEED_SSLDEV ]]; then if ! test -f /usr/lib/pkgconfig/openssl.pc >/dev/null; then if ! test -f /usr/include/openssl/ssl.h >/dev/null; then -- cgit v1.2.3 From 8759fa511c0464efaea926dcb1271c0ca95e4eb6 Mon Sep 17 00:00:00 2001 From: Linux User Date: Thu, 1 Oct 2009 20:26:05 +0200 Subject: abstract package backend, add perl --- mk/build.mk | 13 ++++++++---- mk/kernel-build.mk | 16 +++++++------- mk/kernel.mk | 9 ++++---- mk/package.mk | 23 +++++++------------- mk/vars.mk | 23 +++++++++++++------- package/Config.in | 1 + package/Makefile | 3 ++- package/busybox/config/coreutils/Config.in | 4 ++-- package/perl/Config.in | 8 +++++++ package/perl/Makefile | 34 ++++++++++++++++++++++++++++++ scripts/tarpkg | 24 +++++++++++++++++++++ target/Config.in | 7 ++++++ target/native/Makefile | 1 + target/native/device.mk | 2 +- 14 files changed, 125 insertions(+), 43 deletions(-) create mode 100644 package/perl/Config.in create mode 100644 package/perl/Makefile create mode 100755 scripts/tarpkg diff --git a/mk/build.mk b/mk/build.mk index d4cfab8c8..c3795b404 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -16,7 +16,9 @@ noconfig_targets:= menuconfig \ _mconfig \ tags -MAKECLEAN_SYMBOLS= ADK_TARGET_LIB_UCLIBC ADK_TARGET_LIB_GLIBC ADK_SSP \ +MAKECLEAN_SYMBOLS= ADK_TARGET_LIB_UCLIBC \ + ADK_TARGET_LIB_GLIBC \ + ADK_TARGET_LIB_ECLIBC \ ADK_IPV6 ADK_CXX ADK_DEBUG POSTCONFIG= -@\ if [ -f .config.old ];then \ @@ -66,8 +68,10 @@ endif endif package_index: +ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) -cd ${PACKAGE_DIR} && \ ${BASH} ${TOPDIR}/scripts/ipkg-make-index.sh . >Packages +endif $(DISTDIR): mkdir -p $(DISTDIR) @@ -120,6 +124,7 @@ switch: root_clean: @$(TRACE) root_clean rm -rf $(TARGET_DIR) + mkdir -p $(TARGET_DIR) # Do a per-package clean here, too. This way stale headers and # libraries from cross_*/target/ get wiped away, which keeps @@ -130,11 +135,11 @@ clean: @$(TRACE) clean $(MAKE) -C $(CONFIG) clean for d in ${STAGING_PARENT_PFX}; do \ - echo "clean: entering $$d" ; \ + #echo "clean: entering $$d" ; \ for f in $$(ls $$d/pkg/[a-z]* 2>/dev/null); do \ - echo "clean: cleaning for $$f" ; \ + #echo "clean: cleaning for $$f" ; \ while read file ; do \ - rm $$d/target/$$file ; \ + rm $$d/target/$$file 2>/dev/null; \ done < $$f ; \ rm $$f ; \ done \ diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index b9b2d9b9b..b8dccfe84 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk include $(TOPDIR)/mk/linux.mk include ${TOPDIR}/mk/buildhlp.mk -KERNEL_IDIR:=$(LINUX_BUILD_DIR)/kernel-ipkg +KERNEL_PKGDIR:=$(LINUX_BUILD_DIR)/kernel-pkg KERNEL_MAKE_OPTS:= -C "${LINUX_DIR}" V=1 ifneq ($(ADK_NATIVE),y) @@ -41,23 +41,23 @@ $(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \ modules_install $(MAKE_TRACE) $(TRACE) target/$(DEVICE)-create-packages - $(MAKE) $(KERNEL_IPKG) $(TARGETS) + $(MAKE) $(KERNEL_PKG) $(TARGETS) touch -c $(LINUX_DIR)/vmlinux -$(KERNEL_IPKG): +$(KERNEL_PKG): $(TRACE) target/$(DEVICE)-create-kernel-package - rm -rf $(KERNEL_IDIR) - @mkdir -p $(KERNEL_IDIR)/etc - ${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh ${KERNEL_IDIR} \ + rm -rf $(KERNEL_PKGDIR) + @mkdir -p $(KERNEL_PKGDIR)/etc + ${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh ${KERNEL_PKGDIR} \ ../linux/kernel.control ${DEVICE}-${KERNEL_VERSION} ${CPU_ARCH} - $(IPKG_BUILD) $(KERNEL_IDIR) $(PACKAGE_DIR) $(MAKE_TRACE) + $(PKG_BUILD) $(KERNEL_PKGDIR) $(PACKAGE_DIR) $(MAKE_TRACE) prepare: compile: $(LINUX_DIR)/vmlinux install: compile ifneq ($(strip $(INSTALL_TARGETS)),) $(TRACE) target/${DEVICE}-modules-install - $(IPKG) install $(INSTALL_TARGETS) $(MAKE_TRACE) + $(PKG_INSTALL) $(INSTALL_TARGETS) $(MAKE_TRACE) endif clean: diff --git a/mk/kernel.mk b/mk/kernel.mk index f5b85832e..365cc12e6 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -9,8 +9,8 @@ KMOD_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR) TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR) -KERNEL_IPKG:=$(PACKAGE_DIR)/kernel_$(DEVICE)-$(KERNEL_VERSION)_$(CPU_ARCH).ipk -INSTALL_TARGETS:= $(KERNEL_IPKG) +KERNEL_PKG:=$(PACKAGE_DIR)/kernel_$(DEVICE)-$(KERNEL_VERSION)_$(CPU_ARCH).$(PKG_SUFFIX) +INSTALL_TARGETS:= $(KERNEL_PKG) NOINSTALL_TARGETS:= TARGETS:= @@ -32,7 +32,7 @@ define KMOD_template IDEPENDK_$(1):=kernel ($(DEVICE)-$(KERNEL_VERSION)) $(foreach pkg,$(5),", $(pkg)") -PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(DEVICE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE)_$(CPU_ARCH).ipk +PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(DEVICE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE)_$(CPU_ARCH).$(PKG_SUFFIX) I_$(1) := $(KMOD_BUILD_DIR)/ipkg/$(2) ifeq ($$(ADK_KPACKAGE_KMOD_$(1)),m) @@ -45,6 +45,7 @@ endif $$(PKG_$(1)): rm -rf $$(I_$(1)) + @mkdir -p $$(I_$(1)) echo "Package: kmod-$(2)" > $(LINUX_BUILD_DIR)/kmod-control/kmod-$(2).control echo "Priority: optional" >> $(LINUX_BUILD_DIR)/kmod-control/kmod-$(2).control echo "Section: sys" >> $(LINUX_BUILD_DIR)/kmod-control/kmod-$(2).control @@ -69,7 +70,7 @@ ifneq ($(4),) chmod 0755 $$(I_$(1))/CONTROL/postinst endif endif - $(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR) $(MAKE_TRACE) + $(PKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR) $(MAKE_TRACE) endef include $(BUILD_DIR)/.kernelconfig diff --git a/mk/package.mk b/mk/package.mk index 64884e4b4..f1a044683 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -1,7 +1,7 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -all: build-all-ipkgs +all: build-all-pkgs ifeq ($(ADK_STATIC),y) TCFLAGS:= ${TARGET_CFLAGS} -static @@ -119,7 +119,7 @@ build: ${_BUILD_COOKIE} fake: ${_FAKE_COOKIE} # our recursive build entry point -build-all-ipkgs: ${_IPKGS_COOKIE} +build-all-pkgs: ${_IPKGS_COOKIE} # there are some parameters to the PKG_template function # 1.) Config.in identifier ADK_PACKAGE_$(1) @@ -136,13 +136,13 @@ build-all-ipkgs: ${_IPKGS_COOKIE} # cleaning (needed for toolchain packages like glibc/eglibc) # should be package format independent and modular in the future define PKG_template -IPKG_$(1)= $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.ipk -IDIR_$(1)= $(WRKDIR)/fake-${CPU_ARCH}/ipkg-$(2) +IPKG_$(1)= $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.${PKG_SUFFIX} +IDIR_$(1)= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2) ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},) ALL_IPKGS+= $$(IPKG_$(1)) ALL_IDIRS+= $${IDIR_$(1)} endif -INFO_$(1)= $(IPKG_STATE_DIR)/info/$(2).list +INFO_$(1)= $(PKG_STATE_DIR)/info/$(2).list ifeq ($(ADK_PACKAGE_$(1)),y) install-targets: $$(INFO_$(1)) @@ -156,7 +156,6 @@ $$(IDIR_$(1))/CONTROL/control: ${_PATCH_COOKIE} @echo "Package: $(2)" > $(WRKDIR)/.$(2).control @echo "Section: $(6)" >> $(WRKDIR)/.$(2).control @echo "Description: $(5)" >> $(WRKDIR)/.$(2).control -ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) ${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh $${IDIR_$(1)} $${ICONTROL_$(1)} $(3) ${CPU_ARCH} @adeps='$$(strip $${IDEPEND_$(1)})'; if [[ -n $$$$adeps ]]; then \ comma=; \ @@ -176,7 +175,6 @@ ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) @for file in conffiles preinst postinst prerm postrm; do \ [ ! -f ./files/$(2).$$$$file ] || cp ./files/$(2).$$$$file $$(IDIR_$(1))/CONTROL/$$$$file; \ done -endif $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE} ifeq ($(ADK_DEBUG),) @@ -234,12 +232,7 @@ ifeq (,$(filter noscripts,$(7))) >>'$${STAGING_PARENT}/pkg/$(1)'; \ done endif -ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) - $${IPKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE) -endif -ifeq ($(ADK_TARGET_PACKAGE_TGZ),y) - (cd $${IDIR_$(1)} && tar czf $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.tar.gz .); -endif + $${PKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE) clean-targets: clean-dev-$(1) @@ -255,7 +248,7 @@ endif @rm -f '$${STAGING_PARENT}/pkg/$(1)' $$(INFO_$(1)): $$(IPKG_$(1)) - $(IPKG) install $$(IPKG_$(1)) + $(PKG_INSTALL) $$(IPKG_$(1)) endef install-targets: @@ -273,4 +266,4 @@ distclean: clean rm -f ${FULLDISTFILES} .PHONY: all refetch extract patch configure \ - build fake package install clean build-all-ipkgs + build fake package install clean build-all-pkgs diff --git a/mk/vars.mk b/mk/vars.mk index 63130507f..45975779f 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -69,17 +69,24 @@ HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${HOSTCC}' \ CPPFLAGS_FOR_BUILD='${HOSTCPPFLAGS}' \ LDFLAGS_FOR_BUILD='${HOSTLDFLAGS}' -# invoke ipkg-build with some default options -IPKG_BUILD:= PATH='${TARGET_PATH}' ${BASH} \ - ${TOPDIR}/scripts/ipkg-build -c -o 0 -g 0 -# where to build (and put) .ipk packages -IPKG_TARGET_DIR:= $(PACKAGE_DIR) -IPKG:= IPKG_TMP=$(BUILD_DIR)/tmp \ +PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX))) + +ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) +PKG_BUILD:= ${BASH} ${SCRIPT_DIR}/ipkg-build -c -o 0 -g 0 + +PKG_INSTALL:= IPKG_TMP=$(BUILD_DIR)/tmp \ IPKG_INSTROOT=$(TARGET_DIR) \ IPKG_CONF_DIR=$(STAGING_DIR)/etc \ IPKG_OFFLINE_ROOT=$(TARGET_DIR) \ - ${BASH} ${SCRIPT_DIR}/ipkg -force-defaults -force-depends -IPKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg + ${BASH} ${SCRIPT_DIR}/ipkg \ + -force-defaults -force-depends install +PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg +else +PKG_BUILD:= ${BASH} ${SCRIPT_DIR}/tarpkg build +PKG_INSTALL:= INSTROOT=$(TARGET_DIR) \ + ${BASH} ${SCRIPT_DIR}/tarpkg install +PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/pkg +endif ifeq ($(ADK_NATIVE),y) RSTRIP:= prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh diff --git a/package/Config.in b/package/Config.in index 4a9c4ea38..b5523f8bc 100644 --- a/package/Config.in +++ b/package/Config.in @@ -375,6 +375,7 @@ source "package/lua/Config.in" source "package/m4/Config.in" source "package/make/Config.in" source "package/microperl/Config.in" +source "package/perl/Config.in" source "package/php/Config.in" source "package/python/Config.in" source "package/ruby/Config.in" diff --git a/package/Makefile b/package/Makefile index 401780da6..424c7493b 100644 --- a/package/Makefile +++ b/package/Makefile @@ -307,6 +307,7 @@ package-$(ADK_PACKAGE_PARPROUTED) += parprouted package-$(ADK_PACKAGE_PATCH) += patch package-$(ADK_PACKAGE_PCIUTILS) += pciutils package-$(ADK_COMPILE_PCRE) += pcre +package-$(ADK_PACKAGE_PERL) += perl package-$(ADK_COMPILE_PHP) += php package-$(ADK_PACKAGE_PICOCOM) += picocom package-$(ADK_PACKAGE_PIPACS) += pipacs @@ -471,7 +472,7 @@ $(TARGET_DIR): %-compile: $(START_TRACE) "package/$(patsubst %-compile,%,$@)-compile: " - $(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-ipkgs + $(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-pkgs $(CMD_TRACE) " done" $(END_TRACE) diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in index dc0ab5fdb..697bec0ea 100644 --- a/package/busybox/config/coreutils/Config.in +++ b/package/busybox/config/coreutils/Config.in @@ -67,7 +67,7 @@ config BUSYBOX_CKSUM config BUSYBOX_COMM bool "comm" - default n + default y help comm is used to compare two files line by line and return a three-column output. @@ -557,7 +557,7 @@ config BUSYBOX_FEATURE_SORT_BIG config BUSYBOX_SPLIT bool "split" - default n + default y help split a file into pieces. diff --git a/package/perl/Config.in b/package/perl/Config.in new file mode 100644 index 000000000..b71422e20 --- /dev/null +++ b/package/perl/Config.in @@ -0,0 +1,8 @@ +config ADK_PACKAGE_PERL + prompt "perl.............................. A full blown perl" + tristate + depends on ADK_NATIVE + default n + help + Complete Perl. + diff --git a/package/perl/Makefile b/package/perl/Makefile new file mode 100644 index 000000000..5500ec9ac --- /dev/null +++ b/package/perl/Makefile @@ -0,0 +1,34 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= perl +PKG_VERSION:= 5.10.0 +PKG_RELEASE:= 1 +PKG_MD5SUM:= d2c39b002ebfd2c3c5dba589365c5a71 +PKG_DESCR:= Perl without operating-specific functions +PKG_SECTION:= net +PKG_URL:= www.perl.org +PKG_SITES:= ftp://ftp.cpan.org/pub/CPAN/src/5.0/ \ + ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/src/5.0/ \ + ftp://ftp.gmd.de/mirrors/CPAN/src/5.0/ \ + ftp://ftp.funet.fi/pub/languages/perl/CPAN/src/5.0/ + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,PERL,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +BUILD_STYLE:= auto + +pre-configure: + (cd ${WRKBUILD}; ./Configure -des -Dcc=gcc); + +do-install: + ${INSTALL_DIR} ${IDIR_PERL}/usr/bin + ${INSTALL_DIR} ${IDIR_PERL}/usr/lib/perl5/${PKG_VERSION} + ${INSTALL_BIN} ${WRKBUILD}/perl ${IDIR_PERL}/usr/bin/perl + ${INSTALL_DATA} ${WRKBUILD}/lib/strict.pm \ + ${IDIR_PERL}/usr/lib/perl5/${PKG_VERSION} + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/scripts/tarpkg b/scripts/tarpkg new file mode 100755 index 000000000..c126af594 --- /dev/null +++ b/scripts/tarpkg @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# create/install compressed tar balls + +if [ "$1" = "build" ];then + if [ ! -d $2 ];then + echo "not a directory" + exit 1 + fi + pkgname=$(grep "^Package:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//") + version=$(grep "^Version:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//") + arch=$(grep "^Architecture:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//") + cd $2 + rm -rf CONTROL + tar -czf $3/${pkgname}_${version}_${arch}.tar.gz . + cd - + exit 0 +elif [ "$1" = "install" ];then + tar -xzpf $2 -C ${INSTROOT} + exit 0 +else + echo "unknown command" + exit 1 +fi +exit 0 diff --git a/target/Config.in b/target/Config.in index 6ee9430af..c897b8223 100644 --- a/target/Config.in +++ b/target/Config.in @@ -622,6 +622,13 @@ config ADK_TARGET_ROOT_EXT4 endchoice +config ADK_PACKAGE_SUFFIX + string + default "ipk" if ADK_TARGET_PACKAGE_IPKG + default "tar.gz" if ADK_TARGET_PACKAGE_TGZ + default "rpm" if ADK_TARGET_PACKAGE_RPM + help + choice prompt "Package backend format" default ADK_TARGET_PACKAGE_IPKG diff --git a/target/native/Makefile b/target/native/Makefile index 4f38c3a0b..3b4039167 100644 --- a/target/native/Makefile +++ b/target/native/Makefile @@ -2,6 +2,7 @@ # material, please see the LICENCE file in the top-level directory. include $(TOPDIR)/rules.mk +include $(TOPDIR)/mk/vars.mk include $(TOPDIR)/mk/kernel.mk include $(TOPDIR)/mk/modules.mk include $(TOPDIR)/mk/kernel-build.mk diff --git a/target/native/device.mk b/target/native/device.mk index 0b28f9c9e..8f861905d 100644 --- a/target/native/device.mk +++ b/target/native/device.mk @@ -1,4 +1,4 @@ -ARCH:= $(shell uname -m|sed -e "s/i.*86/x86/") +ARCH:= $(shell uname -m|sed -e "s/i.*86/x86/" -e "s/_64//") CPU_ARCH:= $(shell uname -m) KERNEL_VERSION:= 2.6.30.5 KERNEL_RELEASE:= 1 -- cgit v1.2.3 From b45a02c444117a90d202706013d71a56813990e1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 10 Oct 2009 19:59:49 +0200 Subject: add fix to compile uClibc based toolchain on Ubuntu --- toolchain/uClibc/patches/getline.patch | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 toolchain/uClibc/patches/getline.patch diff --git a/toolchain/uClibc/patches/getline.patch b/toolchain/uClibc/patches/getline.patch new file mode 100644 index 000000000..fb9f9bcc2 --- /dev/null +++ b/toolchain/uClibc/patches/getline.patch @@ -0,0 +1,30 @@ +diff -Nur uClibc-0.9.30.1.orig/extra/scripts/unifdef.c uClibc-0.9.30.1/extra/scripts/unifdef.c +--- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c 2008-04-28 01:10:00.000000000 +0200 ++++ uClibc-0.9.30.1/extra/scripts/unifdef.c 2009-10-10 12:37:04.230249774 +0200 +@@ -206,7 +206,7 @@ + static void error(const char *); + static int findsym(const char *); + static void flushline(bool); +-static Linetype getline(void); ++static Linetype get_line(void); + static Linetype ifeval(const char **); + static void ignoreoff(void); + static void ignoreon(void); +@@ -512,7 +512,7 @@ + + for (;;) { + linenum++; +- lineval = getline(); ++ lineval = get_line(); + trans_table[ifstate[depth]][lineval](); + debug("process %s -> %s depth %d", + linetype_name[lineval], +@@ -526,7 +526,7 @@ + * help from skipcomment(). + */ + static Linetype +-getline(void) ++get_line(void) + { + const char *cp; + int cursym; -- cgit v1.2.3 From 6d26b19269a28ff576e872473cb3b4610a61fceb Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 11 Oct 2009 19:36:32 +0200 Subject: make more apps statically linkable - update libusb to latest upstream - update bluez to latest upstream - add a new PKG_OPTS option: libonly, useful for library only packages, which are not created, when static linking is choosen --- mk/package.mk | 22 ++++++++++++++-------- mk/pkg-bottom.mk | 2 ++ package/Depends.mk | 2 +- package/bluez/Config.in | 3 +++ package/bluez/Makefile | 12 ++++++++++-- package/dbus/Makefile | 13 +++++++++---- package/expat/Makefile | 13 ++++++++----- package/gettext/Makefile | 13 ++++++++----- package/glib/Makefile | 19 +++++++++++-------- package/glib/patches/patch-gio_Makefile_in | 20 ++++++++++++++++++++ package/libiconv/Config.in | 1 - package/libiconv/Makefile | 18 +++++++++--------- package/libiconv/patches/patch-preload_Makefile_in | 16 ++++++++++++++++ package/libusb/Makefile | 13 ++++++++----- scripts/scan-pkgs.sh | 12 ++++-------- scripts/tarpkg | 9 ++------- 16 files changed, 125 insertions(+), 63 deletions(-) create mode 100644 package/glib/patches/patch-gio_Makefile_in create mode 100644 package/libiconv/patches/patch-preload_Makefile_in diff --git a/mk/package.mk b/mk/package.mk index f1a044683..3f0cc4a7d 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -3,24 +3,28 @@ all: build-all-pkgs +TCFLAGS:= ${TARGET_CFLAGS} +TCXXFLAGS:= ${TARGET_CFLAGS} +TCPPFLAGS:= ${TARGET_CPPFLAGS} +TLDFLAGS:= ${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \ + -Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \ + -L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib ifeq ($(ADK_STATIC),y) TCFLAGS:= ${TARGET_CFLAGS} -static TCXXFLAGS:= ${TARGET_CFLAGS} -static TCPPFLAGS:= ${TARGET_CPPFLAGS} -static +TLDFLAGS:= ${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \ + -Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \ + -L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib \ + -static +endif ifeq ($(ADK_NATIVE),y) TCFLAGS:= TCXXFLAGS:= TCPPFLAGS:= TLDFLAGS:= -else -TCFLAGS:= ${TARGET_CFLAGS} -TCXXFLAGS:= ${TARGET_CFLAGS} -TCPPFLAGS:= ${TARGET_CPPFLAGS} -TLDFLAGS:= ${TARGET_LDFLAGS} -Wl,-rpath -Wl,/usr/lib \ - -Wl,-rpath-link -Wl,${STAGING_DIR}/usr/lib \ - -L${STAGING_DIR}/lib -L${STAGING_DIR}/usr/lib -endif endif + ifeq ($(ADK_DEBUG),) TCPPFLAGS+= -DNDEBUG endif @@ -232,7 +236,9 @@ ifeq (,$(filter noscripts,$(7))) >>'$${STAGING_PARENT}/pkg/$(1)'; \ done endif +ifeq (,$(filter libonly,$(7))) $${PKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE) +endif clean-targets: clean-dev-$(1) diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index 64baf190c..fba5ee1a2 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -120,7 +120,9 @@ endif [[ -e $$a ]] || continue; \ $(SED) "s,^prefix=.*,prefix=${STAGING_DIR}/usr," $$a; \ done +ifeq (,$(filter libonly,${PKG_OPTS})) @env ${MAKE_ENV} ${MAKE} post-install $(MAKE_TRACE) +endif ifeq (,$(filter noremove,${PKG_OPTS})) @if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \ cd '${STAGING_DIR}'; \ diff --git a/package/Depends.mk b/package/Depends.mk index 0be553ba7..96d25a34a 100644 --- a/package/Depends.mk +++ b/package/Depends.mk @@ -9,7 +9,7 @@ atftp-compile: readline-compile ncurses-compile avahi-compile: libdaemon-compile expat-compile gdbm-compile glib-compile bind-compile: openssl-compile bitlbee-compile: libiconv-compile openssl-compile glib-compile -bluez-compile: libusb-compile dbus-compile +bluez-compile: libusb-compile dbus-compile glib-compile bogofilter-compile: libiconv-compile libdb-compile ifeq (${ADK_COMPILE_CBTT_WITH_UCLIBCXX},y) cbtt-compile: uclibc++-compile diff --git a/package/bluez/Config.in b/package/bluez/Config.in index 3bb4c4a37..10b5f87e1 100644 --- a/package/bluez/Config.in +++ b/package/bluez/Config.in @@ -3,6 +3,9 @@ config ADK_PACKAGE_BLUEZ tristate default n select ADK_KPACKAGE_KMOD_BT + select ADK_PACKAGE_GLIB + select ADK_PACKAGE_DBUS + select ADK_PACKAGE_LIBUSB help Bluez libs and apps. diff --git a/package/bluez/Makefile b/package/bluez/Makefile index 4c39c00b2..d0c652c7b 100644 --- a/package/bluez/Makefile +++ b/package/bluez/Makefile @@ -4,9 +4,9 @@ include ${TOPDIR}/rules.mk PKG_NAME:= bluez -PKG_VERSION:= 4.40 +PKG_VERSION:= 4.56 PKG_RELEASE:= 1 -PKG_MD5SUM:= a25fa37c97c309338649f6a5fd4cea76 +PKG_MD5SUM:= 92ea2e86a5489f0d16567920f2ec9b36 PKG_DESCR:= bluetooth libraries and applications PKG_SECTION:= bluetooth PKG_DEPENDS:= kmod-bluetooth @@ -17,7 +17,13 @@ include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,BLUEZ,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +ifeq ($(ADK_STATIC),y) +XAKE_FLAGS+= V=1 CCLD="$(TARGET_CC) -all-static -pthread" +else +XAKE_FLAGS+= V=1 +endif CONFIGURE_STYLE:= gnu +CONFIGURE_ENV+= ac_cv_prog_cc_pie=no CONFIGURE_ARGS+= --enable-tools \ --enable-alsa \ --enable-usb \ @@ -30,8 +36,10 @@ BUILD_STYLE:= auto INSTALL_STYLE:= auto post-install: +ifeq ($(ADK_STATIC),n) ${INSTALL_DIR} ${IDIR_BLUEZ}/usr/lib ${CP} ${WRKINST}/usr/lib/libbluetooth.so.* ${IDIR_BLUEZ}/usr/lib/ +endif ${INSTALL_DIR} $(IDIR_BLUEZ)/etc/dbus-1/system.d ${INSTALL_DIR} ${IDIR_BLUEZ}/usr/bin ${CP} ${WRKINST}/usr/bin/* ${IDIR_BLUEZ}/usr/bin/ diff --git a/package/dbus/Makefile b/package/dbus/Makefile index a099da821..46739bfa2 100644 --- a/package/dbus/Makefile +++ b/package/dbus/Makefile @@ -12,10 +12,13 @@ PKG_SECTION:= net PKG_DEPENDS:= libexpat PKG_URL:= http://dbus.freedesktop.org PKG_SITES:= http://dbus.freedesktop.org/releases/dbus/ +ifeq ($(ADK_STATIC),y) +PKG_OPTS:= libonly +endif include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,DBUS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,DBUS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) CONFIGURE_STYLE:= gnu CONFIGURE_ARGS+= --disable-tests \ @@ -31,13 +34,15 @@ CONFIGURE_ENV+= ac_cv_have_abstract_sockets=no BUILD_STYLE:= auto INSTALL_STYLE:= auto +pre-install: + ${INSTALL_DIR} $(STAGING_DIR)/usr/include/dbus-1.0/dbus + $(CP) $(WRKBUILD)/dbus/dbus-arch-deps.h \ + $(STAGING_DIR)/usr/include/dbus-1.0/dbus/ + post-install: ${INSTALL_DIR} ${IDIR_DBUS}/etc ${IDIR_DBUS}/usr/lib ${IDIR_DBUS}/usr/bin - ${INSTALL_DIR} $(STAGING_DIR)/usr/include/dbus-1.0/dbus ${CP} ${WRKINST}/etc/dbus-1 ${IDIR_DBUS}/etc/ ${CP} ${WRKINST}/usr/lib/libdbus-1.so.* ${IDIR_DBUS}/usr/lib/ - $(CP) $(WRKINST)/usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h \ - $(STAGING_DIR)/usr/include/dbus-1.0/dbus/ ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-daemon ${IDIR_DBUS}/usr/bin/ ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-launch ${IDIR_DBUS}/usr/bin/ diff --git a/package/expat/Makefile b/package/expat/Makefile index 532e47068..0a3a93a3a 100644 --- a/package/expat/Makefile +++ b/package/expat/Makefile @@ -7,18 +7,21 @@ PKG_NAME:= expat PKG_VERSION:= 2.0.1 PKG_RELEASE:= 1 PKG_MD5SUM:= ee8b492592568805593f81f8cdf2a04c -PKG_DESCR:= a fast, non-validating, stream-oriented XML parsing library +PKG_DESCR:= a XML parsing library PKG_SECTION:= libs PKG_URL:= http://expat.sourceforge.net PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=expat/} +ifeq ($(ADK_STATIC),y) +PKG_OPTS:= libonly +endif include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,LIBEXPAT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,LIBEXPAT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -CONFIGURE_STYLE= gnu -BUILD_STYLE= auto -INSTALL_STYLE= auto +CONFIGURE_STYLE:= gnu +BUILD_STYLE:= auto +INSTALL_STYLE:= auto post-install: ${INSTALL_DIR} ${IDIR_LIBEXPAT}/usr/lib diff --git a/package/gettext/Makefile b/package/gettext/Makefile index 04e1bf06c..6d1349a0c 100644 --- a/package/gettext/Makefile +++ b/package/gettext/Makefile @@ -11,15 +11,18 @@ PKG_DESCR:= internationalisation library PKG_SECTION:= libs PKG_DEPENDS:= libiconv libpthread PKG_URL:= http://www.gnu.org/software/gettext/ -PKG_SITES= ${MASTER_SITE_GNU:=gettext/} +PKG_SITES:= ${MASTER_SITE_GNU:=gettext/} +ifeq ($(ADK_STATIC),y) +PKG_OPTS:= libonly +endif WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}/gettext-runtime include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,GETTEXT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,GETTEXT,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -CONFIGURE_STYLE= gnu +CONFIGURE_STYLE:= gnu CONFIGURE_ARGS+= --disable-java \ --disable-native-java \ --disable-csharp \ @@ -33,8 +36,8 @@ CONFIGURE_ARGS+= --disable-java \ CONFIGURE_ENV+= nls_cv_use_gnu_gettext=yes \ ac_cv_gnu_library_2=no \ gt_use_preinstalled_gnugettext=no -BUILD_STYLE= auto -INSTALL_STYLE= auto confprog +BUILD_STYLE:= auto +INSTALL_STYLE:= auto post-install: ${INSTALL_DIR} ${IDIR_GETTEXT}/usr/lib diff --git a/package/glib/Makefile b/package/glib/Makefile index 66e3329c8..4d555f7bf 100644 --- a/package/glib/Makefile +++ b/package/glib/Makefile @@ -4,25 +4,28 @@ include ${TOPDIR}/rules.mk PKG_NAME:= glib -PKG_VERSION:= 2.18.1 +PKG_VERSION:= 2.22.2 PKG_RELEASE:= 1 -PKG_MD5SUM:= d53836f7fdd9970d03e255e9d712bd83 +PKG_MD5SUM:= 00eb873975e2ef9361b8177131c7c943 PKG_DESCR:= low-level core library that forms the basis of GTK+ PKG_SECTION:= libs PKG_DEPENDS:= gettext libiconv libpthread PKG_URL:= http://www.gtk.org/ -PKG_SITES:= ftp://ftp.gtk.org/pub/glib/2.18/ +PKG_SITES:= ftp://ftp.gtk.org/pub/glib/2.22/ +ifeq ($(ADK_STATIC),y) +PKG_OPTS:= libonly +endif include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,GLIB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,GLIB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -TCPPFLAGS+= -I'${STAGING_DIR}/usr/include' -CONFIGURE_STYLE= gnu +CONFIGURE_STYLE:= gnu CONFIGURE_ARGS+= --enable-debug=no \ --disable-mem-pools \ --disable-rebuilds \ --with-libiconv=gnu \ + --disable-fam \ --with-threads=posix CONFIGURE_ENV+= glib_cv_long_long_format=ll \ glib_cv_stack_grows=no \ @@ -30,8 +33,8 @@ CONFIGURE_ENV+= glib_cv_long_long_format=ll \ glib_cv_uscore=no \ ac_cv_func_posix_getpwuid_r=yes \ ac_cv_func_posix_getgrgid_r=yes -BUILD_STYLE= auto -INSTALL_STYLE= auto confprog +BUILD_STYLE:= auto +INSTALL_STYLE:= auto post-install: ${INSTALL_DIR} ${IDIR_GLIB}/usr/lib diff --git a/package/glib/patches/patch-gio_Makefile_in b/package/glib/patches/patch-gio_Makefile_in new file mode 100644 index 000000000..5eaa2eef1 --- /dev/null +++ b/package/glib/patches/patch-gio_Makefile_in @@ -0,0 +1,20 @@ +--- glib-2.22.2.orig/gio/Makefile.in 2009-10-07 15:56:29.000000000 +0200 ++++ glib-2.22.2/gio/Makefile.in 2009-10-11 11:04:35.126154998 +0200 +@@ -242,7 +242,7 @@ ETAGS = etags + CTAGS = ctags + am__tty_colors = \ + red=; grn=; lgn=; blu=; std= +-DIST_SUBDIRS = libasyncns xdgmime inotify fen win32 . fam tests ++DIST_SUBDIRS = libasyncns xdgmime inotify fen win32 . fam + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + am__relativize = \ + dir0=`pwd`; \ +@@ -489,7 +489,7 @@ EXTRA_DIST = gio-marshal.list gio.symbol + TEST_PROGS = + NULL = + SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_6) \ +- $(am__append_9) . $(am__append_12) tests ++ $(am__append_9) . $(am__append_12) + @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@noinst_DATA = gio-2.0.lib + @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir) + @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib diff --git a/package/libiconv/Config.in b/package/libiconv/Config.in index e834bb3d1..6ed1f162c 100644 --- a/package/libiconv/Config.in +++ b/package/libiconv/Config.in @@ -3,7 +3,6 @@ config ADK_PACKAGE_LIBICONV tristate default n help - This package contains a _very_ stripped down version of GNU Libiconv, all charsets have been removed, except ASCII, various unicode charsets and iso8896-1. diff --git a/package/libiconv/Makefile b/package/libiconv/Makefile index 4f3063aad..7c6c70682 100644 --- a/package/libiconv/Makefile +++ b/package/libiconv/Makefile @@ -4,29 +4,29 @@ include ${TOPDIR}/rules.mk PKG_NAME:= libiconv -PKG_VERSION:= 1.13 +PKG_VERSION:= 1.13.1 PKG_RELEASE:= 1 -PKG_MD5SUM:= 048032a3032ebd182150bdee30a5d533 +PKG_MD5SUM:= 7ab33ebd26687c744a37264a330bbe9a PKG_DESCR:= character set conversion library PKG_SECTION:= libs PKG_URL:= http://www.gnu.org/software/libiconv PKG_SITES:= ${MASTER_SITE_GNU:=libiconv/} +ifeq ($(ADK_STATIC),y) +PKG_OPTS:= libonly +endif include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,LIBICONV,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,LIBICONV,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) TCFLAGS+= -fPIC -CONFIGURE_STYLE= gnu -BUILD_STYLE= auto -INSTALL_STYLE= auto confprog +CONFIGURE_STYLE:= gnu +BUILD_STYLE:= auto +INSTALL_STYLE:= auto FAKE_FLAGS+= libdir="${WRKINST}/usr/lib" \ includedir="${WRKINST}/usr/include" \ INSTALL_TARGET= install-lib -post-extract: - @find ${WRKBUILD} -name *.rej -delete - post-install: ${INSTALL_DIR} ${IDIR_LIBICONV}/usr/lib ${CP} ${WRKINST}/usr/lib/libiconv.so.* ${IDIR_LIBICONV}/usr/lib/ diff --git a/package/libiconv/patches/patch-preload_Makefile_in b/package/libiconv/patches/patch-preload_Makefile_in new file mode 100644 index 000000000..5aa7e91e0 --- /dev/null +++ b/package/libiconv/patches/patch-preload_Makefile_in @@ -0,0 +1,16 @@ +--- libiconv-1.13.orig/preload/Makefile.in 2009-01-17 00:11:37.000000000 +0100 ++++ libiconv-1.13/preload/Makefile.in 2009-10-10 22:01:15.666144195 +0200 +@@ -54,11 +54,11 @@ preloadable_libiconv.so : $(SOURCES) + done && \ + $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) -o libiconv.la -rpath $(libdir) -no-undefined objects/*.lo && \ + $(RM) -r objects +- cp .libs/libiconv.so preloadable_libiconv.so ++ -test -f .libs/libiconv.so && cp .libs/libiconv.so preloadable_libiconv.so + + install : all force + if [ ! -d $(DESTDIR)$(libdir) ] ; then $(mkinstalldirs) $(DESTDIR)$(libdir) ; fi +- if test -n "@PLUGLIB@"; then $(INSTALL_DATA) @PLUGLIB@ $(DESTDIR)$(libdir)/@PLUGLIB@.new && mv $(DESTDIR)$(libdir)/@PLUGLIB@.new $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi ++ -if test -n "@PLUGLIB@"; then $(INSTALL_DATA) @PLUGLIB@ $(DESTDIR)$(libdir)/@PLUGLIB@.new && mv $(DESTDIR)$(libdir)/@PLUGLIB@.new $(DESTDIR)$(libdir)/@PLUGLIB@ ; fi + + install-strip : install + diff --git a/package/libusb/Makefile b/package/libusb/Makefile index dec66a988..b5fe7ccee 100644 --- a/package/libusb/Makefile +++ b/package/libusb/Makefile @@ -4,23 +4,26 @@ include ${TOPDIR}/rules.mk PKG_NAME:= libusb -PKG_VERSION:= 1.0.1 +PKG_VERSION:= 1.0.3 PKG_RELEASE:= 1 -PKG_MD5SUM:= 8fb0e066678a0d294894b5b2969cb4b3 -PKG_DESCR:= a Library for accessing Linux USB devices +PKG_MD5SUM:= 03af26d0c49705fa46c1f732e1018e73 +PKG_DESCR:= a library for accessing Linux USB devices PKG_SECTION:= libs PKG_URL:= http://libusb.wiki.sourceforge.net PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=libusb/} +ifeq ($(ADK_STATIC),y) +PKG_OPTS:= libonly +endif DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 include ${TOPDIR}/mk/package.mk -$(eval $(call PKG_template,LIBUSB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,LIBUSB,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) CONFIGURE_STYLE:= gnu BUILD_STYLE:= auto -INSTALL_STYLE:= auto confprog +INSTALL_STYLE:= auto post-install: ${INSTALL_DIR} ${IDIR_LIBUSB}/usr/lib diff --git a/scripts/scan-pkgs.sh b/scripts/scan-pkgs.sh index 0107ee4bd..a940f2bb1 100644 --- a/scripts/scan-pkgs.sh +++ b/scripts/scan-pkgs.sh @@ -49,14 +49,10 @@ if [[ -n $ADK_PACKAGE_SQUID ]]; then NEED_SSLDEV="$NEED_SSLDEV squid" fi -#if [[ -n $ADK_PACKAGE_RUBY ]]; then -# NEED_RUBY="$NEED_RUBY ruby" -#fi - -if [[ -n $ADK_PACKAGE_GLIB2 ]]; then - NEED_GLIBZWO="$NEED_GLIBZWO glib2" - NEED_GETTEXT="$NEED_GETTEXT glib2" - NEED_PKGCONFIG="$NEED_PKGCONFIG glib2" +if [[ -n $ADK_PACKAGE_GLIB ]]; then + NEED_GLIBZWO="$NEED_GLIBZWO glib" + NEED_GETTEXT="$NEED_GETTEXT glib" + NEED_PKGCONFIG="$NEED_PKGCONFIG glib" fi diff --git a/scripts/tarpkg b/scripts/tarpkg index c126af594..818f99ea7 100755 --- a/scripts/tarpkg +++ b/scripts/tarpkg @@ -9,16 +9,11 @@ if [ "$1" = "build" ];then pkgname=$(grep "^Package:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//") version=$(grep "^Version:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//") arch=$(grep "^Architecture:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//") - cd $2 - rm -rf CONTROL - tar -czf $3/${pkgname}_${version}_${arch}.tar.gz . - cd - - exit 0 + rm -rf $2/CONTROL + (cd $2 && tar -czf $3/${pkgname}_${version}_${arch}.tar.gz .) elif [ "$1" = "install" ];then tar -xzpf $2 -C ${INSTROOT} - exit 0 else echo "unknown command" exit 1 fi -exit 0 -- cgit v1.2.3