mirror of
https://github.com/openwrt/packages.git
synced 2026-05-31 06:51:51 +08:00
42daa80ffe
mod_s2s was refactored into a single mod_s2s.lua in the flat modules directory in 0.12.x; remove the obsolete subdirectory install rule that caused the package build to fail. Also add util/human/ and util/prosodyctl/ which are new subdirectories in 0.12.x not covered by the previous install rules. Force libidn instead of ICU for stringprep prosody's configure script auto-detects stringprep backends and prefers ICU when available, generating -DUSE_STRINGPREP_ICU and including <unicode/usprep.h>. The OpenWrt SDK staging directory does not provide ICU development headers, so the build fails with: encodings.c:271:10: fatal error: unicode/usprep.h: No such file or directory The Makefile DEPENDS already declares +libidn. Pass --with-idn=idn to explicitly select the libidn backend, which is available in the staging directory. Also, pass TARGET="../util/" to MAKE_FLAGS. OpenWrt has it's own TARGET env var which clobbers the 'TARGET' var from prosody's build (specified as 'TARGET?=../util/') Adding a test.sh to check for the correct version (since prosody mostly has lua scripts). Security release addressing multiple vulnerabilities. 0.12.6 is likely the last release of the 0.12.x series (EOL June 2026). Upstream advisory: https://prosody.im/security/ Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
133 lines
5.1 KiB
Makefile
133 lines
5.1 KiB
Makefile
#
|
|
# Copyright (C) 2009-2011 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:=prosody
|
|
PKG_VERSION:=0.12.6
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://prosody.im/downloads/source
|
|
PKG_HASH:=e06db3cfa8811d0b9fa7713a3b430189f62a1f90e6a4940771b1e16ce64e8e44
|
|
|
|
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
|
|
PKG_LICENSE:=MIT/X11
|
|
PKG_CPE_ID:=cpe:/a:prosody:prosody
|
|
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_DEPENDS:=lua/host
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/prosody
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Instant Messaging
|
|
DEPENDS:=+luafilesystem +libidn +luaexpat +luasec +libopenssl +libidn +liblua +luabitop
|
|
TITLE:=XMPP server
|
|
URL:=https://prosody.im/
|
|
USERID:=prosody=54:prosody=54
|
|
endef
|
|
|
|
define Package/prosody/description
|
|
Prosody is an exciting new server for Jabber/XMPP
|
|
written in Lua. It aims to be easy to use, and light
|
|
on resources
|
|
endef
|
|
|
|
define Package/prosody/conffiles
|
|
/etc/prosody/prosody.cfg.lua
|
|
endef
|
|
|
|
TARGET_CFLAGS += $(FPIC)
|
|
TARGET_LDFLAGS += -shared
|
|
|
|
MAKE_FLAGS += LD="$(TARGET_CC)" TARGET="../util/"
|
|
|
|
define Build/Configure
|
|
# this is *NOT* GNU autoconf stuff
|
|
(cd $(PKG_BUILD_DIR); ./configure \
|
|
--prefix=/usr \
|
|
--with-lua="$(STAGING_DIR_HOSTPKG)" \
|
|
--with-lua-include="$(STAGING_DIR)/usr/include" \
|
|
--with-lua-lib="$(STAGING_DIR)/usr/lib" \
|
|
--idn-library=idn \
|
|
--cflags="$(TARGET_CFLAGS)" \
|
|
--ldflags="$(TARGET_LDFLAGS)" \
|
|
--c-compiler="$(CC)" \
|
|
--datadir="/etc/prosody/data" \
|
|
)
|
|
endef
|
|
|
|
define Package/prosody/install
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/prosody.init $(1)/etc/init.d/prosody
|
|
$(INSTALL_DIR) $(1)/etc/prosody
|
|
$(INSTALL_DATA) ./files/prosody.cfg.lua $(1)/etc/prosody/
|
|
$(INSTALL_DIR) $(1)/etc/prosody/certs
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/prosody/certs/localhost.{crt,key} $(1)/etc/prosody/certs/
|
|
$(INSTALL_DIR) $(1)/etc/prosody/data
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/prosody{,ctl} $(1)/usr/bin/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/prosody/prosody.version $(1)/usr/lib/prosody/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/core
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/core/*.lua $(1)/usr/lib/prosody/core/
|
|
#$(INSTALL_DIR) $(1)/usr/lib/prosody/fallbacks
|
|
#$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/fallbacks/*.lua $(1)/usr/lib/prosody/fallbacks/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/modules
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/modules/*.lua $(1)/usr/lib/prosody/modules/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/modules/adhoc
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/modules/adhoc/*.lua $(1)/usr/lib/prosody/modules/adhoc/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/modules/muc
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/modules/muc/*.lua $(1)/usr/lib/prosody/modules/muc/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/modules/mod_pubsub
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/modules/mod_pubsub/*.lua $(1)/usr/lib/prosody/modules/mod_pubsub/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/modules/mod_mam
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/modules/mod_mam/*.lua $(1)/usr/lib/prosody/modules/mod_mam/
|
|
#$(INSTALL_DIR) $(1)/usr/lib/prosody/modules/storage
|
|
#$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/modules/storage/*.lua $(1)/usr/lib/prosody/modules/storage/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/net
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/net/*.lua $(1)/usr/lib/prosody/net/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/net/http
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/net/http/*.lua $(1)/usr/lib/prosody/net/http/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/net/resolvers
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/net/resolvers/*.lua $(1)/usr/lib/prosody/net/resolvers/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/net/websocket
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/net/websocket/*.lua $(1)/usr/lib/prosody/net/websocket/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/util
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/util/*.lua $(1)/usr/lib/prosody/util/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/prosody/util/*.so $(1)/usr/lib/prosody/util/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/util/sasl
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/util/sasl/*.lua $(1)/usr/lib/prosody/util/sasl/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/util/human
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/util/human/*.lua $(1)/usr/lib/prosody/util/human/
|
|
$(INSTALL_DIR) $(1)/usr/lib/prosody/util/prosodyctl
|
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/prosody/util/prosodyctl/*.lua $(1)/usr/lib/prosody/util/prosodyctl/
|
|
#$(CP) $(PKG_INSTALL_DIR)/usr/lib/prosody/util/sasl/*.so $(1)/usr/lib/prosody/util/sasl/
|
|
endef
|
|
|
|
define Package/prosody/postinst
|
|
#!/bin/sh
|
|
[ -n "$${IPKG_INSTROOT}" ] || {
|
|
echo "Fixing lua with paxctl if needed!!!"
|
|
[ -f /sbin/paxctl ] && {
|
|
paxctl -v /usr/bin/ > /dev/null 2>&1
|
|
[ $$? -ne 0 ] && {
|
|
cp /usr/bin/lua /tmp
|
|
paxctl -c -m /tmp/lua > /dev/null 2>&1
|
|
cp -f /tmp/lua /usr/bin/lua
|
|
}
|
|
}
|
|
exit 0
|
|
}
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,prosody))
|