* [PATCHv2 00/11] More fixes for file dependency generation with RPM
@ 2017-06-15 15:37 Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 01/11] gtk+3: Update the patches to work without PATCHTOOL = "git" Peter Kjellerstedt
` (11 more replies)
0 siblings, 12 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
This is the second take on restoring the file dependency support for
RPM that was lost in Pyro. These changes should fix most (all?)
problems that were seen on the autobuilders after the first set of
changes were introduced.
The first patch is not strictly needed for this, but it fixes a build
problem due to a renamed file in a patch file that I got when building
core-image-sato. No idea why no one else has had problems with this...
//Peter
The following changes since commit 2bf2ab9fcd12b179c396d2d4b4603b774a37eef6:
bitbake: bitbake-user-manual: Updated BBLAYERS_FETCH_DIR variable description (2017-06-15 11:15:59 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib pkj/rpm_regressions2
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/rpm_regressions2
Peter Kjellerstedt (11):
gtk+3: Update the patches to work without PATCHTOOL = "git"
perl: Do not generate file dependencies for perl-ptest
rpm: Add dependencies on bash, perl and python3-core
linux-firmware: Avoid a dependency on python-core
texi2html: Add a dependency on perl
git: Add a dependency on perl for gitweb
git: Do not install git cvsserver and git svn by default
texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs)
package_rpm.bbclass: Filter out unwanted file deps for nativesdk
packages
insane.bbclass: Ignore perl as dependency for nativesdk packages
package.bbclass: Restore functionality to detect RPM dependencies
meta/classes/insane.bbclass | 2 +-
meta/classes/package.bbclass | 5 +-
meta/classes/package_rpm.bbclass | 25 +-
meta/lib/oe/package.py | 60 +++--
meta/recipes-devtools/git/git.inc | 23 +-
meta/recipes-devtools/perl/perl-ptest.inc | 4 +
meta/recipes-devtools/rpm/rpm_git.bb | 5 +
meta/recipes-extended/texi2html/texi2html_5.0.bb | 2 +
meta/recipes-extended/texinfo/texinfo_6.3.bb | 6 +
.../gtk+/gtk+3/0001-Hardcoded-libtool.patch | 12 +-
...Do-not-try-to-initialize-GL-without-libGL.patch | 8 +-
.../0003-Add-disable-opengl-configure-option.patch | 268 +++++++++++++++------
...4-configure.ac-Fix-wayland-protocols-path.patch | 8 +-
.../linux-firmware/linux-firmware_git.bb | 3 +
14 files changed, 317 insertions(+), 114 deletions(-)
--
2.12.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCHv2 01/11] gtk+3: Update the patches to work without PATCHTOOL = "git"
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 02/11] perl: Do not generate file dependencies for perl-ptest Peter Kjellerstedt
` (10 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
The patch "0003-Add-disable-opengl-configure-option.patch" used Git
rename syntax, which is not supported by quilt.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
.../gtk+/gtk+3/0001-Hardcoded-libtool.patch | 12 +-
...Do-not-try-to-initialize-GL-without-libGL.patch | 8 +-
.../0003-Add-disable-opengl-configure-option.patch | 268 +++++++++++++++------
...4-configure.ac-Fix-wayland-protocols-path.patch | 8 +-
4 files changed, 207 insertions(+), 89 deletions(-)
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch b/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch
index 0bda1f1074..c210bbc7d5 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/0001-Hardcoded-libtool.patch
@@ -1,4 +1,4 @@
-From 5a73a5b92566e314bbc8a1bd40f1ec204837c111 Mon Sep 17 00:00:00 2001
+From 0ecaa5bab162abf0cb2057d77beeb7b89d5873b4 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 21 Jun 2016 14:53:56 +0300
Subject: [PATCH 1/4] Hardcoded libtool
@@ -12,10 +12,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 23d3077..b6931d6 100644
+index 6628e21..f43ac09 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -610,7 +610,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files])
+@@ -617,7 +617,7 @@ AC_MSG_CHECKING([whether to write dependencies into .pc files])
case $enable_explicit_deps in
auto)
export SED
@@ -24,7 +24,7 @@ index 23d3077..b6931d6 100644
if test "x$deplibs_check_method" != xpass_all || test "x$enable_static" = xyes ; then
enable_explicit_deps=yes
else
-@@ -876,7 +876,7 @@ else
+@@ -895,7 +895,7 @@ else
dnl Now we check to see if our libtool supports shared lib deps
dnl (in a rather ugly way even)
if $dynworks; then
@@ -33,7 +33,7 @@ index 23d3077..b6931d6 100644
module_deplibs_check=`$module_libtool_config | \
grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -1630,7 +1630,7 @@ AC_SUBST(GTK_PRINT_BACKENDS)
+@@ -1649,7 +1649,7 @@ AC_SUBST(GTK_PRINT_BACKENDS)
# We are using gmodule-no-export now, but I'm leaving the stripping
# code in place for now, since pango and atk still require gmodule.
export SED
@@ -43,5 +43,5 @@ index 23d3077..b6931d6 100644
GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
--
-2.1.4
+2.12.0
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch
index 989716e513..ab7b659414 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch
@@ -1,4 +1,4 @@
-From d63b926f8c8d8b5c9f9ec33d078b775f0409d88a Mon Sep 17 00:00:00 2001
+From 2d2361f24be1e51201063dbbda570debe8702b6f Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Fri, 16 Oct 2015 16:35:16 +0300
Subject: [PATCH 2/4] Do not try to initialize GL without libGL
@@ -21,10 +21,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
2 files changed, 12 insertions(+)
diff --git a/configure.ac b/configure.ac
-index b6931d6..e27da49 100644
+index f43ac09..965eec9 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -342,6 +342,13 @@ AC_ARG_ENABLE(mir-backend,
+@@ -346,6 +346,13 @@ AC_ARG_ENABLE(mir-backend,
[enable the Mir gdk backend])],
[backend_set=yes])
@@ -56,5 +56,5 @@ index 81479d8..3c8c5c0 100644
gint
--
-2.1.4
+2.12.0
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
index e6ee21b64f..eaf6aec2aa 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
@@ -1,7 +1,7 @@
-From cdfd6216ac49fc7622d563d671a5b6511492827d Mon Sep 17 00:00:00 2001
+From a2e6b7cbbd6d741fed38d91b3742aa4a08395aba Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 21 Jun 2016 15:11:39 +0300
-Subject: [PATCH] Add --disable-opengl configure option
+Subject: [PATCH 3/4] Add --disable-opengl configure option
--disable-opengl will remove the dependency on libepoxy and on the
OpenGL APIs. This is useful for those who want to keep using gtk+3
@@ -20,32 +20,34 @@ as it actually will depend on OpenGL.
Upstream-Status: Inappropriate [Evil eye expected from upstream]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
- configure.ac | 13 +++++--
- demos/gtk-demo/glarea.c | 13 +++++++
- docs/tools/Makefile.am | 9 +++--
- docs/tools/widgets.c | 4 ++-
- gdk/gdkdisplay.c | 4 ++-
- gdk/gdkgl.c | 10 ++++++
- gdk/gdkglcontext.c | 6 ++++
- gdk/gdkwindow.c | 13 +++++++
- gdk/x11/Makefile.am | 30 +++++++++++++---
- gdk/x11/gdkdisplay-x11.c | 6 +++-
- gdk/x11/gdkscreen-x11.c | 5 +++
- gdk/x11/gdkwindow-x11.c | 4 +++
- gdk/x11/gdkx-autocleanups.h | 2 ++
- gdk/x11/{gdkx.h => gdkx-with-gl-context.h} | 1 -
- gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++++++++++
- gtk/Makefile.am | 3 +-
- gtk/gtkglarea.c | 20 ++++++++++-
- gtk/inspector/general.c | 6 ++++
- tests/Makefile.am | 10 ++++--
- testsuite/gtk/objects-finalize.c | 2 ++
- 20 files changed, 201 insertions(+), 18 deletions(-)
- rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%)
+ configure.ac | 13 +++++++--
+ demos/gtk-demo/glarea.c | 14 +++++++++
+ docs/tools/Makefile.am | 9 ++++--
+ docs/tools/widgets.c | 4 ++-
+ gdk/gdkdisplay.c | 4 ++-
+ gdk/gdkgl.c | 10 +++++++
+ gdk/gdkglcontext.c | 6 ++++
+ gdk/gdkwindow.c | 13 +++++++++
+ gdk/x11/Makefile.am | 30 +++++++++++++++++---
+ gdk/x11/gdkdisplay-x11.c | 6 +++-
+ gdk/x11/gdkscreen-x11.c | 5 ++++
+ gdk/x11/gdkwindow-x11.c | 4 +++
+ gdk/x11/gdkx-autocleanups.h | 2 ++
+ gdk/x11/gdkx-with-gl-context.h | 59 ++++++++++++++++++++++++++++++++++++++
+ gdk/x11/gdkx-without-gl-context.h | 58 +++++++++++++++++++++++++++++++++++++
+ gdk/x11/gdkx.h | 60 ---------------------------------------
+ gtk/Makefile.am | 3 +-
+ gtk/gtkglarea.c | 20 ++++++++++++-
+ gtk/inspector/general.c | 6 ++++
+ tests/Makefile.am | 10 +++++--
+ testsuite/gtk/objects-finalize.c | 2 ++
+ 21 files changed, 261 insertions(+), 77 deletions(-)
+ create mode 100644 gdk/x11/gdkx-with-gl-context.h
create mode 100644 gdk/x11/gdkx-without-gl-context.h
+ delete mode 100644 gdk/x11/gdkx.h
diff --git a/configure.ac b/configure.ac
-index 1cfdbc4..2d1a945 100644
+index 965eec9..00bf544 100644
--- a/configure.ac
+++ b/configure.ac
@@ -346,6 +346,15 @@ AC_ARG_ENABLE(mir-backend,
@@ -83,7 +85,7 @@ index 1cfdbc4..2d1a945 100644
GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
fi
diff --git a/demos/gtk-demo/glarea.c b/demos/gtk-demo/glarea.c
-index 715b067..4a9c7c8 100644
+index b51e4ae..82409c7 100644
--- a/demos/gtk-demo/glarea.c
+++ b/demos/gtk-demo/glarea.c
@@ -3,9 +3,12 @@
@@ -99,7 +101,7 @@ index 715b067..4a9c7c8 100644
static GtkWidget *demo_window = NULL;
-@@ -23,6 +25,8 @@ enum {
+@@ -23,6 +26,8 @@ enum {
/* Rotation angles on each axis */
static float rotation_angles[N_AXIS] = { 0.0 };
@@ -108,7 +110,7 @@ index 715b067..4a9c7c8 100644
/* The object we are drawing */
static const GLfloat vertex_data[] = {
0.f, 0.5f, 0.f, 1.f,
-@@ -215,6 +219,7 @@ compute_mvp (float *res,
+@@ -215,6 +220,7 @@ compute_mvp (float *res,
static GLuint position_buffer;
static GLuint program;
static GLuint mvp_location;
@@ -116,7 +118,7 @@ index 715b067..4a9c7c8 100644
/* We need to set up our state when we realize the GtkGLArea widget */
static void
-@@ -241,8 +246,10 @@ realize (GtkWidget *widget)
+@@ -241,8 +247,10 @@ realize (GtkWidget *widget)
fragment_path = "/glarea/glarea-gl.fs.glsl";
}
@@ -127,7 +129,7 @@ index 715b067..4a9c7c8 100644
}
/* We should tear down the state when unrealizing */
-@@ -254,10 +261,13 @@ unrealize (GtkWidget *widget)
+@@ -254,10 +262,13 @@ unrealize (GtkWidget *widget)
if (gtk_gl_area_get_error (GTK_GL_AREA (widget)) != NULL)
return;
@@ -141,7 +143,7 @@ index 715b067..4a9c7c8 100644
static void
draw_triangle (void)
{
-@@ -290,6 +300,7 @@ draw_triangle (void)
+@@ -290,6 +301,7 @@ draw_triangle (void)
glBindBuffer (GL_ARRAY_BUFFER, 0);
glUseProgram (0);
}
@@ -149,7 +151,7 @@ index 715b067..4a9c7c8 100644
static gboolean
render (GtkGLArea *area,
-@@ -298,6 +309,7 @@ render (GtkGLArea *area,
+@@ -298,6 +310,7 @@ render (GtkGLArea *area,
if (gtk_gl_area_get_error (area) != NULL)
return FALSE;
@@ -157,7 +159,7 @@ index 715b067..4a9c7c8 100644
/* Clear the viewport */
glClearColor (0.5, 0.5, 0.5, 1.0);
glClear (GL_COLOR_BUFFER_BIT);
-@@ -307,6 +319,7 @@ render (GtkGLArea *area,
+@@ -307,6 +320,7 @@ render (GtkGLArea *area,
/* Flush the contents of the pipeline */
glFlush ();
@@ -208,7 +210,7 @@ index 932daf1..54239d6 100644
return info;
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index ed0e65f..1f81b71 100644
+index 6b012ca..311c7f7 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -2409,7 +2409,9 @@ gboolean
@@ -223,7 +225,7 @@ index ed0e65f..1f81b71 100644
GdkRenderingMode
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 51d2b02..efa9e95 100644
+index 8e7b8c2..b579b22 100644
--- a/gdk/gdkgl.c
+++ b/gdk/gdkgl.c
@@ -22,7 +22,9 @@
@@ -276,7 +278,7 @@ index 51d2b02..efa9e95 100644
GdkGLContext *paint_context;
cairo_surface_t *image;
cairo_matrix_t matrix;
-@@ -706,6 +713,7 @@ out:
+@@ -707,6 +714,7 @@ out:
if (clip_region)
cairo_region_destroy (clip_region);
@@ -284,7 +286,7 @@ index 51d2b02..efa9e95 100644
}
/* This is always called with the paint context current */
-@@ -713,6 +721,7 @@ void
+@@ -714,6 +722,7 @@ void
gdk_gl_texture_from_surface (cairo_surface_t *surface,
cairo_region_t *region)
{
@@ -292,14 +294,14 @@ index 51d2b02..efa9e95 100644
GdkGLContext *paint_context;
cairo_surface_t *image;
double device_x_offset, device_y_offset;
-@@ -813,4 +822,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
+@@ -814,4 +823,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
glDisable (GL_SCISSOR_TEST);
glDeleteTextures (1, &texture_id);
+#endif
}
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index bf6e45f..d016e4b 100644
+index c79dca0..8a7bec2 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -85,7 +85,9 @@
@@ -312,7 +314,7 @@ index bf6e45f..d016e4b 100644
typedef struct {
GdkDisplay *display;
-@@ -243,6 +243,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
+@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
int height,
guint texture_target)
{
@@ -320,7 +322,7 @@ index bf6e45f..d016e4b 100644
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
g_return_if_fail (GDK_IS_GL_CONTEXT (context));
-@@ -286,6 +287,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
+@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext *context,
glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
}
}
@@ -328,7 +330,7 @@ index bf6e45f..d016e4b 100644
}
static gboolean
-@@ -760,6 +764,7 @@ gdk_gl_context_realize (GdkGLContext *context,
+@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext *context,
static void
gdk_gl_context_check_extensions (GdkGLContext *context)
{
@@ -336,7 +338,7 @@ index bf6e45f..d016e4b 100644
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
gboolean has_npot, has_texture_rectangle;
-@@ -824,6 +829,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
+@@ -847,6 +852,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
priv->use_texture_rectangle ? "yes" : "no"));
priv->extensions_checked = TRUE;
@@ -345,7 +347,7 @@ index bf6e45f..d016e4b 100644
/**
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 514732d..0e4fc7e 100644
+index 689d666..fb84256 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -45,7 +45,9 @@
@@ -358,7 +360,7 @@ index 514732d..0e4fc7e 100644
/* for the use of round() */
#include "fallback-c89.c"
-@@ -2801,6 +2803,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
+@@ -2819,6 +2821,13 @@ gdk_window_get_paint_gl_context (GdkWindow *window,
{
GError *internal_error = NULL;
@@ -372,7 +374,7 @@ index 514732d..0e4fc7e 100644
if (_gdk_gl_flags & GDK_GL_DISABLE)
{
g_set_error_literal (error, GDK_GL_ERROR,
-@@ -2936,6 +2945,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
+@@ -2954,6 +2963,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
}
else
{
@@ -380,7 +382,7 @@ index 514732d..0e4fc7e 100644
gdk_gl_context_make_current (context);
/* With gl we always need a surface to combine the gl
drawing with the native drawing. */
-@@ -2950,6 +2960,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
+@@ -2968,6 +2978,7 @@ gdk_window_begin_paint_internal (GdkWindow *window,
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glViewport (0, 0, ww, wh);
@@ -388,7 +390,7 @@ index 514732d..0e4fc7e 100644
}
}
-@@ -3013,6 +3024,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
+@@ -3031,6 +3042,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
gdk_gl_context_make_current (window->gl_paint_context);
@@ -396,7 +398,7 @@ index 514732d..0e4fc7e 100644
if (!cairo_region_is_empty (opaque_region))
gdk_gl_texture_from_surface (window->current_paint.surface,
opaque_region);
-@@ -3023,6 +3035,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
+@@ -3041,6 +3053,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
window->current_paint.need_blend_region);
glDisable(GL_BLEND);
}
@@ -502,10 +504,10 @@ index ad65e29..91345ee 100644
display_class->get_default_seat = gdk_x11_display_get_default_seat;
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
-index 450872d..f8a2f6e 100644
+index 7bf9979..cd1cc9d 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
-@@ -1642,3 +1642,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
+@@ -1643,3 +1643,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
{
return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP");
}
@@ -515,7 +517,7 @@ index 450872d..f8a2f6e 100644
+void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
+#endif
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index fe311a7..d16bdfe 100644
+index 3d6fd3b..2bd5c87 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -36,7 +36,9 @@
@@ -528,7 +530,7 @@ index fe311a7..d16bdfe 100644
#include "gdkprivate-x11.h"
#include "gdk-private.h"
-@@ -5781,7 +5783,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5801,7 +5803,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -552,21 +554,71 @@ index edb0ea7..a317d61 100644
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
-diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx-with-gl-context.h
-similarity index 98%
-rename from gdk/x11/gdkx.h
-rename to gdk/x11/gdkx-with-gl-context.h
-index 1f64bcc..ae05fa6 100644
---- a/gdk/x11/gdkx.h
+diff --git a/gdk/x11/gdkx-with-gl-context.h b/gdk/x11/gdkx-with-gl-context.h
+new file mode 100644
+index 0000000..ae05fa6
+--- /dev/null
+++ b/gdk/x11/gdkx-with-gl-context.h
-@@ -45,7 +45,6 @@
- #include <gdk/x11/gdkx11dnd.h>
- #include <gdk/x11/gdkx11glcontext.h>
- #include <gdk/x11/gdkx11keys.h>
--#include <gdk/x11/gdkx11monitor.h>
- #include <gdk/x11/gdkx11property.h>
- #include <gdk/x11/gdkx11screen.h>
- #include <gdk/x11/gdkx11selection.h>
+@@ -0,0 +1,59 @@
++/* GDK - The GIMP Drawing Kit
++ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++/*
++ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
++ * file for a list of people on the GTK+ Team. See the ChangeLog
++ * files for a list of changes. These files are distributed with
++ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
++ */
++
++#ifndef __GDK_X_H__
++#define __GDK_X_H__
++
++#include <gdk/gdk.h>
++
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++#define __GDKX_H_INSIDE__
++
++#include <gdk/x11/gdkx11applaunchcontext.h>
++#include <gdk/x11/gdkx11cursor.h>
++#include <gdk/x11/gdkx11device.h>
++#include <gdk/x11/gdkx11device-core.h>
++#include <gdk/x11/gdkx11device-xi2.h>
++#include <gdk/x11/gdkx11devicemanager.h>
++#include <gdk/x11/gdkx11devicemanager-core.h>
++#include <gdk/x11/gdkx11devicemanager-xi2.h>
++#include <gdk/x11/gdkx11display.h>
++#include <gdk/x11/gdkx11displaymanager.h>
++#include <gdk/x11/gdkx11dnd.h>
++#include <gdk/x11/gdkx11glcontext.h>
++#include <gdk/x11/gdkx11keys.h>
++#include <gdk/x11/gdkx11property.h>
++#include <gdk/x11/gdkx11screen.h>
++#include <gdk/x11/gdkx11selection.h>
++#include <gdk/x11/gdkx11utils.h>
++#include <gdk/x11/gdkx11visual.h>
++#include <gdk/x11/gdkx11window.h>
++
++#include <gdk/x11/gdkx-autocleanups.h>
++
++#undef __GDKX_H_INSIDE__
++
++#endif /* __GDK_X_H__ */
diff --git a/gdk/x11/gdkx-without-gl-context.h b/gdk/x11/gdkx-without-gl-context.h
new file mode 100644
index 0000000..c9e2617
@@ -631,11 +683,77 @@ index 0000000..c9e2617
+#undef __GDKX_H_INSIDE__
+
+#endif /* __GDK_X_H__ */
+diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
+deleted file mode 100644
+index 1f64bcc..0000000
+--- a/gdk/x11/gdkx.h
++++ /dev/null
+@@ -1,60 +0,0 @@
+-/* GDK - The GIMP Drawing Kit
+- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+- *
+- * This library is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2 of the License, or (at your option) any later version.
+- *
+- * This library is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-/*
+- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
+- * file for a list of people on the GTK+ Team. See the ChangeLog
+- * files for a list of changes. These files are distributed with
+- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+- */
+-
+-#ifndef __GDK_X_H__
+-#define __GDK_X_H__
+-
+-#include <gdk/gdk.h>
+-
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+-
+-#define __GDKX_H_INSIDE__
+-
+-#include <gdk/x11/gdkx11applaunchcontext.h>
+-#include <gdk/x11/gdkx11cursor.h>
+-#include <gdk/x11/gdkx11device.h>
+-#include <gdk/x11/gdkx11device-core.h>
+-#include <gdk/x11/gdkx11device-xi2.h>
+-#include <gdk/x11/gdkx11devicemanager.h>
+-#include <gdk/x11/gdkx11devicemanager-core.h>
+-#include <gdk/x11/gdkx11devicemanager-xi2.h>
+-#include <gdk/x11/gdkx11display.h>
+-#include <gdk/x11/gdkx11displaymanager.h>
+-#include <gdk/x11/gdkx11dnd.h>
+-#include <gdk/x11/gdkx11glcontext.h>
+-#include <gdk/x11/gdkx11keys.h>
+-#include <gdk/x11/gdkx11monitor.h>
+-#include <gdk/x11/gdkx11property.h>
+-#include <gdk/x11/gdkx11screen.h>
+-#include <gdk/x11/gdkx11selection.h>
+-#include <gdk/x11/gdkx11utils.h>
+-#include <gdk/x11/gdkx11visual.h>
+-#include <gdk/x11/gdkx11window.h>
+-
+-#include <gdk/x11/gdkx-autocleanups.h>
+-
+-#undef __GDKX_H_INSIDE__
+-
+-#endif /* __GDK_X_H__ */
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
-index 3b76b82..eb4a065 100644
+index 45fb7c2..ce81011 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
-@@ -1378,14 +1378,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
+@@ -1411,14 +1411,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
&& cp xgen-gptbc gtkprivatetypebuiltins.c \
&& rm -f xgen-gptbc
@@ -748,7 +866,7 @@ index 094378e..f7c7f47 100644
static gboolean
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
-index 31dd6aa..1cedbd3 100644
+index c241ec8..24576dd 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -33,8 +33,10 @@
@@ -778,7 +896,7 @@ index 31dd6aa..1cedbd3 100644
#ifdef GDK_WINDOWING_WAYLAND
static void
-@@ -220,6 +224,7 @@ append_egl_extension_row (GtkInspectorGeneral *gen,
+@@ -254,6 +258,7 @@ wayland_get_display (struct wl_display *wl_display)
static void
init_gl (GtkInspectorGeneral *gen)
{
@@ -786,7 +904,7 @@ index 31dd6aa..1cedbd3 100644
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
{
-@@ -246,6 +251,7 @@ init_gl (GtkInspectorGeneral *gen)
+@@ -280,6 +285,7 @@ init_gl (GtkInspectorGeneral *gen)
}
else
#endif
@@ -795,7 +913,7 @@ index 31dd6aa..1cedbd3 100644
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
{
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 649981f..a0e48a6 100644
+index f86c166..ba1acad 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -80,8 +80,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \
@@ -807,7 +925,7 @@ index 649981f..a0e48a6 100644
testgrid \
testgtk \
testheaderbar \
-@@ -169,12 +167,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \
+@@ -170,12 +168,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \
testactionbar \
testwindowsize \
testpopover \
@@ -843,5 +961,5 @@ index 0b3a519..07b096f 100644
all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
all_types[i] != GDK_TYPE_DRAWING_CONTEXT &&
--
-2.1.4
+2.12.0
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch b/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch
index 634b3a46ff..aca55ceaf4 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/0004-configure.ac-Fix-wayland-protocols-path.patch
@@ -1,4 +1,4 @@
-From 97b78e566634579bbae51be914aeaaa921137a8b Mon Sep 17 00:00:00 2001
+From 34f4d3928e8206a89b0a601bdf79d6194b3cc77e Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Thu, 9 Jun 2016 11:21:36 +0300
Subject: [PATCH 4/4] configure.ac: Fix wayland-protocols path
@@ -19,10 +19,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index a3e9beb..dde9dc5 100644
+index 00bf544..5515915 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -461,7 +461,7 @@ fi
+@@ -465,7 +465,7 @@ fi
if test "$enable_wayland_backend" = "yes"; then
# For the cairo image backend
cairo_backends="$cairo_backends cairo"
@@ -32,5 +32,5 @@ index a3e9beb..dde9dc5 100644
GDK_WINDOWING="$GDK_WINDOWING
#define GDK_WINDOWING_WAYLAND"
--
-2.1.4
+2.12.0
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 02/11] perl: Do not generate file dependencies for perl-ptest
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 01/11] gtk+3: Update the patches to work without PATCHTOOL = "git" Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 03/11] rpm: Add dependencies on bash, perl and python3-core Peter Kjellerstedt
` (9 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
The perl-ptest package contains Perl internal modules and generating
file dependencies for it causes problems.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-devtools/perl/perl-ptest.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-devtools/perl/perl-ptest.inc b/meta/recipes-devtools/perl/perl-ptest.inc
index 04406d5744..1f549af1b3 100644
--- a/meta/recipes-devtools/perl/perl-ptest.inc
+++ b/meta/recipes-devtools/perl/perl-ptest.inc
@@ -39,3 +39,7 @@ python populate_packages_prepend() {
}
RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc sed libssp"
+
+# The perl-ptest package contains Perl internal modules and generating file
+# dependencies for it causes problems.
+SKIP_FILEDEPS_${PN}-ptest = '1'
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 03/11] rpm: Add dependencies on bash, perl and python3-core
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 01/11] gtk+3: Update the patches to work without PATCHTOOL = "git" Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 02/11] perl: Do not generate file dependencies for perl-ptest Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-23 10:03 ` Burton, Ross
2017-06-15 15:37 ` [PATCHv2 04/11] linux-firmware: Avoid a dependency on python-core Peter Kjellerstedt
` (8 subsequent siblings)
11 siblings, 1 reply; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
Also modify a Python script (pythondistdeps.py) to use Python 3.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-devtools/rpm/rpm_git.bb | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta/recipes-devtools/rpm/rpm_git.bb b/meta/recipes-devtools/rpm/rpm_git.bb
index 2a0dcafac7..30702a7507 100644
--- a/meta/recipes-devtools/rpm/rpm_git.bb
+++ b/meta/recipes-devtools/rpm/rpm_git.bb
@@ -103,6 +103,9 @@ do_install_append_class-target() {
do_install_append () {
sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}/${libdir}/rpm/macros
+
+ sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
+ ${D}${libdir}/rpm/pythondistdeps.py
}
FILES_${PN} += "${libdir}/rpm-plugins/*.so \
@@ -117,3 +120,5 @@ FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
# rpm 5.x was packaging the rpm build tools separately
RPROVIDES_${PN} += "rpm-build"
+
+RDEPENDS_${PN} = "bash perl python3-core"
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 04/11] linux-firmware: Avoid a dependency on python-core
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (2 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 03/11] rpm: Add dependencies on bash, perl and python3-core Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 05/11] texi2html: Add a dependency on perl Peter Kjellerstedt
` (7 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
Remove the check_whence.py script since it is only needed to validate
the WHENCE file, and only if explicitly running `make check`.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index 4558dafdac..53089f2767 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -210,6 +210,9 @@ do_install() {
# Remove pointless bash script
rm ${D}${nonarch_base_libdir}/firmware/configure
+ # Remove python script used to check the WHENCE file
+ rm ${D}${nonarch_base_libdir}/firmware/check_whence.py
+
# Libertas sd8686
ln -sf libertas/sd8686_v9.bin ${D}${nonarch_base_libdir}/firmware/sd8686.bin
ln -sf libertas/sd8686_v9_helper.bin ${D}${nonarch_base_libdir}/firmware/sd8686_helper.bin
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 05/11] texi2html: Add a dependency on perl
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (3 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 04/11] linux-firmware: Avoid a dependency on python-core Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 06/11] git: Add a dependency on perl for gitweb Peter Kjellerstedt
` (6 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-extended/texi2html/texi2html_5.0.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-extended/texi2html/texi2html_5.0.bb b/meta/recipes-extended/texi2html/texi2html_5.0.bb
index ae64816f82..afd125b08f 100644
--- a/meta/recipes-extended/texi2html/texi2html_5.0.bb
+++ b/meta/recipes-extended/texi2html/texi2html_5.0.bb
@@ -27,3 +27,5 @@ do_install_append () {
}
FILES_${PN}-doc += "${datadir}/texinfo"
+
+RDEPENDS_${PN} = "perl"
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 06/11] git: Add a dependency on perl for gitweb
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (4 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 05/11] texi2html: Add a dependency on perl Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 07/11] git: Do not install git cvsserver and git svn by default Peter Kjellerstedt
` (5 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-devtools/git/git.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc
index ade99ecfe0..9b0d328bad 100644
--- a/meta/recipes-devtools/git/git.inc
+++ b/meta/recipes-devtools/git/git.inc
@@ -118,6 +118,6 @@ FILES_${PN}-tk = " \
PACKAGES =+ "gitweb"
FILES_gitweb = "${datadir}/gitweb/"
-
+RDEPENDS_gitweb = "perl"
BBCLASSEXTEND = "native nativesdk"
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 07/11] git: Do not install git cvsserver and git svn by default
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (5 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 06/11] git: Add a dependency on perl for gitweb Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 08/11] texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs) Peter Kjellerstedt
` (4 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
These git commands require Perl modules that do not exist in OE-Core.
Add PACKAGECONFIGs to enable them. Be aware though that if you enable
them you must also provide the missing dependencies.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-devtools/git/git.inc | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc
index 9b0d328bad..5c12ca8d4c 100644
--- a/meta/recipes-devtools/git/git.inc
+++ b/meta/recipes-devtools/git/git.inc
@@ -13,6 +13,10 @@ S = "${WORKDIR}/git-${PV}"
LIC_FILES_CHKSUM = "file://COPYING;md5=7c0d7ef03a7eb04ce795b0f60e68e7e1"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[cvsserver] = ""
+PACKAGECONFIG[svn] = ""
+
EXTRA_OECONF = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl \
--without-tcltk \
"
@@ -54,6 +58,23 @@ perl_native_fixup () {
mkdir -p ${D}${libdir}
mv ${D}${exec_prefix}/lib/perl-native/perl ${D}${libdir}
rmdir -p ${D}${exec_prefix}/lib/perl-native || true
+
+ if [ ! "${@bb.utils.filter('PACKAGECONFIG', 'cvsserver', d)}" ]; then
+ # Only install the git cvsserver command if explicitly requested
+ # as it requires the DBI Perl module, which does not exist in
+ # OE-Core.
+ rm ${D}${libexecdir}/git-core/git-cvsserver \
+ ${D}${bindir}/git-cvsserver
+ fi
+
+ if [ ! "${@bb.utils.filter('PACKAGECONFIG', 'svn', d)}" ]; then
+ # Only install the git svn command and all Git::SVN Perl modules
+ # if explicitly requested as they require the SVN::Core Perl
+ # module, which does not exist in OE-Core.
+ rm -r ${D}${libexecdir}/git-core/git-svn \
+ ${D}${libdir}/perl/site_perl/*/Git/SVN*
+ sed -i -e '/SVN/d' ${D}${libdir}/perl/site_perl/*/auto/Git/.packlist
+ fi
}
REL_GIT_EXEC_PATH = "${@os.path.relpath(libexecdir, bindir)}/git-core"
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 08/11] texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs)
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (6 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 07/11] git: Do not install git cvsserver and git svn by default Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 09/11] package_rpm.bbclass: Filter out unwanted file deps for nativesdk packages Peter Kjellerstedt
` (3 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
We do not build the Locale::gettext_xs Perl module and the code will
test for it and happily use Locale::gettext_pp instead if it is not
found. However, this still causes a file dependency on
perl(Locale::gettext_xs) to be generated, which must be satisfied by
adding an explicit provide for it.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-extended/texinfo/texinfo_6.3.bb | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta/recipes-extended/texinfo/texinfo_6.3.bb b/meta/recipes-extended/texinfo/texinfo_6.3.bb
index d82731e11e..f58df928aa 100644
--- a/meta/recipes-extended/texinfo/texinfo_6.3.bb
+++ b/meta/recipes-extended/texinfo/texinfo_6.3.bb
@@ -79,4 +79,10 @@ FILES_${PN}-doc = "${infodir}/texinfo* \
${datadir}/${tex_texinfo} \
${mandir}/man1 ${mandir}/man5"
+# Lie about providing the Locale::gettext_xs module. It is not actually built,
+# but the code will test for it and if not found use Locale::gettext_pp instead.
+# However, this causes a file dependency on perl(Locale::gettext_xs) to be
+# generated, which must be satisfied.
+RPROVIDES_${PN} += "perl(Locale::gettext_xs)"
+
BBCLASSEXTEND = "native nativesdk"
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 09/11] package_rpm.bbclass: Filter out unwanted file deps for nativesdk packages
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (7 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 08/11] texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs) Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 10/11] insane.bbclass: Ignore perl as dependency " Peter Kjellerstedt
` (2 subsequent siblings)
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
Filter out any file dependencies on absolute paths and any
dependencies on Perl modules for nativesdk packages. It is assumed
that they will be provided by the native host if needed, and they mess
up the dependency handling if they are present.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/classes/package_rpm.bbclass | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index dc241975c3..5f29b45180 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -7,10 +7,28 @@ RPMBUILD="rpmbuild"
PKGWRITEDIRRPM = "${WORKDIR}/deploy-rpms"
-# Maintaining the perfile dependencies has singificant overhead when writing the
+# Maintaining the perfile dependencies has singificant overhead when writing the
# packages. When set, this value merges them for efficiency.
MERGEPERFILEDEPS = "1"
+# Filter dependencies based on a provided function.
+def filter_deps(var, f):
+ import collections
+
+ depends_dict = bb.utils.explode_dep_versions2(var)
+ newdeps_dict = collections.OrderedDict()
+ for dep in depends_dict:
+ if f(dep):
+ newdeps_dict[dep] = depends_dict[dep]
+ return bb.utils.join_deps(newdeps_dict, commasep=False)
+
+# Filter out absolute paths (typically /bin/sh and /usr/bin/env) and any perl
+# dependencies for nativesdk packages.
+def filter_nativesdk_deps(srcname, var):
+ if var and srcname.startswith("nativesdk-"):
+ var = filter_deps(var, lambda dep: not dep.startswith('/') and dep != 'perl' and not dep.startswith('perl('))
+ return var
+
# Construct per file dependencies file
def write_rpm_perfiledata(srcname, d):
workdir = d.getVar('WORKDIR')
@@ -26,7 +44,8 @@ def write_rpm_perfiledata(srcname, d):
dependsflist = (d.getVar(dependsflist_key) or "")
for dfile in dependsflist.split():
key = "FILE" + varname + "_" + dfile + "_" + pkg
- depends_dict = bb.utils.explode_dep_versions(d.getVar(key) or "")
+ deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
+ depends_dict = bb.utils.explode_dep_versions(deps)
file = dfile.replace("@underscore@", "_")
file = file.replace("@closebrace@", "]")
file = file.replace("@openbrace@", "[")
@@ -359,6 +378,8 @@ python write_specfile () {
splitrdepends = splitrdepends + " " + get_perfile('RDEPENDS', pkg, d)
splitrprovides = splitrprovides + " " + get_perfile('RPROVIDES', pkg, d)
+ splitrdepends = filter_nativesdk_deps(srcname, splitrdepends)
+
# Gather special src/first package data
if srcname == splitname:
srcrdepends = splitrdepends
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 10/11] insane.bbclass: Ignore perl as dependency for nativesdk packages
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (8 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 09/11] package_rpm.bbclass: Filter out unwanted file deps for nativesdk packages Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 11/11] package.bbclass: Restore functionality to detect RPM dependencies Peter Kjellerstedt
2017-06-15 15:41 ` [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/classes/insane.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index f6fd7c74d8..d57b98e04c 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -906,7 +906,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
if "file-rdeps" not in skip:
ignored_file_rdeps = set(['/bin/sh', '/usr/bin/env', 'rtld(GNU_HASH)'])
if bb.data.inherits_class('nativesdk', d):
- ignored_file_rdeps |= set(['/bin/bash', '/usr/bin/perl'])
+ ignored_file_rdeps |= set(['/bin/bash', '/usr/bin/perl', 'perl'])
# For Saving the FILERDEPENDS
filerdepends = {}
rdep_data = oe.packagedata.read_subpkgdata(pkg, d)
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCHv2 11/11] package.bbclass: Restore functionality to detect RPM dependencies
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (9 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 10/11] insane.bbclass: Ignore perl as dependency " Peter Kjellerstedt
@ 2017-06-15 15:37 ` Peter Kjellerstedt
2017-06-15 15:41 ` [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:37 UTC (permalink / raw)
To: openembedded-core
During the transition to dnf and rpm4, the functionality to
automatically make RPM determine dependencies was lost.
Before the transition, an OE specific tool called rpmdeps-oecore had
been added to the rpm suit. It was based on the rpmdeps tool that is
part of rpm. For each file specified on its command line, it would
output the provides and requires that RPM could determine.
During the transition to rpm4, rpmdeps-oecore was replaced with the
standard rpmdeps. However, what no one noticed was that unless rpmdeps
is given options, e.g., -P or -R, to tell it what it should output, it
will not output anything. Thus, it would do all the work to determine
the requirements, but would keep silent about it. And since no output
from rpmdeps is expected unless there are requirements, there were no
warnings indicating that everything was not working as expected.
Porting the old rpmdeps-oecore to work with rpm4 is not really
possible since it relied on being able to access internals of RPM that
are no longer available. However, it turned out that rpmdeps had a
debug option, --rpmfcdebug, that would output exactly the information
that we need, albeit in a different format and to stderr. To make this
usable, rpmdeps has now received a new option, --alldeps, which sends
the information we need to stdout.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/classes/package.bbclass | 5 ++--
meta/lib/oe/package.py | 60 +++++++++++++++++++++++++++++++-------------
2 files changed, 44 insertions(+), 21 deletions(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index cc466bd1b2..65cf5fac5f 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1434,7 +1434,7 @@ if [ x"$D" = "x" ]; then
fi
}
-RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --rcfile ${STAGING_LIBDIR_NATIVE}/rpm/rpmrc --macros ${STAGING_LIBDIR_NATIVE}/rpm/macros --define '_rpmconfigdir ${STAGING_LIBDIR_NATIVE}/rpm/'"
+RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --alldeps"
# Collect perfile run-time dependency metadata
# Output:
@@ -1451,7 +1451,6 @@ python package_do_filedeps() {
pkgdest = d.getVar('PKGDEST')
packages = d.getVar('PACKAGES')
rpmdeps = d.getVar('RPMDEPS')
- magic = d.expand("${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc")
def chunks(files, n):
return [files[i:i+n] for i in range(0, len(files), n)]
@@ -1463,7 +1462,7 @@ python package_do_filedeps() {
if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'):
continue
for files in chunks(pkgfiles[pkg], 100):
- pkglist.append((pkg, files, rpmdeps, pkgdest, magic))
+ pkglist.append((pkg, files, rpmdeps, pkgdest))
processed = oe.utils.multiprocess_exec( pkglist, oe.package.filedeprunner)
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 52c5f16cf8..4797e7d65a 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -57,44 +57,68 @@ def file_translate(file):
def filedeprunner(arg):
import re, subprocess, shlex
- (pkg, pkgfiles, rpmdeps, pkgdest, magic) = arg
+ (pkg, pkgfiles, rpmdeps, pkgdest) = arg
provides = {}
requires = {}
- r = re.compile(r'[<>=]+ +[^ ]*')
+ file_re = re.compile(r'\s+\d+\s(.*)')
+ dep_re = re.compile(r'\s+(\S)\s+(.*)')
+ r = re.compile(r'[<>=]+\s+\S*')
def process_deps(pipe, pkg, pkgdest, provides, requires):
+ file = None
for line in pipe:
- f = line.decode("utf-8").split(" ", 1)[0].strip()
- line = line.decode("utf-8").split(" ", 1)[1].strip()
+ line = line.decode("utf-8")
- if line.startswith("Requires:"):
+ m = file_re.match(line)
+ if m:
+ file = m.group(1)
+ file = file.replace(pkgdest + "/" + pkg, "")
+ file = file_translate(file)
+ continue
+
+ m = dep_re.match(line)
+ if not m or not file:
+ continue
+
+ type, dep = m.groups()
+
+ if type == 'R':
i = requires
- elif line.startswith("Provides:"):
+ elif type == 'P':
i = provides
else:
- continue
+ continue
- file = f.replace(pkgdest + "/" + pkg, "")
- file = file_translate(file)
- value = line.split(":", 1)[1].strip()
- value = r.sub(r'(\g<0>)', value)
+ if dep.startswith("python("):
+ continue
- if value.startswith("rpmlib("):
+ # Ignore all perl(VMS::...) and perl(Mac::...) dependencies. These
+ # are typically used conditionally from the Perl code, but are
+ # generated as unconditional dependencies.
+ if dep.startswith('perl(VMS::') or dep.startswith('perl(Mac::'):
continue
- if value == "python":
+
+ # Ignore perl dependencies on .pl files.
+ if dep.startswith('perl(') and dep.endswith('.pl)'):
continue
+
+ # Remove perl versions and perl module versions since they typically
+ # do not make sense when used as package versions.
+ if dep.startswith('perl') and r.search(dep):
+ dep = dep.split()[0]
+
+ # Put parentheses around any version specifications.
+ dep = r.sub(r'(\g<0>)',dep)
+
if file not in i:
i[file] = []
- i[file].append(value)
+ i[file].append(dep)
return provides, requires
- env = os.environ.copy()
- env["MAGIC"] = magic
-
try:
- dep_popen = subprocess.Popen(shlex.split(rpmdeps) + pkgfiles, stdout=subprocess.PIPE, env=env)
+ dep_popen = subprocess.Popen(shlex.split(rpmdeps) + pkgfiles, stdout=subprocess.PIPE)
provides, requires = process_deps(dep_popen.stdout, pkg, pkgdest, provides, requires)
except OSError as e:
bb.error("rpmdeps: '%s' command failed, '%s'" % (shlex.split(rpmdeps) + pkgfiles, e))
--
2.12.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCHv2 00/11] More fixes for file dependency generation with RPM
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
` (10 preceding siblings ...)
2017-06-15 15:37 ` [PATCHv2 11/11] package.bbclass: Restore functionality to detect RPM dependencies Peter Kjellerstedt
@ 2017-06-15 15:41 ` Peter Kjellerstedt
11 siblings, 0 replies; 14+ messages in thread
From: Peter Kjellerstedt @ 2017-06-15 15:41 UTC (permalink / raw)
To: openembedded-core@lists.openembedded.org
Bah, forgot to add:
Changed in PATCHv2:
* Removal of git cvsserver and git svn from git-perltools are now
controlled by PACKAGECONFIGs.
//Peter
> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Peter Kjellerstedt
> Sent: den 15 juni 2017 17:38
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCHv2 00/11] More fixes for file dependency
> generation with RPM
>
> This is the second take on restoring the file dependency support for
> RPM that was lost in Pyro. These changes should fix most (all?)
> problems that were seen on the autobuilders after the first set of
> changes were introduced.
>
> The first patch is not strictly needed for this, but it fixes a build
> problem due to a renamed file in a patch file that I got when building
> core-image-sato. No idea why no one else has had problems with this...
>
> //Peter
>
> The following changes since commit
> 2bf2ab9fcd12b179c396d2d4b4603b774a37eef6:
>
> bitbake: bitbake-user-manual: Updated BBLAYERS_FETCH_DIR variable
> description (2017-06-15 11:15:59 +0100)
>
> are available in the git repository at:
>
> git://git.yoctoproject.org/poky-contrib pkj/rpm_regressions2
> http://git.yoctoproject.org/cgit.cgi/poky-
> contrib/log/?h=pkj/rpm_regressions2
>
> Peter Kjellerstedt (11):
> gtk+3: Update the patches to work without PATCHTOOL = "git"
> perl: Do not generate file dependencies for perl-ptest
> rpm: Add dependencies on bash, perl and python3-core
> linux-firmware: Avoid a dependency on python-core
> texi2html: Add a dependency on perl
> git: Add a dependency on perl for gitweb
> git: Do not install git cvsserver and git svn by default
> texinfo: Avoid a problem with a dependency on
> perl(Locale::gettext_xs)
> package_rpm.bbclass: Filter out unwanted file deps for nativesdk
> packages
> insane.bbclass: Ignore perl as dependency for nativesdk packages
> package.bbclass: Restore functionality to detect RPM dependencies
>
> meta/classes/insane.bbclass | 2 +-
> meta/classes/package.bbclass | 5 +-
> meta/classes/package_rpm.bbclass | 25 +-
> meta/lib/oe/package.py | 60 +++--
> meta/recipes-devtools/git/git.inc | 23 +-
> meta/recipes-devtools/perl/perl-ptest.inc | 4 +
> meta/recipes-devtools/rpm/rpm_git.bb | 5 +
> meta/recipes-extended/texi2html/texi2html_5.0.bb | 2 +
> meta/recipes-extended/texinfo/texinfo_6.3.bb | 6 +
> .../gtk+/gtk+3/0001-Hardcoded-libtool.patch | 12 +-
> ...Do-not-try-to-initialize-GL-without-libGL.patch | 8 +-
> .../0003-Add-disable-opengl-configure-option.patch | 268
> +++++++++++++++------
> ...4-configure.ac-Fix-wayland-protocols-path.patch | 8 +-
> .../linux-firmware/linux-firmware_git.bb | 3 +
> 14 files changed, 317 insertions(+), 114 deletions(-)
>
> --
> 2.12.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCHv2 03/11] rpm: Add dependencies on bash, perl and python3-core
2017-06-15 15:37 ` [PATCHv2 03/11] rpm: Add dependencies on bash, perl and python3-core Peter Kjellerstedt
@ 2017-06-23 10:03 ` Burton, Ross
0 siblings, 0 replies; 14+ messages in thread
From: Burton, Ross @ 2017-06-23 10:03 UTC (permalink / raw)
To: Peter Kjellerstedt; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 296 bytes --]
On 15 June 2017 at 16:37, Peter Kjellerstedt <peter.kjellerstedt@axis.com>
wrote:
> +RDEPENDS_${PN} = "bash perl python3-core"
>
That's quite a collection. Are they all needed for basic RPM to work?
(this results in core-image-sato pulling in bash when previously it didn't)
Ross
[-- Attachment #2: Type: text/html, Size: 777 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2017-06-23 10:04 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-15 15:37 [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 01/11] gtk+3: Update the patches to work without PATCHTOOL = "git" Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 02/11] perl: Do not generate file dependencies for perl-ptest Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 03/11] rpm: Add dependencies on bash, perl and python3-core Peter Kjellerstedt
2017-06-23 10:03 ` Burton, Ross
2017-06-15 15:37 ` [PATCHv2 04/11] linux-firmware: Avoid a dependency on python-core Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 05/11] texi2html: Add a dependency on perl Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 06/11] git: Add a dependency on perl for gitweb Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 07/11] git: Do not install git cvsserver and git svn by default Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 08/11] texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs) Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 09/11] package_rpm.bbclass: Filter out unwanted file deps for nativesdk packages Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 10/11] insane.bbclass: Ignore perl as dependency " Peter Kjellerstedt
2017-06-15 15:37 ` [PATCHv2 11/11] package.bbclass: Restore functionality to detect RPM dependencies Peter Kjellerstedt
2017-06-15 15:41 ` [PATCHv2 00/11] More fixes for file dependency generation with RPM Peter Kjellerstedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox