Skip to content

Instantly share code, notes, and snippets.

@jow-
Last active December 1, 2016 16:36
Show Gist options
  • Save jow-/79255a0361a099e572f8f76e86d5be8d to your computer and use it in GitHub Desktop.
Save jow-/79255a0361a099e572f8f76e86d5be8d to your computer and use it in GitHub Desktop.
#
# Copyright (C) 2016 Dan Luedtke <[email protected]>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=jool
PKG_VERSION:=3.5.1
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/danrl/Jool.git
PKG_SOURCE_VERSION:=c3463caf91781c1ebb40249f236f6ae028c88f74
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
MAKE_PATH:=usr
CONFIGURE_PATH:=usr
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
KERNEL_DIR="$(LINUX_DIR)" \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
SUBDIRS="$(PKG_BUILD_DIR)/mod/stateful" \
V="$(V)" \
modules
$(MAKE) -C "$(LINUX_DIR)" \
KERNEL_DIR="$(LINUX_DIR)" \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
SUBDIRS="$(PKG_BUILD_DIR)/mod/stateless" \
V="$(V)" \
modules
$(call Build/Compile/Default)
endef
define Package/jool/Default
SECTION:=net
CATEGORY:=Network
URL:=https://www.jool.mx
MAINTAINER:=Dan Luedtke <[email protected]>
endef
define Package/jool/Default/description
Jool is an Open Source SIIT and NAT64 for Linux.
endef
define Package/jool
$(call Package/jool/Default)
TITLE:=Jool meta-package
DEPENDS:=+kmod-jool +jool-tools
endef
define Package/jool/description
$(call Package/jool/Default/description)
endef
define KernelPackage/jool
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Support
TITLE:=Jool kernel module
DEPENDS:= \
@IPV6 \
+kmod-crypto-md5 \
+kmod-nf-conntrack \
+kmod-nf-conntrack6
FILES:= \
$(PKG_BUILD_DIR)/mod/stateful/jool.$(LINUX_KMOD_SUFFIX) \
$(PKG_BUILD_DIR)/mod/stateless/jool_siit.$(LINUX_KMOD_SUFFIX)
endef
define KernelPackage/jool/description
$(call Package/jool/Default/description)
This package provides the kernel module for Jool.
endef
define Package/jool-tools
$(call Package/jool/Default)
TITLE:=Jool userspace control programs
DEPENDS:=+libnl +ethtool
endef
define Package/jool-tools/description
$(call Package/jool/Default/description)
This package provides the userspace control programs for Jool.
endef
define Package/jool-tools/install
$(INSTALL_DIR) $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateful/jool $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateless/jool_siit $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,jool))
$(eval $(call KernelPackage,jool))
$(eval $(call BuildPackage,jool-tools))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment