summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-12-02 13:50:49 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-12-02 13:50:49 +0100
commit1a0bc22e751dc1a91073e47b61a4135cec549633 (patch)
tree71d279d06dc068cc77cd360d45fd3599b962e3a0
parent93f115b74d90ab06c101d37225fb6125d5dc33de (diff)
parent0ccba89e05c01ce234adc7242ad7342d23b4f9df (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
-rw-r--r--Config.in1
-rw-r--r--TODO3
-rw-r--r--mk/build.mk5
-rw-r--r--mk/image.mk13
-rw-r--r--mk/modules.mk14
-rw-r--r--mk/vars.mk7
-rw-r--r--package/base-files/Makefile12
-rw-r--r--package/base-files/files/base-files.conffiles5
-rw-r--r--package/base-files/src/etc/mdev.conf15
-rw-r--r--package/busybox/Makefile2
-rw-r--r--package/busybox/patches/001-ipkg.patch1210
-rw-r--r--package/libtool/Makefile2
-rw-r--r--package/libusb-compat/Makefile15
-rw-r--r--package/libusb/Makefile15
-rw-r--r--package/pcsc-lite/Makefile19
-rw-r--r--package/pm-utils/Makefile29
-rw-r--r--package/sudo/Makefile3
-rw-r--r--scripts/ipkg-build57
-rw-r--r--scripts/ipkg-make-index.sh4
-rw-r--r--scripts/scan-pkgs.sh27
-rw-r--r--scripts/scan-tools.sh12
-rw-r--r--target/Config.in9
-rw-r--r--target/Config.in.arm7
-rw-r--r--target/Config.in.armel7
-rw-r--r--target/Config.in.x862
-rw-r--r--target/ag241/files/etc/mdev.conf10
-rw-r--r--target/alix/files/etc/mdev.conf18
-rw-r--r--target/arm/Makefile36
-rw-r--r--target/arm/kernel.config715
-rw-r--r--target/armel/Makefile36
-rw-r--r--target/armel/kernel.config715
-rw-r--r--target/brcm/files/etc/mdev.conf11
-rw-r--r--target/foxboard/files/etc/mdev.conf10
-rw-r--r--target/foxg20/files/etc/mdev.conf16
-rw-r--r--target/linux/Config.in1
-rw-r--r--target/linux/config/Config.in.block1
-rw-r--r--target/linux/config/Config.in.multimedia58
-rw-r--r--target/linux/config/Config.in.pm52
-rw-r--r--target/mips/files/etc/mdev.conf11
-rw-r--r--target/mips64/files/etc/mdev.conf11
-rw-r--r--target/mips64el/files/etc/mdev.conf11
-rw-r--r--target/mipsel/files/etc/mdev.conf11
-rw-r--r--target/native/Makefile6
-rw-r--r--target/native/files/etc/mdev.conf14
-rw-r--r--target/rb4xx/files/etc/mdev.conf10
-rw-r--r--target/rb532/files/etc/mdev.conf11
-rw-r--r--target/wrap/files/etc/mdev.conf11
-rw-r--r--target/x86/files/etc/mdev.conf14
-rw-r--r--target/x86/kernel.config8
-rw-r--r--target/x86_64/files/etc/mdev.conf14
50 files changed, 2378 insertions, 928 deletions
diff --git a/Config.in b/Config.in
index 2ac1dce6a..37321f861 100644
--- a/Config.in
+++ b/Config.in
@@ -51,7 +51,6 @@ config ADK_DEVELSYSTEM
select ADK_PACKAGE_PATCH
select ADK_PACKAGE_PKG_CONFIG
select ADK_PACKAGE_MICROPERL
- select ADK_PACKAGE_TAR
select ADK_PACKAGE_TSORT
select BUSYBOX_STAT
select BUSYBOX_FEATURE_STAT_FORMAT
diff --git a/TODO b/TODO
index 9c121685d..08336f245 100644
--- a/TODO
+++ b/TODO
@@ -1,10 +1,7 @@
- relocatable gcc
- adkinstall with NTP and hwclock support
-- newtarget simplify and make target like newpackage
- PKG_CONFLICTS for python/python2, is this possible with Kconfig?
- mirror only option, no internet access
-- check alsa on foxg20 target
-- fix ARM OABI support
- fix watchdog for alix1c (mfgpt timers problem)
- add support for brcm 2.6 (flash support)
- help text for config/ needs adoption
diff --git a/mk/build.mk b/mk/build.mk
index 0569a4570..49b832f72 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -303,6 +303,8 @@ ifneq (,$(filter CYGWIN%,${OStype}))
@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig
endif
ifeq ($(ADKtype),ibm-x40)
+ @echo ADK_ARCH_CHOICE=y >> $(TOPDIR)/.defconfig
+ @echo ADK_LINUX_NATIVE=y >> $(TOPDIR)/.defconfig
@echo ADK_HARDWARE_IBM_X40=y >> $(TOPDIR)/.defconfig
endif
ifeq ($(ADKtype),lemote-yeelong)
@@ -313,6 +315,9 @@ endif
|grep -i "$(TARGET)"\$$ \
|sed -e "s#^config \(.*\)#\1=y#" \
>> $(TOPDIR)/.defconfig; \
+ if [ "$(TARGET)" = "native" ];then \
+ echo "ADK_ARCH_CHOICE=y" >> $(TOPDIR)/.defconfig; \
+ fi; \
fi
@for symbol in ${DEFCONFIG}; do \
echo $$symbol >> $(TOPDIR)/.defconfig; \
diff --git a/mk/image.mk b/mk/image.mk
index be1d9f970..9a26434ae 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -50,16 +50,19 @@ INITRAMFS_PIGGYBACK= ${ADK_HW}-${ADK_TARGET}-${ADK_LIBC}-${FS}.cpio
endif
${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
- cd ${TARGET_DIR}; tar -cf - --owner=0 --group=0 . | gzip -n9 >$@
+ cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
+ sed "s#\(.*\)#:0:0::::::\1#" | sort | \
+ ${TOOLS_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
${BIN_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
- cd ${TARGET_DIR}; tar --exclude ./boot -cf - --owner=0 --group=0 . \
- | gzip -n9 >$@
+ cd ${TARGET_DIR}; find . | grep -v ./boot | sed -n '/^\.\//s///p' | \
+ sed "s#\(.*\)#:0:0::::::\1#" | sort | \
+ ${TOOLS_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR}
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
sed "s#\(.*\)#:0:0::::::\1#" | sort | \
- ${TOPDIR}/bin/tools/cpio -o -C512 -Hnewc -P | \
+ ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P | \
${ADK_COMPRESSION_TOOL} >$@ 2>/dev/null
${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
@@ -67,7 +70,7 @@ ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
$(LINUX_DIR)/.config
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
sed "s#\(.*\)#:0:0::::::\1#" | sort | \
- ${TOPDIR}/bin/tools/cpio -o -C512 -Hnewc -P >$@ 2>/dev/null
+ ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P >$@ 2>/dev/null
${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR}
${STAGING_TOOLS}/bin/mksquashfs ${TARGET_DIR} \
diff --git a/mk/modules.mk b/mk/modules.mk
index 496b47503..3e0ecacfc 100644
--- a/mk/modules.mk
+++ b/mk/modules.mk
@@ -70,7 +70,7 @@ $(eval $(call KMOD_template,MAC80211,mac80211,\
$(eval $(call KMOD_template,ATH5K,ath5k,\
$(MODULES_DIR)/kernel/drivers/net/wireless/ath/ath \
$(MODULES_DIR)/kernel/drivers/net/wireless/ath/ath5k/ath5k \
-,20, kmod-led-class))
+,20, kmod-leds-class))
$(eval $(call KMOD_template,P54_COMMON,p54-common,\
$(MODULES_DIR)/kernel/drivers/net/wireless/p54/p54common \
@@ -95,15 +95,15 @@ $(eval $(call KMOD_template,RT2X00,rt2x00,\
$(eval $(call KMOD_template,RT2400PCI,rt2400pci,\
$(MODULES_DIR)/kernel/drivers/net/wireless/rt2x00/rt2400pci \
-,20, kmod-led-class kmod-rt2x00))
+,20, kmod-leds-class kmod-rt2x00))
$(eval $(call KMOD_template,RT2500PCI,rt2500pci,\
$(MODULES_DIR)/kernel/drivers/net/wireless/rt2x00/rt2500pci \
-,20, kmod-led-class kmod-rt2x00))
+,20, kmod-leds-class kmod-rt2x00))
$(eval $(call KMOD_template,RT61PCI,rt61pci,\
$(MODULES_DIR)/kernel/drivers/net/wireless/rt2x00/rt61pci \
-,20, kmod-led-class kmod-rt2x00))
+,20, kmod-leds-class kmod-rt2x00))
#
# Networking
@@ -1095,11 +1095,15 @@ $(eval $(call KMOD_template,SND_VIA82XX,snd-via82xx,\
$(MODULES_DIR)/kernel/sound/pci/snd-via82xx \
,55))
+$(eval $(call KMOD_template,SND_INTEL8X0,snd-intel8x0,\
+ $(MODULES_DIR)/kernel/sound/pci/snd-intel8x0 \
+,55))
+
$(eval $(call KMOD_template,SND_ENS1370,snd-ens1370,\
$(MODULES_DIR)/kernel/sound/pci/snd-ens1370 \
,55))
-$(eval $(call KMOD_template,SND_CS5535AUDIO,sound-cs5535audio,\
+$(eval $(call KMOD_template,SND_CS5535AUDIO,snd-cs5535audio,\
$(MODULES_DIR)/kernel/sound/pci/cs5535audio/snd-cs5535audio \
,55))
diff --git a/mk/vars.mk b/mk/vars.mk
index 3aff9fc76..88dad66fb 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -31,6 +31,7 @@ STAGING_DIR:= ${STAGING_PARENT}/target
TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${ADK_TARGET}_${ADK_LIBC}
TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_*
TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build
+TOOLS_DIR:= $(BASE_DIR)/bin/tools
SCRIPT_DIR:= $(BASE_DIR)/scripts
ifeq ($(ADK_HW),)
BIN_DIR:= $(BASE_DIR)/bin/${ADK_TARGET}_${ADK_LIBC}
@@ -45,7 +46,7 @@ else
TARGET_DIR:= $(BASE_DIR)/root_${ADK_HW}_${ADK_TARGET}_${ADK_LIBC}
endif
TARGET_DIR_PFX:= $(BASE_DIR)/root_*
-TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TOOLS}/bin:${STAGING_DIR}/scripts:${_PATH}
+TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_TOOLS}/bin:${STAGING_DIR}/scripts:${_PATH}
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux
TOOLCHAIN_SYSROOT:= $(TOOLCHAIN_BUILD_DIR)/libc_dev
@@ -85,8 +86,8 @@ HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${HOSTCC}' \
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_BUILD:= PATH='${TARGET_PATH}' \
+ ${BASH} ${SCRIPT_DIR}/ipkg-build
PKG_INSTALL:= IPKG_TMP=$(BUILD_DIR)/tmp \
IPKG_INSTROOT=$(TARGET_DIR) \
IPKG_CONF_DIR=$(STAGING_DIR)/etc \
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 14a884bcf..e0cadbf9a 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:= 34
+PKG_RELEASE:= 36
PKG_SECTION:= base
PKG_DESCR:= basic files and scripts
@@ -26,7 +26,7 @@ do-install:
# allow this to fail, as there might be no target-specific files to copy
-$(CP) $(TOPDIR)/target/$(ADK_TARGET)/files/* $(IDIR_BASE_FILES)
ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y)
- @-rm $(IDIR_BASE_FILES)/etc/network/interfaces
+ @echo "#" > $(IDIR_BASE_FILES)/etc/network/interfaces
endif
$(SED) 's,@TARGET@,$(ADK_TARGET),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
@@ -43,18 +43,12 @@ endif
ifneq (${ADK_PACKAGE_ZSH},)
echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells
endif
- mkdir -p $(IDIR_BASE_FILES)/dev
- mkdir -p $(IDIR_BASE_FILES)/boot
- mkdir -p $(IDIR_BASE_FILES)/root
- mkdir -p $(IDIR_BASE_FILES)/sys
+ mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt}
mkdir -p $(IDIR_BASE_FILES)/etc/crontabs
mkdir -p $(IDIR_BASE_FILES)/etc/network/if-pre-up.d
mkdir -p $(IDIR_BASE_FILES)/etc/network/if-up.d
mkdir -p $(IDIR_BASE_FILES)/etc/network/if-down.d
mkdir -p $(IDIR_BASE_FILES)/etc/network/if-post-down.d
- mkdir -p $(IDIR_BASE_FILES)/mnt
- mkdir -p $(IDIR_BASE_FILES)/proc
- mkdir -p $(IDIR_BASE_FILES)/tmp
mkdir -p $(IDIR_BASE_FILES)/usr/lib
mkdir -p $(IDIR_BASE_FILES)/usr/bin
chmod 755 $(IDIR_BASE_FILES)/lib/mdev/init
diff --git a/package/base-files/files/base-files.conffiles b/package/base-files/files/base-files.conffiles
index b2f9597a8..59ed2f02b 100644
--- a/package/base-files/files/base-files.conffiles
+++ b/package/base-files/files/base-files.conffiles
@@ -1,6 +1,9 @@
+/etc/mdev.conf
+/etc/inittab
/etc/banner
/etc/group
/etc/hosts
+/etc/hostname
/etc/ipkg.conf
/etc/modules
/etc/passwd
@@ -10,3 +13,5 @@
/etc/rc.conf
/etc/sysctl.conf
/etc/shadow
+/etc/shells
+/etc/network/interfaces
diff --git a/package/base-files/src/etc/mdev.conf b/package/base-files/src/etc/mdev.conf
index 99c910d0b..69d9c0079 100644
--- a/package/base-files/src/etc/mdev.conf
+++ b/package/base-files/src/etc/mdev.conf
@@ -1,11 +1,18 @@
+rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc
+device-mapper 0:0 660 @mkdir /dev/mapper
tun 0:0 660 >net/tun
null 0:0 777
zero 0:0 666
+u?random 0:0 644
console 0:0 0600
-kmem 0:0 000
-mem 0:0 0640
-port 0:0 0640
ptmx 0:0 666
-tty 0:0 0666
+tty 0:0 666
ttyS* 0:0 640
+audio root:audio 660 >snd/audio
+dsp root:audio 660 >snd/dsp
+timer root:audio 660 >snd/timer
+controlC0 root:audio 660 >snd/controlC0
+pcmC0D0c root:audio 660 >snd/pcmC0D0c
+pcmC0D0p root:audio 660 >snd/pcmC0D0p
+msr0 root:root 660 @(mkdir -p /dev/cpu/0 && ln -sf /dev/msr0 /dev/cpu/0/msr)
.* 0:0 644 @/lib/mdev/init
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index b6ddc2363..d4b9e8c6a 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= busybox
PKG_VERSION:= 1.17.2
-PKG_RELEASE:= 4
+PKG_RELEASE:= 5
PKG_MD5SUM:= 7360b7138b899ee7fc885791c740c3c3
PKG_DESCR:= Core utilities for embedded systems
PKG_SECTION:= base
diff --git a/package/busybox/patches/001-ipkg.patch b/package/busybox/patches/001-ipkg.patch
index 81f831d54..10519636b 100644
--- a/package/busybox/patches/001-ipkg.patch
+++ b/package/busybox/patches/001-ipkg.patch
@@ -1,6 +1,17 @@
-diff -Nur busybox-1.17.1.orig/archival/Config.src busybox-1.17.1/archival/Config.src
---- busybox-1.17.1.orig/archival/Config.src 2010-07-25 00:12:56.000000000 +0200
-+++ busybox-1.17.1/archival/Config.src 2010-07-28 13:07:49.435987872 +0200
+diff -Nur busybox-1.17.2.orig/Makefile busybox-1.17.2/Makefile
+--- busybox-1.17.2.orig/Makefile 2010-08-23 02:51:08.000000000 +0200
++++ busybox-1.17.2/Makefile 2010-12-01 22:25:23.000000000 +0100
+@@ -464,6 +464,7 @@
+
+ libs-y := \
+ archival/ \
++ archival/libipkg/ \
+ archival/libunarchive/ \
+ console-tools/ \
+ coreutils/ \
+diff -Nur busybox-1.17.2.orig/archival/Config.src busybox-1.17.2/archival/Config.src
+--- busybox-1.17.2.orig/archival/Config.src 2010-08-22 10:21:38.000000000 +0200
++++ busybox-1.17.2/archival/Config.src 2010-12-01 22:25:23.000000000 +0100
@@ -202,6 +202,12 @@
are actually slower than gzip at equivalent compression ratios
and take up 3.2K of code.
@@ -14,9 +25,20 @@ diff -Nur busybox-1.17.1.orig/archival/Config.src busybox-1.17.1/archival/Config
config RPM2CPIO
bool "rpm2cpio"
default y
-diff -Nur busybox-1.17.1.orig/archival/ipkg.c busybox-1.17.1/archival/ipkg.c
---- busybox-1.17.1.orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/ipkg.c 2010-07-28 13:07:49.439598667 +0200
+diff -Nur busybox-1.17.2.orig/archival/Kbuild.src busybox-1.17.2/archival/Kbuild.src
+--- busybox-1.17.2.orig/archival/Kbuild.src 2010-08-23 02:44:35.000000000 +0200
++++ busybox-1.17.2/archival/Kbuild.src 2010-12-01 22:25:23.000000000 +0100
+@@ -23,6 +23,7 @@
+ lib-$(CONFIG_LZOP_COMPR_HIGH) += lzo1x_9x.o
+ lib-$(CONFIG_GZIP) += gzip.o bbunzip.o
+ lib-$(CONFIG_BZIP2) += bzip2.o bbunzip.o
++lib-$(CONFIG_IPKG) += ipkg.o
+
+ lib-$(CONFIG_UNXZ) += bbunzip.o
+ lib-$(CONFIG_UNLZMA) += bbunzip.o
+diff -Nur busybox-1.17.2.orig/archival/ipkg.c busybox-1.17.2/archival/ipkg.c
+--- busybox-1.17.2.orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/ipkg.c 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,28 @@
+/* ipkg.c - the itsy package management system
+
@@ -46,20 +68,73 @@ diff -Nur busybox-1.17.1.orig/archival/ipkg.c busybox-1.17.1/archival/ipkg.c
+{
+ return ipkg_op(argc, argv);
+}
-diff -Nur busybox-1.17.1.orig/archival/Kbuild.src busybox-1.17.1/archival/Kbuild.src
---- busybox-1.17.1.orig/archival/Kbuild.src 2010-07-06 04:25:53.000000000 +0200
-+++ busybox-1.17.1/archival/Kbuild.src 2010-07-28 13:07:49.439598667 +0200
-@@ -23,6 +23,7 @@
- lib-$(CONFIG_LZOP_COMPR_HIGH) += lzo1x_9x.o
- lib-$(CONFIG_GZIP) += gzip.o bbunzip.o
- lib-$(CONFIG_BZIP2) += bzip2.o bbunzip.o
-+lib-$(CONFIG_IPKG) += ipkg.o
-
- lib-$(CONFIG_UNXZ) += bbunzip.o
- lib-$(CONFIG_UNLZMA) += bbunzip.o
-diff -Nur busybox-1.17.1.orig/archival/libipkg/args.c busybox-1.17.1/archival/libipkg/args.c
---- busybox-1.17.1.orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/args.c 2010-07-28 13:07:49.443599457 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/Kbuild busybox-1.17.2/archival/libipkg/Kbuild
+--- busybox-1.17.2.orig/archival/libipkg/Kbuild 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/Kbuild 2010-12-01 22:25:23.000000000 +0100
+@@ -0,0 +1,60 @@
++# Makefile for busybox
++#
++# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
++# Copyright (C) 2006 OpenWrt.org
++#
++# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
++
++LIBIPKG_CORE_OBJS:= \
++ args.o \
++ libipkg.o \
++ user.o \
++
++LIBIPKG_CMD_OBJS:= \
++ ipkg_cmd.o \
++ ipkg_configure.o \
++ ipkg_download.o \
++ ipkg_install.o \
++ ipkg_remove.o \
++ ipkg_upgrade.o \
++
++LIBIPKG_DB_OBJS:= \
++ hash_table.o \
++ ipkg_conf.o \
++ ipkg_utils.o \
++ pkg.o \
++ pkg_depends.o \
++ pkg_extract.o \
++ pkg_hash.o \
++ pkg_parse.o \
++ pkg_vec.o \
++
++LIBIPKG_LIST_OBJS:= \
++ conffile.o \
++ conffile_list.o \
++ nv_pair.o \
++ nv_pair_list.o \
++ pkg_dest.o \
++ pkg_dest_list.o \
++ pkg_src.o \
++ pkg_src_list.o \
++ str_list.o \
++ void_list.o \
++
++LIBIPKG_UTIL_OBJS:= \
++ file_util.o \
++ ipkg_message.o \
++ str_util.o \
++ xsystem.o \
++
++lib-y :=
++lib-$(CONFIG_IPKG) += $(LIBIPKG_CORE_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_CMD_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_DB_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_LIST_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_UTIL_OBJS)
++
++ifeq ($(strip $(IPKG_ARCH)),)
++IPKG_ARCH:=$(TARGET_ARCH)
++endif
++CFLAGS += -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
+diff -Nur busybox-1.17.2.orig/archival/libipkg/args.c busybox-1.17.2/archival/libipkg/args.c
+--- busybox-1.17.2.orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/args.c 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,242 @@
+/* args.c - parse command-line args
+
@@ -303,9 +378,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/args.c busybox-1.17.1/archival/li
+{
+ bb_error_msg("version %s\n", IPKG_VERSION);
+}
-diff -Nur busybox-1.17.1.orig/archival/libipkg/args.h busybox-1.17.1/archival/libipkg/args.h
---- busybox-1.17.1.orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/args.h 2010-07-28 13:07:49.443599457 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/args.h busybox-1.17.2/archival/libipkg/args.h
+--- busybox-1.17.2.orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/args.h 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,72 @@
+/* args.h - parse command-line args
+
@@ -379,9 +454,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/args.h busybox-1.17.1/archival/li
+void args_usage(const char *complaint);
+
+#endif
-diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile.c busybox-1.17.1/archival/libipkg/conffile.c
---- busybox-1.17.1.orig/archival/libipkg/conffile.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/conffile.c 2010-07-28 13:07:49.443599457 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/conffile.c busybox-1.17.2/archival/libipkg/conffile.c
+--- busybox-1.17.2.orig/archival/libipkg/conffile.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/conffile.c 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,65 @@
+/* conffile.c - the itsy package management system
+
@@ -448,9 +523,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile.c busybox-1.17.1/archiva
+
+ return ret;
+}
-diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile.h busybox-1.17.1/archival/libipkg/conffile.h
---- busybox-1.17.1.orig/archival/libipkg/conffile.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/conffile.h 2010-07-28 13:07:49.451597683 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/conffile.h busybox-1.17.2/archival/libipkg/conffile.h
+--- busybox-1.17.2.orig/archival/libipkg/conffile.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/conffile.h 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,30 @@
+/* conffile.h - the itsy package management system
+
@@ -482,9 +557,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile.h busybox-1.17.1/archiva
+
+#endif
+
-diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile_list.c busybox-1.17.1/archival/libipkg/conffile_list.c
---- busybox-1.17.1.orig/archival/libipkg/conffile_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/conffile_list.c 2010-07-28 13:07:49.451597683 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/conffile_list.c busybox-1.17.2/archival/libipkg/conffile_list.c
+--- busybox-1.17.2.orig/archival/libipkg/conffile_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/conffile_list.c 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,47 @@
+/* conffile_list.c - the itsy package management system
+
@@ -533,9 +608,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile_list.c busybox-1.17.1/ar
+ return nv_pair_list_pop(list);
+}
+
-diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile_list.h busybox-1.17.1/archival/libipkg/conffile_list.h
---- busybox-1.17.1.orig/archival/libipkg/conffile_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/conffile_list.h 2010-07-28 13:07:49.451597683 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/conffile_list.h busybox-1.17.2/archival/libipkg/conffile_list.h
+--- busybox-1.17.2.orig/archival/libipkg/conffile_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/conffile_list.h 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,36 @@
+/* conffile_list.h - the itsy package management system
+
@@ -573,9 +648,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/conffile_list.h busybox-1.17.1/ar
+
+#endif
+
-diff -Nur busybox-1.17.1.orig/archival/libipkg/file_util.c busybox-1.17.1/archival/libipkg/file_util.c
---- busybox-1.17.1.orig/archival/libipkg/file_util.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/file_util.c 2010-07-28 13:07:49.455597914 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/file_util.c busybox-1.17.2/archival/libipkg/file_util.c
+--- busybox-1.17.2.orig/archival/libipkg/file_util.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/file_util.c 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,186 @@
+/* file_util.c - convenience routines for common stat operations
+
@@ -763,9 +838,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/file_util.c busybox-1.17.1/archiv
+ return hash_file(file_name, HASH_MD5);
+}
+
-diff -Nur busybox-1.17.1.orig/archival/libipkg/file_util.h busybox-1.17.1/archival/libipkg/file_util.h
---- busybox-1.17.1.orig/archival/libipkg/file_util.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/file_util.h 2010-07-28 13:07:49.455597914 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/file_util.h busybox-1.17.2/archival/libipkg/file_util.h
+--- busybox-1.17.2.orig/archival/libipkg/file_util.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/file_util.h 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,29 @@
+/* file_util.h - convenience routines for common file operations
+
@@ -796,9 +871,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/file_util.h busybox-1.17.1/archiv
+uint8_t *file_md5sum_alloc(const char *file_name);
+
+#endif
-diff -Nur busybox-1.17.1.orig/archival/libipkg/hash_table.c busybox-1.17.1/archival/libipkg/hash_table.c
---- busybox-1.17.1.orig/archival/libipkg/hash_table.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/hash_table.c 2010-07-28 13:07:49.455597914 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/hash_table.c busybox-1.17.2/archival/libipkg/hash_table.c
+--- busybox-1.17.2.orig/archival/libipkg/hash_table.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/hash_table.c 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,155 @@
+/* hash.c - hash tables for ipkg
+
@@ -955,9 +1030,9 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/hash_table.c busybox-1.17.1/archi
+ }
+}
+
-diff -Nur busybox-1.17.1.orig/archival/libipkg/hash_table.h busybox-1.17.1/archival/libipkg/hash_table.h
---- busybox-1.17.1.orig/archival/libipkg/hash_table.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/hash_table.h 2010-07-28 13:07:49.455597914 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/hash_table.h busybox-1.17.2/archival/libipkg/hash_table.h
+--- busybox-1.17.2.orig/archival/libipkg/hash_table.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/hash_table.h 2010-12-01 22:25:23.000000000 +0100
@@ -0,0 +1,44 @@
+/* hash.h - hash tables for ipkg
+
@@ -1003,9 +1078,81 @@ diff -Nur busybox-1.17.1.orig/archival/libipkg/hash_table.h busybox-1.17.1/archi
+void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
+
+#endif /* _HASH_TABLE_H_ */
-diff -Nur busybox-1.17.1.orig/archival/libipkg/ipkg_cmd.c busybox-1.17.1/archival/libipkg/ipkg_cmd.c
---- busybox-1.17.1.orig/archival/libipkg/ipkg_cmd.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.17.1/archival/libipkg/ipkg_cmd.c 2010-07-28 13:07:49.487607300 +0200
+diff -Nur busybox-1.17.2.orig/archival/libipkg/ipkg.h busybox-1.17.2/archival/libipkg/ipkg.h
+--- busybox-1.17.2.orig/archival/libipkg/ipkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.17.2/archival/libipkg/ipkg.h 2010-12-01 22:25:23.000000000 +0100
+@@ -0,0 +1,68 @@
++/* ipkg.h - the itsy package management system
++
++ Carl D. Worth
++
++ Copyright (C) 2001 University of Southern California
++
++ This program is free software; you can redistribute it and/or
++ modify it under the terms of the GNU General Public License as
++ published by the Free Software Foundation; either version 2, or (at
++ your option) any later version.
++
++ This program is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++*/
++
++#ifndef IPKG_H
++#define IPKG_H
++
++#include "libbb.h"
++
++#include "ipkg_includes.h"
++#include "ipkg_conf.h"
++#include "ipkg_message.h"
++
++#define IPKG_PKG_EXTENSION ".ipk"
++#define DPKG_PKG_EXTENSION ".deb"
++
++#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
++#define IPKG_PKG_VERSION_SEP_CHAR '_'
++
++#define IPKG_STATE_DIR_PREFIX IPKGLIBDIR"/ipkg"
++#define IPKG_LISTS_DIR_SUFFIX "lists"
++#define IPKG_INFO_DIR_SUFFIX "info"
++#define IPKG_STATUS_FILE_SUFFIX "status"
++
++#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
++
++#define IPKG_LIST_DESCRIPTION_LENGTH 128
++
++#define IPKG_VERSION "1.00"
++
++
++enum ipkg_error {
++ IPKG_SUCCESS = 0,
++ IPKG_PKG_DEPS_UNSATISFIED,
++ IPKG_PKG_IS_ESSENTIAL,
++ IPKG_PKG_HAS_DEPENDENTS,
++