Skip to contentSkip to conversation

matchbox: huge cleanups (branch yem/matchbox)

PATCH New Yann E. MORIN 3 participants 40 messages Jun 3, 2015 – Jun 9, 2015

lore
Share & tools
lore
#0 lore raw

v2 cover matchbox: huge cleanups (branch yem/matchbox)

Hello All!

This series is an attempt at cleaning up the matchbox packages.

Currently, the matchbox pckages are in a dire situation, where some packages do not even have a corresponding BR2_PACKAGE_FOO option, but are nonetheless build dependencies ones of others.

Also, some support code has been bit-rotting and is not even buildable today, like support for compositing, which simply FTBFS.

Finally, some dependencies are incorrect. For example, there are build dependencies not expressed in the Kconfig (not even counting the missing Kconfig entries for packages), or are entirely wrong.

So, this series aims at fixing all of this. And adds a little bit of extra features we're currently missing. Not everything that is possible with matchbox has been handled, though, like support for NLS. There are also other matchbox-related packages; they are not added in this series, and left as an exercise to the adventurous! ;-)

The series is split into multiple parts;

- patch 1 stands out alone, it is a purely cosmetic removal of dead code.

- patches 2-9 make all packages real packages, i.e. with proper Kconfig options. No functionality change.

- patches 10-12 do a little eye-candy cleanups. No functionality change.

- patch 13-14 move everything out of the matchbox-specific sub-directory, and directly into package/ like almost all otehr packages, and change the prompts according to our policy.

- patches 15-17 fixes dependencies. No functionality change done on purpose, except because of added proper dependency tracking.

- patch 18 stands out alone, a bit of eye-candy to add prompts for previously prompt-less packages. No functionality change.

- patches 19-32 are not really sorted. They are a mix of fixes, eye-candy and the few new features.

This has been build-tested only, with about every possible combinations excercised, for ARM. No run-time testing has been done, though.

Enjoy! ;-)

Changes v1 -> v2:
- reordering (Arnout)
- some cleanups here and there (Arnout)
- lots of typoes/nits (Arnout)
- don't joke about Yocto ;-) (Alexandre)

Regards,
Yann E. MORIN.

The following changes since commit 0606cf10be3ed9934c90e8c752fe931918f55d15:

qt5cinex: fix license typo (2015-06-02 23:32:28 +0200)

are available in the git repository at:

git://git.busybox.net/~ymorin/git/buildroot yem/matchbox

for you to fetch changes up to 0186d2b3c5d0409658ade1fbfca5d07b8044e119:

package/matchbox-panel: fix WiFi monitoring (2015-06-03 22:09:31 +0200)

----------------------------------------------------------------
Yann E. MORIN (32):
package/matchbox-wm: drop useless commented options package/matchbox: make matchbox-lib a real package package/matchbox: make matchbox-wm a real package package/matchbox: make matchbox-panel a real package package/matchbox: make matchbox-desktop a real package package/matchbox: make matchbox-common a real package package/matchbox: make matchbox-fakekey a real package package/matchbox: make matchbox-keyboard a real package package/matchbox: make match-startup-monitor a real package package/matchbox: remove superfluous conditional includes package/matchbox: point to new home
package/matchbox: get rid of intermediate non-package matchbox package/matchbox-common: move one directory higher package/matchbox: fix option prompts
package/matchbox: add missing dependencies to matchbox-lib package/matchbox-common: fix dependencies package/matchbox-fakekey: add missing dependency package/matchbox: finally add prompts to all sub-packages package/matchbox-startup-monitor: invert dependency chain package/matchbox: forcibly disable gconf
package/matchbox: forcibly disable support for compositing package/matchbox: make it a menu
package/matchbox: enable support for the Xsession manager package/matchbox: drop useless dependencies package/matchbox-keyboard: enforce disabling support for cairo package/matchbox-common: explicitly disable PDA folders when not selected package/matchbox: wrap long lines
package/matchbox: xlib-libXcursor is an optional dependency package/matchbox: xlib_libXfixes is an optional dependency package/matchbox-panel: use ACPI for the battery applet package/matchbox-panel: add support for dnotify package/matchbox-panel: fix WiFi monitoring

 package/matchbox-common/Config.in                  | 10 +++++
 .../matchbox-common/matchbox-common.hash           |  0
 .../matchbox-common/matchbox-common.mk             |  2 +
 package/matchbox-desktop/Config.in                 |  6 +++
 .../matchbox-desktop/matchbox-desktop.hash         |  0
 .../matchbox-desktop/matchbox-desktop.mk           |  0
 package/matchbox-fakekey/Config.in                 |  6 +++
 .../matchbox-fakekey/matchbox-fakekey.hash         |  0
 .../matchbox-fakekey/matchbox-fakekey.mk           |  0
 package/matchbox-keyboard/Config.in                |  8 ++++
 .../matchbox-keyboard/matchbox-keyboard.hash       |  0
 .../matchbox-keyboard/matchbox-keyboard.mk         |  4 +-
 .../matchbox-keyboard/mb-applet-kbd-wrapper.sh     |  0
 .../matchbox-lib/0001-index-is-legacy.patch        |  0
 .../matchbox-lib/0002-libpng15.patch               |  0
 .../matchbox-lib/0003-include-setjmp-h.patch       |  0
 package/matchbox-lib/Config.in                     |  4 ++
 .../{matchbox => }/matchbox-lib/matchbox-lib.hash  |  0
 .../{matchbox => }/matchbox-lib/matchbox-lib.mk    |  3 +-
 .../matchbox-panel/0001-index-is-legacy.patch      |  0
 .../matchbox-panel/0002-mb-applet-wireless.patch   |  0
 .../matchbox-panel/0003-mb-applet-battery.patch    | 21 ++++++++++
 package/matchbox-panel/Config.in                   |  6 +++
 .../matchbox-panel/matchbox-panel.hash             |  0
 .../matchbox-panel/matchbox-panel.mk               | 15 +++++--
 .../matchbox-startup-monitor/0001-true-false.patch |  0
 package/matchbox-startup-monitor/Config.in         |  6 +++
 .../matchbox-startup-monitor.hash                  |  0
 .../matchbox-startup-monitor.mk                    |  0
 .../{matchbox-wm => }/0001-defaulttheme.patch      |  0
 package/matchbox/Config.in                         | 47 ++++++++-------------
 package/matchbox/matchbox-wm/matchbox-wm.mk        | 41 ------------------
 .../matchbox-wm.hash => matchbox.hash}             |  0
 package/matchbox/matchbox.mk                       | 48 ++++++++++++++++++++--
 34 files changed, 146 insertions(+), 81 deletions(-)
 create mode 100644 package/matchbox-common/Config.in
 rename package/{matchbox => }/matchbox-common/matchbox-common.hash (100%)
 rename package/{matchbox => }/matchbox-common/matchbox-common.mk (92%)
 create mode 100644 package/matchbox-desktop/Config.in
 rename package/{matchbox => }/matchbox-desktop/matchbox-desktop.hash (100%)
 rename package/{matchbox => }/matchbox-desktop/matchbox-desktop.mk (100%)
 create mode 100644 package/matchbox-fakekey/Config.in
 rename package/{matchbox => }/matchbox-fakekey/matchbox-fakekey.hash (100%)
 rename package/{matchbox => }/matchbox-fakekey/matchbox-fakekey.mk (100%)
 create mode 100644 package/matchbox-keyboard/Config.in
 rename package/{matchbox => }/matchbox-keyboard/matchbox-keyboard.hash (100%)
 rename package/{matchbox => }/matchbox-keyboard/matchbox-keyboard.mk (85%)
 rename package/{matchbox => }/matchbox-keyboard/mb-applet-kbd-wrapper.sh (100%)
 rename package/{matchbox => }/matchbox-lib/0001-index-is-legacy.patch (100%)
 rename package/{matchbox => }/matchbox-lib/0002-libpng15.patch (100%)
 rename package/{matchbox => }/matchbox-lib/0003-include-setjmp-h.patch (100%)
 create mode 100644 package/matchbox-lib/Config.in
 rename package/{matchbox => }/matchbox-lib/matchbox-lib.hash (100%)
 rename package/{matchbox => }/matchbox-lib/matchbox-lib.mk (97%)
 rename package/{matchbox => }/matchbox-panel/0001-index-is-legacy.patch (100%)
 rename package/{matchbox => }/matchbox-panel/0002-mb-applet-wireless.patch (100%)
 create mode 100644 package/matchbox-panel/0003-mb-applet-battery.patch
 create mode 100644 package/matchbox-panel/Config.in
 rename package/{matchbox => }/matchbox-panel/matchbox-panel.hash (100%)
 rename package/{matchbox => }/matchbox-panel/matchbox-panel.mk (65%)
 rename package/{matchbox => }/matchbox-startup-monitor/0001-true-false.patch (100%)
 create mode 100644 package/matchbox-startup-monitor/Config.in
 rename package/{matchbox => }/matchbox-startup-monitor/matchbox-startup-monitor.hash (100%)
 rename package/{matchbox => }/matchbox-startup-monitor/matchbox-startup-monitor.mk (100%)
 rename package/matchbox/{matchbox-wm => }/0001-defaulttheme.patch (100%)
 delete mode 100644 package/matchbox/matchbox-wm/matchbox-wm.mk
 rename package/matchbox/{matchbox-wm/matchbox-wm.hash => matchbox.hash} (100%)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH v2 1/32 package/matchbox-wm: drop useless commented options

---
 package/matchbox/matchbox-wm/matchbox-wm.mk | 3 ---
 1 file changed, 3 deletions(-)
package/matchbox/matchbox-wm/matchbox-wm.mk +0 -3
index 16f1417..da9efd7 100644
@@ -25,10 +25,7 @@ endif
 endif
 
 ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y)
-#MATCHBOX_WM_OPTS += --enable-standalone-xft
 MATCHBOX_WM_DEPENDENCIES += xlib_libXft
-else
-#MATCHBOX_WM_OPTS += --disable-standalone-xft
 endif
 
 ifeq ($(BR2_PACKAGE_STARTUP_NOTIFICATION),y)
Signature · 1 line
1.9.1
#2 lore raw

PATCH v2 2/32 package/matchbox: make matchbox-lib a real package

In reply to Yann E. MORIN

Currently, the matchbox package is using weird, legacy constructs to build its different parts.

Notably, it adds matchbox-lib to the list of packages to build, even though it is not a real package since it does not have a Kconfig entry.

Fix that:
- add a Kconfig entry for matchbox-lib
- select it from the top-level matchbox package

Note that matchbox-common already depends on matchbox-lib.

