lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (6455B)


      1 #
      2 # Copyright (C) 2013-2015 OpenWrt.org
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 # See /LICENSE for more information.
      6 #
      7 
      8 include $(TOPDIR)/rules.mk
      9 
     10 PKG_NAME:=lxc
     11 PKG_VERSION:=1.1.5
     12 PKG_RELEASE:=3
     13 
     14 PKG_LICENSE:=LGPL-2.1+ BSD-2-Clause GPL-2.0
     15 PKG_MAINTAINER:=Luka Perkov <luka@openwrt.org>
     16 
     17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
     18 PKG_SOURCE_URL:=http://linuxcontainers.org/downloads/lxc/
     19 PKG_MD5SUM:=dd9684dde0a58ed13f4f49c855b79a1a
     20 
     21 PKG_BUILD_DEPENDS:=lua
     22 PKG_BUILD_PARALLEL:=1
     23 
     24 PKG_INSTALL:=1
     25 PKG_FIXUP:=autoreconf
     26 
     27 include $(INCLUDE_DIR)/package.mk
     28 
     29 LXC_APPLETS_BIN += \
     30 	attach autostart cgroup clone config console create destroy device \
     31 	execute freeze info monitor snapshot start stop unfreeze unshare \
     32 	usernsexec wait
     33 
     34 LXC_APPLETS_LIB += \
     35 	monitord user-nic
     36 
     37 LXC_SCRIPTS += \
     38 	checkconfig ls top
     39 
     40 DEPENDS_APPLETS = +libpthread +libcap +liblxc
     41 
     42 DEPENDS_create = +lxc-configs +lxc-hooks +lxc-templates +flock
     43 
     44 DEPENDS_ls = +lxc-config
     45 DEPENDS_top = +lxc-lua +luafilesystem @BROKEN
     46 
     47 
     48 define Package/lxc/Default
     49   SECTION:=utils
     50   CATEGORY:=Utilities
     51   TITLE:=LXC userspace tools
     52   URL:=http://lxc.sourceforge.net/
     53 endef
     54 
     55 define Package/lxc
     56   $(call Package/lxc/Default)
     57   MENU:=1
     58 endef
     59 
     60 define Package/lxc-auto
     61   $(call Package/lxc/Default)
     62   TITLE:= (initscript)
     63   DEPENDS:=+lxc-start +lxc-stop
     64 endef
     65 
     66 define Package/lxc-auto/description
     67  LXC is the userspace control package for Linux Containers, a lightweight
     68  virtual system mechanism sometimes described as "chroot on steroids".
     69  This package adds and initscript for starting and stopping the containers
     70  on boot and shutdown.
     71 endef
     72 
     73 define Package/lxc-auto/conffiles
     74 /etc/config/lxc-auto
     75 endef
     76 
     77 define Package/lxc/config
     78   source "$(SOURCE)/Config.in"
     79 endef
     80 
     81 define Package/lxc/description
     82  LXC is the userspace control package for Linux Containers, a lightweight
     83  virtual system mechanism sometimes described as "chroot on steroids".
     84 endef
     85 
     86 define Package/lxc-common
     87   $(call Package/lxc/Default)
     88   TITLE:=LXC common files
     89   DEPENDS:= lxc
     90 endef
     91 
     92 define Package/lxc-hooks
     93   $(call Package/lxc/Default)
     94   TITLE:=LXC virtual machine hooks
     95   DEPENDS:= lxc
     96 endef
     97 
     98 define Package/lxc-templates
     99   $(call Package/lxc/Default)
    100   TITLE:=LXC virtual machine templates
    101   DEPENDS:= lxc
    102 endef
    103 
    104 define Package/lxc-configs
    105   $(call Package/lxc/Default)
    106   TITLE:=LXC virtual machine common config files
    107   DEPENDS:= lxc
    108 endef
    109 
    110 define Package/liblxc
    111   $(call Package/lxc/Default)
    112   SECTION:=libs
    113   CATEGORY:=Libraries
    114   TITLE:=LXC userspace library
    115   DEPENDS:= lxc +libcap +libpthread +LXC_SECCOMP:libseccomp
    116 endef
    117 
    118 define Package/lxc-lua
    119   $(call Package/lxc/Default)
    120   TITLE:=LXC Lua bindings
    121   DEPENDS:= lxc +liblua +liblxc +luafilesystem
    122 endef
    123 
    124 define Package/lxc-init
    125   $(call Package/lxc/Default)
    126   TITLE:=LXC Lua bindings
    127   DEPENDS:= lxc +liblxc
    128 endef
    129 
    130 CONFIGURE_ARGS += \
    131 	--disable-apparmor \
    132 	--disable-doc \
    133 	--disable-examples \
    134 	--enable-lua=yes \
    135 	--with-lua-pc="$(STAGING_DIR)/usr/lib/pkgconfig/lua.pc"
    136 
    137 ifeq ($(CONFIG_LXC_SECCOMP),y)
    138 CONFIGURE_ARGS += --enable-seccomp
    139 else
    140 CONFIGURE_ARGS += --disable-seccomp
    141 endif
    142 
    143 MAKE_FLAGS += \
    144 	LUA_INSTALL_CMOD="/usr/lib/lua" \
    145 	LUA_INSTALL_LMOD="/usr/lib/lua"
    146 
    147 
    148 define Build/InstallDev
    149 	$(INSTALL_DIR) $(1)/usr/include/lxc/
    150 	$(CP) \
    151 		$(PKG_INSTALL_DIR)/usr/include/lxc/* \
    152 		$(1)/usr/include/lxc/
    153 
    154 	$(INSTALL_DIR) $(1)/usr/lib
    155 	$(CP) \
    156 		$(PKG_INSTALL_DIR)/usr/lib/liblxc.so* \
    157 		$(1)/usr/lib/
    158 
    159 	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
    160 	$(CP) \
    161 		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lxc.pc \
    162 		$(1)/usr/lib/pkgconfig/
    163 endef
    164 
    165 
    166 define Package/lxc/install
    167 	true
    168 endef
    169 
    170 define Package/lxc-auto/install
    171 	$(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d
    172 	$(INSTALL_CONF) ./files/lxc-auto.config $(1)/etc/config/lxc-auto
    173 	$(INSTALL_BIN) ./files/lxc-auto.init $(1)/etc/init.d/lxc-auto
    174 endef
    175 
    176 define Package/lxc-common/conffiles
    177 /etc/lxc/default.conf
    178 /etc/lxc/lxc.conf
    179 endef
    180 
    181 define Package/lxc-common/install
    182 	$(INSTALL_DIR) $(1)/usr/lib/lxc/rootfs
    183 	$(CP) \
    184 		$(PKG_INSTALL_DIR)/usr/lib/lxc/rootfs/README \
    185 		$(1)/usr/lib/lxc/rootfs/
    186 
    187 	$(INSTALL_DIR) $(1)/usr/share/lxc
    188 	$(CP) \
    189 		$(PKG_INSTALL_DIR)/usr/share/lxc/lxc.functions \
    190 		$(1)/usr/share/lxc/
    191 
    192 	$(INSTALL_DIR) $(1)/etc/lxc/
    193 	$(CP) \
    194 		$(PKG_INSTALL_DIR)/etc/lxc/default.conf \
    195 		$(1)/etc/lxc/default.conf
    196 
    197 	$(INSTALL_DIR) $(1)/etc/lxc/
    198 	$(CP) \
    199 		./files/lxc.conf \
    200 		$(1)/etc/lxc/lxc.conf
    201 
    202 	$(INSTALL_DIR) $(1)/srv/lxc/
    203 endef
    204 
    205 define Package/lxc-hooks/install
    206 	$(INSTALL_DIR) $(1)/usr/share/lxc/hooks
    207 	$(CP) \
    208 		$(PKG_INSTALL_DIR)/usr/share/lxc/hooks/* \
    209 		$(1)/usr/share/lxc/hooks/
    210 endef
    211 
    212 define Package/lxc-templates/install
    213 	$(INSTALL_DIR) $(1)/usr/share/lxc/templates/
    214 	$(CP) \
    215 		$(PKG_INSTALL_DIR)/usr/share/lxc/templates/lxc-* \
    216 		$(1)/usr/share/lxc/templates/
    217 endef
    218 
    219 define Package/lxc-configs/install
    220 	$(INSTALL_DIR) $(1)/usr/share/lxc/config/
    221 	$(CP) \
    222 		$(PKG_INSTALL_DIR)/usr/share/lxc/config/* \
    223 		$(1)/usr/share/lxc/config/
    224 endef
    225 
    226 define Package/liblxc/install
    227 	$(INSTALL_DIR) $(1)/usr/lib/
    228 	$(CP) \
    229 		$(PKG_INSTALL_DIR)/usr/lib/liblxc.so* \
    230 		$(1)/usr/lib/
    231 endef
    232 
    233 define Package/lxc-lua/install
    234 	$(INSTALL_DIR) $(1)/usr/lib/lua
    235 	$(CP) \
    236 		$(PKG_INSTALL_DIR)/usr/share/lua/5.1/lxc.lua \
    237 		$(1)/usr/lib/lua/
    238 	$(INSTALL_DIR) $(1)/usr/lib/lua/lxc
    239 	$(CP) \
    240 		$(PKG_INSTALL_DIR)/usr/lib/lua/5.1/lxc/core.so \
    241 		$(1)/usr/lib/lua/lxc/
    242 endef
    243 
    244 define Package/lxc-init/install
    245 	$(INSTALL_DIR) $(1)/sbin
    246 	$(CP) \
    247 		$(PKG_INSTALL_DIR)/usr/sbin/init.lxc \
    248 		$(1)/sbin/
    249 endef
    250 
    251 define GenPlugin
    252   define Package/lxc-$(1)
    253     $(call Package/lxc/Default)
    254     TITLE:=Utility lxc-$(1) from the LXC userspace tools
    255     DEPENDS:= lxc +lxc-common $(2) $(DEPENDS_$(1))
    256   endef
    257 
    258   define Package/lxc-$(1)/install
    259 	$(INSTALL_DIR) $$(1)$(3)
    260 	$(INSTALL_BIN) \
    261 		$(PKG_INSTALL_DIR)$(3)/lxc-$(1) \
    262 		$$(1)$(3)/
    263   endef
    264 
    265   $$(eval $$(call BuildPackage,lxc-$(1)))
    266 endef
    267 
    268 
    269 $(eval $(call BuildPackage,lxc))
    270 $(eval $(call BuildPackage,lxc-common))
    271 $(eval $(call BuildPackage,lxc-hooks))
    272 $(eval $(call BuildPackage,lxc-configs))
    273 $(eval $(call BuildPackage,lxc-templates))
    274 $(eval $(call BuildPackage,liblxc))
    275 $(eval $(call BuildPackage,lxc-lua))
    276 $(eval $(call BuildPackage,lxc-init))
    277 $(eval $(call BuildPackage,lxc-auto))
    278 $(foreach u,$(LXC_APPLETS_BIN),$(eval $(call GenPlugin,$(u),$(DEPENDS_APPLETS),"/usr/bin")))
    279 $(foreach u,$(LXC_APPLETS_LIB),$(eval $(call GenPlugin,$(u),$(DEPENDS_APPLETS),"/usr/lib/lxc")))
    280 $(foreach u,$(LXC_SCRIPTS),$(eval $(call GenPlugin,$(u),,"/usr/bin")))