mirror of
https://github.com/openwrt/packages.git
synced 2026-05-31 15:02:01 +08:00
9a0033c6eb
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>
(cherry picked from commit 42daa80ffe)
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))
|