---
 package/matchbox/Config.in              | 3 +++
 package/matchbox/matchbox-lib/Config.in | 2 ++
 package/matchbox/matchbox.mk            | 2 +-
 3 files changed, 6 insertions(+), 1 deletion(-)
 create mode 100644 package/matchbox/matchbox-lib/Config.in
package/matchbox/Config.in +3 -0
index 7867ae3..70cc168 100644
@@ -7,6 +7,7 @@ config BR2_PACKAGE_MATCHBOX
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
+	select BR2_PACKAGE_MATCHBOX_LIB
 	help
 	  Matchbox is an Open Source base environment for the X Window
 	  System running on non-desktop embedded platforms such as
@@ -17,6 +18,8 @@ config BR2_PACKAGE_MATCHBOX
 
 if BR2_PACKAGE_MATCHBOX
 
+source "package/matchbox/matchbox-lib/Config.in"
+
 config BR2_PACKAGE_MATCHBOX_PANEL
 	bool "Matchbox Panel"
 	help
package/matchbox/matchbox-lib/Config.in new file +2 -0
new file mode 100644
index 0000000..480e6fe
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_MATCHBOX_LIB
+	bool
package/matchbox/matchbox.mk +1 -1
index fe1a7db..e367df2 100644
@@ -1,4 +1,4 @@
 ifeq ($(BR2_PACKAGE_MATCHBOX),y)
 include $(sort $(wildcard package/matchbox/*/*.mk))
-PACKAGES += matchbox-lib matchbox-wm
+PACKAGES += matchbox-wm
 endif
Signature · 1 line
1.9.1
#3 lore raw

PATCH v2 3/32 package/matchbox: make matchbox-wm a real package

In reply to Yann E. MORIN

Similarly to what we just did for matchbox-lib, we make matchbox-wm a real package.

---
 package/matchbox/Config.in             | 2 ++
 package/matchbox/matchbox-wm/Config.in | 3 +++
 package/matchbox/matchbox.mk           | 1 -
 3 files changed, 5 insertions(+), 1 deletion(-)
 create mode 100644 package/matchbox/matchbox-wm/Config.in
package/matchbox/Config.in +2 -0
index 70cc168..15b1017 100644
@@ -8,6 +8,7 @@ config BR2_PACKAGE_MATCHBOX
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
 	select BR2_PACKAGE_MATCHBOX_LIB
+	select BR2_PACKAGE_MATCHBOX_WM
 	help
 	  Matchbox is an Open Source base environment for the X Window
 	  System running on non-desktop embedded platforms such as
@@ -19,6 +20,7 @@ config BR2_PACKAGE_MATCHBOX
 if BR2_PACKAGE_MATCHBOX
 
 source "package/matchbox/matchbox-lib/Config.in"
+source "package/matchbox/matchbox-wm/Config.in"
 
 config BR2_PACKAGE_MATCHBOX_PANEL
 	bool "Matchbox Panel"
package/matchbox/matchbox-wm/Config.in new file +3 -0
new file mode 100644
index 0000000..6ad5dfc
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_MATCHBOX_WM
+	bool
+	select BR2_PACKAGE_MATCHBOX_LIB
package/matchbox/matchbox.mk +0 -1
index e367df2..17d89d8 100644
@@ -1,4 +1,3 @@
 ifeq ($(BR2_PACKAGE_MATCHBOX),y)
 include $(sort $(wildcard package/matchbox/*/*.mk))
-PACKAGES += matchbox-wm
 endif
Signature · 1 line
1.9.1
#4 lore raw

PATCH v2 4/32 package/matchbox: make matchbox-panel a real package

In reply to Yann E. MORIN

Currently, matchbox-panel is treated as if it were an option of the matchbox package.

But that's not true, since it is a real package all by itself, with its own archive and its own buildsystem.

So, make it a real package.

---
 package/matchbox/Config.in                | 7 +------
 package/matchbox/matchbox-panel/Config.in | 6 ++++++
 2 files changed, 7 insertions(+), 6 deletions(-)
 create mode 100644 package/matchbox/matchbox-panel/Config.in
package/matchbox/Config.in +1 -6
index 15b1017..e791cea 100644
@@ -21,12 +21,7 @@ if BR2_PACKAGE_MATCHBOX
 
 source "package/matchbox/matchbox-lib/Config.in"
 source "package/matchbox/matchbox-wm/Config.in"
-
-config BR2_PACKAGE_MATCHBOX_PANEL
-	bool "Matchbox Panel"
-	help
-	  A flexible always present 'window bar' for holding
-	  application launchers.
+source "package/matchbox/matchbox-panel/Config.in"
 
 config BR2_PACKAGE_MATCHBOX_DESKTOP
 	bool "Matchbox Desktop"
package/matchbox/matchbox-panel/Config.in new file +6 -0
new file mode 100644
index 0000000..e3daaf5
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_MATCHBOX_PANEL
+	bool "Matchbox Panel"
+	select BR2_PACKAGE_MATCHBOX_LIB
+	help
+	  A flexible always present 'window bar' for holding
+	  application launchers.
Signature · 1 line
1.9.1
#5 lore raw

PATCH v2 5/32 package/matchbox: make matchbox-desktop a real package

In reply to Yann E. MORIN

Currently, matchbox-desktop is treated as if it were an option of the matchbox package.

But that's not true, since it is a real package all by itself, with its own archive and its own buildsystem.

So, make it a real package.

---
 package/matchbox/Config.in                  | 7 +------
 package/matchbox/matchbox-desktop/Config.in | 5 +++++
 2 files changed, 6 insertions(+), 6 deletions(-)
 create mode 100644 package/matchbox/matchbox-desktop/Config.in
package/matchbox/Config.in +1 -6
index e791cea..39aff3c 100644
@@ -22,12 +22,7 @@ if BR2_PACKAGE_MATCHBOX
 source "package/matchbox/matchbox-lib/Config.in"
 source "package/matchbox/matchbox-wm/Config.in"
 source "package/matchbox/matchbox-panel/Config.in"
-
-config BR2_PACKAGE_MATCHBOX_DESKTOP
-	bool "Matchbox Desktop"
-	select BR2_PACKAGE_ZLIB
-	help
-	  A PDA style application launcher or 'item browser'.
+source "package/matchbox/matchbox-desktop/Config.in"
 
 config BR2_PACKAGE_MATCHBOX_COMMON
 	bool "Matchbox session common files"
package/matchbox/matchbox-desktop/Config.in new file +5 -0
new file mode 100644
index 0000000..c9fd196
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_MATCHBOX_DESKTOP
+	bool "Matchbox Desktop"
+	select BR2_PACKAGE_ZLIB
+	help
+	  A PDA style application launcher or 'item browser'.
Signature · 1 line
1.9.1
#6 lore raw

PATCH v2 6/32 package/matchbox: make matchbox-common a real package

In reply to Yann E. MORIN

Currently, matchbox-common is treated as if it were an option of the matchbox package.

But that's not true, since it is a real package all by itself, with its own archive and its own buildsystem.

So, make it a real package.

---
 package/matchbox/Config.in                 | 11 +----------
 package/matchbox/matchbox-common/Config.in |  9 +++++++++
 2 files changed, 10 insertions(+), 10 deletions(-)
 create mode 100644 package/matchbox/matchbox-common/Config.in
package/matchbox/Config.in +1 -10
index 39aff3c..ead2649 100644
@@ -23,16 +23,7 @@ source "package/matchbox/matchbox-lib/Config.in"
 source "package/matchbox/matchbox-wm/Config.in"
 source "package/matchbox/matchbox-panel/Config.in"
 source "package/matchbox/matchbox-desktop/Config.in"
-
-config BR2_PACKAGE_MATCHBOX_COMMON
-	bool "Matchbox session common files"
-	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
-	help
-	  Common desktop folders and matchbox-session script.
-
-config BR2_PACKAGE_MATCHBOX_COMMON_PDA
-	bool "PDA style desktop folders"
-	depends on BR2_PACKAGE_MATCHBOX_COMMON
+source "package/matchbox/matchbox-common/Config.in"
 
 config BR2_PACKAGE_MATCHBOX_KEYBOARD
 	bool "Matchbox Virtual Keyboard"
package/matchbox/matchbox-common/Config.in new file +9 -0
new file mode 100644
index 0000000..7d22d05
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_MATCHBOX_COMMON
+	bool "Matchbox session common files"
+	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
+	help
+	  Common desktop folders and matchbox-session script.
+
+config BR2_PACKAGE_MATCHBOX_COMMON_PDA
+	bool "PDA style desktop folders"
+	depends on BR2_PACKAGE_MATCHBOX_COMMON
Signature · 1 line
1.9.1
#7 lore raw

PATCH v2 7/32 package/matchbox: make matchbox-fakekey a real package

In reply to Yann E. MORIN

Currently, matchbox-fakekey is missing a Kconfig entry, but is so far solely a build-time dependency of matchbox-keyboard.

So, make it a real package, and select it from matchbox-keyboard.

---
 package/matchbox/Config.in                  | 2 ++
 package/matchbox/matchbox-fakekey/Config.in | 2 ++
 2 files changed, 4 insertions(+)
 create mode 100644 package/matchbox/matchbox-fakekey/Config.in
package/matchbox/Config.in +2 -0
index ead2649..8d4ebc7 100644
@@ -24,11 +24,13 @@ source "package/matchbox/matchbox-wm/Config.in"
 source "package/matchbox/matchbox-panel/Config.in"
 source "package/matchbox/matchbox-desktop/Config.in"
 source "package/matchbox/matchbox-common/Config.in"
+source "package/matchbox/matchbox-fakekey/Config.in"
 
 config BR2_PACKAGE_MATCHBOX_KEYBOARD
 	bool "Matchbox Virtual Keyboard"
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_XLIB_LIBXFT if !BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_MATCHBOX_FAKEKEY
 	help
 	  Virtual Keyboard
 
package/matchbox/matchbox-fakekey/Config.in new file +2 -0
new file mode 100644
index 0000000..334f3a2
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_MATCHBOX_FAKEKEY
+	bool
Signature · 1 line
1.9.1
#8 lore raw

PATCH v2 8/32 package/matchbox: make matchbox-keyboard a real package

In reply to Yann E. MORIN

Currently, matchbox-keyboard is treated as if it were an option of the matchbox package.

But that's not true, since it is a real package all by itself, with its own archive and its own buildsystem.

So, make it a real package.

---
 package/matchbox/Config.in                   | 9 +--------
 package/matchbox/matchbox-keyboard/Config.in | 7 +++++++
 2 files changed, 8 insertions(+), 8 deletions(-)
 create mode 100644 package/matchbox/matchbox-keyboard/Config.in
