package/ustr: bump and cleanup (branch yem/ustr)
v2 cover package/ustr: bump and cleanup (branch yem/ustr)
Hello All!
This series updates and cleans up ustr, and fixes numerous build failures in libsemanage (which uses ustr).
Changes v1 -> v2:
- better document the change in apply-patch (Yann)
- build everything at build time, not install time (Yann)
Regards,
Yann E. MORIN.
The following changes since commit 50b02a639558b5319e88d2c3ce66e3950352d694:
pixman: disable vmx for powerpc CS toolchains (2015-12-08 21:54:42 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/ustr
for you to fetch changes up to 6bbfb3b8cb1249d1243175c8d0c46e9206621712:
ustr: use Debian patches to compile w/ GCC 5.x (2015-12-08 23:02:51 +0100)
----------------------------------------------------------------
Ryan Barnett (2):
apply-patches: only use first field of line for series file
ustr: use Debian patches to compile w/ GCC 5.x
.../ustr/0001-cross-compile-modifications.patch | 144 --------------------- package/ustr/ustr.hash | 2 + package/ustr/ustr.mk | 56 ++------ support/scripts/apply-patches.sh | 8 +- 4 files changed, 22 insertions(+), 188 deletions(-) delete mode 100644 package/ustr/0001-cross-compile-modifications.patch
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. | '------------------------------^-------^------------------^--------------------'
PATCH v2 1/2 apply-patches: only use first field of line for series file
From: Ryan Barnett <[email protected]>
A series file for quilt has a valid syntax of:
fixes/autoconf.diff -p1
fixes/doc-html-local-css.diff -p1
fixes/gnu-inline.diff -p1
However, with the current way that a series file is handled, it will error out because the -p1 is tried as a file. This is because in the for loop that iterates the files, we only look for comment lines. Then each line is used within a bash for loop which uses spaces a delimiter. In order to fix this, we should only use the string that comes before a space in the series file.
Note that the format allows for any arbitrary depth to the -pN field. But since we'll have only one package with -pN fields, and all will be -p1, we for now always assume -p1. This will have to be fixed whenever we get a package with other values.
[yann.morin.1998 at free.fr: expand comment about the format of a series file and how we interpret it]
---
Changes v1 -> v2:
- adopted by Yann by lack of time from Ryan
- expand comment
- fix commit log (we filter out comment lines, not invalid lines)
--- support/scripts/apply-patches.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
support/scripts/apply-patches.sh +7 -1
@@ -115,7 +115,13 @@ function scan_patchdir { # If there is a series file, use it instead of using ls sort order # to apply patches. Skip line starting with a dash. if [ -e "${path}/series" ] ; then - for i in `grep -Ev "^#" ${path}/series 2> /dev/null` ; do + # The format of a series file accepts a second field that is + # used to specify the number of directory components to strip + # when applying the patch, in the form -pN (N an integer >= 0) + # We assume this field to always be -p1 whether it is present + # or missing. + series_patches="`grep -Ev "^#" ${path}/series | cut -d ' ' -f1 2> /dev/null`" + for i in $series_patches; do apply_patch "$path" "$i" series done else
Signature · 1 line
1.9.1
PATCH v2 2/2 ustr: use Debian patches to compile w/ GCC 5.x
In reply to Yann E. MORINFrom: Ryan Barnett <[email protected]>
To fix issues with compiling with GCC 5.x, switch to utilizing the Debian patches for cross compiling. Debian has been maintaining patches for the ustr package since it appears that the ustr project hasn't been active since 2008.
The Debian patches switch from a makefile based build to autotools based build. This also means that the patch that was being carried for cross compiling is no longer needed.
ustr is a dependency of libsemanage, which now builds fine again with these patches applied.
Fixes:
http://autobuild.buildroot.org/results/f46/f46430c45973dfe39976453f5a91a555ed7bfa9a/ http://autobuild.buildroot.org/results/e98/e98c82130efaaed29682cf31c1a754278ff3e547/ ...and many more
[yann.morin.1998 at free.fr: build the shared lib at build time, not install time]
---
Changes v1 -> v2:
- adopted by Yann by lack of time from Ryan
- build shared lib at build time, not install time.
--- .../ustr/0001-cross-compile-modifications.patch | 144 --------------------- package/ustr/ustr.hash | 2 + package/ustr/ustr.mk | 56 ++------ 3 files changed, 15 insertions(+), 187 deletions(-) delete mode 100644 package/ustr/0001-cross-compile-modifications.patch
package/ustr/0001-cross-compile-modifications.patch deleted +0 -144
@@ -1,144 +0,0 @@ -Changes are to allow ustr version 1.0.4 to cross compile in buildroot. - -Signed-off-by Clayton Shotwell <[email protected]> - -diff -urN a/ustr-compiler.h b/ustr-compiler.h ---- a/ustr-compiler.h 2008-02-15 14:12:28.000000000 -0600 -+++ b/ustr-compiler.h 2012-06-15 11:04:55.000000000 -0500 -@@ -13,10 +13,10 @@ - - /* We assume this is enough, - * C99 specifies that va_copy() exists and is a macro */ --#ifdef va_copy -+#if defined va_copy - # define USTR_CONF_HAVE_VA_COPY 1 - # define USTR__VA_COPY(x, y) va_copy(x, y) --#elif __va_copy -+#elif defined __va_copy - # define USTR_CONF_HAVE_VA_COPY 1 - # define USTR__VA_COPY(x, y) __va_copy(x, y) - #else -diff -urN a/Makefile b/Makefile ---- a/Makefile 2008-03-05 21:38:00.000000000 -0600 -+++ b/Makefile 2013-09-10 16:54:45.916874387 -0500 -@@ -8,8 +8,8 @@ - VERS_ESONAME =1 - VERS_ESO =$(VERS_ESONAME).0.4 - --DESTDIR = --prefix=/usr -+DESTDIR ?= -+prefix ?= /usr - datadir=$(prefix)/share - libdir=$(prefix)/lib - libexecdir=$(prefix)/libexec -@@ -18,7 +18,7 @@ - SHRDIR=$(datadir)/ustr-$(VERS_FULL) - DOCSHRDIR=$(datadir)/doc/ustr-devel-$(VERS_FULL) - EXAMDIR=$(SHRDIR)/examples --mandir=$(datadir)/doc/man -+mandir=$(datadir)/man - MBINDIR=$(libexecdir)/ustr-$(VERS_FULL) - - ############################################################################### -@@ -28,12 +28,12 @@ - ############################################################################### - HIDE=@ - --CC = cc --AR = ar --RANLIB = ranlib --LDCONFIG = /sbin/ldconfig -+CC ?= cc -+AR ?= ar -+RANLIB ?= ranlib - --CFLAGS = -O2 -g -+CFLAGS ?= -O2 -g -+LDFLAGS ?= - - # Debug versions... - WARNS = -W -Wall -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-format-zero-length -Wformat-nonliteral -Wformat-security # -Wfloat-equal -- no floats -@@ -376,7 +376,7 @@ - all-shared: all $(LIB_SHARED) - $(HIDE)echo Done shared - --install: all-shared ustr.pc ustr-debug.pc -+install: all ustr.pc ustr-debug.pc - $(HIDE)echo Making directories - install -d $(DESTDIR)$(libdir) - install -d $(DESTDIR)$(includedir) -@@ -389,16 +389,6 @@ - install -d $(DESTDIR)$(libdir)/pkgconfig - $(HIDE)echo Installing files - install -m 644 -t $(DESTDIR)$(libdir) $(LIB_STATIC) -- install -m 755 -t $(DESTDIR)$(libdir) $(LIB_SHARED) -- -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME) -- ln -s $(OPT_LIB_SHARED) $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME) -- -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV) -- ln -s $(OPT_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV) -- -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME) -- ln -s $(DBG_LIB_SHARED) $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME) -- -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV) -- ln -s $(DBG_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV) -- $(LDCONFIG) -n $(DESTDIR)$(libdir) - install -pm 644 -t $(DESTDIR)$(includedir) $(SRC_HDRS) - install -pm 644 -t $(DESTDIR)$(SHRDIR) $(SRC_SRCS) - install -pm 644 -t $(DESTDIR)$(SHRDIR) $(XSRC_SRCS) -@@ -409,13 +399,24 @@ - install -m 755 -t $(DESTDIR)$(bindir) ustr-import - install -pm 644 -t $(DESTDIR)$(libdir)/pkgconfig ustr.pc ustr-debug.pc - -+install-shared: all-shared install -+ $(HIDE)echo Installing files -+ install -m 755 -t $(DESTDIR)$(libdir) $(LIB_SHARED) -+ -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME) -+ ln -s $(OPT_LIB_SHARED) $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME) -+ -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV) -+ ln -s $(OPT_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV) -+ -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME) -+ ln -s $(DBG_LIB_SHARED) $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME) -+ -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV) -+ ln -s $(DBG_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV) -+ - ustr-import-multilib: ustr-import-multilib.in - sed -e 's, at INCLUDEDIR@,$(includedir),g' -e 's, at MBINDIR@,$(MBINDIR),g' < $< > $@ - - install-multilib-linux: install autoconf_64b ustr-import-multilib - install -d $(DESTDIR)$(MBINDIR) -- $(HIDE)mlib=`./autoconf_64b`; \ -- if test "x$$mlib" = "x1"; then mlib=64; else mlib=32; fi; \ -+ $(HIDE))if test "`echo "__SIZEOF_SIZE_T__" | $(CC) -E -x c - | tail -n 1`" = 8; then mlib=64; else mlib=32; fi; \ - mv -f $(DESTDIR)$(includedir)/ustr-conf-debug.h \ - $(DESTDIR)$(includedir)/ustr-conf-debug-$$mlib.h; \ - mv -f $(DESTDIR)$(includedir)/ustr-conf.h \ -@@ -451,7 +452,8 @@ - - ustr-import: ustr-import.in autoconf_64b autoconf_vsnprintf - $(HIDE)echo Creating $@ -- $(HIDE)sz64=`./autoconf_64b`; vsnp=`./autoconf_vsnprintf`; \ -+ $(HIDE)if test "`echo "__SIZEOF_SIZE_T__" | $(CC) -E -x c - | tail -n 1`" = 8; then sz64=1; else sz64=0; fi; \ -+ if test "`./autoconf_vsnprintf`" = 0; then vsnp=0; else vsnp=1; fi; \ - sed -e 's, at INCLUDEDIR@,$(includedir),g' -e 's, at SHRDIR@,$(SHRDIR),g' -e 's, at VERS@,$(VERS),g' -e 's, at VERS_FULL@,$(VERS_FULL),g' -e "s, at HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s, at HAVE_RETARDED_VSNPRINTF@,$$vsnp,g" < $< > $@ - $(HIDE)chmod 755 $@ - -@@ -485,7 +487,8 @@ - ustr-conf.h: ustr-conf.h.in autoconf_64b autoconf_vsnprintf - $(HIDE)echo Creating $@ - $(HIDE)have_stdint_h=0; dbg1=0; dbg2=0; \ -- sz64=`./autoconf_64b`; vsnp=`./autoconf_vsnprintf`; \ -+ if test "`echo "__SIZEOF_SIZE_T__" | $(CC) -E -x c - | tail -n 1`" = 8; then sz64=1; else sz64=0; fi; \ -+ if test "`./autoconf_vsnprintf`" = 0; then vsnp=0; else vsnp=1; fi; \ - if test -f "/usr/include/stdint.h"; then have_stdint_h=1; fi; \ - if test -f "$(prefix)/include/stdint.h"; then have_stdint_h=1; fi; \ - if test -f "$(includedir)/stdint.h"; then have_stdint_h=1; fi; \ -@@ -494,7 +497,8 @@ - ustr-conf-debug.h: ustr-conf.h.in autoconf_64b autoconf_vsnprintf - $(HIDE)echo Creating $@ - $(HIDE)have_stdint_h=0; dbg1=1; dbg2=1; \ -- sz64=`./autoconf_64b`; vsnp=`./autoconf_vsnprintf`; \ -+ if test "`echo "__SIZEOF_SIZE_T__" | $(CC) -E -x c - | tail -n 1`" = 8; then sz64=1; else sz64=0; fi; \ -+ if test "`./autoconf_vsnprintf`" = 0; then vsnp=0; else vsnp=1; fi; \ - if test -f "/usr/include/stdint.h"; then have_stdint_h=1; fi; \ - if test -f "$(prefix)/include/stdint.h"; then have_stdint_h=1; fi; \ - if test -f "$(includedir)/stdint.h"; then have_stdint_h=1; fi; \
package/ustr/ustr.hash +2 -0
@@ -1,2 +1,4 @@ # Locally computed sha256 3daf6eae9f78de1e872c0b2b83cce35515b94d4bb8a074e48f331fd99e1fc2c4 ustr-1.0.4.tar.bz2 +# From http://debian.gtisc.gatech.edu/debian/pool/main/u/ustr/ustr_1.0.4-5.dsc +sha256 a21e78acf82dcccef2893932ef7b85852419bfd9b18382e63c34e7710c1d7762 ustr_1.0.4-5.debian.tar.xz
package/ustr/ustr.mk +13 -43
62 lines not on this page · raw message
Signature · 1 line
1.9.1
v2 cover package/ustr: bump and cleanup (branch yem/ustr)
In reply to Yann E. MORINYann, Ryan,
Quoted 3 lines · Yann E. MORIN
Ryan Barnett (2):
apply-patches: only use first field of line for series file
ustr: use Debian patches to compile w/ GCC 5.x
Both applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com