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://remote-output.cfg \
13 file://transmitter-output.cfg.in \
14 file://virtual-0.cfg \
15 file://virtual-90.cfg \
16 file://virtual-180.cfg \
17 file://virtual-270.cfg \
22 inherit update-alternatives
24 # Default primary display/orientation fragment
25 WESTON_DISPLAYS ?= "hdmi-a-1-90"
27 # Configuration fragments to use in weston.ini.*
28 # Note that some may be replaced/removed when building the landscape
30 WESTON_FRAGMENTS = "core shell ${WESTON_DISPLAYS}"
32 # On-target weston.ini directory
33 weston_ini_dir = "${sysconfdir}/xdg/weston"
35 # Options for the user to change in local.conf
36 # e.g. TRANSMITTER_OUTPUT_MODE = "1080x1488"
37 TRANSMITTER_OUTPUT_MODE ??= "640x720@30"
38 TRANSMITTER_OUTPUT_HOST ??= "192.168.20.99"
39 TRANSMITTER_OUTPUT_PORT ??= "5005"
42 sed -e "s#mode=.*#mode=${TRANSMITTER_OUTPUT_MODE}#" \
43 -e "s#host=.*#host=${TRANSMITTER_OUTPUT_HOST}#" \
44 -e "s#port=.*#port=${TRANSMITTER_OUTPUT_PORT}#" \
45 ${WORKDIR}/transmitter-output.cfg.in > ${WORKDIR}/transmitter-output.cfg
49 # Put all of our cfg files together for a default portrait
50 # orientation configuration
51 rm -f ${WORKDIR}/weston.ini.default
52 for F in ${WESTON_FRAGMENTS}; do
53 cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.default
54 echo >> ${WORKDIR}/weston.ini.default
56 sed -i -e '$ d' ${WORKDIR}/weston.ini.default
58 cat ${WORKDIR}/weston.ini.default > ${WORKDIR}/weston.ini.default-no-activate
59 echo "[core]" >> ${WORKDIR}/weston.ini.default-no-activate
60 echo "activate-by-default=false" >> ${WORKDIR}/weston.ini.default-no-activate
62 # Do it again, but filter fragments to configure for landscape
63 # and a corresponding landscape-inverted that is 180 degrees
65 rm -f ${WORKDIR}/weston.ini.landscape
66 for F in ${WESTON_FRAGMENTS}; do
68 if echo $F | grep '^hdmi-a-1-\(90\|270\)$'; then
71 elif echo $F | grep '^virtual-90$'; then
75 cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.landscape
76 cat ${WORKDIR}/${INVF}.cfg >> ${WORKDIR}/weston.ini.landscape-inverted
77 echo >> ${WORKDIR}/weston.ini.landscape
78 echo >> ${WORKDIR}/weston.ini.landscape-inverted
80 sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape
81 sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape-inverted
85 install -d ${D}${weston_ini_dir}
86 install -m 0644 ${WORKDIR}/weston.ini.default ${D}${weston_ini_dir}/
87 install -m 0644 ${WORKDIR}/weston.ini.default-no-activate ${D}${weston_ini_dir}/
88 install -m 0644 ${WORKDIR}/weston.ini.landscape ${D}${weston_ini_dir}/
89 install -m 0644 ${WORKDIR}/weston.ini.landscape-inverted ${D}${weston_ini_dir}/
92 PACKAGE_ARCH = "${MACHINE_ARCH}"
94 # Use the alternative mechanism to handle multiple packages providing
95 # weston.ini. This seems simpler than other possible approaches.
96 # Note that for now the generated packages are being marked as
97 # incompatible with each other for simplicity, that can be changed if
98 # a usecase where switching between alternatives at runtime is desirable
101 ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
103 RDEPENDS:${PN} = "weston-init"
104 RPROVIDES:${PN} = "weston-ini"
105 RCONFLICTS:${PN} = "${PN}-landscape"
106 ALTERNATIVE:${PN} = "weston.ini"
107 ALTERNATIVE_TARGET_${PN} = "${weston_ini_dir}/weston.ini.default"
109 PACKAGE_BEFORE_PN += "${PN}-landscape"
111 FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
113 RDEPENDS:${PN}-landscape = "weston-init"
114 RPROVIDES:${PN}-landscape = "weston-ini"
115 RCONFLICTS:${PN}-landscape = "${PN}"
116 ALTERNATIVE:${PN}-landscape = "weston.ini"
117 ALTERNATIVE_TARGET_${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
119 PACKAGE_BEFORE_PN += "${PN}-landscape-inverted"
121 FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
123 RDEPENDS:${PN}-landscape-inverted = "weston-init"
124 RPROVIDES:${PN}-landscape-inverted = "weston-ini"
125 RCONFLICTS:${PN}-landscape-inverted = "${PN}"
126 ALTERNATIVE:${PN}-landscape-inverted = "weston.ini"
127 ALTERNATIVE_TARGET_${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
129 # no activation by default
130 PACKAGE_BEFORE_PN += "${PN}-no-activate"
132 FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
134 RDEPENDS:${PN}-no-activate = "weston-init"
135 RPROVIDES:${PN}-no-activate = "weston-ini"
136 RCONFLICTS:${PN}-no-activate = "${PN}"
137 ALTERNATIVE:${PN}-no-activate = "weston.ini"
138 ALTERNATIVE_TARGET_${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
140 # This is a settings-only package, we do not need a development package
141 # (and its fixed dependency to ${PN} being installed)
142 PACKAGES:remove = "${PN}-dev ${PN}-staticdev"