package/matchbox/Config.in +1 -8
index 8d4ebc7..9b27d4d 100644
@@ -25,13 +25,6 @@ source "package/matchbox/matchbox-panel/Config.in"
 source "package/matchbox/matchbox-desktop/Config.in"
 source "package/matchbox/matchbox-common/Config.in"
 source "package/matchbox/matchbox-fakekey/Config.in"
-
-config BR2_PACKAGE_MATCHBOX_KEYBOARD
-	bool "Matchbox Virtual Keyboard"
-	select BR2_PACKAGE_XLIB_LIBXTST
-	select BR2_PACKAGE_XLIB_LIBXFT if !BR2_PACKAGE_CAIRO
-	select BR2_PACKAGE_MATCHBOX_FAKEKEY
-	help
-	  Virtual Keyboard
+source "package/matchbox/matchbox-keyboard/Config.in"
 
 endif
package/matchbox/matchbox-keyboard/Config.in new file +7 -0
new file mode 100644
index 0000000..e017358
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_MATCHBOX_KEYBOARD
+	bool "Matchbox Virtual Keyboard"
+	select BR2_PACKAGE_XLIB_LIBXTST
+	select BR2_PACKAGE_XLIB_LIBXFT if !BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_MATCHBOX_FAKEKEY
+	help
+	  Virtual Keyboard
Signature · 1 line
1.9.1
#9 lore raw

PATCH v2 9/32 package/matchbox: make match-startup-monitor a real package

In reply to Yann E. MORIN

Currently, matchbox-startup-monitor is missing a Kconfig entry, but is so far solely a build-time dependency of matchbox-panel.

So, make it a real package, and only build-depend on it when enabled. Fix the condition to build-depend on it.

To keep the existing behaviour, default to 'y' when startup-notification is enabled.

---
Changes v1 -> v2:
- restore previous behaviour, to be used whenever startup-notification is enabled (Arnout)

---
 package/matchbox/Config.in                          | 1 +
 package/matchbox/matchbox-panel/matchbox-panel.mk   | 4 ++--
 package/matchbox/matchbox-startup-monitor/Config.in | 3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)
 create mode 100644 package/matchbox/matchbox-startup-monitor/Config.in
package/matchbox/Config.in +1 -0
index 9b27d4d..2f9b73d 100644
@@ -26,5 +26,6 @@ source "package/matchbox/matchbox-desktop/Config.in"
 source "package/matchbox/matchbox-common/Config.in"
 source "package/matchbox/matchbox-fakekey/Config.in"
 source "package/matchbox/matchbox-keyboard/Config.in"
+source "package/matchbox/matchbox-startup-monitor/Config.in"
 
 endif
package/matchbox/matchbox-panel/matchbox-panel.mk +2 -2
index d3efed9..f7d699b 100644
@@ -13,9 +13,9 @@ MATCHBOX_PANEL_LICENSE_FILES = COPYING
 MATCHBOX_PANEL_DEPENDENCIES = matchbox-lib
 MATCHBOX_PANEL_CONF_OPTS = --enable-expat
 
-ifeq ($(BR2_PACKAGE_STARTUP_NOTIFICATION),y)
+ifeq ($(BR2_PACKAGE_MATCHBOX_STARTUP_MONITOR),y)
 MATCHBOX_PANEL_CONF_OPTS += --enable-startup-notification
-MATCHBOX_PANEL_DEPENDENCIES += startup-notification matchbox-startup-monitor
+MATCHBOX_PANEL_DEPENDENCIES += matchbox-startup-monitor
 else
 MATCHBOX_PANEL_CONF_OPTS += --disable-startup-notification
 endif
package/matchbox/matchbox-startup-monitor/Config.in new file +3 -0
new file mode 100644
index 0000000..95af5fc
@@ -0,0 +1,3 @@
+config BR2_PACKAGE_MATCHBOX_STARTUP_MONITOR
+	bool
+	default y if BR2_PACKAGE_STARTUP_NOTIFICATION
Signature · 1 line
1.9.1
#10 lore raw

PATCH v2 10/32 package/matchbox: remove superfluous conditional includes

In reply to Yann E. MORIN

Now that the matchbox package no longer forcibly add entries to the PACKAGES list, and entirely relies on having proper packages, we can safely include all matchbox sub-packages .mk files, and the pkg-infra will take care of building only those that are enabled.

---
 package/matchbox/matchbox.mk | 2 --
 1 file changed, 2 deletions(-)
package/matchbox/matchbox.mk +0 -2
index 17d89d8..ae989b3 100644
@@ -1,3 +1 @@
-ifeq ($(BR2_PACKAGE_MATCHBOX),y)
 include $(sort $(wildcard package/matchbox/*/*.mk))
-endif
Signature · 1 line
1.9.1
#11 lore raw

PATCH v2 11/32 package/matchbox: point to new home

In reply to Yann E. MORIN

The new home of the matchbox project is with the Yocto project. The old home was already redirecting to it anyway, but better point directly to the official location.

---
Changes v1 -> v2:
- change commit log to remove dubious sarcastic joke (Alexandre)

---
 package/matchbox/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox/Config.in +1 -1
index 2f9b73d..891ac95 100644
@@ -15,7 +15,7 @@ config BR2_PACKAGE_MATCHBOX
 	  handhelds, set-top boxes, kiosks and anything else for which
 	  screen space, input mechanisms or system resources are limited.
 
-	  http://matchbox-project.org/
+	  https://www.yoctoproject.org/tools-resources/projects/matchbox
 
 if BR2_PACKAGE_MATCHBOX
 
Signature · 1 line
1.9.1
#12 lore raw

PATCH v2 12/32 package/matchbox: get rid of intermediate non-package matchbox

In reply to Yann E. MORIN

Currently, the matchbox entry in the menu is a non-package entry, that forcibly selects the matchbox-wm package, which is the real matchbox WM.

So, get rid of the current matchbox option, rename the existing matchbox-wm to simply matchbox, so we have a real package from the onset.

Since we're re-using the previous option for the WM package, there is no need for an entry in the legacy menu.

---
 .../{matchbox-wm => }/0001-defaulttheme.patch      |  0
 package/matchbox/Config.in                         |  2 --
 package/matchbox/matchbox-wm/Config.in             |  3 --
 package/matchbox/matchbox-wm/matchbox-wm.mk        | 38 --------------------
 .../matchbox-wm.hash => matchbox.hash}             |  0
 package/matchbox/matchbox.mk                       | 40 ++++++++++++++++++++++
 6 files changed, 40 insertions(+), 43 deletions(-)
 rename package/matchbox/{matchbox-wm => }/0001-defaulttheme.patch (100%)
 delete mode 100644 package/matchbox/matchbox-wm/Config.in
 delete mode 100644 package/matchbox/matchbox-wm/matchbox-wm.mk
 rename package/matchbox/{matchbox-wm/matchbox-wm.hash => matchbox.hash} (100%)
package/matchbox/0001-defaulttheme.patch renamed from package/matchbox/matchbox-wm/0001-defaulttheme.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-wm/0001-defaulttheme.patch
rename to package/matchbox/0001-defaulttheme.patch
package/matchbox/Config.in +0 -2
index 891ac95..7d06bb2 100644
@@ -8,7 +8,6 @@ config BR2_PACKAGE_MATCHBOX
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
 	select BR2_PACKAGE_MATCHBOX_LIB
-	select BR2_PACKAGE_MATCHBOX_WM
 	help
 	  Matchbox is an Open Source base environment for the X Window
 	  System running on non-desktop embedded platforms such as
@@ -20,7 +19,6 @@ config BR2_PACKAGE_MATCHBOX
 if BR2_PACKAGE_MATCHBOX
 
 source "package/matchbox/matchbox-lib/Config.in"
-source "package/matchbox/matchbox-wm/Config.in"
 source "package/matchbox/matchbox-panel/Config.in"
 source "package/matchbox/matchbox-desktop/Config.in"
 source "package/matchbox/matchbox-common/Config.in"
package/matchbox/matchbox-wm/Config.in deleted +0 -3
deleted file mode 100644
index 6ad5dfc..0000000
@@ -1,3 +0,0 @@
-config BR2_PACKAGE_MATCHBOX_WM
-	bool
-	select BR2_PACKAGE_MATCHBOX_LIB
package/matchbox/matchbox-wm/matchbox-wm.mk deleted +0 -38
deleted file mode 100644
index da9efd7..0000000
@@ -1,38 +0,0 @@
-################################################################################
-#
-# matchbox-wm
-#
-################################################################################
-
-MATCHBOX_WM_VERSION = 1.2
-MATCHBOX_WM_SOURCE = matchbox-window-manager-$(MATCHBOX_WM_VERSION).tar.bz2
-MATCHBOX_WM_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/$(MATCHBOX_WM_VERSION)
-MATCHBOX_WM_LICENSE = GPLv2+
-MATCHBOX_WM_LICENSE_FILES = COPYING
-
-MATCHBOX_WM_DEPENDENCIES = matchbox-lib
-MATCHBOX_WM_CONF_OPTS = --enable-expat
-
-# Workaround bug in configure script
-MATCHBOX_WM_CONF_ENV = expat=yes
-
-ifeq ($(BR2_PACKAGE_X11R7_LIBXCOMPOSITE),y)
-ifeq ($(BR2_PACKAGE_X11R7_LIBXPM),y)
-MATCHBOX_WM_CONF_OPTS += --enable-composite
-MATCHBOX_WM_DEPENDENCIES += xlib_libXcomposite
-MATCHBOX_WM_DEPENDENCIES += xlib_libXpm
-endif
-endif
-
-ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y)
-MATCHBOX_WM_DEPENDENCIES += xlib_libXft
-endif
-
-ifeq ($(BR2_PACKAGE_STARTUP_NOTIFICATION),y)
-MATCHBOX_WM_CONF_OPTS += --enable-startup-notification
-MATCHBOX_WM_DEPENDENCIES += startup-notification
-else
-MATCHBOX_WM_CONF_OPTS += --disable-startup-notification
-endif
-
-$(eval $(autotools-package))
package/matchbox/matchbox.hash renamed from package/matchbox/matchbox-wm/matchbox-wm.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-wm/matchbox-wm.hash
rename to package/matchbox/matchbox.hash
package/matchbox/matchbox.mk +40 -0
index ae989b3..100a633 100644
@@ -1 +1,41 @@
+################################################################################
+#
+# matchbox
+#
+################################################################################
+
+MATCHBOX_VERSION = 1.2
+MATCHBOX_SOURCE = matchbox-window-manager-$(MATCHBOX_VERSION).tar.bz2
+MATCHBOX_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/$(MATCHBOX_VERSION)
+MATCHBOX_LICENSE = GPLv2+
+MATCHBOX_LICENSE_FILES = COPYING
+
+MATCHBOX_DEPENDENCIES = matchbox-lib
+MATCHBOX_CONF_OPTS = --enable-expat
+
+# Workaround bug in configure script
+MATCHBOX_CONF_ENV = expat=yes
+
+ifeq ($(BR2_PACKAGE_X11R7_LIBXCOMPOSITE),y)
+ifeq ($(BR2_PACKAGE_X11R7_LIBXPM),y)
+MATCHBOX_CONF_OPTS += --enable-composite
+MATCHBOX_DEPENDENCIES += xlib_libXcomposite
+MATCHBOX_DEPENDENCIES += xlib_libXpm
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y)
+MATCHBOX_DEPENDENCIES += xlib_libXft
+endif
+
+ifeq ($(BR2_PACKAGE_STARTUP_NOTIFICATION),y)
+MATCHBOX_CONF_OPTS += --enable-startup-notification
+MATCHBOX_DEPENDENCIES += startup-notification
+else
+MATCHBOX_CONF_OPTS += --disable-startup-notification
+endif
+
+$(eval $(autotools-package))
+
+# After we called a package infra, we can include more files
 include $(sort $(wildcard package/matchbox/*/*.mk))
