diff options
71 files changed, 3290 insertions, 53 deletions
@@ -0,0 +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? @@ -53,6 +53,19 @@ config ADK_DEVELSYSTEM If you choose this option, all necessary software needed for native building will be selected. +config ADK_DEBUG + bool "Enable debug support" + default n + help + All packages and libc will be compiled and packaged with debug information. + Mostly useful for NFS root or big USB/CF disk setups. + +config ADK_STATIC + bool "Link applications statically by default" + default n + help + Useful for toolchain only target devices. + config ADK_MAKE_JOBS int default 1 if ! ADK_MAKE_PARALLEL @@ -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) diff --git a/mk/modules.mk b/mk/modules.mk index d087a2ab9..409278015 100644 --- a/mk/modules.mk +++ b/mk/modules.mk @@ -2,6 +2,22 @@ # material, please see the LICENCE file in the top-level directory. # +# Virtualization +# +$(eval $(call KMOD_template,KVM,kvm,\ + $(MODULES_DIR)/kernel/arch/${ARCH}/kvm/kvm \ +,90)) + +$(eval $(call KMOD_template,KVM_AMD,kvm-adm,\ + $(MODULES_DIR)/kernel/arch/${ARCH}/kvm/kvm-amd \ +,95)) + +$(eval $(call KMOD_template,KVM_INTEL,kvm-intel,\ + $(MODULES_DIR)/kernel/arch/${ARCH}/kvm/kvm-intel \ +,95)) + + +# # Serial ATA devices # $(eval $(call KMOD_template,SATA_AHCI,sata-ahci,\ diff --git a/mk/package.mk b/mk/package.mk index 9f40c337a..c28f22a7c 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -3,9 +3,15 @@ all: build-all-ipkgs +ifeq ($(ADK_STATIC),y) +TCFLAGS:= ${TARGET_CFLAGS} -static +TCXXFLAGS:= ${TARGET_CFLAGS} -static +TCPPFLAGS:= ${TARGET_CPPFLAGS} -static +else TCFLAGS:= ${TARGET_CFLAGS} TCXXFLAGS:= ${TARGET_CFLAGS} TCPPFLAGS:= ${TARGET_CPPFLAGS} +endif ifeq ($(ADK_DEBUG),) TCPPFLAGS+= -DNDEBUG endif @@ -136,6 +142,7 @@ $$(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=; \ @@ -155,6 +162,7 @@ $$(IDIR_$(1))/CONTROL/control: ${_PATCH_COOKIE} @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),) @@ -174,7 +182,7 @@ endif @mkdir -p $${PACKAGE_DIR} '$${STAGING_PARENT}/pkg' \ '$${STAGING_DIR}/scripts' ifeq (,$(filter noremove,$(7))) - if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \ + @if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \ cd '$${STAGING_DIR}'; \ while read fn; do \ rm -f "$$$$fn"; \ @@ -196,13 +204,13 @@ endif grep -v -e '^usr/share' -e '^usr/man' -e '^usr/info' | \ tee '$${STAGING_PARENT}/pkg/$(1)' | \ cpio -apdlmu --quiet '$${STAGING_DIR}' - cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \ + @cd '$${STAGING_DIR}'; grep 'usr/lib/.*\.la$$$$' \ '$${STAGING_PARENT}/pkg/$(1)' | while read fn; do \ chmod u+w $$$$fn; \ $(SED) "s,\(^libdir='\| \|-L\|^dependency_libs='\)/usr/lib,\1$(STAGING_DIR)/usr/lib,g" $$fn; \ done ifeq (,$(filter noscripts,$(7))) - cd '$${STAGING_DIR}'; grep 'usr/s*bin/' \ + @cd '$${STAGING_DIR}'; grep 'usr/s*bin/' \ '$${STAGING_PARENT}/pkg/$(1)' | \ while read fn; do \ b="$$$$(dd if="$$$$fn" bs=2 count=1 2>/dev/null)"; \ @@ -212,13 +220,18 @@ 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 clean-targets: clean-dev-$(1) clean-dev-$(1): ifeq (,$(filter noremove,$(7))) - if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \ + @if test -s '$${STAGING_PARENT}/pkg/$(1)'; then \ cd '$${STAGING_DIR}'; \ while read fn; do \ rm -f "$$$$fn"; \ diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index cf4c62f95..64baf190c 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -122,7 +122,7 @@ endif done @env ${MAKE_ENV} ${MAKE} post-install $(MAKE_TRACE) ifeq (,$(filter noremove,${PKG_OPTS})) - if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \ + @if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \ cd '${STAGING_DIR}'; \ while read fn; do \ rm -f "$$fn"; \ @@ -207,7 +207,7 @@ clean-targets: clean-dev-generic clean-dev-generic: ifeq (,$(filter noremove,${PKG_OPTS})) - if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \ + @if test -s '${STAGING_PARENT}/pkg/${PKG_NAME}'; then \ cd '${STAGING_DIR}'; \ while read fn; do \ rm -f "$$fn"; \ diff --git a/mk/vars.mk b/mk/vars.mk index b3215a24c..63130507f 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -39,9 +39,14 @@ TARGET_DIR_PFX:= $(BASE_DIR)/root_* TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TOOLS}/bin:${STAGING_DIR}/scripts:${_PATH} REAL_GNU_TARGET_NAME= $(CPU_ARCH)-linux-$(ADK_TARGET_SUFFIX) GNU_TARGET_NAME= $(CPU_ARCH)-linux -TARGET_CROSS:= $(STAGING_TOOLS)/bin/$(CPU_ARCH)-linux-$(ADK_TARGET_SUFFIX)- TOOLCHAIN_SYSROOT:= $(TOOLCHAIN_BUILD_DIR)/libc_dev +ifeq ($(ADK_NATIVE),y) +TARGET_COMPILER_PREFIX?= +TARGET_CROSS:= +else TARGET_COMPILER_PREFIX?=${TARGET_CROSS} +TARGET_CROSS:= $(STAGING_TOOLS)/bin/$(CPU_ARCH)-linux-$(ADK_TARGET_SUFFIX)- +endif TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++ TARGET_CPPFLAGS+= -I${STAGING_DIR}/usr/include diff --git a/package/Config.in b/package/Config.in index 43f8a4760..4a9c4ea38 100644 --- a/package/Config.in +++ b/package/Config.in @@ -376,6 +376,7 @@ source "package/m4/Config.in" source "package/make/Config.in" source "package/microperl/Config.in" source "package/php/Config.in" +source "package/python/Config.in" source "package/ruby/Config.in" source "package/libffi/Config.in" source "package/tcl/Config.in" diff --git a/package/Makefile b/package/Makefile index c4f8dcb97..c6c2d4114 100644 --- a/package/Makefile +++ b/package/Makefile @@ -321,6 +321,7 @@ package-$(ADK_PACKAGE_PRIVOXY) += privoxy package-$(ADK_PACKAGE_PROCMAIL) += procmail package-$(ADK_PACKAGE_PROCPS) += procps package-$(ADK_PACKAGE_PTUNNEL) += ptunnel +package-$(ADK_PACKAGE_PYTHON) += python package-$(ADK_PACKAGE_QUAGGA) += quagga package-$(ADK_PACKAGE_RADDUMP) += raddump package-$(ADK_PACKAGE_RADVD) += radvd diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 213895e96..52130bf10 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.0 -PKG_RELEASE:= 5 +PKG_RELEASE:= 6 PKG_DESCR:= basic filesystem structure and scripts PKG_SECTION:= base diff --git a/package/base-files/extra/etc/group b/package/base-files/extra/etc/group index 1f444a8bf..c4e77f316 100644 --- a/package/base-files/extra/etc/group +++ b/package/base-files/extra/etc/group @@ -1,3 +1,2 @@ root:x:0: -admin:x:100: nogroup:x:65534: diff --git a/package/base-files/extra/etc/mdev.conf b/package/base-files/extra/etc/mdev.conf index 61b818523..99c910d0b 100644 --- a/package/base-files/extra/etc/mdev.conf +++ b/package/base-files/extra/etc/mdev.conf @@ -6,6 +6,6 @@ kmem 0:0 000 mem 0:0 0640 port 0:0 0640 ptmx 0:0 666 -tty 0:0 0660 +tty 0:0 0666 ttyS* 0:0 640 .* 0:0 644 @/lib/mdev/init diff --git a/package/base-files/extra/etc/passwd b/package/base-files/extra/etc/passwd index 87eee84af..32531eb92 100644 --- a/package/base-files/extra/etc/passwd +++ b/package/base-files/extra/etc/passwd @@ -1,3 +1,2 @@ root:x:0:0:root:/root:/bin/sh -admin:x:100:100:admin:/tmp:/bin/sh nobody:*:65534:65534:nobody:/var:/bin/false diff --git a/package/base-files/extra/init b/package/base-files/extra/init index 4b4e90213..9013065d0 100755 --- a/package/base-files/extra/init +++ b/package/base-files/extra/init @@ -2,10 +2,12 @@ echo "Pre-boot initializing" export PATH=/bin:/sbin:/usr/bin:/usr/sbin mount -nt proc proc /proc -size=$(awk '/MemTotal:/ { if ($2 > 16000) { print 4096 } else { print 2048 }}' /proc/meminfo) mount -o nosuid,nodev,noexec -t sysfs sysfs /sys -mount none /tmp -t tmpfs -o size=${size}k -mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 +[ ! -f /etc/notmpfs ] && { + size=$(awk '/MemTotal:/ { if ($2 > 16000) { print 4096 } else { print 2048 }}' /proc/meminfo) + mount none /tmp -t tmpfs -o size=${size}k + mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 +} mount -o nosuid,size=64k,mode=0755 -t tmpfs mdev /dev mkdir /dev/pts /dev/shm mount -o nosuid,noexec -t devpts devpts /dev/pts diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in index ad46c649b..0d598af4c 100644 --- a/package/busybox/config/editors/Config.in +++ b/package/busybox/config/editors/Config.in @@ -22,7 +22,7 @@ config BUSYBOX_FEATURE_AWK_LIBM config BUSYBOX_CMP bool "cmp" - default n + default y help cmp is used to compare two files and returns the result to standard output. diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in index c7281edc5..d5912c6d6 100644 --- a/package/busybox/config/miscutils/Config.in +++ b/package/busybox/config/miscutils/Config.in @@ -523,7 +523,7 @@ config BUSYBOX_STRINGS config BUSYBOX_TIME bool "time" - default n + default y help The time command runs the specified program with the given arguments. When the command finishes, time writes a message to standard output diff --git a/package/dropbear/files/dropbear.postinst b/package/dropbear/files/dropbear.postinst index 8cde82f3f..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 "-w" +add_rcconf '"NO" to disable' dropbear_flags " " diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in index e4a322b18..b378722b8 100644 --- a/package/libvirt/Config.in +++ b/package/libvirt/Config.in @@ -1,8 +1,10 @@ config ADK_PACKAGE_LIBVIRT prompt "libvirt........................... virtualization API" tristate + select ADK_PACKAGE_PYTHON select ADK_PACKAGE_LIBXML2 select ADK_PACKAGE_LIBGNUTLS + select ADK_PACKAGE_BRIDGE_UTILS default n help http://www.libvirt.org diff --git a/package/libvirt/Makefile b/package/libvirt/Makefile index dcdb0804b..f40800ded 100644 --- a/package/libvirt/Makefile +++ b/package/libvirt/Makefile @@ -9,7 +9,7 @@ PKG_RELEASE:= 1 PKG_MD5SUM:= 8c2c14a7695c9c661004bcfc6468d62d PKG_DESCR:= virtualization API PKG_SECTION:= utils -PKG_DEPENDS:= libxml2 libgnutls +PKG_DEPENDS:= libxml2 libgnutls python PKG_URL:= http://www.libvirt.org PKG_SITES:= ftp://libvirt.org/libvirt/ @@ -23,11 +23,17 @@ CONFIGURE_ARGS+= --without-xen \ --without-uml \ --without-esx \ --without-openvz \ + --without-vbox \ --without-sasl BUILD_STYLE:= auto INSTALL_STYLE:= auto post-install: - ${INSTALL_DIR} ${IDIR_LIBVIRT}/usr/lib + ${INSTALL_DIR} ${IDIR_LIBVIRT}/usr/lib ${IDIR_LIBVIRT}/usr/bin + ${INSTALL_DIR} ${IDIR_LIBVIRT}/etc/libvirt ${IDIR_LIBVIRT}/usr/sbin + ${INSTALL_BIN} ${WRKINST}/usr/bin/virsh ${IDIR_LIBVIRT}/usr/bin + ${CP} ${WRKINST}/usr/lib/libvirt.so* ${IDIR_LIBVIRT}/usr/lib + ${CP} ${WRKINST}/etc/libvirt/* ${IDIR_LIBVIRT}/etc/libvirt + ${INSTALL_BIN} ${WRKINST}/usr/sbin/libvirtd ${IDIR_LIBVIRT}/usr/sbin include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/microperl/Makefile b/package/microperl/Makefile index 359357462..9e3ab4fff 100644 --- a/package/microperl/Makefile +++ b/package/microperl/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= microperl PKG_VERSION:= 5.10.0 -PKG_RELEASE:= 2 +PKG_RELEASE:= 3 PKG_MD5SUM:= d2c39b002ebfd2c3c5dba589365c5a71 PKG_DESCR:= Perl without operating-specific functions PKG_SECTION:= net @@ -31,6 +31,9 @@ pre-configure: do-install: ${INSTALL_DIR} ${IDIR_MICROPERL}/usr/bin + ${INSTALL_DIR} ${IDIR_MICROPERL}/usr/lib/perl5/${PKG_VERSION} ${INSTALL_BIN} ${WRKBUILD}/microperl ${IDIR_MICROPERL}/usr/bin/perl + ${INSTALL_DATA} ${WRKBUILD}/lib/strict.pm \ + ${IDIR_MICROPERL}/usr/lib/perl5/${PKG_VERSION} include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/mksh/Makefile b/package/mksh/Makefile index 101fc91fc..aeb4fe44e 100644 --- a/package/mksh/Makefile +++ b/package/mksh/Makefile @@ -4,9 +4,9 @@ include ${TOPDIR}/rules.mk PKG_NAME= mksh -PKG_VERSION= 38c +PKG_VERSION= 39 PKG_RELEASE= 1 -PKG_MD5SUM= 692192a6468b5f5c5e559756f1851766 +PKG_MD5SUM= b2eeb4fe4ccac2704e1440e53cd2672c PKG_DESCR:= MirBSD Korn Shell PKG_SECTION:= shells PKG_URL:= http://www.mirbsd.org diff --git a/package/openssh/Makefile b/package/openssh/Makefile index ea8d9e178..e5803b003 100644 --- a/package/openssh/Makefile +++ b/package/openssh/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= openssh PKG_VERSION:= 5.2p1 -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_MD5SUM:= ada79c7328a8551bdf55c95e631e7dad PKG_DESCR:= OpenSSH server PKG_SECTION:= net @@ -56,7 +56,8 @@ CONFIGURE_ARGS+= --disable-strip \ --without-zlib-version-check \ --sysconfdir=/etc/ssh \ --with-privsep-user=sshd \ - --with-privsep-path=/var/run/sshd + --with-privsep-path=/var/run/sshd \ + --with-ssl-dir="${STAGING_DI |