add opkg - symlink /usr/lib/ipkg to /usr/lib/opkg so that opkg can be used as a drop in replacement of ipkg
SVN-Revision: 11983master
parent
2ddbb426c8
commit
53332ba9c2
@ -0,0 +1,76 @@ |
||||
#
|
||||
# Copyright (C) 2006-2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
|
||||
include $(TOPDIR)/rules.mk |
||||
|
||||
PKG_NAME:=opkg
|
||||
PKG_REV:=4561
|
||||
PKG_VERSION:=$(PKG_REV)
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=svn
|
||||
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||
PKG_SOURCE_SUBDIR:=opkg-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=http://svn.openmoko.org/trunk/src/target/opkg/
|
||||
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
|
||||
PKG_FIXUP = libtool
|
||||
include $(INCLUDE_DIR)/package.mk |
||||
|
||||
define Package/opkg |
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
TITLE:=opkg package management system
|
||||
URL:=http://wiki.openmoko.org/wiki/Opkg
|
||||
endef |
||||
|
||||
define Package/opkg/description |
||||
Lightweight package management system
|
||||
opkg is the opkg 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.
|
||||
|
||||
opkg knows how to install both .ipk and .deb packages.
|
||||
endef |
||||
|
||||
EXTRA_CFLAGS+=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/lib
|
||||
EXTRA_LDFLAGS+=-L$(STAGING_DIR)/usr/lib -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-curl \
|
||||
--disable-gpg \
|
||||
|
||||
define Build/Configure |
||||
(cd $(PKG_BUILD_DIR); \
|
||||
./autogen.sh \
|
||||
);
|
||||
$(call Build/Configure/Default)
|
||||
endef |
||||
|
||||
define Build/Compile |
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
CC=$(TARGET_CC) \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all install
|
||||
endef |
||||
|
||||
define Package/opkg/install |
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_DATA) ./files/opkg.conf $(1)/etc/
|
||||
$(SED) 's,$$$$S,$(BOARD),g' $(1)/etc/opkg.conf
|
||||
$(INSTALL_BIN) ./files/postinst $(1)/CONTROL/postinst
|
||||
$(INSTALL_DIR) $(1)/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libopkg.so.* $(1)/usr/lib/
|
||||
endef |
||||
|
||||
define Build/InstallDev |
||||
mkdir -p $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libopkg $(1)/usr/include/
|
||||
endef |
||||
|
||||
$(eval $(call BuildPackage,opkg)) |
@ -0,0 +1,4 @@ |
||||
src snapshots http://downloads.openwrt.org/snapshots/$S/packages |
||||
dest root / |
||||
dest ram /tmp |
||||
lists_dir ext /var/opkg-lists |
@ -0,0 +1,2 @@ |
||||
#!/bin/sh |
||||
ln -sf "${IPKG_INSTROOT}/usr/lib/ipkg" "${IPKG_INSTROOT}/usr/lib/opkg" |
@ -0,0 +1,77 @@ |
||||
Index: opkg-4561/libopkg/opkg_download.c |
||||
=================================================================== |
||||
--- opkg-4561/libopkg/opkg_download.c (revision 4480) |
||||
+++ opkg-4561/libopkg/opkg_download.c (working copy) |
||||
@@ -17,7 +17,9 @@ |
||||
General Public License for more details. |
||||
*/ |
||||
#include "config.h" |
||||
+#ifdef HAVE_CURL |
||||
#include <curl/curl.h> |
||||
+#endif |
||||
#ifdef HAVE_GPGME |
||||
#include <gpgme.h> |
||||
#endif |
||||
@@ -74,6 +76,7 @@ |
||||
setenv("no_proxy", conf->no_proxy, 1); |
||||
} |
||||
|
||||
+#ifdef HAVE_CURL |
||||
CURL *curl; |
||||
CURLcode res; |
||||
FILE * file = fopen (tmp_file_location, "w"); |
||||
@@ -119,6 +122,31 @@ |
||||
free(src_basec); |
||||
return -1; |
||||
} |
||||
+#else /* if wget is selected */ |
||||
+ char *cmd; |
||||
+ /* XXX: BUG rewrite to use execvp or else busybox's internal wget -Jamey 7/23/2002 */ |
||||
+ sprintf_alloc(&cmd, "wget --passive-ftp %s %s%s %s%s -P %s %s", |
||||
+ (conf->http_proxy || conf->ftp_proxy) ? "--proxy=on" : "", |
||||
+ conf->proxy_user ? "--proxy-user=" : "", |
||||
+ conf->proxy_user ? conf->proxy_user : "", |
||||
+ conf->proxy_passwd ? "--proxy-passwd=" : "", |
||||
+ conf->proxy_passwd ? conf->proxy_passwd : "", |
||||
+ conf->tmp_dir, |
||||
+ src); |
||||
+ err = xsystem(cmd); |
||||
+ if (err) { |
||||
+ if (err != -1) { |
||||
+ opkg_message(conf,OPKG_ERROR, "%s: ERROR: Command failed with return value %d: `%s'\n", |
||||
+ __FUNCTION__, err, cmd); |
||||
+ } |
||||
+ unlink(tmp_file_location); |
||||
+ free(tmp_file_location); |
||||
+ free(src_basec); |
||||
+ free(cmd); |
||||
+ return EINVAL; |
||||
+ } |
||||
+ free(cmd); |
||||
+#endif |
||||
|
||||
err = file_move(tmp_file_location, dest_file_name); |
||||
|
||||
Index: opkg-4561/configure.ac |
||||
=================================================================== |
||||
--- opkg-4561/configure.ac (revision 4480) |
||||
+++ opkg-4561/configure.ac (working copy) |
||||
@@ -22,9 +22,16 @@ |
||||
|
||||
# Checks for libraries |
||||
|
||||
-# check for libcurl |
||||
-PKG_CHECK_MODULES(CURL, libcurl) |
||||
+AC_ARG_ENABLE(curl, |
||||
+ AC_HELP_STRING([--enable-curl], [Enable use of libcurl instead of wget |
||||
+ [[default=yes]] ]), |
||||
+ [want_curl="$enableval"], [want_curl="yes"]) |
||||
|
||||
+if test "x$want_curl" = "xyes"; then |
||||
+ # check for libcurl |
||||
+ PKG_CHECK_MODULES(CURL, libcurl) |
||||
+ AC_DEFINE(HAVE_CURL, 1, [Define if you want to use libcurl instead of wget]) |
||||
+fi |
||||
|
||||
|
||||
dnl ********** |
@ -0,0 +1,8 @@ |
||||
--- opkg-4561/autogen.sh-orig 2008-07-28 18:00:33.000000000 -0500 |
||||
+++ opkg-4561/autogen.sh 2008-07-28 18:00:45.000000000 -0500 |
||||
@@ -1,5 +1,3 @@ |
||||
#! /bin/sh |
||||
autoreconf -v --install || exit 1 |
||||
glib-gettextize --force --copy || exit 1 |
||||
-./configure --enable-maintainer-mode "$@" |
||||
- |
Loading…
Reference in new issue