Signature · 1 line
1.9.1
#13 lore raw

PATCH v2 13/32 package/matchbox-common: move one directory higher

In reply to Yann E. MORIN

We usually do not have a sub-directory for a family of related packages, so move matchbox packages one directory higher, so they all are in packages/

Also re-order packages alphabetically.

---
Notes:
- Arnout suggested keeping the 'source' directive in matchbox'

    Config.in, like we do for Kodi;
  - some typoes preventively spotted by Arnout. Thanks! :-)
---
 package/{matchbox => }/matchbox-common/Config.in           |  0
 .../{matchbox => }/matchbox-common/matchbox-common.hash    |  0
 package/{matchbox => }/matchbox-common/matchbox-common.mk  |  0
 package/{matchbox => }/matchbox-desktop/Config.in          |  0
 .../{matchbox => }/matchbox-desktop/matchbox-desktop.hash  |  0
 .../{matchbox => }/matchbox-desktop/matchbox-desktop.mk    |  0
 package/{matchbox => }/matchbox-fakekey/Config.in          |  0
 .../{matchbox => }/matchbox-fakekey/matchbox-fakekey.hash  |  0
 .../{matchbox => }/matchbox-fakekey/matchbox-fakekey.mk    |  0
 package/{matchbox => }/matchbox-keyboard/Config.in         |  0
 .../matchbox-keyboard/matchbox-keyboard.hash               |  0
 .../{matchbox => }/matchbox-keyboard/matchbox-keyboard.mk  |  2 +-
 .../matchbox-keyboard/mb-applet-kbd-wrapper.sh             |  0
 .../{matchbox => }/matchbox-lib/0001-index-is-legacy.patch |  0
 package/{matchbox => }/matchbox-lib/0002-libpng15.patch    |  0
 .../matchbox-lib/0003-include-setjmp-h.patch               |  0
 package/{matchbox => }/matchbox-lib/Config.in              |  0
 package/{matchbox => }/matchbox-lib/matchbox-lib.hash      |  0
 package/{matchbox => }/matchbox-lib/matchbox-lib.mk        |  0
 .../matchbox-panel/0001-index-is-legacy.patch              |  0
 .../matchbox-panel/0002-mb-applet-wireless.patch           |  0
 package/{matchbox => }/matchbox-panel/Config.in            |  0
 package/{matchbox => }/matchbox-panel/matchbox-panel.hash  |  0
 package/{matchbox => }/matchbox-panel/matchbox-panel.mk    |  0
 .../matchbox-startup-monitor/0001-true-false.patch         |  0
 package/{matchbox => }/matchbox-startup-monitor/Config.in  |  0
 .../matchbox-startup-monitor/matchbox-startup-monitor.hash |  0
 .../matchbox-startup-monitor/matchbox-startup-monitor.mk   |  0
 package/matchbox/Config.in                                 | 14 +++++++-------
 package/matchbox/matchbox.mk                               |  3 ---
 30 files changed, 8 insertions(+), 11 deletions(-)
 rename package/{matchbox => }/matchbox-common/Config.in (100%)
 rename package/{matchbox => }/matchbox-common/matchbox-common.hash (100%)
 rename package/{matchbox => }/matchbox-common/matchbox-common.mk (100%)
 rename package/{matchbox => }/matchbox-desktop/Config.in (100%)
 rename package/{matchbox => }/matchbox-desktop/matchbox-desktop.hash (100%)
 rename package/{matchbox => }/matchbox-desktop/matchbox-desktop.mk (100%)
 rename package/{matchbox => }/matchbox-fakekey/Config.in (100%)
 rename package/{matchbox => }/matchbox-fakekey/matchbox-fakekey.hash (100%)
 rename package/{matchbox => }/matchbox-fakekey/matchbox-fakekey.mk (100%)
 rename package/{matchbox => }/matchbox-keyboard/Config.in (100%)
 rename package/{matchbox => }/matchbox-keyboard/matchbox-keyboard.hash (100%)
 rename package/{matchbox => }/matchbox-keyboard/matchbox-keyboard.mk (88%)
 rename package/{matchbox => }/matchbox-keyboard/mb-applet-kbd-wrapper.sh (100%)
 rename package/{matchbox => }/matchbox-lib/0001-index-is-legacy.patch (100%)
 rename package/{matchbox => }/matchbox-lib/0002-libpng15.patch (100%)
 rename package/{matchbox => }/matchbox-lib/0003-include-setjmp-h.patch (100%)
 rename package/{matchbox => }/matchbox-lib/Config.in (100%)
 rename package/{matchbox => }/matchbox-lib/matchbox-lib.hash (100%)
 rename package/{matchbox => }/matchbox-lib/matchbox-lib.mk (100%)
 rename package/{matchbox => }/matchbox-panel/0001-index-is-legacy.patch (100%)
 rename package/{matchbox => }/matchbox-panel/0002-mb-applet-wireless.patch (100%)
 rename package/{matchbox => }/matchbox-panel/Config.in (100%)
 rename package/{matchbox => }/matchbox-panel/matchbox-panel.hash (100%)
 rename package/{matchbox => }/matchbox-panel/matchbox-panel.mk (100%)
 rename package/{matchbox => }/matchbox-startup-monitor/0001-true-false.patch (100%)
 rename package/{matchbox => }/matchbox-startup-monitor/Config.in (100%)
 rename package/{matchbox => }/matchbox-startup-monitor/matchbox-startup-monitor.hash (100%)
 rename package/{matchbox => }/matchbox-startup-monitor/matchbox-startup-monitor.mk (100%)
package/matchbox-common/Config.in renamed from package/matchbox/matchbox-common/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-common/Config.in
rename to package/matchbox-common/Config.in
package/matchbox-common/matchbox-common.hash renamed from package/matchbox/matchbox-common/matchbox-common.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-common/matchbox-common.hash
rename to package/matchbox-common/matchbox-common.hash
package/matchbox-common/matchbox-common.mk renamed from package/matchbox/matchbox-common/matchbox-common.mk +0 -0
similarity index 100%
rename from package/matchbox/matchbox-common/matchbox-common.mk
rename to package/matchbox-common/matchbox-common.mk
package/matchbox-desktop/Config.in renamed from package/matchbox/matchbox-desktop/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-desktop/Config.in
rename to package/matchbox-desktop/Config.in
package/matchbox-desktop/matchbox-desktop.hash renamed from package/matchbox/matchbox-desktop/matchbox-desktop.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-desktop/matchbox-desktop.hash
rename to package/matchbox-desktop/matchbox-desktop.hash
package/matchbox-desktop/matchbox-desktop.mk renamed from package/matchbox/matchbox-desktop/matchbox-desktop.mk +0 -0
similarity index 100%
rename from package/matchbox/matchbox-desktop/matchbox-desktop.mk
rename to package/matchbox-desktop/matchbox-desktop.mk
package/matchbox-fakekey/Config.in renamed from package/matchbox/matchbox-fakekey/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-fakekey/Config.in
rename to package/matchbox-fakekey/Config.in
package/matchbox-fakekey/matchbox-fakekey.hash renamed from package/matchbox/matchbox-fakekey/matchbox-fakekey.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-fakekey/matchbox-fakekey.hash
rename to package/matchbox-fakekey/matchbox-fakekey.hash
package/matchbox-fakekey/matchbox-fakekey.mk renamed from package/matchbox/matchbox-fakekey/matchbox-fakekey.mk +0 -0
similarity index 100%
rename from package/matchbox/matchbox-fakekey/matchbox-fakekey.mk
rename to package/matchbox-fakekey/matchbox-fakekey.mk
package/matchbox-keyboard/Config.in renamed from package/matchbox/matchbox-keyboard/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-keyboard/Config.in
rename to package/matchbox-keyboard/Config.in
package/matchbox-keyboard/matchbox-keyboard.hash renamed from package/matchbox/matchbox-keyboard/matchbox-keyboard.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-keyboard/matchbox-keyboard.hash
rename to package/matchbox-keyboard/matchbox-keyboard.hash
package/matchbox-keyboard/matchbox-keyboard.mk renamed from package/matchbox/matchbox-keyboard/matchbox-keyboard.mk +1 -1
similarity index 88%
rename from package/matchbox/matchbox-keyboard/matchbox-keyboard.mk
rename to package/matchbox-keyboard/matchbox-keyboard.mk
index 2017730..fcdd8b1 100644
@@ -15,7 +15,7 @@ MATCHBOX_KEYBOARD_DEPENDENCIES = host-pkgconf matchbox-lib matchbox-fakekey expa
 MATCHBOX_KEYBOARD_CONF_ENV = expat=yes
 
 define MATCHBOX_KEYBOARD_POST_INSTALL_FIXES
-	$(INSTALL) -D -m 0755 package/matchbox/matchbox-keyboard/mb-applet-kbd-wrapper.sh $(TARGET_DIR)/usr/bin/mb-applet-kbd-wrapper.sh
+	$(INSTALL) -D -m 0755 package/matchbox-keyboard/mb-applet-kbd-wrapper.sh $(TARGET_DIR)/usr/bin/mb-applet-kbd-wrapper.sh
 endef
 
 MATCHBOX_KEYBOARD_POST_INSTALL_TARGET_HOOKS += MATCHBOX_KEYBOARD_POST_INSTALL_FIXES
