summaryrefslogtreecommitdiff
path: root/package/ipkg
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-30 19:28:10 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-30 19:28:10 +0000
commit02b2ed0c210ec4f386d1da49fc6b6d6e90d36d0a (patch)
treee731ff3d44a0aba97e44c29ce307c68e2b1fa917 /package/ipkg
parent50423b5c23393c9613007e495a21af079e766e7a (diff)
copy ipkg shell script to scripts/, change the reference in rules.mk and add the c version of ipkg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@769 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/ipkg')
-rw-r--r--package/ipkg/Config.in16
-rw-r--r--package/ipkg/Makefile81
-rw-r--r--package/ipkg/ipkg.control18
-rw-r--r--package/ipkg/patches/configure.patch19
4 files changed, 134 insertions, 0 deletions
diff --git a/package/ipkg/Config.in b/package/ipkg/Config.in
new file mode 100644
index 0000000000..4abe38a3a8
--- /dev/null
+++ b/package/ipkg/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_IPKG
+ tristate "ipkg"
+ default y
+ help
+ Lightweight package management system
+ ipkg is the Itsy Package Management System, for handling
+ installation and removal of packages on a system. It can
+ recursively follow dependencies and download all packages
+ necessary to install a particular package.
+
+ ipkg knows how to install both .ipk and .deb packages.
+
+ ipkg is intended to serve the same functions (and more) for
+ Familiar that dpkg and apt serve for Debian, (while taking
+ up much less space).
+
diff --git a/package/ipkg/Makefile b/package/ipkg/Makefile
new file mode 100644
index 0000000000..464670af16
--- /dev/null
+++ b/package/ipkg/Makefile
@@ -0,0 +1,81 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ipkg
+PKG_VERSION:=0.99.145
+PKG_RELEASE:=1
+PKG_MD5SUM:=d98799dbcf911f90a7c3c897713cc37a
+
+PKG_SOURCE_URL:=http://www.handhelds.org/packages/ipkg
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+IPKG_IPKG:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+IDIR_IPKG:=$(PKG_BUILD_DIR)/idir/$(PKG_NAME)
+INFO_IPKG:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list
+
+$(DL_DIR)/$(PKG_SOURCE):
+ $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
+
+$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
+ $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ $(PATCH) $(PKG_BUILD_DIR) ./patches
+ touch $(PKG_BUILD_DIR)/.prepared
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+ (cd $(PKG_BUILD_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ $(DISABLE_NLS) \
+ $(DISABLE_LARGEFILE) \
+ );
+ touch $(PKG_BUILD_DIR)/.configured
+
+$(PKG_BUILD_DIR)/$(PKG_NAME): $(PKG_BUILD_DIR)/.configured
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC=$(TARGET_CC)
+
+$(IPKG_IPKG): $(PKG_BUILD_DIR)/$(PKG_NAME)
+ $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_IPKG) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+ mkdir -p $(IDIR_IPKG)/bin
+ cp -a $(PKG_BUILD_DIR)/.libs/ipkg-cl $(IDIR_IPKG)/bin/ipkg
+ $(STRIP) $(IDIR_IPKG)/bin/*
+ mkdir -p $(IDIR_IPKG)/lib
+ cp -a $(PKG_BUILD_DIR)/.libs/libipkg.so* $(IDIR_IPKG)/lib/
+ $(STRIP) $(IDIR_IPKG)/lib/*
+ mkdir -p $(PACKAGE_DIR)
+ $(IPKG_BUILD) $(IDIR_IPKG) $(PACKAGE_DIR)
+
+$(INFO_IPKG): $(IPKG_IPKG)
+ $(IPKG) install $(IPKG_IPKG)
+
+source: $(DL_DIR)/$(PKG_SOURCE)
+prepare: $(PKG_BUILD_DIR)/.prepared
+compile: $(IPKG_IPKG)
+install: $(INFO_IPKG)
+
+clean:
+ rm -rf $(PKG_BUILD_DIR) $(IPKG_IPKG)
diff --git a/package/ipkg/ipkg.control b/package/ipkg/ipkg.control
new file mode 100644
index 0000000000..1a1bf3197c
--- /dev/null
+++ b/package/ipkg/ipkg.control
@@ -0,0 +1,18 @@
+Package: ipkg
+Section: base
+Priority: required
+Essential: yes
+Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
+Source: buildroot internal
+Description: lightweight package management system
+ ipkg is the Itsy Package Management System, for handling
+ installation and removal of packages on a system. It can
+ recursively follow dependencies and download all packages
+ necessary to install a particular package.
+ .
+ ipkg knows how to install both .ipk and .deb packages.
+ .
+ ipkg is intended to serve the same functions (and more) for
+ Familiar that dpkg and apt serve for Debian, (while taking
+ up much less space).
+
diff --git a/package/ipkg/patches/configure.patch b/package/ipkg/patches/configure.patch
new file mode 100644
index 0000000000..c9b7c05190
--- /dev/null
+++ b/package/ipkg/patches/configure.patch
@@ -0,0 +1,19 @@
+--- ipkg-0.99.144/configure 2005-02-23 01:53:46.000000000 +0300
++++ ipkg/configure 2005-03-13 16:55:10.933348792 +0300
+@@ -21657,7 +21657,7 @@
+ done
+
+
+- ac_config_files="$ac_config_files Makefile etc/Makefile replace/Makefile familiar/Makefile familiar/control familiar/control-unstripped familiar/libipkg-control familiar/libipkg-dev-control libbb/Makefile libipkg.pc ipkg.h"
++ ac_config_files="$ac_config_files Makefile etc/Makefile familiar/Makefile familiar/control familiar/control-unstripped familiar/libipkg-control familiar/libipkg-dev-control libbb/Makefile libipkg.pc ipkg.h"
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+ # tests run on this system so they can be shared between configure
+@@ -22216,7 +22216,6 @@
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "etc/Makefile" ) CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
+- "replace/Makefile" ) CONFIG_FILES="$CONFIG_FILES replace/Makefile" ;;
+ "familiar/Makefile" ) CONFIG_FILES="$CONFIG_FILES familiar/Makefile" ;;
+ "familiar/control" ) CONFIG_FILES="$CONFIG_FILES familiar/control" ;;
+ "familiar/control-unstripped" ) CONFIG_FILES="$CONFIG_FILES familiar/control-unstripped" ;;