1 SUMMARY = "Configuration file for the Weston and AGL Wayland compositors"
3 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
8 file://hdmi-a-1-0.cfg \
9 file://hdmi-a-1-90.cfg \
10 file://hdmi-a-1-180.cfg \
11 file://hdmi-a-1-270.cfg \
12 file://hdmi-a-2-0.cfg \
13 file://hdmi-a-2-90.cfg \
14 file://hdmi-a-2-180.cfg \
15 file://hdmi-a-2-270.cfg \
16 file://remote-output.cfg.in \
17 file://transmitter-output.cfg.in \
18 file://virtual-0.cfg \
19 file://virtual-90.cfg \
20 file://virtual-180.cfg \
21 file://virtual-270.cfg \
22 file://grpc-proxy.cfg \
27 inherit update-alternatives
29 # Default primary display/orientation fragment
30 WESTON_DISPLAYS ?= "hdmi-a-1-90"
32 # Configuration fragments to use in weston.ini.*
33 # Note that some may be replaced/removed when building the landscape
35 WESTON_FRAGMENTS = "core shell ${WESTON_DISPLAYS}"
37 # On-target weston.ini directory
38 weston_ini_dir = "${sysconfdir}/xdg/weston"
40 # Options for the user to change in local.conf
41 # e.g. TRANSMITTER_OUTPUT_MODE = "1080x1488"
42 TRANSMITTER_OUTPUT_MODE ??= "640x720@30"
43 TRANSMITTER_OUTPUT_HOST ??= "192.168.10.3"
44 TRANSMITTER_OUTPUT_PORT ??= "5005"
47 sed -e "s#mode=.*#mode=${TRANSMITTER_OUTPUT_MODE}#" \
48 -e "s#host=.*#host=${TRANSMITTER_OUTPUT_HOST}#" \
49 -e "s#port=.*#port=${TRANSMITTER_OUTPUT_PORT}#" \
50 ${WORKDIR}/transmitter-output.cfg.in > ${WORKDIR}/transmitter-output.cfg
51 sed -e "s#host=.*#host=${TRANSMITTER_OUTPUT_HOST}#" \
52 -e "s#port=.*#port=${TRANSMITTER_OUTPUT_PORT}#" \
53 ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output.cfg
57 # Put all of our cfg files together for a default portrait
58 # orientation configuration
59 rm -f ${WORKDIR}/weston.ini.default
60 for F in ${WESTON_FRAGMENTS}; do
61 cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.default
62 echo >> ${WORKDIR}/weston.ini.default
64 sed -i -e '$ d' ${WORKDIR}/weston.ini.default
66 cat ${WORKDIR}/weston.ini.default > ${WORKDIR}/weston.ini.default-no-activate
67 sed -i -e 's#\[core\]#[core]\nactivate-by-default=false#' ${WORKDIR}/weston.ini.default-no-activate
68 cat ${WORKDIR}/grpc-proxy.cfg >> ${WORKDIR}/weston.ini.default-no-activate
70 # Do it again, but filter fragments to configure for landscape
71 # and a corresponding landscape-inverted that is 180 degrees
73 rm -f ${WORKDIR}/weston.ini.landscape
74 rm -f ${WORKDIR}/weston.ini.landscape-inverted
75 for F in ${WESTON_FRAGMENTS}; do
77 if echo $F | grep '^hdmi-a-1-\(90\|270\)$'; then
80 elif echo $F | grep '^hdmi-a-2-\(90\|270\)$'; then
83 elif echo $F | grep '^virtual-90$'; then
87 cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.landscape
88 cat ${WORKDIR}/${INVF}.cfg >> ${WORKDIR}/weston.ini.landscape-inverted
89 echo >> ${WORKDIR}/weston.ini.landscape
90 echo >> ${WORKDIR}/weston.ini.landscape-inverted
92 sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape
93 sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape-inverted
95 cat ${WORKDIR}/weston.ini.landscape > ${WORKDIR}/weston.ini.landscape-no-activate
96 sed -i -e 's#\[core\]#[core]\nactivate-by-default=false#' ${WORKDIR}/weston.ini.landscape-no-activate
97 cat ${WORKDIR}/grpc-proxy.cfg >> ${WORKDIR}/weston.ini.landscape-no-activate
100 do_install:append() {
101 install -d ${D}${weston_ini_dir}
102 install -m 0644 ${WORKDIR}/weston.ini.default ${D}${weston_ini_dir}/
103 install -m 0644 ${WORKDIR}/weston.ini.default-no-activate ${D}${weston_ini_dir}/
104 install -m 0644 ${WORKDIR}/weston.ini.landscape-no-activate ${D}${weston_ini_dir}/
105 install -m 0644 ${WORKDIR}/weston.ini.landscape ${D}${weston_ini_dir}/
106 install -m 0644 ${WORKDIR}/weston.ini.landscape-inverted ${D}${weston_ini_dir}/
109 PACKAGE_ARCH = "${MACHINE_ARCH}"
111 # Use the alternative mechanism to handle multiple packages providing
112 # weston.ini. This seems simpler than other possible approaches.
113 # Note that for now the generated packages are being marked as
114 # incompatible with each other for simplicity, that can be changed if
115 # a usecase where switching between alternatives at runtime is desirable
118 ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
120 RPROVIDES:${PN} = "weston-ini"
121 RCONFLICTS:${PN} = "${PN}-landscape"
122 ALTERNATIVE:${PN} = "weston.ini"
123 ALTERNATIVE_TARGET_${PN} = "${weston_ini_dir}/weston.ini.default"
125 PACKAGE_BEFORE_PN += "${PN}-landscape"
127 FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
129 RPROVIDES:${PN}-landscape = "weston-ini"
130 RCONFLICTS:${PN}-landscape = "${PN}"
131 ALTERNATIVE:${PN}-landscape = "weston.ini"
132 ALTERNATIVE_TARGET_${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
134 PACKAGE_BEFORE_PN += "${PN}-landscape-inverted"
136 FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
138 RPROVIDES:${PN}-landscape-inverted = "weston-ini"
139 RCONFLICTS:${PN}-landscape-inverted = "${PN}"
140 ALTERNATIVE:${PN}-landscape-inverted = "weston.ini"
141 ALTERNATIVE_TARGET_${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
143 # no activation by default
144 PACKAGE_BEFORE_PN += "${PN}-no-activate"
146 FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
148 RPROVIDES:${PN}-no-activate = "weston-ini"
149 RCONFLICTS:${PN}-no-activate = "${PN}"
150 ALTERNATIVE:${PN}-no-activate = "weston.ini"
151 ALTERNATIVE_TARGET_${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
153 # landscape, no activation by default
154 PACKAGE_BEFORE_PN += "${PN}-landscape-no-activate"
156 FILES:${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
158 RPROVIDES:${PN}-landscape-no-activate = "weston-ini"
159 RCONFLICTS:${PN}-landscape-no-activate = "${PN}"
160 ALTERNATIVE:${PN}-landscape-no-activate = "weston.ini"
161 ALTERNATIVE_TARGET_${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
163 # This is a settings-only package, we do not need a development package
164 # (and its fixed dependency to ${PN} being installed)
165 PACKAGES:remove = "${PN}-dev ${PN}-staticdev"