package/matchbox-keyboard/mb-applet-kbd-wrapper.sh renamed from package/matchbox/matchbox-keyboard/mb-applet-kbd-wrapper.sh +0 -0
similarity index 100%
rename from package/matchbox/matchbox-keyboard/mb-applet-kbd-wrapper.sh
rename to package/matchbox-keyboard/mb-applet-kbd-wrapper.sh
package/matchbox-lib/0001-index-is-legacy.patch renamed from package/matchbox/matchbox-lib/0001-index-is-legacy.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-lib/0001-index-is-legacy.patch
rename to package/matchbox-lib/0001-index-is-legacy.patch
package/matchbox-lib/0002-libpng15.patch renamed from package/matchbox/matchbox-lib/0002-libpng15.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-lib/0002-libpng15.patch
rename to package/matchbox-lib/0002-libpng15.patch
package/matchbox-lib/0003-include-setjmp-h.patch renamed from package/matchbox/matchbox-lib/0003-include-setjmp-h.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-lib/0003-include-setjmp-h.patch
rename to package/matchbox-lib/0003-include-setjmp-h.patch
package/matchbox-lib/Config.in renamed from package/matchbox/matchbox-lib/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-lib/Config.in
rename to package/matchbox-lib/Config.in
package/matchbox-lib/matchbox-lib.hash renamed from package/matchbox/matchbox-lib/matchbox-lib.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-lib/matchbox-lib.hash
rename to package/matchbox-lib/matchbox-lib.hash
package/matchbox-lib/matchbox-lib.mk renamed from package/matchbox/matchbox-lib/matchbox-lib.mk +0 -0
similarity index 100%
rename from package/matchbox/matchbox-lib/matchbox-lib.mk
rename to package/matchbox-lib/matchbox-lib.mk
package/matchbox-panel/0001-index-is-legacy.patch renamed from package/matchbox/matchbox-panel/0001-index-is-legacy.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-panel/0001-index-is-legacy.patch
rename to package/matchbox-panel/0001-index-is-legacy.patch
package/matchbox-panel/0002-mb-applet-wireless.patch renamed from package/matchbox/matchbox-panel/0002-mb-applet-wireless.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-panel/0002-mb-applet-wireless.patch
rename to package/matchbox-panel/0002-mb-applet-wireless.patch
package/matchbox-panel/Config.in renamed from package/matchbox/matchbox-panel/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-panel/Config.in
rename to package/matchbox-panel/Config.in
package/matchbox-panel/matchbox-panel.hash renamed from package/matchbox/matchbox-panel/matchbox-panel.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-panel/matchbox-panel.hash
rename to package/matchbox-panel/matchbox-panel.hash
package/matchbox-panel/matchbox-panel.mk renamed from package/matchbox/matchbox-panel/matchbox-panel.mk +0 -0
similarity index 100%
rename from package/matchbox/matchbox-panel/matchbox-panel.mk
rename to package/matchbox-panel/matchbox-panel.mk
package/matchbox-startup-monitor/0001-true-false.patch renamed from package/matchbox/matchbox-startup-monitor/0001-true-false.patch +0 -0
similarity index 100%
rename from package/matchbox/matchbox-startup-monitor/0001-true-false.patch
rename to package/matchbox-startup-monitor/0001-true-false.patch
package/matchbox-startup-monitor/Config.in renamed from package/matchbox/matchbox-startup-monitor/Config.in +0 -0
similarity index 100%
rename from package/matchbox/matchbox-startup-monitor/Config.in
rename to package/matchbox-startup-monitor/Config.in
package/matchbox-startup-monitor/matchbox-startup-monitor.hash renamed from package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor.hash +0 -0
similarity index 100%
rename from package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor.hash
rename to package/matchbox-startup-monitor/matchbox-startup-monitor.hash
package/matchbox-startup-monitor/matchbox-startup-monitor.mk renamed from package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor.mk +0 -0
similarity index 100%
rename from package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor.mk
rename to package/matchbox-startup-monitor/matchbox-startup-monitor.mk
package/matchbox/Config.in +7 -7
index 7d06bb2..3d771d3 100644
@@ -18,12 +18,12 @@ config BR2_PACKAGE_MATCHBOX
 
 if BR2_PACKAGE_MATCHBOX
 
-source "package/matchbox/matchbox-lib/Config.in"
-source "package/matchbox/matchbox-panel/Config.in"
-source "package/matchbox/matchbox-desktop/Config.in"
-source "package/matchbox/matchbox-common/Config.in"
-source "package/matchbox/matchbox-fakekey/Config.in"
-source "package/matchbox/matchbox-keyboard/Config.in"
-source "package/matchbox/matchbox-startup-monitor/Config.in"
+source "package/matchbox-common/Config.in"
+source "package/matchbox-desktop/Config.in"
+source "package/matchbox-fakekey/Config.in"
+source "package/matchbox-keyboard/Config.in"
+source "package/matchbox-lib/Config.in"
+source "package/matchbox-panel/Config.in"
+source "package/matchbox-startup-monitor/Config.in"
 
 endif
package/matchbox/matchbox.mk +0 -3
index 100a633..29e240e 100644
@@ -36,6 +36,3 @@ MATCHBOX_CONF_OPTS += --disable-startup-notification
 endif
 
 $(eval $(autotools-package))
