Enable cve-check in CI jobs for additional cve log files
[AGL/meta-agl.git] / meta-agl-core / recipes-graphics / wayland / weston-ini-conf.bb
1 SUMMARY = "Configuration file for the Weston and AGL Wayland compositors"
2 LICENSE = "MIT"
3 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
4
5 SRC_URI = " \
6         file://core.cfg \
7         file://shell.cfg \
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://virtual-0.cfg \
17         file://virtual-90.cfg \
18         file://virtual-180.cfg \
19         file://virtual-270.cfg \
20         file://grpc-proxy.cfg \
21 "
22
23 S = "${WORKDIR}"
24
25 inherit update-alternatives
26
27 # Default primary display/orientation fragment
28 WESTON_DISPLAYS ?= "hdmi-a-1-90"
29
30 # Configuration fragments to use in weston.ini.*
31 # Note that some may be replaced/removed when building the landscape
32 # configuration.
33 WESTON_FRAGMENTS_BASE = "core shell"
34 WESTON_FRAGMENTS = "${WESTON_FRAGMENTS_BASE} ${WESTON_DISPLAYS}"
35
36 # On-target weston.ini directory
37 weston_ini_dir = "${sysconfdir}/xdg/weston"
38
39 do_compile() {
40     # Put all of our cfg files together for a default portrait
41     # orientation configuration
42     rm -f ${WORKDIR}/weston.ini.default
43     for F in ${WESTON_FRAGMENTS}; do
44         cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.default
45         echo >> ${WORKDIR}/weston.ini.default
46     done
47     sed -i -e '$ d' ${WORKDIR}/weston.ini.default
48
49     cat ${WORKDIR}/weston.ini.default > ${WORKDIR}/weston.ini.default-no-activate
50
51     # Do it again, but filter fragments to configure for landscape
52     # and a corresponding landscape-inverted that is 180 degrees
53     # rotated.
54     rm -f ${WORKDIR}/weston.ini.landscape
55     rm -f ${WORKDIR}/weston.ini.landscape-inverted
56     for F in ${WESTON_FRAGMENTS}; do
57         INVF=$F
58         if echo $F | grep '^hdmi-a-1-\(90\|270\)$'; then
59             F="hdmi-a-1-0"
60             INVF="hdmi-a-1-180"
61         elif echo $F | grep '^hdmi-a-2-\(90\|270\)$'; then
62             F="hdmi-a-2-0"
63             INVF="hdmi-a-2-180"
64         elif echo $F | grep '^virtual-90$'; then
65             F="virtual-0"
66             INVF="virtual-180"
67         fi
68         cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.landscape
69         cat ${WORKDIR}/${INVF}.cfg >> ${WORKDIR}/weston.ini.landscape-inverted
70         echo >> ${WORKDIR}/weston.ini.landscape
71         echo >> ${WORKDIR}/weston.ini.landscape-inverted
72     done
73     sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape
74     sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape-inverted
75
76     cat ${WORKDIR}/weston.ini.landscape > ${WORKDIR}/weston.ini.landscape-no-activate
77 }
78
79 do_install:append() {
80     install -d ${D}${weston_ini_dir}
81     install -m 0644 ${WORKDIR}/weston.ini.default ${D}${weston_ini_dir}/
82     install -m 0644 ${WORKDIR}/weston.ini.default-no-activate ${D}${weston_ini_dir}/
83     install -m 0644 ${WORKDIR}/weston.ini.landscape-no-activate ${D}${weston_ini_dir}/
84     install -m 0644 ${WORKDIR}/weston.ini.landscape ${D}${weston_ini_dir}/
85     install -m 0644 ${WORKDIR}/weston.ini.landscape-inverted ${D}${weston_ini_dir}/
86 }
87
88 PACKAGE_ARCH = "${MACHINE_ARCH}"
89
90 # Use the alternative mechanism to handle multiple packages providing
91 # weston.ini.  This seems simpler than other possible approaches.
92 # Note that for now the generated packages are being marked as
93 # incompatible with each other for simplicity, that can be changed if
94 # a usecase where switching between alternatives at runtime is desirable
95 # appears.
96
97 ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
98
99 RPROVIDES:${PN} = "weston-ini"
100 ALTERNATIVE:${PN} = "weston.ini"
101 ALTERNATIVE_TARGET_${PN} = "${weston_ini_dir}/weston.ini.default"
102
103 # landscape
104
105 PACKAGE_BEFORE_PN += "${PN}-landscape"
106 FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
107 RPROVIDES:${PN}-landscape = "weston-ini"
108 ALTERNATIVE:${PN}-landscape = "weston.ini"
109 ALTERNATIVE_TARGET_${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
110 ALTERNATIVE_PRIORITY_${PN}-landscape = "20"
111
112 # landscape-inverted
113
114 PACKAGE_BEFORE_PN += "${PN}-landscape-inverted"
115 FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
116 RPROVIDES:${PN}-landscape-inverted = "weston-ini"
117 ALTERNATIVE:${PN}-landscape-inverted = "weston.ini"
118 ALTERNATIVE_TARGET_${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
119 ALTERNATIVE_PRIORITY_${PN}-landscape-inverted = "25"
120
121 # no-activate, no activation by default
122 PACKAGE_BEFORE_PN += "${PN}-no-activate"
123 FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
124 RPROVIDES:${PN}-no-activate = "weston-ini"
125 ALTERNATIVE:${PN}-no-activate = "weston.ini"
126 ALTERNATIVE_TARGET_${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
127 ALTERNATIVE_PRIORITY_${PN}-no-activate = "21"
128
129 # landscape-no-activate, no activation by default
130 PACKAGE_BEFORE_PN += "${PN}-landscape-no-activate"
131 FILES:${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
132 RPROVIDES:${PN}-landscape-no-activate = "weston-ini"
133 ALTERNATIVE:${PN}-landscape-no-activate = "weston.ini"
134 ALTERNATIVE_TARGET_${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
135 ALTERNATIVE_PRIORITY_${PN}-landscape-no-activate = "26"
136
137 # This is a settings-only package, we do not need a development package
138 # (and its fixed dependency to ${PN} being installed)
139 PACKAGES:remove = "${PN}-dev ${PN}-staticdev"