diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2014-12-31 15:15:26 +0000 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2015-01-08 12:04:26 +0100 |
commit | ad6e0184266241e28216681f6fa0b7dc48f79344 (patch) | |
tree | 3e1eed6fd58a6e5a1dc61ba3b28a50f60d6f2a28 /meta-oe/recipes-devtools | |
parent | 2b30fc6fe906d525b703e999138fcb9a0da150db (diff) | |
download | meta-openembedded-ad6e0184266241e28216681f6fa0b7dc48f79344.tar.gz |
libc-client: rename to uw-imap, upgrade to 2007f
* Upgrade to 2007f
* Rename to uw-imap; this is the name used by Fedora and is much more
sensible than libc-client
* Fix errors when linking the library against code compiled with -fPIC
such as mod-php (patch from Fedora).
* Add a security patch from Fedora
* Rename files directory to uw-imap
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'meta-oe/recipes-devtools')
-rw-r--r-- | meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch | 82 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch | 20 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch (renamed from meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch) | 0 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb (renamed from meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb) | 16 |
4 files changed, 113 insertions, 5 deletions
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch new file mode 100644 index 000000000..4434e839f --- /dev/null +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch | |||
@@ -0,0 +1,82 @@ | |||
1 | Fix linking libraries built with -fPIC with this library | ||
2 | |||
3 | Patch borrowed from Fedora | ||
4 | |||
5 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | diff -up imap-2007e/src/osdep/unix/Makefile.shared imap-2007e/src/osdep/unix/Makefile | ||
10 | --- imap-2007e/src/osdep/unix/Makefile.shared 2009-07-07 19:28:02.909755512 -0500 | ||
11 | +++ imap-2007e/src/osdep/unix/Makefile 2009-07-07 19:29:35.870006799 -0500 | ||
12 | @@ -170,6 +170,10 @@ BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRA | ||
13 | EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\ | ||
14 | PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP) | ||
15 | |||
16 | +# Need this for the shared library rule to work correctly | ||
17 | +.SUFFIXES: .o .so | ||
18 | +SOFILES=${BINARIES:.o=.so} | ||
19 | + | ||
20 | |||
21 | # Here if no make argument established | ||
22 | |||
23 | @@ -845,18 +849,24 @@ vu2: # VAX Ultrix 2.3, etc. | ||
24 | |||
25 | # Build it! | ||
26 | |||
27 | -build: clean once $(ARCHIVE) | ||
28 | +build: clean once $(ARCHIVE) $(SHLIBNAME) | ||
29 | |||
30 | -all: $(ARCHIVE) | ||
31 | +all: $(ARCHIVE) $(SHLIBNAME) | ||
32 | |||
33 | $(ARCHIVE): $(BINARIES) | ||
34 | sh -c '$(RM) $(ARCHIVE) || true' | ||
35 | @$(CAT) ARCHIVE | ||
36 | @$(SH) ARCHIVE | ||
37 | |||
38 | -.c.o: | ||
39 | - `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c | ||
40 | +$(SHLIBNAME): $(SOFILES) | ||
41 | + gcc -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS` | ||
42 | + ln -s $(SHLIBNAME) lib$(SHLIBBASE).so | ||
43 | |||
44 | +.c.so: osdep.h | ||
45 | + $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@ | ||
46 | + | ||
47 | +.c.o: | ||
48 | + $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c | ||
49 | |||
50 | # Cleanup | ||
51 | |||
52 | @@ -895,8 +905,7 @@ utf8aux.o: mail.h misc.h osdep.h utf8.h | ||
53 | |||
54 | |||
55 | # OS-dependent | ||
56 | - | ||
57 | -osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ | ||
58 | +OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ | ||
59 | osdep.h env_unix.h tcp_unix.h \ | ||
60 | osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\ | ||
61 | auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \ | ||
62 | @@ -910,12 +919,19 @@ osdep.o:mail.h misc.h env.h fs.h ftl.h n | ||
63 | write.c sslstdio.c \ | ||
64 | strerror.c strpbrk.c strstr.c strtok.c strtoul.c \ | ||
65 | OSCFLAGS | ||
66 | + | ||
67 | +osdep.o: $(OSDEPS) | ||
68 | + $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c | ||
69 | + @echo ======================================================================== | ||
70 | @echo Building OS-dependent module | ||
71 | @echo If you get No such file error messages for files x509.h, ssl.h, | ||
72 | @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL | ||
73 | @echo is not installed on your system. Either install OpenSSL first | ||
74 | @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none | ||
75 | - `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c | ||
76 | + @echo ======================================================================== | ||
77 | + | ||
78 | +osdep.so: $(OSDEPS) | ||
79 | + $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `cat OSCFLAGS` -c osdep.c -o $@ | ||
80 | |||
81 | osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c | ||
82 | $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c | ||
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch new file mode 100644 index 000000000..6ec04761a --- /dev/null +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Fix error found with "-Werror=format-security" flag | ||
2 | |||
3 | Patch borrowed from Fedora | ||
4 | |||
5 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | diff -Naur imap-2007f.orig/src/osdep/unix/flocklnx.c imap-2007f/src/osdep/unix/flocklnx.c | ||
10 | --- imap-2007f.orig/src/osdep/unix/flocklnx.c 2011-07-23 02:20:11.000000000 +0200 | ||
11 | +++ imap-2007f/src/osdep/unix/flocklnx.c 2014-04-14 19:17:46.429000000 +0200 | ||
12 | @@ -57,7 +57,7 @@ | ||
13 | case ENOLCK: /* lock table is full */ | ||
14 | sprintf (tmp,"File locking failure: %s",strerror (errno)); | ||
15 | mm_log (tmp,WARN); /* give the user a warning of what happened */ | ||
16 | - if (!logged++) syslog (LOG_ERR,tmp); | ||
17 | + if (!logged++) syslog (LOG_ERR, "%s", tmp); | ||
18 | /* return failure if non-blocking lock */ | ||
19 | if (op & LOCK_NB) return -1; | ||
20 | sleep (5); /* slow down in case it loops */ | ||
diff --git a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch index f729ee207..f729ee207 100644 --- a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch | |||
diff --git a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb index 150ff9028..e1a987710 100644 --- a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb | |||
@@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97" | |||
6 | 6 | ||
7 | DEPENDS = "openssl libpam" | 7 | DEPENDS = "openssl libpam" |
8 | 8 | ||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \ | 9 | SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \ |
12 | file://quote_cctype.patch" | 10 | file://quote_cctype.patch \ |
11 | file://imap-2007e-shared.patch \ | ||
12 | file://imap-2007f-format-security.patch \ | ||
13 | " | ||
13 | 14 | ||
14 | SRC_URI[md5sum] = "7903800dc2604000016de070e0c55840" | 15 | SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369" |
15 | SRC_URI[sha256sum] = "4b1137b87249782496ec3eeacaf83bbf09312a7d2ae3aead262179041b55565f" | 16 | SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28" |
16 | 17 | ||
17 | S = "${WORKDIR}/imap-${PV}" | 18 | S = "${WORKDIR}/imap-${PV}" |
18 | 19 | ||
@@ -32,4 +33,9 @@ do_install() { | |||
32 | install c-client/c-client.a ${D}${libdir}/libc-client.a | 33 | install c-client/c-client.a ${D}${libdir}/libc-client.a |
33 | } | 34 | } |
34 | 35 | ||
36 | RPROVIDES_${PN} = "libc-client" | ||
37 | RREPLACES_${PN} = "libc-client" | ||
38 | RCONFLICTS_${PN} = "libc-client" | ||
39 | |||
35 | ALLOW_EMPTY_${PN} = "1" | 40 | ALLOW_EMPTY_${PN} = "1" |
41 | |||