Merge pull request #14366 from bmork/smartsnmpd
smartsnmpd: remove dysfunctional package
This commit is contained in:
commit
c4b2fbbd43
8 changed files with 0 additions and 605 deletions
|
@ -1,84 +0,0 @@
|
||||||
#
|
|
||||||
# Copyright (C) 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:=smartsnmpd
|
|
||||||
PKG_VERSION:=2015-02-22
|
|
||||||
PKG_RELEASE:=2
|
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
|
||||||
PKG_SOURCE_URL:=https://github.com/credosemi/smartsnmp
|
|
||||||
PKG_SOURCE_VERSION:=ca1d455fd06748caa629fe7ad16a47cec8877b93
|
|
||||||
PKG_MIRROR_HASH:=fda89ec37944b4f800eb3c0147678745b57f08c87f10d246d3c9d165a43418b4
|
|
||||||
|
|
||||||
PKG_MAINTAINER:=Xiongfei Guo <xfguo@credosemi.com>
|
|
||||||
PKG_LICENSE:=GPL-2.0-or-later
|
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=scons/host
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
include ../../devel/scons/scons.mk
|
|
||||||
|
|
||||||
define Package/smartsnmpd
|
|
||||||
SECTION:=net
|
|
||||||
CATEGORY:=Network
|
|
||||||
DEPENDS+=+lua +liblua +libubox +libuci-lua +libubus-lua
|
|
||||||
TITLE:=Smart-SNMP (Agent)
|
|
||||||
URL:=https://github.com/credosemi/smartsnmp
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/smartsnmpd/description
|
|
||||||
smartsnmpd is an implementation of SNMP Agent. Its goal is "Easily
|
|
||||||
writing boring SNMP MIB with Lua". This package add native support
|
|
||||||
for OpenWrt. Include using ubus and uci to get system info/status.
|
|
||||||
And, it use libubox/uloop as low level event-driven library.
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_BIG_ENDIAN),y)
|
|
||||||
TARGET_CFLAGS += -DBIG_ENDIAN
|
|
||||||
else
|
|
||||||
TARGET_CFLAGS += -DLITTLE_ENDIAN
|
|
||||||
endif
|
|
||||||
|
|
||||||
SCONS_OPTIONS += --transport=uloop
|
|
||||||
|
|
||||||
define Build/Configure
|
|
||||||
(cd $(PKG_BUILD_DIR); \
|
|
||||||
$(SCONS_VARS) \
|
|
||||||
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
|
||||||
scons \
|
|
||||||
prefix=/usr \
|
|
||||||
$(SCONS_OPTIONS) \
|
|
||||||
)
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/smartsnmpd/conffiles
|
|
||||||
/etc/config/smartsnmpd
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/smartsnmpd/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/smartsnmpd $(1)/usr/sbin/smartsnmpd
|
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/lua/smartsnmp
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build/smartsnmp/core.so $(1)/usr/lib/lua/smartsnmp/core.so
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lualib/smartsnmp/*.lua $(1)/usr/lib/lua/smartsnmp/
|
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/lua/smartsnmp/mibs
|
|
||||||
$(INSTALL_BIN) ./files/mibs/*.lua $(1)/usr/lib/lua/smartsnmp/mibs/
|
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/etc/config
|
|
||||||
$(INSTALL_DATA) ./files/smartsnmpd.conf $(1)/etc/config/smartsnmpd
|
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
|
||||||
$(INSTALL_BIN) ./files/smartsnmpd.init $(1)/etc/init.d/smartsnmpd
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,smartsnmpd))
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
--
|
|
||||||
-- This file is part of SmartSNMP
|
|
||||||
-- Copyright (C) 2014, Credo Semiconductor Inc.
|
|
||||||
--
|
|
||||||
-- This program is free software; you can redistribute it and/or modify
|
|
||||||
-- it under the terms of the GNU General Public License as published by
|
|
||||||
-- the Free Software Foundation; either version 2 of the License, or
|
|
||||||
-- (at your option) any later version.
|
|
||||||
--
|
|
||||||
-- This program is distributed in the hope that it will be useful,
|
|
||||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
-- GNU General Public License for more details.
|
|
||||||
--
|
|
||||||
-- You should have received a copy of the GNU General Public License along
|
|
||||||
-- with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
--
|
|
||||||
|
|
||||||
local mib = require "smartsnmp"
|
|
||||||
|
|
||||||
local dummy = {}
|
|
||||||
|
|
||||||
return dummy
|
|
|
@ -1,125 +0,0 @@
|
||||||
--
|
|
||||||
-- This file is part of SmartSNMP
|
|
||||||
-- Copyright (C) 2014, Credo Semiconductor Inc.
|
|
||||||
--
|
|
||||||
-- This program is free software; you can redistribute it and/or modify
|
|
||||||
-- it under the terms of the GNU General Public License as published by
|
|
||||||
-- the Free Software Foundation; either version 2 of the License, or
|
|
||||||
-- (at your option) any later version.
|
|
||||||
--
|
|
||||||
-- This program is distributed in the hope that it will be useful,
|
|
||||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
-- GNU General Public License for more details.
|
|
||||||
--
|
|
||||||
-- You should have received a copy of the GNU General Public License along
|
|
||||||
-- with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
--
|
|
||||||
|
|
||||||
local mib = require "smartsnmp"
|
|
||||||
require "ubus"
|
|
||||||
require "uloop"
|
|
||||||
|
|
||||||
uloop.init()
|
|
||||||
|
|
||||||
local conn = ubus.connect()
|
|
||||||
if not conn then
|
|
||||||
error("Failed to connect to ubusd")
|
|
||||||
end
|
|
||||||
|
|
||||||
local if_cache = {}
|
|
||||||
local if_status_cache = {}
|
|
||||||
local if_index_cache = {}
|
|
||||||
|
|
||||||
local last_load_time = os.time()
|
|
||||||
local function need_to_reload()
|
|
||||||
if os.time() - last_load_time >= 3 then
|
|
||||||
last_load_time = os.time()
|
|
||||||
return true
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function load_config()
|
|
||||||
if need_to_reload() == true then
|
|
||||||
if_cache = {}
|
|
||||||
if_status_cache = {}
|
|
||||||
if_index_cache = {}
|
|
||||||
|
|
||||||
-- if description
|
|
||||||
for k, v in pairs(conn:call("network.device", "status", {})) do
|
|
||||||
if_status_cache[k] = {}
|
|
||||||
end
|
|
||||||
|
|
||||||
for name_ in pairs(if_status_cache) do
|
|
||||||
for k, v in pairs(conn:call("network.device", "status", { name = name_ })) do
|
|
||||||
if k == 'mtu' then
|
|
||||||
if_status_cache[name_].mtu = v
|
|
||||||
elseif k == 'macaddr' then
|
|
||||||
if_status_cache[name_].macaddr = v
|
|
||||||
elseif k == 'up' then
|
|
||||||
if v == true then
|
|
||||||
if_status_cache[name_].up = 1
|
|
||||||
else
|
|
||||||
if_status_cache[name_].up = 2
|
|
||||||
end
|
|
||||||
elseif k == 'statistics' then
|
|
||||||
for item, stat in pairs(v) do
|
|
||||||
if item == 'rx_bytes' then
|
|
||||||
if_status_cache[name_].in_octet = stat
|
|
||||||
elseif item == 'tx_bytes' then
|
|
||||||
if_status_cache[name_].out_octet = stat
|
|
||||||
elseif item == 'rx_errors' then
|
|
||||||
if_status_cache[name_].in_errors = stat
|
|
||||||
elseif item == 'tx_errors' then
|
|
||||||
if_status_cache[name_].out_errors = stat
|
|
||||||
elseif item == 'rx_dropped' then
|
|
||||||
if_status_cache[name_].in_discards = stat
|
|
||||||
elseif item == 'tx_dropped' then
|
|
||||||
if_status_cache[name_].out_discards = stat
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if_cache['desc'] = {}
|
|
||||||
for name, status in pairs(if_status_cache) do
|
|
||||||
table.insert(if_cache['desc'], name)
|
|
||||||
for k, v in pairs(status) do
|
|
||||||
if if_cache[k] == nil then if_cache[k] = {} end
|
|
||||||
table.insert(if_cache[k], v)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- if index
|
|
||||||
for i in ipairs(if_cache['desc']) do
|
|
||||||
table.insert(if_index_cache, i)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
mib.module_methods.or_table_reg("1.3.6.1.2.1.2", "The MIB module for managing Interfaces implementations")
|
|
||||||
|
|
||||||
local ifGroup = {
|
|
||||||
[1] = mib.ConstInt(function () load_config() return #if_index_cache end),
|
|
||||||
[2] = {
|
|
||||||
[1] = {
|
|
||||||
[1] = mib.ConstIndex(function () load_config() return if_index_cache end),
|
|
||||||
[2] = mib.ConstString(function (i) load_config() return if_cache['desc'][i] end),
|
|
||||||
[4] = mib.ConstInt(function (i) load_config() return if_cache['mtu'][i] end),
|
|
||||||
[6] = mib.ConstString(function (i) load_config() return if_cache['macaddr'][i] end),
|
|
||||||
[8] = mib.ConstInt(function (i) load_config() return if_cache['up'][i] end),
|
|
||||||
[10] = mib.ConstCount(function (i) load_config() return if_cache['in_octet'][i] end),
|
|
||||||
[13] = mib.ConstCount(function (i) load_config() return if_cache['in_discards'][i] end),
|
|
||||||
[14] = mib.ConstCount(function (i) load_config() return if_cache['in_errors'][i] end),
|
|
||||||
[16] = mib.ConstCount(function (i) load_config() return if_cache['out_octet'][i] end),
|
|
||||||
[19] = mib.ConstCount(function (i) load_config() return if_cache['out_discards'][i] end),
|
|
||||||
[20] = mib.ConstCount(function (i) load_config() return if_cache['out_errors'][i] end),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ifGroup
|
|
|
@ -1,176 +0,0 @@
|
||||||
--
|
|
||||||
-- This file is part of SmartSNMP
|
|
||||||
-- Copyright (C) 2014, Credo Semiconductor Inc.
|
|
||||||
--
|
|
||||||
-- This program is free software; you can redistribute it and/or modify
|
|
||||||
-- it under the terms of the GNU General Public License as published by
|
|
||||||
-- the Free Software Foundation; either version 2 of the License, or
|
|
||||||
-- (at your option) any later version.
|
|
||||||
--
|
|
||||||
-- This program is distributed in the hope that it will be useful,
|
|
||||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
-- GNU General Public License for more details.
|
|
||||||
--
|
|
||||||
-- You should have received a copy of the GNU General Public License along
|
|
||||||
-- with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
--
|
|
||||||
|
|
||||||
local mib = require "smartsnmp"
|
|
||||||
local uci = require "uci"
|
|
||||||
|
|
||||||
-- System config
|
|
||||||
local context = uci.cursor("/etc/config", "/tmp/.uci")
|
|
||||||
|
|
||||||
-- scalar index
|
|
||||||
local sysDesc = 1
|
|
||||||
local sysObjectID = 2
|
|
||||||
local sysUpTime = 3
|
|
||||||
local sysContact = 4
|
|
||||||
local sysName = 5
|
|
||||||
local sysLocation = 6
|
|
||||||
local sysServices = 7
|
|
||||||
local sysORLastChange = 8
|
|
||||||
|
|
||||||
-- table index
|
|
||||||
local sysORTable = 9
|
|
||||||
|
|
||||||
-- entry index
|
|
||||||
local sysOREntry = 1
|
|
||||||
|
|
||||||
-- list index
|
|
||||||
local sysORIndex = 1
|
|
||||||
local sysORID = 2
|
|
||||||
local sysORDesc = 3
|
|
||||||
local sysORUpTime = 4
|
|
||||||
|
|
||||||
local startup_time = 0
|
|
||||||
local or_last_changed_time = 0
|
|
||||||
|
|
||||||
local function mib_system_startup(time)
|
|
||||||
startup_time = time
|
|
||||||
or_last_changed_time = time
|
|
||||||
end
|
|
||||||
|
|
||||||
mib_system_startup(os.time())
|
|
||||||
|
|
||||||
local sysGroup = {}
|
|
||||||
local or_oid_cache = {}
|
|
||||||
local or_index_cache = {}
|
|
||||||
local or_table_cache = {}
|
|
||||||
|
|
||||||
local or_table_reg = function (oid, desc)
|
|
||||||
local row = {}
|
|
||||||
row['oid'] = {}
|
|
||||||
for i in string.gmatch(oid, "%d") do
|
|
||||||
table.insert(row['oid'], tonumber(i))
|
|
||||||
end
|
|
||||||
row['desc'] = desc
|
|
||||||
row['uptime'] = os.time()
|
|
||||||
table.insert(or_table_cache, row)
|
|
||||||
|
|
||||||
or_last_changed_time = os.time()
|
|
||||||
|
|
||||||
or_oid_cache[oid] = #or_table_cache
|
|
||||||
|
|
||||||
or_index_cache = {}
|
|
||||||
for i in ipairs(or_table_cache) do
|
|
||||||
table.insert(or_index_cache, i)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local or_table_unreg = function (oid)
|
|
||||||
local or_idx = or_oid_cache[oid]
|
|
||||||
|
|
||||||
if or_table_cache[or_idx] ~= nil then
|
|
||||||
table.remove(or_table_cache, or_idx)
|
|
||||||
or_last_changed_time = os.time()
|
|
||||||
|
|
||||||
or_index_cache = {}
|
|
||||||
for i in ipairs(or_table_cache) do
|
|
||||||
table.insert(or_index_cache, i)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local last_load_time = os.time()
|
|
||||||
local function need_to_reload()
|
|
||||||
if os.difftime(os.time(), last_load_time) < 3 then
|
|
||||||
return false
|
|
||||||
else
|
|
||||||
last_load_time = os.time()
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function load_config()
|
|
||||||
if need_to_reload() == true then
|
|
||||||
context:load("smartsnmpd")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context:load("smartsnmpd")
|
|
||||||
|
|
||||||
local sysMethods = {
|
|
||||||
["or_table_reg"] = or_table_reg,
|
|
||||||
["or_table_unreg"] = or_table_unreg
|
|
||||||
}
|
|
||||||
mib.module_method_register(sysMethods)
|
|
||||||
|
|
||||||
sysGroup = {
|
|
||||||
rocommunity = 'public',
|
|
||||||
[sysDesc] = mib.ConstString(function () load_config() return mib.sh_call("uname -a") end),
|
|
||||||
[sysObjectID] = mib.ConstOid(function ()
|
|
||||||
load_config()
|
|
||||||
local oid
|
|
||||||
local objectid
|
|
||||||
context:foreach("smartsnmpd", "smartsnmpd", function (s)
|
|
||||||
objectid = s.objectid
|
|
||||||
end)
|
|
||||||
if objectid ~= nil then
|
|
||||||
oid = {}
|
|
||||||
for i in string.gmatch(objectid, "%d+") do
|
|
||||||
table.insert(oid, tonumber(i))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return oid
|
|
||||||
end),
|
|
||||||
[sysUpTime] = mib.ConstTimeticks(function () load_config() return os.difftime(os.time(), startup_time) * 100 end),
|
|
||||||
[sysContact] = mib.ConstString(function ()
|
|
||||||
load_config()
|
|
||||||
local contact
|
|
||||||
context:foreach("smartsnmpd", "smartsnmpd", function (s)
|
|
||||||
contact = s.contact
|
|
||||||
end)
|
|
||||||
return contact
|
|
||||||
end),
|
|
||||||
[sysName] = mib.ConstString(function () load_config() return mib.sh_call("uname -n") end),
|
|
||||||
[sysLocation] = mib.ConstString(function ()
|
|
||||||
load_config()
|
|
||||||
local location
|
|
||||||
context:foreach("smartsnmpd", "smartsnmpd", function (s)
|
|
||||||
location = s.location
|
|
||||||
end)
|
|
||||||
return location
|
|
||||||
end),
|
|
||||||
[sysServices] = mib.ConstInt(function ()
|
|
||||||
load_config()
|
|
||||||
local services
|
|
||||||
context:foreach("smartsnmpd", "smartsnmpd", function (s)
|
|
||||||
services = tonumber(s.services)
|
|
||||||
end)
|
|
||||||
return services
|
|
||||||
end),
|
|
||||||
[sysORLastChange] = mib.ConstTimeticks(function () load_config() return os.difftime(os.time(), or_last_changed_time) * 100 end),
|
|
||||||
[sysORTable] = {
|
|
||||||
[sysOREntry] = {
|
|
||||||
[sysORIndex] = mib.UnaIndex(function () load_config() return or_index_cache end),
|
|
||||||
[sysORID] = mib.ConstOid(function (i) load_config() return or_table_cache[i].oid end),
|
|
||||||
[sysORDesc] = mib.ConstString(function (i) load_config() return or_table_cache[i].desc end),
|
|
||||||
[sysORUpTime] = mib.ConstTimeticks(function (i) load_config() return os.difftime(os.time(), or_table_cache[i].uptime) * 100 end),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return sysGroup
|
|
|
@ -1,21 +0,0 @@
|
||||||
config smartsnmpd
|
|
||||||
option port '161'
|
|
||||||
option ro_community 'public'
|
|
||||||
option rw_community 'private'
|
|
||||||
option mib_module_path 'mibs'
|
|
||||||
option objectid '1.2.3.4'
|
|
||||||
option contact 'Me <me@example.org>'
|
|
||||||
option location 'Shanghai'
|
|
||||||
option services '72'
|
|
||||||
|
|
||||||
config smartsnmpd_module
|
|
||||||
option oid "1.3.6.1.2.1.1"
|
|
||||||
option module 'system'
|
|
||||||
|
|
||||||
config smartsnmpd_module
|
|
||||||
option oid "1.3.6.1.2.1.2"
|
|
||||||
option module 'interfaces'
|
|
||||||
|
|
||||||
config smartsnmpd_module
|
|
||||||
option oid "1.3.6.1.1"
|
|
||||||
option module 'dummy'
|
|
|
@ -1,49 +0,0 @@
|
||||||
#!/bin/sh /etc/rc.common
|
|
||||||
# Copyright (C) 2014 OpenWrt.org
|
|
||||||
|
|
||||||
START=97
|
|
||||||
|
|
||||||
USE_PROCD=1
|
|
||||||
PROG=/usr/sbin/smartsnmpd
|
|
||||||
CONFIGFILE=/etc/smartsnmpd.conf
|
|
||||||
|
|
||||||
smartsnmpd_mib_module() {
|
|
||||||
local cfg="$1"
|
|
||||||
config_get OID "$cfg" oid
|
|
||||||
config_get MODULE "$cfg" module
|
|
||||||
echo " ['$OID'] = '$MODULE'," >> $CONFIGFILE
|
|
||||||
}
|
|
||||||
|
|
||||||
start_service() {
|
|
||||||
include /lib/functions
|
|
||||||
|
|
||||||
config_load smartsnmpd
|
|
||||||
|
|
||||||
procd_open_instance
|
|
||||||
procd_set_param command $PROG -c $CONFIGFILE
|
|
||||||
procd_set_param file $CONFIGFILE
|
|
||||||
procd_set_param respawn
|
|
||||||
procd_close_instance
|
|
||||||
|
|
||||||
# before we can call xappend
|
|
||||||
mkdir -p "$(dirname $CONFIGFILE)"
|
|
||||||
|
|
||||||
echo "-- auto-generated config file from /etc/config/smartsnmpd" > $CONFIGFILE
|
|
||||||
|
|
||||||
{
|
|
||||||
config_get PORT smartsnmpd port 161
|
|
||||||
echo "port = $PORT"
|
|
||||||
|
|
||||||
config_get RO_COMMUNITY smartsnmpd ro_community 'public'
|
|
||||||
config_get RW_COMMUNITY smartsnmpd rw_community 'private'
|
|
||||||
echo "ro_community = '$RO_COMMUNITY'"
|
|
||||||
echo "rw_community = '$RW_COMMUNITY'"
|
|
||||||
|
|
||||||
config_get MIB_MODULE_PATH smartsnmpd mib_module_path '/usr/lib/lua/smartsnmp/mibs/'
|
|
||||||
echo "mib_module_path = '$MIB_MODULE_PATH'"
|
|
||||||
|
|
||||||
echo "mib_modules = {"
|
|
||||||
config_foreach smartsnmpd_mib_module smartsnmpd_module
|
|
||||||
echo "}"
|
|
||||||
} >> $CONFIGFILE
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
--- a/SConstruct
|
|
||||||
+++ b/SConstruct
|
|
||||||
@@ -133,21 +133,21 @@ env = Environment(
|
|
||||||
)
|
|
||||||
|
|
||||||
# handle options/environment varibles.
|
|
||||||
-if os.environ.has_key('CC'):
|
|
||||||
+if 'CC' in os.environ:
|
|
||||||
env.Replace(CC = os.environ['CC'])
|
|
||||||
|
|
||||||
# CFLAGS
|
|
||||||
if GetOption("cflags") != "":
|
|
||||||
env.Append(CFLAGS = GetOption("cflags"))
|
|
||||||
-elif os.environ.has_key('CFLAGS'):
|
|
||||||
+elif 'CFLAGS' in os.environ:
|
|
||||||
env.Append(CFLAGS = os.environ['CFLAGS'])
|
|
||||||
|
|
||||||
# LDFLAGS
|
|
||||||
if GetOption("ldflags") != "":
|
|
||||||
env.Replace(LINKFLAGS = GetOption("ldflags"))
|
|
||||||
-elif os.environ.has_key('LDFLAGS'):
|
|
||||||
+elif 'LDFLAGS' in os.environ:
|
|
||||||
env.Replace(LINKFLAGS = os.environ['LDFLAGS'])
|
|
||||||
-elif os.environ.has_key('LINKFLAGS'):
|
|
||||||
+elif 'LINKFLAGS' in os.environ:
|
|
||||||
env.Replace(LINKFLAGS = os.environ['LINKFLAGS'])
|
|
||||||
|
|
||||||
# LIBS
|
|
||||||
@@ -183,10 +183,10 @@ elif GetOption("transport") == 'built-in' or GetOption("transport") == '':
|
|
||||||
elif GetOption("evloop") == 'select' or GetOption("evloop") == '':
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
- print "Error: Not the right event driving type"
|
|
||||||
+ print("Error: Not the right event driving type")
|
|
||||||
Exit(1)
|
|
||||||
else:
|
|
||||||
- print "Error: Transport not found!"
|
|
||||||
+ print("Error: Transport not found!")
|
|
||||||
Exit(1)
|
|
||||||
|
|
||||||
# autoconf
|
|
||||||
@@ -205,18 +205,18 @@ else:
|
|
||||||
if GetOption("transport") == 'built-in' or GetOption("transport") == '':
|
|
||||||
if GetOption("evloop") == 'epoll':
|
|
||||||
if not conf.CheckEpoll():
|
|
||||||
- print "Error: epoll failed"
|
|
||||||
+ print("Error: epoll failed")
|
|
||||||
Exit(1)
|
|
||||||
elif GetOption("evloop") == 'kqueue':
|
|
||||||
if not conf.CheckKqueue():
|
|
||||||
- print "Error: Kqueue failed"
|
|
||||||
+ print("Error: Kqueue failed")
|
|
||||||
Exit(1)
|
|
||||||
elif GetOption("evloop") == 'select' or GetOption("evloop") == '':
|
|
||||||
if not conf.CheckSelect():
|
|
||||||
- print "Error: select failed"
|
|
||||||
+ print("Error: select failed")
|
|
||||||
Exit(1)
|
|
||||||
else:
|
|
||||||
- print "Error: Not the right event driving type"
|
|
||||||
+ print("Error: Not the right event driving type")
|
|
||||||
Exit(1)
|
|
||||||
|
|
||||||
# CFLAGS
|
|
||||||
@@ -232,7 +232,7 @@ if conf.CheckLib('lua'):
|
|
||||||
elif conf.CheckLib('lua5.1'):
|
|
||||||
env.Append(LIBS = ['lua5.1'])
|
|
||||||
else:
|
|
||||||
- print "Error: liblua or liblua5.1 not found!"
|
|
||||||
+ print("Error: liblua or liblua5.1 not found!")
|
|
||||||
Exit(1)
|
|
||||||
|
|
||||||
# find lua header files
|
|
||||||
@@ -241,7 +241,7 @@ if conf.CheckCHeader('lua.h'):
|
|
||||||
elif conf.CheckCHeader('lua5.1/lua.h'):
|
|
||||||
env.Append(CFLAGS = ['-I/usr/include/lua5.1'])
|
|
||||||
else:
|
|
||||||
- print "Error: lua.h not found"
|
|
||||||
+ print("Error: lua.h not found")
|
|
||||||
Exit(1)
|
|
||||||
|
|
||||||
env = conf.Finish()
|
|
|
@ -1,44 +0,0 @@
|
||||||
--- a/SConstruct
|
|
||||||
+++ b/SConstruct
|
|
||||||
@@ -134,21 +134,21 @@ env = Environment(
|
|
||||||
|
|
||||||
# handle options/environment varibles.
|
|
||||||
if 'CC' in os.environ:
|
|
||||||
- env.Replace(CC = os.environ['CC'])
|
|
||||||
+ env.Replace(CC = Split(os.environ['CC']))
|
|
||||||
|
|
||||||
# CFLAGS
|
|
||||||
if GetOption("cflags") != "":
|
|
||||||
env.Append(CFLAGS = GetOption("cflags"))
|
|
||||||
elif 'CFLAGS' in os.environ:
|
|
||||||
- env.Append(CFLAGS = os.environ['CFLAGS'])
|
|
||||||
+ env.Append(CFLAGS = Split(os.environ['CFLAGS']))
|
|
||||||
|
|
||||||
# LDFLAGS
|
|
||||||
if GetOption("ldflags") != "":
|
|
||||||
env.Replace(LINKFLAGS = GetOption("ldflags"))
|
|
||||||
elif 'LDFLAGS' in os.environ:
|
|
||||||
- env.Replace(LINKFLAGS = os.environ['LDFLAGS'])
|
|
||||||
+ env.Replace(LINKFLAGS = Split(os.environ['LDFLAGS']))
|
|
||||||
elif 'LINKFLAGS' in os.environ:
|
|
||||||
- env.Replace(LINKFLAGS = os.environ['LINKFLAGS'])
|
|
||||||
+ env.Replace(LINKFLAGS = Split(os.environ['LINKFLAGS']))
|
|
||||||
|
|
||||||
# LIBS
|
|
||||||
if GetOption("libs") != "":
|
|
||||||
@@ -192,15 +192,6 @@ else:
|
|
||||||
# autoconf
|
|
||||||
conf = Configure(env, custom_tests = {'CheckEpoll' : CheckEpoll, 'CheckSelect' : CheckSelect, 'CheckKqueue' : CheckKqueue, 'CheckEndian' : CheckEndian})
|
|
||||||
|
|
||||||
-# Endian check
|
|
||||||
-endian = conf.CheckEndian()
|
|
||||||
-if endian == 'Big':
|
|
||||||
- env.Append(CFLAGS = ["-DBIG_ENDIAN"])
|
|
||||||
-elif endian == 'Little':
|
|
||||||
- env.Append(CFLAGS = ["-DLITTLE_ENDIAN"])
|
|
||||||
-else:
|
|
||||||
- raise SConfError("Error when testing the endian.")
|
|
||||||
-
|
|
||||||
# built-in event loop check
|
|
||||||
if GetOption("transport") == 'built-in' or GetOption("transport") == '':
|
|
||||||
if GetOption("evloop") == 'epoll':
|
|
Loading…
Reference in a new issue