Skip to contentSkip to conversation

ghostscript: resolve the gconfig.h conflict

PATCH In review [email protected] 2 participants 4 messages Jun 18, 2013 – Jun 24, 2013

lore
Share & tools
lore
#0 lore raw

cover ghostscript: resolve the gconfig.h conflict

From: Wenzong Fan <[email protected]>

Both base/lib.mak and psi/int.mak will create file gconfig.h:

    lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
    int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h

If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be overridden by $(PSGEN)gconfig.h in a parallel build, and this maybe cause build errors.

Upstream has fixed this issue, just portback its fixes from:
http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz

The following changes since commit 1dd643b142c69ac9035e29bff11d02201638dc65:

licences: Add SGI license (2013-06-17 16:45:37 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib wenzong/ghostscript
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=wenzong/ghostscript

Wenzong Fan (1):
ghostscript: resolve the gconfig.h conflict

 .../resolve-the-gconfig.h-conflict.patch           |   84 ++++++++++++++++++++
 .../ghostscript/ghostscript_9.05.bb                |    1 +
 2 files changed, 85 insertions(+)
 create mode 100644 meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 ghostscript: resolve the gconfig.h conflict

From: Wenzong Fan <[email protected]>

Both base/lib.mak and psi/int.mak will create file gconfig.h:

    lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
    int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h

If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be overridden by $(PSGEN)gconfig.h in a parallel build, and this maybe cause build errors.

Upstream has fixed this issue, just portback its fixes from:
http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz

---
 .../resolve-the-gconfig.h-conflict.patch           |   84 ++++++++++++++++++++
 .../ghostscript/ghostscript_9.05.bb                |    1 +
 2 files changed, 85 insertions(+)
 create mode 100644 meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch
meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +84 -0
new file mode 100644
index 0000000..9e030e3
@@ -0,0 +1,84 @@
+Upstream-Status: Backport
+
+Resolve the gconfig.h conflict
+
+Both base/lib.mak and psi/int.mak will create file gconfig.h:
+    lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
+    int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h
+
+If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be
+overridden by $(PSGEN)gconfig.h in a parallel build, and this
+maybe cause build errors.
+
+Upstream has fixed this issue, just portback its fixes from:
+    http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz
+
+Signed-off-by: Wenzong Fan <[email protected]>
+
+---
+ base/gs.mak  |   13 +++++++++----
+ base/lib.mak |    1 -
+ psi/int.mak  |    1 -
+ 3 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/base/gs.mak b/base/gs.mak
+index b59e948..e934657 100644
+--- a/base/gs.mak
++++ b/base/gs.mak
+@@ -261,7 +261,8 @@ MKROMFS_XE=$(AUX)mkromfs$(XEAUX)
+ 
+ # Define the names of the generated header files.
+ # gconfig*.h and gconfx*.h are generated dynamically.
+-gconfig_h=$(GLGENDIR)$(D)gconfxx.h
++gconfig_h=$(GLGENDIR)$(D)gconfig.h
++gconfxx_h=$(GLGENDIR)$(D)gconfxx.h
+ gconfigf_h=$(GLGENDIR)$(D)gconfxc.h
+ gconfigd_h=$(GLGENDIR)$(D)gconfigd.h
+ 
+@@ -434,12 +435,16 @@ GCONFIG_EXTRAS=
+ ld_tr=$(GLGENDIR)$(D)ld.tr
+ $(ld_tr) : \
+   $(GS_MAK) $(TOP_MAKEFILES) $(GLSRCDIR)$(D)version.mak $(GENCONF_XE) $(ECHOGS_XE) $(devs_tr) $(DEVS_ALL) $(GLGENDIR)$(D)libcore.dev
+-	$(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfig_h) $(CONFILES) $(CONFLDTR) $(ld_tr)
+-	$(EXP)$(ECHOGS_XE) -a $(gconfig_h) $(GCONFIG_EXTRAS)
++	$(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfxx_h) $(CONFILES) $(CONFLDTR) $(ld_tr)
++	$(EXP)$(ECHOGS_XE) -a $(gconfxx_h) $(GCONFIG_EXTRAS)
+ 
+-$(gconfig_h) : $(ld_tr)
++$(gconfxx_h) : $(ld_tr)
+ 	$(NO_OP)
+ 	
++$(gconfig_h) : $(gconfxx_h)
++	$(RM_) $(gconfig_h)
++	$(CP_) $(gconfxx_h) $(gconfig_h)
++
+ # The line above is an empty command; don't delete.
+ 
+ # save our set of makefile variables that are defined in every build (paths, etc.)
+diff --git a/base/lib.mak b/base/lib.mak
+index 35328cb..df02e37 100644
+--- a/base/lib.mak
++++ b/base/lib.mak
+@@ -593,7 +593,6 @@ $(GLOBJ)gconfig.$(OBJ) : $(gconfig_h) $(GLSRC)gconf.c $(AK) $(gx_h)\
+  $(gscdefs_h) $(gconf_h)\
+  $(gxdevice_h) $(gxiclass_h) $(gxiodev_h) $(gxiparam_h) $(TOP_MAKEFILES)\
+  $(MAKEDDIRS)
+-	$(CP_) $(gconfig_h) $(GLGEN)gconfig.h || true
+ 	$(CP_) $(GLSRC)gconf.c $(GLGEN)gconfig.c || true
+ 	$(GLCC) $(GLO_)gconfig.$(OBJ) $(C_) $(GLGEN)gconfig.c
+ 
+diff --git a/psi/int.mak b/psi/int.mak
+index 1099c29..fab98e6 100644
+--- a/psi/int.mak
++++ b/psi/int.mak
+@@ -272,7 +272,6 @@ $(PSOBJ)iconfig.$(OBJ) : $(gconfig_h) $(PSSRC)iconf.c $(stdio__h)\
+  $(gconf_h) $(gconfigd_h) $(gsmemory_h) $(gstypes_h)\
+  $(iminst_h) $(iref_h) $(ivmspace_h) $(opdef_h) $(iplugin_h)
+ 	$(RM_) $(PSGEN)iconfig.c
+-	$(CP_) $(gconfig_h) $(PSGEN)gconfig.h || true
+ 	$(CP_) $(PSSRC)iconf.c $(PSGEN)iconfig.c || true
+ 	$(PSCC) $(PSO_)iconfig.$(OBJ) $(C_) $(PSGEN)iconfig.c
+ 
+-- 
+1.7.9.5
+
meta/recipes-extended/ghostscript/ghostscript_9.05.bb +1 -0
index 9ec5712..c0195c8 100644
@@ -28,6 +28,7 @@ SRC_URI = "${SRC_URI_BASE} \
            file://objarch.h \
            file://ghostscript-9.02-parallel-make.patch \
            file://ghostscript-9.05-NOT-check-endian.patch \
+           file://resolve-the-gconfig.h-conflict.patch \
            "
 
 SRC_URI_class-native = "${SRC_URI_BASE} \
Signature · 1 line
1.7.9.5
#2 lore raw
Quoted 6 lines · On 06/17/2013 07:02 PM, [email protected] wrote:

From: Wenzong Fan <[email protected]>

Both base/lib.mak and psi/int.mak will create file gconfig.h:

     lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
     int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h
Quoted 7 lines

If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be overridden by $(PSGEN)gconfig.h in a parallel build, and this maybe cause build errors.

Upstream has fixed this issue, just portback its fixes from:
http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz

If ghostscript upstream has been updated, then why not just upgrade the package instead of backporting a patch?

Sau!

Quoted 110 lines
---
  .../resolve-the-gconfig.h-conflict.patch           |   84 ++++++++++++++++++++
  .../ghostscript/ghostscript_9.05.bb                |    1 +
  2 files changed, 85 insertions(+)

create mode 100644 meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch

meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +84 -0
new file mode 100644
index 0000000..9e030e3
@@ -0,0 +1,84 @@
+Upstream-Status: Backport
+
+Resolve the gconfig.h conflict
+
+Both base/lib.mak and psi/int.mak will create file gconfig.h:
+    lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
+    int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h
+
+If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be
+overridden by $(PSGEN)gconfig.h in a parallel build, and this
+maybe cause build errors.
+
+Upstream has fixed this issue, just portback its fixes from:
+    http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz
+
+Signed-off-by: Wenzong Fan <[email protected]>
+
+---
+ base/gs.mak  |   13 +++++++++----
+ base/lib.mak |    1 -
+ psi/int.mak  |    1 -
+ 3 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/base/gs.mak b/base/gs.mak
+index b59e948..e934657 100644
+--- a/base/gs.mak
++++ b/base/gs.mak
+@@ -261,7 +261,8 @@ MKROMFS_XE=$(AUX)mkromfs$(XEAUX)
+
+ # Define the names of the generated header files.
+ # gconfig*.h and gconfx*.h are generated dynamically.
+-gconfig_h=$(GLGENDIR)$(D)gconfxx.h
++gconfig_h=$(GLGENDIR)$(D)gconfig.h
++gconfxx_h=$(GLGENDIR)$(D)gconfxx.h
+ gconfigf_h=$(GLGENDIR)$(D)gconfxc.h
+ gconfigd_h=$(GLGENDIR)$(D)gconfigd.h
+
+@@ -434,12 +435,16 @@ GCONFIG_EXTRAS=
+ ld_tr=$(GLGENDIR)$(D)ld.tr
+ $(ld_tr) : \
+   $(GS_MAK) $(TOP_MAKEFILES) $(GLSRCDIR)$(D)version.mak $(GENCONF_XE) $(ECHOGS_XE) $(devs_tr) $(DEVS_ALL) $(GLGENDIR)$(D)libcore.dev
+-	$(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfig_h) $(CONFILES) $(CONFLDTR) $(ld_tr)
+-	$(EXP)$(ECHOGS_XE) -a $(gconfig_h) $(GCONFIG_EXTRAS)
++	$(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfxx_h) $(CONFILES) $(CONFLDTR) $(ld_tr)
++	$(EXP)$(ECHOGS_XE) -a $(gconfxx_h) $(GCONFIG_EXTRAS)
+
+-$(gconfig_h) : $(ld_tr)
++$(gconfxx_h) : $(ld_tr)
+ 	$(NO_OP)
+ 	
++$(gconfig_h) : $(gconfxx_h)
++	$(RM_) $(gconfig_h)
++	$(CP_) $(gconfxx_h) $(gconfig_h)
++
+ # The line above is an empty command; don't delete.
+
+ # save our set of makefile variables that are defined in every build (paths, etc.)
+diff --git a/base/lib.mak b/base/lib.mak
+index 35328cb..df02e37 100644
+--- a/base/lib.mak
++++ b/base/lib.mak
+@@ -593,7 +593,6 @@ $(GLOBJ)gconfig.$(OBJ) : $(gconfig_h) $(GLSRC)gconf.c $(AK) $(gx_h)\
+  $(gscdefs_h) $(gconf_h)\
+  $(gxdevice_h) $(gxiclass_h) $(gxiodev_h) $(gxiparam_h) $(TOP_MAKEFILES)\
+  $(MAKEDDIRS)
+-	$(CP_) $(gconfig_h) $(GLGEN)gconfig.h || true
+ 	$(CP_) $(GLSRC)gconf.c $(GLGEN)gconfig.c || true
+ 	$(GLCC) $(GLO_)gconfig.$(OBJ) $(C_) $(GLGEN)gconfig.c
+
+diff --git a/psi/int.mak b/psi/int.mak
+index 1099c29..fab98e6 100644
+--- a/psi/int.mak
++++ b/psi/int.mak
+@@ -272,7 +272,6 @@ $(PSOBJ)iconfig.$(OBJ) : $(gconfig_h) $(PSSRC)iconf.c $(stdio__h)\
+  $(gconf_h) $(gconfigd_h) $(gsmemory_h) $(gstypes_h)\
+  $(iminst_h) $(iref_h) $(ivmspace_h) $(opdef_h) $(iplugin_h)
+ 	$(RM_) $(PSGEN)iconfig.c
+-	$(CP_) $(gconfig_h) $(PSGEN)gconfig.h || true
+ 	$(CP_) $(PSSRC)iconf.c $(PSGEN)iconfig.c || true
+ 	$(PSCC) $(PSO_)iconfig.$(OBJ) $(C_) $(PSGEN)iconfig.c
+
+--
+1.7.9.5
+
meta/recipes-extended/ghostscript/ghostscript_9.05.bb +1 -0
index 9ec5712..c0195c8 100644
@@ -28,6 +28,7 @@ SRC_URI = "${SRC_URI_BASE} \
             file://objarch.h \
             file://ghostscript-9.02-parallel-make.patch \
             file://ghostscript-9.05-NOT-check-endian.patch \
+           file://resolve-the-gconfig.h-conflict.patch \
             "
 
  SRC_URI_class-native = "${SRC_URI_BASE} \
#3 lore raw
Quoted 11 lines · Saul Wold
Quoted 10 lines · On 06/17/2013 07:02 PM, [email protected] wrote:

From: Wenzong Fan <[email protected]>

Both base/lib.mak and psi/int.mak will create file gconfig.h:

     lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
     int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h

If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be overridden by $(PSGEN)gconfig.h in a parallel build, and this maybe cause build errors.

Quoted 5 lines
Quoted 3 lines

Upstream has fixed this issue, just portback its fixes from:
http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz

If ghostscript upstream has been updated, then why not just upgrade the package instead of backporting a patch?

Ok, I'll upgrade this package.

Thanks
Wenzong

Quoted 131 lines

Sau!

Quoted 127 lines
---
  .../resolve-the-gconfig.h-conflict.patch           |   84
++++++++++++++++++++
  .../ghostscript/ghostscript_9.05.bb                |    1 +
  2 files changed, 85 insertions(+)

create mode 100644
meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch

diff --git a/meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch b/meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch

new file mode 100644
index 0000000..9e030e3
--- /dev/null
+++
b/meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch

meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +41 -0
@@ -0,0 +1,84 @@
+Upstream-Status: Backport
+
+Resolve the gconfig.h conflict
+
+Both base/lib.mak and psi/int.mak will create file gconfig.h:
+    lib.mak: $(CP_) $(gconfig_h) $(GLGEN)gconfig.h
+    int.mak: $(CP_) $(gconfig_h) $(PSGEN)gconfig.h
+
+If $(GLGEN) is same with $(PSGEN), the $(GLGEN)gconfig.h will be
+overridden by $(PSGEN)gconfig.h in a parallel build, and this
+maybe cause build errors.
+
+Upstream has fixed this issue, just portback its fixes from:
+    http://downloads.ghostscript.com/public/ghostscript-9.06.tar.gz
+
+Signed-off-by: Wenzong Fan <[email protected]>
+
+---
+ base/gs.mak  |   13 +++++++++----
+ base/lib.mak |    1 -
+ psi/int.mak  |    1 -
+ 3 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/base/gs.mak b/base/gs.mak
+index b59e948..e934657 100644
+--- a/base/gs.mak
++++ b/base/gs.mak
+@@ -261,7 +261,8 @@ MKROMFS_XE=$(AUX)mkromfs$(XEAUX)
+
+ # Define the names of the generated header files.
+ # gconfig*.h and gconfx*.h are generated dynamically.
+-gconfig_h=$(GLGENDIR)$(D)gconfxx.h
++gconfig_h=$(GLGENDIR)$(D)gconfig.h
++gconfxx_h=$(GLGENDIR)$(D)gconfxx.h
+ gconfigf_h=$(GLGENDIR)$(D)gconfxc.h
+ gconfigd_h=$(GLGENDIR)$(D)gconfigd.h
+
+@@ -434,12 +435,16 @@ GCONFIG_EXTRAS=
+ ld_tr=$(GLGENDIR)$(D)ld.tr
+ $(ld_tr) : \
+   $(GS_MAK) $(TOP_MAKEFILES) $(GLSRCDIR)$(D)version.mak

$(GENCONF_XE) $(ECHOGS_XE) $(devs_tr) $(DEVS_ALL)
$(GLGENDIR)$(D)libcore.dev
+- $(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfig_h) $(CONFILES)
$(CONFLDTR) $(ld_tr)

+-    $(EXP)$(ECHOGS_XE) -a $(gconfig_h) $(GCONFIG_EXTRAS)
++    $(EXP)$(GENCONF_XE) $(devs_tr) -h $(gconfxx_h) $(CONFILES)

$(CONFLDTR) $(ld_tr)
++ $(EXP)$(ECHOGS_XE) -a $(gconfxx_h) $(GCONFIG_EXTRAS)

meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +12 -0
+
+-$(gconfig_h) : $(ld_tr)
++$(gconfxx_h) : $(ld_tr)
+     $(NO_OP)
+
++$(gconfig_h) : $(gconfxx_h)
++    $(RM_) $(gconfig_h)
++    $(CP_) $(gconfxx_h) $(gconfig_h)
++
+ # The line above is an empty command; don't delete.
+
+ # save our set of makefile variables that are defined in every build

(paths, etc.)

meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +5 -0
+diff --git a/base/lib.mak b/base/lib.mak
+index 35328cb..df02e37 100644
+--- a/base/lib.mak
++++ b/base/lib.mak
+@@ -593,7 +593,6 @@ $(GLOBJ)gconfig.$(OBJ) : $(gconfig_h)

$(GLSRC)gconf.c $(AK) $(gx_h)\

(quoted diff) +2 -0
+  $(gscdefs_h) $(gconf_h)\
+  $(gxdevice_h) $(gxiclass_h) $(gxiodev_h) $(gxiparam_h)

$(TOP_MAKEFILES)\

meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +10 -0
+  $(MAKEDDIRS)
+-    $(CP_) $(gconfig_h) $(GLGEN)gconfig.h || true
+     $(CP_) $(GLSRC)gconf.c $(GLGEN)gconfig.c || true
+     $(GLCC) $(GLO_)gconfig.$(OBJ) $(C_) $(GLGEN)gconfig.c
+
+diff --git a/psi/int.mak b/psi/int.mak
+index 1099c29..fab98e6 100644
+--- a/psi/int.mak
++++ b/psi/int.mak
+@@ -272,7 +272,6 @@ $(PSOBJ)iconfig.$(OBJ) : $(gconfig_h)

$(PSSRC)iconf.c $(stdio__h)\

meta/recipes-extended/ghostscript/ghostscript/resolve-the-gconfig.h-conflict.patch new file +10 -0
+  $(gconf_h) $(gconfigd_h) $(gsmemory_h) $(gstypes_h)\
+  $(iminst_h) $(iref_h) $(ivmspace_h) $(opdef_h) $(iplugin_h)
+     $(RM_) $(PSGEN)iconfig.c
+-    $(CP_) $(gconfig_h) $(PSGEN)gconfig.h || true
+     $(CP_) $(PSSRC)iconf.c $(PSGEN)iconfig.c || true
+     $(PSCC) $(PSO_)iconfig.$(OBJ) $(C_) $(PSGEN)iconfig.c
+
+--
+1.7.9.5
+
meta/recipes-extended/ghostscript/ghostscript_9.05.bb +1 -0
index 9ec5712..c0195c8 100644
@@ -28,6 +28,7 @@ SRC_URI = "${SRC_URI_BASE} \
             file://objarch.h \
             file://ghostscript-9.02-parallel-make.patch \
             file://ghostscript-9.05-NOT-check-endian.patch \
+           file://resolve-the-gconfig.h-conflict.patch \
             "
 
  SRC_URI_class-native = "${SRC_URI_BASE} \