[Armadeus-commitlog] SF.net SVN: armadeus: [618] trunk/buildroot/package/ipkg
Brought to you by:
sszy
|
From: <ar...@us...> - 2007-08-09 17:14:11
|
Revision: 618
http://armadeus.svn.sourceforge.net/armadeus/?rev=618&view=rev
Author: artemys
Date: 2007-08-09 10:14:12 -0700 (Thu, 09 Aug 2007)
Log Message:
-----------
[BUILDROOT] Add package generation of ipkg util
Modified Paths:
--------------
trunk/buildroot/package/ipkg/ipkg.mk
Added Paths:
-----------
trunk/buildroot/package/ipkg/ipkg/
trunk/buildroot/package/ipkg/ipkg/ipkg-sh.control
trunk/buildroot/package/ipkg/ipkg/ipkg.control
Added: trunk/buildroot/package/ipkg/ipkg/ipkg-sh.control
===================================================================
--- trunk/buildroot/package/ipkg/ipkg/ipkg-sh.control (rev 0)
+++ trunk/buildroot/package/ipkg/ipkg/ipkg-sh.control 2007-08-09 17:14:12 UTC (rev 618)
@@ -0,0 +1,16 @@
+Package: ipkg-sh
+Section: base
+Priority: required
+Essential: yes
+Description: lightweight package management system (shell version)
+ 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).
+
Added: trunk/buildroot/package/ipkg/ipkg/ipkg.control
===================================================================
--- trunk/buildroot/package/ipkg/ipkg/ipkg.control (rev 0)
+++ trunk/buildroot/package/ipkg/ipkg/ipkg.control 2007-08-09 17:14:12 UTC (rev 618)
@@ -0,0 +1,16 @@
+Package: ipkg
+Section: base
+Priority: required
+Essential: yes
+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).
+
Modified: trunk/buildroot/package/ipkg/ipkg.mk
===================================================================
--- trunk/buildroot/package/ipkg/ipkg.mk 2007-08-09 16:30:21 UTC (rev 617)
+++ trunk/buildroot/package/ipkg/ipkg.mk 2007-08-09 17:14:12 UTC (rev 618)
@@ -9,10 +9,11 @@
IPKG_RELEASE:=2
IPKG_MD5SUM:=975cc419d6db5fb279dc58177c68373b
-# IPKG_SOURCE_URL:=http://www.handhelds.org/packages/ipkg \
-# http://www.gtlib.gatech.edu/pub/handhelds.org/packages/ipkg \
-# http://ftp.gwdg.de/pub/linux/handhelds/packages/ipkg
IPKG_SITE:=http://ftp.gwdg.de/pub/linux/handhelds/packages/ipkg
+# Mirrors:
+# http://www.handhelds.org/packages/ipkg
+# http://www.gtlib.gatech.edu/pub/handhelds.org/packages/ipkg
+# http://ftp.gwdg.de/pub/linux/handhelds/packages/ipkg
IPKG_SOURCE:=$(IPKG_NAME)-$(IPKG_VERSION).tar.gz
IPKG_CAT:=zcat
@@ -34,7 +35,14 @@
toolchain/patch-kernel.sh $(IPKG_BUILD_DIR) package/ipkg/patches \*.patch
touch $@
-$(IPKG_BUILD_DIR)/.configured: $(IPKG_BUILD_DIR)/.patched
+$(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/CONTROL/control: $(IPKG_BUILD_DIR)/.patched
+ scripts/make-ipkg-dir.sh $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME) package/$(IPKG_NAME)/ipkg/$(IPKG_NAME).control $(IPKG_VERSION) arm
+ if [ "$$(IDEPEND_$(1))" != "" ]; then echo "Depends: $$(IDEPEND_$(1))" >> $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/CONTROL/control; fi
+ for file in conffiles preinst postinst prerm postrm; do \
+ [ -f ./ipkg/$(IPKG_NAME).$$$$file ] && cp ./ipkg/$(IPKG_NAME).$$$$file $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/CONTROL/$$$$file || true; \
+ done
+
+$(IPKG_BUILD_DIR)/.configured: $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/CONTROL/control
(cd $(IPKG_BUILD_DIR); rm -rf config.{cache,status} ; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
@@ -72,12 +80,25 @@
all install
touch $@
+IPKG := IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(TARGET_DIR)/../ scripts/ipkg -force-defaults -force-depends
+# invoke ipkg-build with some default options
+TARGET_PATH=$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
+IPKG_BUILD := PATH="$(TARGET_PATH)" ipkg-build -c -o root -g root
+# Define it where STAGING_DIR & Co is done -->>
+PACKAGE_DIR:= $(BUILD_DIR)/../bin/packages
+
ipkg-c: uclibc $(IPKG_BUILD_DIR)/.compiled
cp $(IPKG_INSTALL_DIR)/bin/ipkg-cl $(TARGET_DIR)/bin/ipkg
-$(STRIP) --strip-unneeded $(IPKG_INSTALL_DIR)/usr/lib/libipkg.so*
cp -P $(IPKG_INSTALL_DIR)/usr/lib/libipkg.so* $(TARGET_DIR)/usr/lib/
+ # ipkg stuff:
+ mkdir -p $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/bin
+ mkdir -p $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/usr/lib
+ cp $(TARGET_DIR)/bin/ipkg $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/bin/
+ cp -P $(IPKG_INSTALL_DIR)/usr/lib/libipkg.so* $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME)/usr/lib
+# $(IPKG) install bin/packages/$(IPKG_NAME)-$(IPKG_VERSION)-arm.ipk
# $(RSTRIP) $(IDIR_IPKG_C)
-# $(IPKG_BUILD) $(IDIR_IPKG_C) $(PACKAGE_DIR)
+ $(IPKG_BUILD) $(IPKG_BUILD_DIR)/ipkg/$(IPKG_NAME) $(PACKAGE_DIR)
ipkg-sh: uclibc
install -m0755 ./package/ipkg/files/ipkg $(TARGET_DIR)/bin/ipkg
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|