Browse Source

lxc: move package from old packages feed

Signed-off-by: Luka Perkov <luka@openwrt.org>
lilik-openwrt-22.03
Luka Perkov 11 years ago
parent
commit
36fe1d34e6
4 changed files with 293 additions and 0 deletions
  1. +225
    -0
      utils/lxc/Makefile
  2. +33
    -0
      utils/lxc/patches/010-compile.patch
  3. +15
    -0
      utils/lxc/patches/015-getline.patch
  4. +20
    -0
      utils/lxc/patches/020-lxc-checkconfig.patch

+ 225
- 0
utils/lxc/Makefile View File

@ -0,0 +1,225 @@
#
# Copyright (C) 2013-2014 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:=lxc
PKG_VERSION:=1.0.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://linuxcontainers.org/downloads/
PKG_MD5SUM:=9d9af9e9e69a831cd50b58d91c786013
PKG_BUILD_DEPENDS:=lua
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
LXC_APPLETS_BIN += \
attach autostart cgroup clone config console create destroy execute \
freeze info monitor snapshot start stop unfreeze unshare usernsexec wait
LXC_APPLETS_LIB += \
monitord user-nic
LXC_SCRIPTS += \
checkconfig ls top
DEPENDS_APPLETS = +libpthread +libcap +liblxc
DEPENDS_top = +lxc-lua +luafilesystem @BROKEN
define Package/lxc/Default
SECTION:=utils
CATEGORY:=Utilities
TITLE:=LXC userspace tools
URL:=http://lxc.sourceforge.net/
MAINTAINER:=Luka Perkov <luka@openwrt.org>
endef
define Package/lxc
$(call Package/lxc/Default)
MENU:=1
endef
define Package/lxc/description
LXC is the userspace control package for Linux Containers, a lightweight
virtual system mechanism sometimes described as "chroot on steroids".
endef
define Package/lxc-common
$(call Package/lxc/Default)
TITLE:=LXC common files
DEPENDS:= lxc
endef
define Package/lxc-hooks
$(call Package/lxc/Default)
TITLE:=LXC virtual machine hooks
DEPENDS:= lxc
endef
define Package/lxc-templates
$(call Package/lxc/Default)
TITLE:=LXC virtual machine templates
DEPENDS:= lxc @BROKEN
endef
define Package/liblxc
$(call Package/lxc/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE:=LXC userspace library
DEPENDS:= lxc +libcap +libpthread
endef
define Package/lxc-lua
$(call Package/lxc/Default)
TITLE:=LXC Lua bindings
DEPENDS:= lxc +liblua +liblxc +luafilesystem
endef
define Package/lxc-init
$(call Package/lxc/Default)
TITLE:=LXC Lua bindings
DEPENDS:= lxc +liblxc
endef
CONFIGURE_ARGS += \
--disable-apparmor \
--disable-doc \
--disable-examples \
--disable-seccomp
--enable-lua=yes \
--with-lua-pc="$(STAGING_DIR)/usr/lib/pkgconfig/lua.pc" \
MAKE_FLAGS += \
LUA_INSTALL_CMOD="/usr/lib/lua" \
LUA_INSTALL_LMOD="/usr/lib/lua"
define Build/Configure
( cd $(PKG_BUILD_DIR); ./autogen.sh );
$(call Build/Configure/Default)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/lxc/
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/lxc/* \
$(1)/usr/include/lxc/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/liblxc.so* \
$(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lxc.pc \
$(1)/usr/lib/pkgconfig/
endef
define Package/lxc/install
true
endef
define Package/lxc-common/conffiles
/etc/lxc/default.conf
/etc/lxc/lxc.conf
endef
define Package/lxc-common/install
$(INSTALL_DIR) $(1)/usr/lib/lxc/rootfs
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/lxc/rootfs/README \
$(1)/usr/lib/lxc/rootfs/
$(INSTALL_DIR) $(1)/usr/share/lxc
$(CP) \
$(PKG_INSTALL_DIR)/usr/share/lxc/lxc.functions \
$(1)/usr/share/lxc/
$(INSTALL_DIR) $(1)/etc/lxc/
$(CP) \
$(PKG_INSTALL_DIR)/etc/lxc/default.conf \
$(1)/etc/lxc/
endef
define Package/lxc-hooks/install
$(INSTALL_DIR) $(1)/usr/share/lxc/hooks
$(CP) \
$(PKG_INSTALL_DIR)/usr/share/lxc/hooks/mountcgroups \
$(1)/usr/share/lxc/hooks/
$(CP) \
$(PKG_INSTALL_DIR)/usr/share/lxc/hooks/mountecryptfsroot \
$(1)/usr/share/lxc/hooks/
endef
define Package/lxc-templates/install
$(INSTALL_DIR) $(1)/usr/share/lxc/templates/
$(CP) \
$(PKG_INSTALL_DIR)/usr/share/lxc/templates/lxc-* \
$(1)/usr/share/lxc/templates/
endef
define Package/liblxc/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/liblxc.so* \
$(1)/usr/lib/
endef
define Package/lxc-lua/install
$(INSTALL_DIR) $(1)/usr/lib/lua
$(CP) \
$(PKG_INSTALL_DIR)/usr/share/lua/5.1/lxc.lua \
$(1)/usr/lib/lua/
$(INSTALL_DIR) $(1)/usr/lib/lua/lxc
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/lua/5.1/lxc/core.so \
$(1)/usr/lib/lua/lxc/
endef
define Package/lxc-init/install
$(INSTALL_DIR) $(1)/sbin
$(CP) \
$(PKG_INSTALL_DIR)/usr/sbin/init.lxc \
$(1)/sbin/
endef
define GenPlugin
define Package/lxc-$(1)
$(call Package/lxc/Default)
TITLE:=Utility lxc-$(1) from the LXC userspace tools
DEPENDS:= lxc +lxc-common $(2) $(DEPENDS_$(1))
endef
define Package/lxc-$(1)/install
$(INSTALL_DIR) $$(1)$(3)
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)$(3)/lxc-$(1) \
$$(1)$(3)/
endef
$$(eval $$(call BuildPackage,lxc-$(1)))
endef
$(eval $(call BuildPackage,lxc))
$(eval $(call BuildPackage,lxc-common))
$(eval $(call BuildPackage,lxc-hooks))
$(eval $(call BuildPackage,lxc-templates))
$(eval $(call BuildPackage,liblxc))
$(eval $(call BuildPackage,lxc-lua))
$(foreach u,$(LXC_APPLETS_BIN),$(eval $(call GenPlugin,$(u),$(DEPENDS_APPLETS),"/usr/bin")))
$(foreach u,$(LXC_APPLETS_LIB),$(eval $(call GenPlugin,$(u),$(DEPENDS_APPLETS),"/usr/lib/lxc")))
$(foreach u,$(LXC_SCRIPTS),$(eval $(call GenPlugin,$(u),,"/usr/bin")))

+ 33
- 0
utils/lxc/patches/010-compile.patch View File

@ -0,0 +1,33 @@
--- a/configure.ac
+++ b/configure.ac
@@ -31,30 +31,6 @@ AC_CANONICAL_HOST
AM_PROG_CC_C_O
AC_GNU_SOURCE
-# Detect the distribution. This is used for the default configuration and
-# for some distro-specific build options.
-AC_MSG_CHECKING([host distribution])
-AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, oracle, centos, fedora, suse, gentoo, debian, arch, slackware, paldo, openmandriva or pardus.]))
-if type lsb_release >/dev/null 2>&1 && test "z$with_distro" = "z"; then
- with_distro=`lsb_release -is`
-fi
-if test "z$with_distro" = "z"; then
- AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
- AC_CHECK_FILE(/etc/oracle-release,with_distro="oracle")
- AC_CHECK_FILE(/etc/centos-release,with_distro="centos")
- AC_CHECK_FILE(/etc/fedora-release,with_distro="fedora")
- AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
- AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo")
- AC_CHECK_FILE(/etc/debian_version,with_distro="debian")
- AC_CHECK_FILE(/etc/arch-release,with_distro="arch")
- AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
- AC_CHECK_FILE(/etc/frugalware-release,with_distro="frugalware")
- AC_CHECK_FILE(/etc/mandrakelinux-release, with_distro="openmandriva")
- AC_CHECK_FILE(/etc/mandriva-release,with_distro="openmandriva")
- AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
-fi
-with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]'`
-
if test "z$with_distro" = "z"; then
with_distro="unknown"
fi

+ 15
- 0
utils/lxc/patches/015-getline.patch View File

@ -0,0 +1,15 @@
--- a/src/lxc/utils.h
+++ b/src/lxc/utils.h
@@ -44,11 +44,7 @@ extern char *get_rundir(void);
extern const char *lxc_global_config_value(const char *option_name);
/* Define getline() if missing from the C library */
-#ifndef HAVE_GETLINE
-#ifdef HAVE_FGETLN
-#include <../include/getline.h>
-#endif
-#endif
+#include "../include/getline.h"
/* Define setns() if missing from the C library */
#ifndef HAVE_SETNS

+ 20
- 0
utils/lxc/patches/020-lxc-checkconfig.patch View File

@ -0,0 +1,20 @@
--- a/src/lxc/lxc-checkconfig.in
+++ b/src/lxc/lxc-checkconfig.in
@@ -4,6 +4,17 @@
: ${CONFIG:=/proc/config.gz}
: ${GREP:=zgrep}
: ${MODNAME:=configs}
+: ${ZGREP:=zgrep}
+: ${GUNZIP:=gunzip}
+
+if [ -z $(which $ZGREP) ] && ! [ -z $(which $GUNZIP) ] && [ -x $(which $GUNZIP) ] && [ -f $CONFIG ] && [ "$CONFIG" == "/proc/config.gz" ] ; then
+
+ CONFIG_NEW="/tmp/config-$(uname -r)"
+ $GUNZIP -c $CONFIG > $CONFIG_NEW
+ CONFIG=$CONFIG_NEW
+
+ GREP=grep
+fi
SETCOLOR_SUCCESS="printf \\033[1;32m"
SETCOLOR_FAILURE="printf \\033[1;31m"

Loading…
Cancel
Save