Patchwork ghostscript: build cups filters

login
register
mail settings
Submitter James Limbouris
Date Jan. 10, 2012, 8:37 a.m.
Message ID <1326184668-14332-1-git-send-email-james@digitalmatter.com.au>
Download mbox | patch
Permalink /patch/18905/
State Accepted
Commit 8c457ea44dc75a01826b070c8b41d1ca5e712171
Headers show

Comments

James Limbouris - Jan. 10, 2012, 8:37 a.m.
Cups filters are no longer built by default. Since ghostscript already depends
on cups, build the filters and package them as ghostscript-cups.

Ghostscript uses the cups-config script from the oe sysroots to determine some
of the target install paths, as well as to determine the linker path. The config
script gives out paths pointing to the sysroot, so some of the paths needed to
be adjusted in the Makefile.

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
---
 .../ghostscript/ghostscript_9.04.bb                |   29 ++++++++++++++++---
 1 files changed, 24 insertions(+), 5 deletions(-)
James Limbouris - Jan. 16, 2012, 1:12 a.m.
> -----Original Message-----
> From: James Limbouris [mailto:james@digitalmatter.com.au]
> Sent: Tuesday, 10 January 2012 4:38 PM
> To: Openembedded-core@lists.openembedded.org
> Cc: James Limbouris
> Subject: [PATCH] ghostscript: build cups filters
> 
> Cups filters are no longer built by default. Since ghostscript already depends
> on cups, build the filters and package them as ghostscript-cups.
> 
> Ghostscript uses the cups-config script from the oe sysroots to determine some
> of the target install paths, as well as to determine the linker path. The config
> script gives out paths pointing to the sysroot, so some of the paths needed to
> be adjusted in the Makefile.
> 
> Signed-off-by: James Limbouris <james@digitalmatter.com.au>
> ---
>  .../ghostscript/ghostscript_9.04.bb                |   29 ++++++++++++++++---
>  1 files changed, 24 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> index 7178524..80d363f 100644
> --- a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> +++ b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> @@ -15,7 +15,7 @@ SECTION = "console/utils"
>  LICENSE = "GPLv3"
>  LIC_FILES_CHKSUM =
> "file://LICENSE;md5=d151214b3131251dfc9d858593acbd24"
> 
> -PR = "r2"
> +PR = "r3"
> 
>  DEPENDS = "ghostscript-native tiff jpeg fontconfig cups"
>  DEPENDS_virtclass-native = ""
> @@ -34,7 +34,8 @@ SRC_URI_virtclass-native = "${SRC_URI_BASE}"
>  SRC_URI[md5sum] = "9c2fb4af1eb609d09dba5bb0fa76173a"
>  SRC_URI[sha256sum] =
> "f1e333738c41c3bf2b47ceb9806abb8045bcdc7353002c32736150425a7c1ef4"
> 
> -EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --
> without-jasper --with-fontpath=${datadir}/fonts"
> +EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --
> without-jasper \
> +                --with-fontpath=${datadir}/fonts --with-install-cups"
> 
>  # This has been fixed upstream but for now we need to subvert the check for
> time.h
>  # http://bugs.ghostscript.com/show_bug.cgi?id=692443
> @@ -60,6 +61,14 @@ do_configure_append () {
>  			cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i
> obj/aux/$i
>  		done
>  	fi
> +
> +	# replace cups paths from sysroots/.../usr/bin/crossscripts/cups-config
> with target paths
> +	# CUPSDATA is compiled into a utility, and CUPSSERVERBIN is used as
> an install path
> +	CUPSSERVERBIN=${exec_prefix}/lib/cups          # /usr/lib NOT libdir
> +	CUPSDATA=${datadir}/cups
> +
> +	sed -e "s#^CUPSSERVERBIN=.*#CUPSSERVERBIN=${CUPSSERVERBIN}#"
> -i Makefile
> +	sed -e "s#^CUPSDATA=.*#CUPSDATA=${CUPSDATA}#" -i Makefile
>  }
> 
>  do_install_append () {
> @@ -67,9 +76,7 @@ do_install_append () {
>      cp -r Resource ${D}${datadir}/ghostscript/${PV}/
>      cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/
> 
> -    if [ -f ${D}${sysconfdir}/cups ]; then
> -        chown -R root:lp ${D}${sysconfdir}/cups
> -    fi
> +    chown -R root:lp ${D}${sysconfdir}/cups
>  }
> 
>  python do_patch_virtclass-native () {
> @@ -95,3 +102,15 @@ BBCLASSEXTEND = "native"
>  # Ghostscript install tool 'instcopy' tries to remove already created
>  # directories during install and parallel make causes problems.
>  PARALLEL_MAKEINST=""
> +
> +PACKAGES =+ "${PN}-cups"
> +
> +FILES_${PN}-dbg += "${exec_prefix}/lib/cups/filter/.debug"
> +
> +FILES_${PN}-cups += "${exec_prefix}/lib/cups/filter/gstoraster \
> +                     ${exec_prefix}/lib/cups/filter/pstopxl \
> +                     ${datadir}/cups \
> +                     ${sysconfdir}/cups \
> +                     "
> +
> +RDEPENDS_${PN}-cups = ${PN}
> --
> 1.7.3.4

Ping?
Saul Wold - Jan. 16, 2012, 4 a.m.
On 01/15/2012 05:12 PM, James Limbouris wrote:
>> -----Original Message-----
>> From: James Limbouris [mailto:james@digitalmatter.com.au]
>> Sent: Tuesday, 10 January 2012 4:38 PM
>> To: Openembedded-core@lists.openembedded.org
>> Cc: James Limbouris
>> Subject: [PATCH] ghostscript: build cups filters
>>
>> Cups filters are no longer built by default. Since ghostscript already depends
>> on cups, build the filters and package them as ghostscript-cups.
>>
>> Ghostscript uses the cups-config script from the oe sysroots to determine some
>> of the target install paths, as well as to determine the linker path. The config
>> script gives out paths pointing to the sysroot, so some of the paths needed to
>> be adjusted in the Makefile.
>>
>> Signed-off-by: James Limbouris<james@digitalmatter.com.au>
>> ---
>>   .../ghostscript/ghostscript_9.04.bb                |   29 ++++++++++++++++---
>>   1 files changed, 24 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
>> b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
>> index 7178524..80d363f 100644
>> --- a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
>> +++ b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
>> @@ -15,7 +15,7 @@ SECTION = "console/utils"
>>   LICENSE = "GPLv3"
>>   LIC_FILES_CHKSUM =
>> "file://LICENSE;md5=d151214b3131251dfc9d858593acbd24"
>>
>> -PR = "r2"
>> +PR = "r3"
>>
>>   DEPENDS = "ghostscript-native tiff jpeg fontconfig cups"
>>   DEPENDS_virtclass-native = ""
>> @@ -34,7 +34,8 @@ SRC_URI_virtclass-native = "${SRC_URI_BASE}"
>>   SRC_URI[md5sum] = "9c2fb4af1eb609d09dba5bb0fa76173a"
>>   SRC_URI[sha256sum] =
>> "f1e333738c41c3bf2b47ceb9806abb8045bcdc7353002c32736150425a7c1ef4"
>>
>> -EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --
>> without-jasper --with-fontpath=${datadir}/fonts"
>> +EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --
>> without-jasper \
>> +                --with-fontpath=${datadir}/fonts --with-install-cups"
>>
>>   # This has been fixed upstream but for now we need to subvert the check for
>> time.h
>>   # http://bugs.ghostscript.com/show_bug.cgi?id=692443
>> @@ -60,6 +61,14 @@ do_configure_append () {
>>   			cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i
>> obj/aux/$i
>>   		done
>>   	fi
>> +
>> +	# replace cups paths from sysroots/.../usr/bin/crossscripts/cups-config
>> with target paths
>> +	# CUPSDATA is compiled into a utility, and CUPSSERVERBIN is used as
>> an install path
>> +	CUPSSERVERBIN=${exec_prefix}/lib/cups          # /usr/lib NOT libdir
>> +	CUPSDATA=${datadir}/cups
>> +
>> +	sed -e "s#^CUPSSERVERBIN=.*#CUPSSERVERBIN=${CUPSSERVERBIN}#"
>> -i Makefile
>> +	sed -e "s#^CUPSDATA=.*#CUPSDATA=${CUPSDATA}#" -i Makefile
>>   }
>>
>>   do_install_append () {
>> @@ -67,9 +76,7 @@ do_install_append () {
>>       cp -r Resource ${D}${datadir}/ghostscript/${PV}/
>>       cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/
>>
>> -    if [ -f ${D}${sysconfdir}/cups ]; then
>> -        chown -R root:lp ${D}${sysconfdir}/cups
>> -    fi
>> +    chown -R root:lp ${D}${sysconfdir}/cups
>>   }
>>
>>   python do_patch_virtclass-native () {
>> @@ -95,3 +102,15 @@ BBCLASSEXTEND = "native"
>>   # Ghostscript install tool 'instcopy' tries to remove already created
>>   # directories during install and parallel make causes problems.
>>   PARALLEL_MAKEINST=""
>> +
>> +PACKAGES =+ "${PN}-cups"
>> +
>> +FILES_${PN}-dbg += "${exec_prefix}/lib/cups/filter/.debug"
>> +
>> +FILES_${PN}-cups += "${exec_prefix}/lib/cups/filter/gstoraster \
>> +                     ${exec_prefix}/lib/cups/filter/pstopxl \
>> +                     ${datadir}/cups \
>> +                     ${sysconfdir}/cups \
>> +                     "
>> +
>> +RDEPENDS_${PN}-cups = ${PN}
>> --
>> 1.7.3.4
>
> Ping?
>
I have it in my pending queue, which other issues so it delayed this 
getting out.

Working on it for tomorrow.

Sau!

>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Saul Wold - Jan. 17, 2012, 7:40 p.m.
On 01/10/2012 12:37 AM, James Limbouris wrote:
> Cups filters are no longer built by default. Since ghostscript already depends
> on cups, build the filters and package them as ghostscript-cups.
>
> Ghostscript uses the cups-config script from the oe sysroots to determine some
> of the target install paths, as well as to determine the linker path. The config
> script gives out paths pointing to the sysroot, so some of the paths needed to
> be adjusted in the Makefile.
>
> Signed-off-by: James Limbouris<james@digitalmatter.com.au>
> ---
>   .../ghostscript/ghostscript_9.04.bb                |   29 ++++++++++++++++---
>   1 files changed, 24 insertions(+), 5 deletions(-)
>
> diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> index 7178524..80d363f 100644
> --- a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> +++ b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
> @@ -15,7 +15,7 @@ SECTION = "console/utils"
>   LICENSE = "GPLv3"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=d151214b3131251dfc9d858593acbd24"
>
> -PR = "r2"
> +PR = "r3"
>
>   DEPENDS = "ghostscript-native tiff jpeg fontconfig cups"
>   DEPENDS_virtclass-native = ""
> @@ -34,7 +34,8 @@ SRC_URI_virtclass-native = "${SRC_URI_BASE}"
>   SRC_URI[md5sum] = "9c2fb4af1eb609d09dba5bb0fa76173a"
>   SRC_URI[sha256sum] = "f1e333738c41c3bf2b47ceb9806abb8045bcdc7353002c32736150425a7c1ef4"
>
> -EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper --with-fontpath=${datadir}/fonts"
> +EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper \
> +                --with-fontpath=${datadir}/fonts --with-install-cups"
>
>   # This has been fixed upstream but for now we need to subvert the check for time.h
>   # http://bugs.ghostscript.com/show_bug.cgi?id=692443
> @@ -60,6 +61,14 @@ do_configure_append () {
>   			cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
>   		done
>   	fi
> +
> +	# replace cups paths from sysroots/.../usr/bin/crossscripts/cups-config with target paths
> +	# CUPSDATA is compiled into a utility, and CUPSSERVERBIN is used as an install path
> +	CUPSSERVERBIN=${exec_prefix}/lib/cups          # /usr/lib NOT libdir
> +	CUPSDATA=${datadir}/cups
> +
> +	sed -e "s#^CUPSSERVERBIN=.*#CUPSSERVERBIN=${CUPSSERVERBIN}#" -i Makefile
> +	sed -e "s#^CUPSDATA=.*#CUPSDATA=${CUPSDATA}#" -i Makefile
>   }
>
>   do_install_append () {
> @@ -67,9 +76,7 @@ do_install_append () {
>       cp -r Resource ${D}${datadir}/ghostscript/${PV}/
>       cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/
>
> -    if [ -f ${D}${sysconfdir}/cups ]; then
> -        chown -R root:lp ${D}${sysconfdir}/cups
> -    fi
> +    chown -R root:lp ${D}${sysconfdir}/cups
>   }
>
>   python do_patch_virtclass-native () {
> @@ -95,3 +102,15 @@ BBCLASSEXTEND = "native"
>   # Ghostscript install tool 'instcopy' tries to remove already created
>   # directories during install and parallel make causes problems.
>   PARALLEL_MAKEINST=""
> +
> +PACKAGES =+ "${PN}-cups"
> +
> +FILES_${PN}-dbg += "${exec_prefix}/lib/cups/filter/.debug"
> +
> +FILES_${PN}-cups += "${exec_prefix}/lib/cups/filter/gstoraster \
> +                     ${exec_prefix}/lib/cups/filter/pstopxl \
> +                     ${datadir}/cups \
> +                     ${sysconfdir}/cups \
> +                     "
> +
> +RDEPENDS_${PN}-cups = ${PN}

Merged into OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
index 7178524..80d363f 100644
--- a/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
+++ b/meta/recipes-extended/ghostscript/ghostscript_9.04.bb
@@ -15,7 +15,7 @@  SECTION = "console/utils"
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d151214b3131251dfc9d858593acbd24"
 
-PR = "r2"
+PR = "r3"
 
 DEPENDS = "ghostscript-native tiff jpeg fontconfig cups"
 DEPENDS_virtclass-native = ""
@@ -34,7 +34,8 @@  SRC_URI_virtclass-native = "${SRC_URI_BASE}"
 SRC_URI[md5sum] = "9c2fb4af1eb609d09dba5bb0fa76173a"
 SRC_URI[sha256sum] = "f1e333738c41c3bf2b47ceb9806abb8045bcdc7353002c32736150425a7c1ef4"
 
-EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper --with-fontpath=${datadir}/fonts"
+EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec --without-jasper \
+                --with-fontpath=${datadir}/fonts --with-install-cups"
 
 # This has been fixed upstream but for now we need to subvert the check for time.h
 # http://bugs.ghostscript.com/show_bug.cgi?id=692443
@@ -60,6 +61,14 @@  do_configure_append () {
 			cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i
 		done
 	fi
+
+	# replace cups paths from sysroots/.../usr/bin/crossscripts/cups-config with target paths
+	# CUPSDATA is compiled into a utility, and CUPSSERVERBIN is used as an install path
+	CUPSSERVERBIN=${exec_prefix}/lib/cups          # /usr/lib NOT libdir
+	CUPSDATA=${datadir}/cups
+
+	sed -e "s#^CUPSSERVERBIN=.*#CUPSSERVERBIN=${CUPSSERVERBIN}#" -i Makefile
+	sed -e "s#^CUPSDATA=.*#CUPSDATA=${CUPSDATA}#" -i Makefile
 }
 
 do_install_append () {
@@ -67,9 +76,7 @@  do_install_append () {
     cp -r Resource ${D}${datadir}/ghostscript/${PV}/
     cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/
 
-    if [ -f ${D}${sysconfdir}/cups ]; then
-        chown -R root:lp ${D}${sysconfdir}/cups
-    fi
+    chown -R root:lp ${D}${sysconfdir}/cups
 }
 
 python do_patch_virtclass-native () {
@@ -95,3 +102,15 @@  BBCLASSEXTEND = "native"
 # Ghostscript install tool 'instcopy' tries to remove already created
 # directories during install and parallel make causes problems.
 PARALLEL_MAKEINST=""
+
+PACKAGES =+ "${PN}-cups"
+
+FILES_${PN}-dbg += "${exec_prefix}/lib/cups/filter/.debug"
+
+FILES_${PN}-cups += "${exec_prefix}/lib/cups/filter/gstoraster \
+                     ${exec_prefix}/lib/cups/filter/pstopxl \
+                     ${datadir}/cups \
+                     ${sysconfdir}/cups \
+                     "
+
+RDEPENDS_${PN}-cups = ${PN}