-
-# After we called a package infra, we can include more files
-include $(sort $(wildcard package/matchbox/*/*.mk))
Signature · 1 line
1.9.1
#14 lore raw

PATCH v2 13/32 package/matchbox-common: move one directory higher

Quoted 8 lines · Yann E. MORIN

We usually do not have a sub-directory for a family of related packages, so move matchbox packages one directory higher, so they all are in packages/

Also re-order packages alphabetically.

Regards,
Arnout

Quoted 6 lines

---
Notes:
- Arnout suggested keeping the 'source' directive in matchbox'

    Config.in, like we do for Kodi;

- some typoes preventively spotted by Arnout. Thanks! :-)

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#15 lore raw

PATCH v2 14/32 package/matchbox: fix option prompts

In reply to Yann E. MORIN

Use the package names instead of some fancy human-readable strings. ;-)

Note: the matchbox package is really named matchbox-window-manager by upstream. However:
- it already is in a section of the menu title 'X window managers'
- users are probably only looking for 'matchbox'
- keeping just 'matchbox' keeps it in sync with the Kconfig variable, and allows us to not handle a legacy entry (see a previous commit)
- matchbox-window-manager is a bit long. ;-)

So, in this case, the short 'matchbox' prompt is used instead of the real upstream name.

---
 package/matchbox-common/Config.in   | 4 ++--
 package/matchbox-desktop/Config.in  | 2 +-
 package/matchbox-keyboard/Config.in | 2 +-
 package/matchbox-panel/Config.in    | 2 +-
 package/matchbox/Config.in          | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)
package/matchbox-common/Config.in +2 -2
index 7d22d05..f1c4ce3 100644
@@ -1,9 +1,9 @@
 config BR2_PACKAGE_MATCHBOX_COMMON
-	bool "Matchbox session common files"
+	bool "matchbox-common"
 	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
 	help
 	  Common desktop folders and matchbox-session script.
 
 config BR2_PACKAGE_MATCHBOX_COMMON_PDA
-	bool "PDA style desktop folders"
+	bool "PDA style app folder"
 	depends on BR2_PACKAGE_MATCHBOX_COMMON
package/matchbox-desktop/Config.in +1 -1
index c9fd196..ed80c22 100644
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_MATCHBOX_DESKTOP
-	bool "Matchbox Desktop"
+	bool "matchbox-desktop"
 	select BR2_PACKAGE_ZLIB
 	help
 	  A PDA style application launcher or 'item browser'.
package/matchbox-keyboard/Config.in +1 -1
index e017358..056a255 100644
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_MATCHBOX_KEYBOARD
-	bool "Matchbox Virtual Keyboard"
+	bool "matchbox-keyboard"
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_XLIB_LIBXFT if !BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_MATCHBOX_FAKEKEY
package/matchbox-panel/Config.in +1 -1
index e3daaf5..47bd10a 100644
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_MATCHBOX_PANEL
-	bool "Matchbox Panel"
+	bool "matchbox-panel"
 	select BR2_PACKAGE_MATCHBOX_LIB
 	help
 	  A flexible always present 'window bar' for holding
package/matchbox/Config.in +1 -1
index 3d771d3..344635c 100644
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_MATCHBOX
-	bool "MatchBox Window Manager"
+	bool "matchbox"
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_FONTCONFIG
Signature · 1 line
1.9.1
#16 lore raw

PATCH v2 15/32 package/matchbox: add missing dependencies to matchbox-lib

In reply to Yann E. MORIN

Most of the matchbox packages build-depend on matchbox-lib, but were not selecting it from their Config.in.

Fix that.

---
 package/matchbox-common/Config.in          | 1 +
 package/matchbox-desktop/Config.in         | 1 +
 package/matchbox-fakekey/Config.in         | 1 +
 package/matchbox-keyboard/Config.in        | 1 +
 package/matchbox-startup-monitor/Config.in | 1 +
 5 files changed, 5 insertions(+)
package/matchbox-common/Config.in +1 -0
index f1c4ce3..33d6cc4 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_MATCHBOX_COMMON
 	bool "matchbox-common"
+	select BR2_PACKAGE_MATCHBOX_LIB
 	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
 	help
 	  Common desktop folders and matchbox-session script.
package/matchbox-desktop/Config.in +1 -0
index ed80c22..22c568b 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_MATCHBOX_DESKTOP
 	bool "matchbox-desktop"
+	select BR2_PACKAGE_MATCHBOX_LIB
 	select BR2_PACKAGE_ZLIB
 	help
 	  A PDA style application launcher or 'item browser'.
package/matchbox-fakekey/Config.in +1 -0
index 334f3a2..c0cde42 100644
@@ -1,2 +1,3 @@
 config BR2_PACKAGE_MATCHBOX_FAKEKEY
 	bool
+	select BR2_PACKAGE_MATCHBOX_LIB
package/matchbox-keyboard/Config.in +1 -0
index 056a255..8bd2a79 100644
@@ -3,5 +3,6 @@ config BR2_PACKAGE_MATCHBOX_KEYBOARD
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_XLIB_LIBXFT if !BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_MATCHBOX_FAKEKEY
+	select BR2_PACKAGE_MATCHBOX_LIB
 	help
 	  Virtual Keyboard
package/matchbox-startup-monitor/Config.in +1 -0
index 95af5fc..522d7f7 100644
@@ -1,3 +1,4 @@
 config BR2_PACKAGE_MATCHBOX_STARTUP_MONITOR
 	bool
+	select BR2_PACKAGE_MATCHBOX_LIB
 	default y if BR2_PACKAGE_STARTUP_NOTIFICATION
Signature · 1 line
1.9.1
#17 lore raw

PATCH v2 16/32 package/matchbox-common: fix dependencies

In reply to Yann E. MORIN

matchbox-common can be used by both matchbox-desktop and matchbox-panel, so it needs to depend on either, not both.

---
 package/matchbox-common/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox-common/Config.in +1 -1
index 33d6cc4..5a038e1 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_MATCHBOX_COMMON
 	bool "matchbox-common"
 	select BR2_PACKAGE_MATCHBOX_LIB
-	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
+	depends on BR2_PACKAGE_MATCHBOX_PANEL || BR2_PACKAGE_MATCHBOX_DESKTOP
 	help
 	  Common desktop folders and matchbox-session script.
 
Signature · 1 line
1.9.1
#18 lore raw

PATCH v2 16/32 package/matchbox-common: fix dependencies

Dear Yann E. MORIN,

Quoted 14 lines · Yann E. MORIN

matchbox-common can be used by both matchbox-desktop and matchbox-panel, so it needs to depend on either, not both.

---
 package/matchbox-common/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox-common/Config.in +0 -0
index 33d6cc4..5a038e1 100644

package/matchbox-common/Config.in line 7

Quoted 8 lines
package/matchbox-common/Config.in +1 -1
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_MATCHBOX_COMMON
 	bool "matchbox-common"
 	select BR2_PACKAGE_MATCHBOX_LIB
-	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
+	depends on BR2_PACKAGE_MATCHBOX_PANEL || BR2_PACKAGE_MATCHBOX_DESKTOP
 	help
 	  Common desktop folders and matchbox-session script.
 

I'll apply because I want to apply the rest of the series, but why are we doing this in the first place? I don't think packages in Buildroot have a "depends on" on things that can *use* them. The dependencies in Buildroot are always the other way around: you use a 'depends on' or a 'select' because you need some other thing.

Why isn't matchbox-common maybe always visible, like we do for all packages ?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#19 lore raw

PATCH v2 16/32 package/matchbox-common: fix dependencies

Thomas, All,

On 2015-06-09 23:04 +0200, Thomas Petazzoni spake thusly:

Quoted 30 lines · Yann E. MORIN
Quoted 14 lines

matchbox-common can be used by both matchbox-desktop and matchbox-panel, so it needs to depend on either, not both.

---
 package/matchbox-common/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox-common/Config.in +0 -0
index 33d6cc4..5a038e1 100644

package/matchbox-common/Config.in line 7

Quoted 8 lines
package/matchbox-common/Config.in +1 -1
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_MATCHBOX_COMMON
 	bool "matchbox-common"
 	select BR2_PACKAGE_MATCHBOX_LIB
-	depends on BR2_PACKAGE_MATCHBOX_PANEL && BR2_PACKAGE_MATCHBOX_DESKTOP
+	depends on BR2_PACKAGE_MATCHBOX_PANEL || BR2_PACKAGE_MATCHBOX_DESKTOP
 	help
 	  Common desktop folders and matchbox-session script.
 

I'll apply because I want to apply the rest of the series, but why are we doing this in the first place? I don't think packages in Buildroot have a "depends on" on things that can *use* them. The dependencies in Buildroot are always the other way around: you use a 'depends on' or a 'select' because you need some other thing.

Quoted 2 lines

Why isn't matchbox-common maybe always visible, like we do for all packages ?

As far as I understand it, matchbox-common installs the "desktop folders" which are only meaningful with a "desktop manager", i.e. either matchbox-panel or matchbox-desktop.

Conversely, neither "matchbox-panel" nor "matchbox-desktop" require "matchbox-common".

So I still believe the dependency is correct:
- no reason to expose matchbox-common if neither matchbox-panel nor matchbox-desktop is available,
- expose matchbox-common when either or both are enabled,
- no reason to forcibly select matchbox-common from either of those two packages.

Of course, someone actually using matchbox may well prove me wrong. ;-) Until then, that's all I can explain of what I understand of the matchbox stack.

[
Unrelated to that patch, but worth commenting on, however:

Besides, matchbox-panel and matchbox-desktop are not mutually exclusive at build time; at runtime, they can't both run simultaneously on the same X display, probably (it would be like running both Kwin and Unity at the same time on the same X display).
]

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#20 lore raw

PATCH v2 16/32 package/matchbox-common: fix dependencies

Hello,

Quoted 7 lines · Yann E. MORIN

As far as I understand it, matchbox-common installs the "desktop folders" which are only meaningful with a "desktop manager", i.e. either matchbox-panel or matchbox-desktop.

Conversely, neither "matchbox-panel" nor "matchbox-desktop" require "matchbox-common".

Quoted 6 lines

So I still believe the dependency is correct:
- no reason to expose matchbox-common if neither matchbox-panel nor matchbox-desktop is available,
- expose matchbox-common when either or both are enabled,
- no reason to forcibly select matchbox-common from either of those two packages.

Hum, well then in such cases, for other packages in Buildroot, we simply don't have any "depends on". We don't try to hide libraries when no application using them is enabled, for example.

Quoted 8 lines

[
Unrelated to that patch, but worth commenting on, however:

Besides, matchbox-panel and matchbox-desktop are not mutually exclusive at build time; at runtime, they can't both run simultaneously on the same X display, probably (it would be like running both Kwin and Unity at the same time on the same X display).
]

I haven't looked at all, but isn't matchbox-desktop taking care of the "desktop" (i.e background, etc.) while matchbox-panel is taking care really of the panel (with the menu to start applications, the taskbar and al.) ?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#21 lore raw

PATCH v2 17/32 package/matchbox-fakekey: add missing dependency

In reply to Yann E. MORIN

matchbox-fakekey build-depends on xlib_libXtst, but does not select it.

Fix that.

---
 package/matchbox-fakekey/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/matchbox-fakekey/Config.in +1 -0
index c0cde42..97413ab 100644
@@ -1,3 +1,4 @@
 config BR2_PACKAGE_MATCHBOX_FAKEKEY
 	bool
 	select BR2_PACKAGE_MATCHBOX_LIB
+	select BR2_PACKAGE_XLIB_LIBXTST
Signature · 1 line
1.9.1
#22 lore raw

PATCH v2 18/32 package/matchbox: finally add prompts to all sub-packages

In reply to Yann E. MORIN

We currently do not have that many packages without a prompt, and when we do, they are limited to system-related packages that can't be selected or are forcibly selected under various system-specific conditions.

This is clearly not the case for the matchbox sub-packages, so just give them a prompt, even when they are forcibly selected by the main matchbox package, and can't be selected without it.

That will at least tell the user those packages exist and are to be built.

---
 package/matchbox-fakekey/Config.in         | 4 +++-
 package/matchbox-lib/Config.in             | 4 +++-
 package/matchbox-startup-monitor/Config.in | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)
package/matchbox-fakekey/Config.in +3 -1
index 97413ab..1a1f134 100644
@@ -1,4 +1,6 @@
 config BR2_PACKAGE_MATCHBOX_FAKEKEY
-	bool
+	bool "matchbox-fakekey"
 	select BR2_PACKAGE_MATCHBOX_LIB
 	select BR2_PACKAGE_XLIB_LIBXTST
+	help
+	  Library for simulating key press events under X11.
package/matchbox-lib/Config.in +3 -1
index 480e6fe..e50a543 100644
@@ -1,2 +1,4 @@
 config BR2_PACKAGE_MATCHBOX_LIB
-	bool
+	bool "matchbox-lib"
+	help
+	  Matchbox common functionality library.
package/matchbox-startup-monitor/Config.in +3 -1
index 522d7f7..15dac60 100644
@@ -1,4 +1,6 @@
 config BR2_PACKAGE_MATCHBOX_STARTUP_MONITOR
-	bool
+	bool "matchbox-startup-monitor"
 	select BR2_PACKAGE_MATCHBOX_LIB
 	default y if BR2_PACKAGE_STARTUP_NOTIFICATION
+	help
+	  Matchbox Panel Startup Monitor Applet.
Signature · 1 line
1.9.1
#23 lore raw

PATCH v2 18/32 package/matchbox: finally add prompts to all sub-packages

Quoted 5 lines · Yann E. MORIN

We currently do not have that many packages without a prompt, and when we do, they are limited to system-related packages that can't be selected or are forcibly selected under various system-specific conditions.

Quoted 8 lines

This is clearly not the case for the matchbox sub-packages, so just give them a prompt, even when they are forcibly selected by the main matchbox package, and can't be selected without it.

That will at least tell the user those packages exist and are to be built.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#24 lore raw

PATCH v2 19/32 package/matchbox-startup-monitor: invert dependency chain

In reply to Yann E. MORIN

Previously, matchbox-startup-monitor was forcibly enabled whenever startup-notification was. Now that it has a prompt, it merely defaults to 'y' in this case, leaving the user the possibility to disable it. This is not very logical.

Instead, invert the logic, and select startup-notification from matchbox-startup-monitor.

---
 package/matchbox-startup-monitor/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox-startup-monitor/Config.in +1 -1
index 15dac60..9dce60e 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_MATCHBOX_STARTUP_MONITOR
 	bool "matchbox-startup-monitor"
 	select BR2_PACKAGE_MATCHBOX_LIB
-	default y if BR2_PACKAGE_STARTUP_NOTIFICATION
+	select BR2_PACKAGE_STARTUP_NOTIFICATION
 	help
 	  Matchbox Panel Startup Monitor Applet.
Signature · 1 line
1.9.1
#25 lore raw

PATCH v2 20/32 package/matchbox: forcibly disable gconf

In reply to Yann E. MORIN

Buildroot does not have a gconf package, so explicitly disable gconf support (to avoid it ends up picking the host one).

---
 package/matchbox/matchbox.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox/matchbox.mk +1 -1
index 29e240e..0899208 100644
@@ -11,7 +11,7 @@ MATCHBOX_LICENSE = GPLv2+
 MATCHBOX_LICENSE_FILES = COPYING
 
 MATCHBOX_DEPENDENCIES = matchbox-lib
-MATCHBOX_CONF_OPTS = --enable-expat
+MATCHBOX_CONF_OPTS = --enable-expat --disable-gconf
 
 # Workaround bug in configure script
 MATCHBOX_CONF_ENV = expat=yes
Signature · 1 line
1.9.1
#26 lore raw

PATCH v2 21/32 package/matchbox: forcibly disable support for compositing

In reply to Yann E. MORIN

Building with the experimental support for compositing is broken:

/home/ymorin/dev/buildroot/O/host/usr/bin/arm-linux-gnueabihf-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-Os -o matchbox-window-manager main.o wm.o base_client.o main_client.o toolbar_client.o toolbar_client_alt.o dockbar_client.o dialog_client.o select_client.o desktop_client.o ewmh.o misc.o client_common.o keys.o list.o stack.o composite-engine.o session.o mbtheme.o xml.o
-lmb -lX11 -L/home/ymorin/dev/buildroot/O/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lXext -lXcomposite -lXdamage -lXfixes -lXrender -L/home/ymorin/dev/buildroot/O/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lX11 -lexpat -L/home/ymorin/dev/buildroot/O/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lXfixes
composite-engine.o: In function `gaussian':
/home/ymorin/dev/buildroot/O/build/matchbox-1.2/src/composite-engine.c:65:
undefined reference to `exp'

That's because it forgets to link with -lm.

However, adding "MATCHBOX_CONF_ENV = -lm" does not solve the issue, as it still does not link with -lm at all.

Furthermore, the package does not autoreconf, since it is missing the gconf m4 macros, and Buildroot does not have a package for gconf, hence we can not even patch Makefile.am and autoreconf.

Patching Makefile.in (in addition to .am) could be a solution, but support for compositing is explicitly marked as being experimental.

So, just forcibly disable it altogether.

---
Changes v1 -> v2:
- simply drop support for compositing without trying to first fix it (Arnout)

---
 package/matchbox/Config.in   |  1 -
 package/matchbox/matchbox.mk | 10 +---------
 2 files changed, 1 insertion(+), 10 deletions(-)
package/matchbox/Config.in +0 -1
index 344635c..d850a39 100644
@@ -5,7 +5,6 @@ config BR2_PACKAGE_MATCHBOX
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_XLIB_LIBXEXT
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
 	select BR2_PACKAGE_MATCHBOX_LIB
 	help
package/matchbox/matchbox.mk +1 -9
index 0899208..43f6b4b 100644
@@ -11,19 +11,11 @@ MATCHBOX_LICENSE = GPLv2+
 MATCHBOX_LICENSE_FILES = COPYING
 
 MATCHBOX_DEPENDENCIES = matchbox-lib
-MATCHBOX_CONF_OPTS = --enable-expat --disable-gconf
+MATCHBOX_CONF_OPTS = --enable-expat --disable-gconf --disable-composite
 
 # Workaround bug in configure script
 MATCHBOX_CONF_ENV = expat=yes
 
-ifeq ($(BR2_PACKAGE_X11R7_LIBXCOMPOSITE),y)
-ifeq ($(BR2_PACKAGE_X11R7_LIBXPM),y)
-MATCHBOX_CONF_OPTS += --enable-composite
-MATCHBOX_DEPENDENCIES += xlib_libXcomposite
-MATCHBOX_DEPENDENCIES += xlib_libXpm
-endif
-endif
-
 ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y)
 MATCHBOX_DEPENDENCIES += xlib_libXft
 endif
Signature · 1 line
1.9.1
#27 lore raw

PATCH v2 22/32 package/matchbox: make it a menu

In reply to Yann E. MORIN

We're about to add a few more options, so it now warrants a menu for itself.

---
 package/matchbox/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox/Config.in +1 -1
index d850a39..ae33ecf 100644
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_MATCHBOX
+menuconfig BR2_PACKAGE_MATCHBOX
 	bool "matchbox"
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_USE_MMU # fork()
Signature · 1 line
1.9.1
#28 lore raw

PATCH v2 23/32 package/matchbox: enable support for the Xsession manager

In reply to Yann E. MORIN

Since this is a non-obvious dependency, just select the appropriate library.

Also, add a comment to act as a separator between matchbox' options and the other matchbox packages.

---
Changes v1 -. v2:
- add a Kconfig option rather than relying only on a build-dependency (Arnout)

---
 package/matchbox/Config.in   | 8 ++++++++
 package/matchbox/matchbox.mk | 7 +++++++
 2 files changed, 15 insertions(+)
package/matchbox/Config.in +8 -0
index ae33ecf..d42b90f 100644
@@ -17,6 +17,14 @@ menuconfig BR2_PACKAGE_MATCHBOX
 
 if BR2_PACKAGE_MATCHBOX
 
+config BR2_PACKAGE_MATCHBOX_SM
+	bool "session manager"
+	select BR2_PACKAGE_XLIB_LIBSM
+	help
+	  Enable support for the Session Manager.
+
+comment "matchbox utilities"
+
 source "package/matchbox-common/Config.in"
 source "package/matchbox-desktop/Config.in"
 source "package/matchbox-fakekey/Config.in"
package/matchbox/matchbox.mk +7 -0
index 43f6b4b..b1f96a6 100644
@@ -27,4 +27,11 @@ else
 MATCHBOX_CONF_OPTS += --disable-startup-notification
 endif
 
+ifeq ($(BR2_PACKAGE_MATCHBOX_SM),y)
+MATCHBOX_CONF_OPTS += --enable-session
+MATCHBOX_DEPENDENCIES += xlib_libSM
+else
+MATCHBOX_CONF_OPTS += --disable-session
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
1.9.1
#29 lore raw

PATCH v2 24/32 package/matchbox: drop useless dependencies

In reply to Yann E. MORIN

xlib-libXft is only needed when building a 'standalone' matchbox, which means not using matchbox-lib.

But we *are* building matchbox-lib, and we do not support the standalone mode (and probably won't, as even upstream says it is ugly, by lack of theming).

Similarly, xlib-libXext is only used for its 'xsync' extension, for which support is entirely commented-out in matchbox.

So, drop the dependency on xlib-libXft, and make it explicit we're not building either standalone modes; drop xlib-libXext.

---
 package/matchbox/Config.in   |  1 -
 package/matchbox/matchbox.mk | 11 ++++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)
package/matchbox/Config.in +0 -1
index d42b90f..0c7e5ea 100644
@@ -4,7 +4,6 @@ menuconfig BR2_PACKAGE_MATCHBOX
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_EXPAT
-	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
 	select BR2_PACKAGE_MATCHBOX_LIB
 	help
package/matchbox/matchbox.mk +6 -5
index b1f96a6..1abcfd8 100644
@@ -11,15 +11,16 @@ MATCHBOX_LICENSE = GPLv2+
 MATCHBOX_LICENSE_FILES = COPYING
 
 MATCHBOX_DEPENDENCIES = matchbox-lib
-MATCHBOX_CONF_OPTS = --enable-expat --disable-gconf --disable-composite
+MATCHBOX_CONF_OPTS = \
+	--enable-expat \
+	--disable-gconf \
+	--disable-composite \
+	--disable-standalone \
+	--disable-standalone-xft
 
 # Workaround bug in configure script
 MATCHBOX_CONF_ENV = expat=yes
 
-ifeq ($(BR2_PACKAGE_XLIB_LIBXFT),y)
-MATCHBOX_DEPENDENCIES += xlib_libXft
-endif
-
 ifeq ($(BR2_PACKAGE_STARTUP_NOTIFICATION),y)
 MATCHBOX_CONF_OPTS += --enable-startup-notification
 MATCHBOX_DEPENDENCIES += startup-notification
Signature · 1 line
1.9.1
#30 lore raw

PATCH v2 25/32 package/matchbox-keyboard: enforce disabling support for cairo

In reply to Yann E. MORIN

We usually explicitly enforce disabling optional support when it is possible.

Do so for Cairo.

---
 package/matchbox-keyboard/matchbox-keyboard.mk | 1 +
 1 file changed, 1 insertion(+)
package/matchbox-keyboard/matchbox-keyboard.mk +1 -0
index fcdd8b1..ba524c0 100644
@@ -24,6 +24,7 @@ ifeq ($(BR2_PACKAGE_CAIRO),y)
 MATCHBOX_KEYBOARD_CONF_OPTS += --enable-cairo
 MATCHBOX_KEYBOARD_DEPENDENCIES += cairo
 else
+MATCHBOX_KEYBOARD_CONF_OPTS += --disable-cairo
 MATCHBOX_KEYBOARD_DEPENDENCIES += xlib_libXft
 endif
 
Signature · 1 line
1.9.1
#31 lore raw

PATCH v2 26/32 package/matchbox-common: explicitly disable PDA folders when not selected

In reply to Yann E. MORIN
---
 package/matchbox-common/matchbox-common.mk | 2 ++
 1 file changed, 2 insertions(+)
package/matchbox-common/matchbox-common.mk +2 -0
index da6bec7..038dd59 100644
@@ -14,6 +14,8 @@ MATCHBOX_COMMON_DEPENDENCIES = matchbox-lib
 
 ifeq ($(strip $(BR2_PACKAGE_MATCHBOX_COMMON_PDA)),y)
 MATCHBOX_COMMON_CONF_OPTS += --enable-pda-folders
+else
+MATCHBOX_COMMON_CONF_OPTS += --disable-pda-folders
 endif
 
 $(eval $(autotools-package))
Signature · 1 line
1.9.1
#32 lore raw

PATCH v2 27/32 package/matchbox: wrap long lines

In reply to Yann E. MORIN
---
 package/matchbox-keyboard/matchbox-keyboard.mk | 3 ++-
 package/matchbox-lib/matchbox-lib.mk           | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
package/matchbox-keyboard/matchbox-keyboard.mk +2 -1
index ba524c0..3ffaca6 100644
@@ -15,7 +15,8 @@ MATCHBOX_KEYBOARD_DEPENDENCIES = host-pkgconf matchbox-lib matchbox-fakekey expa
 MATCHBOX_KEYBOARD_CONF_ENV = expat=yes
 
 define MATCHBOX_KEYBOARD_POST_INSTALL_FIXES
-	$(INSTALL) -D -m 0755 package/matchbox-keyboard/mb-applet-kbd-wrapper.sh $(TARGET_DIR)/usr/bin/mb-applet-kbd-wrapper.sh
+	$(INSTALL) -D -m 0755 package/matchbox-keyboard/mb-applet-kbd-wrapper.sh \
+		$(TARGET_DIR)/usr/bin/mb-applet-kbd-wrapper.sh
 endef
 
 MATCHBOX_KEYBOARD_POST_INSTALL_TARGET_HOOKS += MATCHBOX_KEYBOARD_POST_INSTALL_FIXES
package/matchbox-lib/matchbox-lib.mk +2 -1
index 3b697bb..d43e2b8 100644
@@ -15,7 +15,8 @@ MATCHBOX_LIB_CONF_OPTS = --enable-expat --disable-doxygen-docs
 MATCHBOX_LIB_CONF_ENV = LIBS="-lX11"
 
 define MATCHBOX_LIB_POST_INSTALL_FIXES
-	$(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' $(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc
+	$(SED) 's:-I[^$$].*/usr/include/freetype2:-I/usr/include/freetype2:' \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libmb.pc
 endef
 
 MATCHBOX_LIB_POST_INSTALL_STAGING_HOOKS += MATCHBOX_LIB_POST_INSTALL_FIXES
Signature · 1 line
1.9.1
#33 lore raw

PATCH v2 28/32 package/matchbox: xlib-libXcursor is an optional dependency

In reply to Yann E. MORIN

matchbox selects xlib-libXcursor, but does not build-depend on it.

But xlib-libXcursor is only an optional dependency.

Fix that by removing the select, and properly build-depend on it when it is enabled.

---
 package/matchbox/Config.in   | 1 -
 package/matchbox/matchbox.mk | 4 ++++
 2 files changed, 4 insertions(+), 1 deletion(-)
package/matchbox/Config.in +0 -1
index 0c7e5ea..3a9f118 100644
@@ -4,7 +4,6 @@ menuconfig BR2_PACKAGE_MATCHBOX
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_EXPAT
-	select BR2_PACKAGE_XLIB_LIBXCURSOR
 	select BR2_PACKAGE_MATCHBOX_LIB
 	help
 	  Matchbox is an Open Source base environment for the X Window
package/matchbox/matchbox.mk +4 -0
index 1abcfd8..3b6a0eb 100644
@@ -35,4 +35,8 @@ else
 MATCHBOX_CONF_OPTS += --disable-session
 endif
 
+ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
+MATCHBOX_DEPENDENCIES += xlib_libXcursor
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
1.9.1
#34 lore raw

PATCH v2 29/32 package/matchbox: xlib_libXfixes is an optional dependency

In reply to Yann E. MORIN

matchbox can use xlib_libXfixes to completely and really hide the cursor, so build-depend on it if enabled.

---
 package/matchbox/matchbox.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/matchbox/matchbox.mk +4 -0
index 3b6a0eb..9094b1e 100644
@@ -39,4 +39,8 @@ ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
 MATCHBOX_DEPENDENCIES += xlib_libXcursor
 endif
 
+ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y)
+MATCHBOX_DEPENDENCIES += xlib_libXfixes
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
1.9.1
#35 lore raw

PATCH v2 29/32 package/matchbox: xlib_libXfixes is an optional dependency

Quoted 5 lines · Yann E. MORIN

matchbox can use xlib_libXfixes to completely and really hide the cursor, so build-depend on it if enabled.

Regards,
Arnout

Quoted 18 lines
---
 package/matchbox/matchbox.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/matchbox/matchbox.mk +4 -0
index 3b6a0eb..9094b1e 100644
@@ -39,4 +39,8 @@ ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
 MATCHBOX_DEPENDENCIES += xlib_libXcursor
 endif
 
+ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y)
+MATCHBOX_DEPENDENCIES += xlib_libXfixes
+endif
+
 $(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#36 lore raw

PATCH v2 30/32 package/matchbox-panel: use ACPI for the battery applet

In reply to Yann E. MORIN

It is possible to use ACPI to monitor the battery with the battery mini-applet. If ACPI is not explicitly enabled, then APM is used if available; if ACPI is not explcitly enabled and APM is not available, then the battery applet is not built.

However, APM is not really current nowadays, and possibly missing for a bunch of architecture...

What is a pity is that there is no way to explicitly enable or disable the applet; it only relies on auto-detection... :-(

So, forcibly use ACPI on platforms that have it, that is x86 (32- and 64-bit) and AArch64.

---
Changes v1 -> v2:
- force use of ACPI instead of making it an option (Arnout)
- fix build of applet (Arnout)

---
 package/matchbox-panel/0003-mb-applet-battery.patch | 21 +++++++++++++++++++++
 package/matchbox-panel/matchbox-panel.mk            |  7 +++++++
 2 files changed, 28 insertions(+)
 create mode 100644 package/matchbox-panel/0003-mb-applet-battery.patch
package/matchbox-panel/0003-mb-applet-battery.patch new file +21 -0
new file mode 100644
index 0000000..585eb39
@@ -0,0 +1,21 @@
+mb-applet-battery: don't declare line_parse as static
+
+Fix this build failure:
+    mb-applet-battery.c: In function 'read_apm':
+    mb-applet-battery.c:181:2: error: invalid storage class for function 'line_parse'
+
+Reported-by: Arnout Vandecappelle <[email protected]>
+Signed-off-by: "Yann E. MORIN" <[email protected]>
+
+diff -durN matchbox-panel-0.9.3.orig/applets/mb-applet-battery.c matchbox-panel-0.9.3/applets/mb-applet-battery.c
+--- matchbox-panel-0.9.3.orig/applets/mb-applet-battery.c	2006-02-07 23:27:24.000000000 +0100
++++ matchbox-panel-0.9.3/applets/mb-applet-battery.c	2015-05-02 17:13:00.843578796 +0200
+@@ -177,7 +177,7 @@
+ 		unsigned long	present_rate;
+ 	};
+ 
+-	static int
++	int
+ 	line_parse(char *line, struct entry *e)
+ 	{
+ 		char *ptr;
package/matchbox-panel/matchbox-panel.mk +7 -0
index f7d699b..a5da780 100644
@@ -20,6 +20,13 @@ else
 MATCHBOX_PANEL_CONF_OPTS += --disable-startup-notification
 endif
 
+# Using ACPI is only possible on x86 (32- or 64-bit) or AArch64
+ifeq ($(BR2_aarch64)$(BR2_i386)$(BR2_x86_64),y)
+MATCHBOX_PANEL_CONF_OPTS += --enable-acpi-linux
+else
+MATCHBOX_PANEL_CONF_OPTS += --disable-acpi-linux
+endif
+
 ifeq ($(BR2_PACKAGE_WIRELESS_TOOLS),y)
 MATCHBOX_PANEL_DEPENDENCIES += wireless_tools
 endif
Signature · 1 line
1.9.1
#37 lore raw

PATCH v2 31/32 package/matchbox-panel: add support for dnotify

In reply to Yann E. MORIN

Using dnotify, matchbox-panel can automatically reload its menu. dnotify requires a kernel >=2.4, which we can consider to be virtually for granted.

So, forcibly use dnotify.

---
Changes v1 -> v2:
- remove the option, always use dnotify (Arnout)

---
 package/matchbox-panel/matchbox-panel.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox-panel/matchbox-panel.mk +1 -1
index a5da780..e71337c 100644
@@ -11,7 +11,7 @@ MATCHBOX_PANEL_SITE = http://downloads.yoctoproject.org/releases/matchbox/matchb
 MATCHBOX_PANEL_LICENSE = GPLv2+
 MATCHBOX_PANEL_LICENSE_FILES = COPYING
 MATCHBOX_PANEL_DEPENDENCIES = matchbox-lib
-MATCHBOX_PANEL_CONF_OPTS = --enable-expat
+MATCHBOX_PANEL_CONF_OPTS = --enable-expat --enable-dnotify
 
 ifeq ($(BR2_PACKAGE_MATCHBOX_STARTUP_MONITOR),y)
 MATCHBOX_PANEL_CONF_OPTS += --enable-startup-notification
Signature · 1 line
1.9.1
#38 lore raw

PATCH v2 32/32 package/matchbox-panel: fix WiFi monitoring

In reply to Yann E. MORIN

matchbox-panel can build a simple applet to monitor the WiFi. For that, it tries to see if libiwl is available; if so, WiFi monitoring is enabled, otherwise it is disabled; there is not option to explicitly enable or disable it.

Currently, matchbox-panel depends on the wireless-tools package. However, that's not enough, since the library will only be installed if explicitly enabled in the menuconfig *and* this is not a static build.

Change the dependency to be on the library, not the package.

---
Changes v1 -> v2:
- typo (Arnout)

---
 package/matchbox-panel/matchbox-panel.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/matchbox-panel/matchbox-panel.mk +1 -1
index e71337c..aa2d417 100644
@@ -27,7 +27,7 @@ else
 MATCHBOX_PANEL_CONF_OPTS += --disable-acpi-linux
 endif
 
-ifeq ($(BR2_PACKAGE_WIRELESS_TOOLS),y)
+ifeq ($(BR2_PACKAGE_WIRELESS_TOOLS_LIB),y)
 MATCHBOX_PANEL_DEPENDENCIES += wireless_tools
 endif
 
Signature · 1 line
1.9.1
#39 lore raw

v2 cover matchbox: huge cleanups (branch yem/matchbox)

In reply to Yann E. MORIN

Dear Yann E. MORIN,

Quoted 25 lines · Yann E. MORIN

Yann E. MORIN (32):
package/matchbox-wm: drop useless commented options package/matchbox: make matchbox-lib a real package package/matchbox: make matchbox-wm a real package package/matchbox: make matchbox-panel a real package package/matchbox: make matchbox-desktop a real package package/matchbox: make matchbox-common a real package package/matchbox: make matchbox-fakekey a real package package/matchbox: make matchbox-keyboard a real package package/matchbox: make match-startup-monitor a real package package/matchbox: remove superfluous conditional includes package/matchbox: point to new home package/matchbox: get rid of intermediate non-package matchbox package/matchbox-common: move one directory higher package/matchbox: fix option prompts package/matchbox: add missing dependencies to matchbox-lib package/matchbox-common: fix dependencies package/matchbox-fakekey: add missing dependency package/matchbox: finally add prompts to all sub-packages package/matchbox-startup-monitor: invert dependency chain package/matchbox: forcibly disable gconf package/matchbox: forcibly disable support for compositing package/matchbox: make it a menu
package/matchbox: enable support for the Xsession manager package/matchbox: drop useless dependencies

Quoted 8 lines

package/matchbox-keyboard: enforce disabling support for cairo package/matchbox-common: explicitly disable PDA folders when not selected package/matchbox: wrap long lines
package/matchbox: xlib-libXcursor is an optional dependency package/matchbox: xlib_libXfixes is an optional dependency package/matchbox-panel: use ACPI for the battery applet package/matchbox-panel: add support for dnotify package/matchbox-panel: fix WiFi monitoring

Entire series applied. Thanks a lot to you for having worked on Matchbox, and to Arnout for the review work.

Please have a look at the comment I made against patch 16. For the rest, it seemed to be alright, and even if there are minor issues, it's still much much better than what existed.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com