2014-05-13 18:09:28 +00:00
i n c l u d e $( TOPDIR ) / r u l e s . m k
2015-03-19 19:14:40 +00:00
PKG_NAME := gluon-site
2015-03-19 02:54:12 +00:00
2017-01-18 16:21:43 +00:00
GLUON_SITEDIR = '$(call qstrip,$(CONFIG_GLUON_SITEDIR))'
GLUON_SITE_VERSION = $( shell ( cd $( GLUON_SITEDIR) && git --git-dir= .git describe --always --dirty= + ) 2>/dev/null || echo unknown)
PKG_VERSION := $( if $( DUMP) ,x,$( GLUON_SITE_VERSION) )
PKG_CONFIG_DEPENDS := CONFIG_GLUON_RELEASE CONFIG_GLUON_SITEDIR
2017-10-28 15:05:53 +00:00
PKG_FILE_DEPENDS := $( GLUON_SITEDIR) /site.conf $( GLUON_SITEDIR) /domains/ $( GLUON_SITEDIR) /i18n/
2017-01-19 16:30:26 +00:00
PKG_BUILD_DEPENDS := lua-cjson/host
2014-05-13 18:09:28 +00:00
PKG_BUILD_DIR := $( BUILD_DIR) /$( PKG_NAME)
2016-10-08 22:18:45 +00:00
i n c l u d e . . / g l u o n . m k
2015-03-19 20:31:44 +00:00
PKG_CONFIG_DEPENDS += $( GLUON_I18N_CONFIG)
2014-05-13 18:09:28 +00:00
2015-03-19 19:14:40 +00:00
d e f i n e P a c k a g e / g l u o n - s i t e
2014-05-13 18:09:28 +00:00
SECTION:= gluon
CATEGORY:= Gluon
2015-03-19 20:31:44 +00:00
TITLE:= Site-specific files of Gluon
2014-05-13 18:09:28 +00:00
e n d e f
2017-01-18 16:21:43 +00:00
d e f i n e P a c k a g e / g l u o n - s i t e / c o n f i g
c o n f i g G L U O N _ R E L E A S E
string "Gluon release number"
depends on PACKAGE_gluon-site
default ""
c o n f i g G L U O N _ S I T E D I R
string "Gluon site configuration directory"
depends on PACKAGE_gluon-site
default ""
e n d e f
2014-05-13 18:09:28 +00:00
d e f i n e B u i l d / P r e p a r e
mkdir -p $( PKG_BUILD_DIR)
2017-10-28 15:05:53 +00:00
mkdir -p $( PKG_BUILD_DIR) /domains
2014-05-13 18:09:28 +00:00
e n d e f
d e f i n e B u i l d / C o n f i g u r e
e n d e f
d e f i n e B u i l d / C o m p i l e
2017-01-18 16:21:43 +00:00
GLUON_SITEDIR = '$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'print(require("cjson").encode(assert(dofile("../../scripts/site_config.lua"))))' > $( PKG_BUILD_DIR) /site.json
2017-10-28 15:05:53 +00:00
ls $( call qstrip,$( CONFIG_GLUON_SITEDIR) ) /domains/*.conf > /dev/null # at least one domain cfg has to exist
2017-10-28 15:05:53 +00:00
GLUON_SITEDIR = '$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'print(assert(dofile("../../scripts/site_config.lua")).default_domain_code)' > $( PKG_BUILD_DIR) /default_domain_code
ls '$(call qstrip,$(CONFIG_GLUON_SITEDIR))' /domains/$$ $$ ( cat $( PKG_BUILD_DIR) /default_domain_code) .conf # ensure default_domain_code exists
2017-10-28 15:05:53 +00:00
rm -f $( PKG_BUILD_DIR) /domains/*.json
for domain_cfg in ` find $( call qstrip,$( CONFIG_GLUON_SITEDIR) ) /domains/ -iname \* .conf -printf "%f\n" ` ; do \
dc = $$ $$ { domain_cfg%.conf} ; \
GLUON_SITEDIR = '$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'print(require("cjson").encode(assert(dofile("../../scripts/domain_config.lua")("' $$ $$ { dc} '"))))' > $( PKG_BUILD_DIR) /domains/$$ $$ { dc} .json; \
aliases = $$ $$ ( GLUON_SITEDIR = '$(call qstrip,$(CONFIG_GLUON_SITEDIR))' lua -e 'for alias_name, _ in pairs(dofile("../../scripts/domain_config.lua")("' $$ $$ { dc} '")["domain_aliases"] or {}) do print(alias_name.." ") end' ) ; \
for alias in $$ $$ { aliases} ; do \
ln -s $$ $$ { dc} .json $( PKG_BUILD_DIR) /domains/$$ $$ { alias} .json; \
done ; \
done
2015-03-19 20:31:44 +00:00
$( call GluonBuildI18N,gluon-site,$( GLUON_SITEDIR) /i18n)
2014-05-13 18:09:28 +00:00
e n d e f
2015-03-19 19:14:40 +00:00
d e f i n e P a c k a g e / g l u o n - s i t e / i n s t a l l
2014-05-13 18:09:28 +00:00
$( INSTALL_DIR) $( 1) /lib/gluon
2016-09-24 00:05:01 +00:00
$( INSTALL_DATA) $( PKG_BUILD_DIR) /site.json $( 1) /lib/gluon/
2017-10-28 15:05:53 +00:00
$( INSTALL_DIR) $( 1) /lib/gluon/domains
$( CP) $( PKG_BUILD_DIR) /domains/*.json $( 1) /lib/gluon/domains/
2017-01-18 16:21:43 +00:00
echo '$(GLUON_SITE_VERSION)' > $( 1) /lib/gluon/site-version
echo '$(call qstrip,$(CONFIG_GLUON_RELEASE))' > $( 1) /lib/gluon/release
2015-03-19 20:31:44 +00:00
$( call GluonInstallI18N,gluon-site,$( 1) )
2014-05-13 18:09:28 +00:00
e n d e f
2015-03-19 19:14:40 +00:00
$( eval $ ( call BuildPackage ,gluon -site ) )