aboutsummaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-support/memcached/memcached_1.5.3.bb
blob: b2d776b16f6c3597f30d51de2c1fba3458be63c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
SUMMARY = "A high-performance memory object caching system"
DESCRIPTION = "\
 memcached optimizes specific high-load serving applications that are designed \
 to take advantage of its versatile no-locking memory access system. Clients \
 are available in several different programming languages, to suit the needs \
 of the specific application. Traditionally this has been used in mod_perl \
 apps to avoid storing large chunks of data in Apache memory, and to share \
 this burden across several machines."
SECTION = "web"
HOMEPAGE = "http://memcached.org/"
LICENSE = "BSD-3-Clause"

LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff"

inherit autotools systemd

DEPENDS += "libevent"
RDEPENDS_${PN} += "\
    bash \
    perl \
    perl-module-posix \
    perl-module-autoloader \
    perl-module-tie-hash \
    "

SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
           file://memcached-add-hugetlbfs-check.patch \
           file://memcached-config.txt \
           "

SRC_URI[md5sum] = "263819baf411388b3f72700a3212d4e2"
SRC_URI[sha256sum] = "258cc3ddb7613685465acfd0215f827220a3bbdd167fd2c080632105b2d2f3ce"

# set the same COMPATIBLE_HOST as libhugetlbfs
COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux'

python __anonymous () {
    endianness = d.getVar('SITEINFO_ENDIANNESS', True)
    if endianness == 'le':
        d.setVar('EXTRA_OECONF', "ac_cv_c_endian=little")
    else:
        d.setVar('EXTRA_OECONF', "ac_cv_c_endian=big")
}

PACKAGECONFIG ??= ""
PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs"

inherit update-rc.d

INITSCRIPT_NAME = "memcached"
INITSCRIPT_PARAMS = "defaults"

SYSTEMD_PACKAGES = "memcached"
SYSTEMD_SERVICE_${PN} = "memcached.service"

do_install_append() {
    install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached
    
    mkdir -p ${D}/usr/share/memcached/scripts
    install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts
    install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts

    install -d ${D}/${sysconfdir}/default
    install -m 600 ${WORKDIR}/memcached-config.txt ${D}/${sysconfdir}/default/memcached

    install -d ${D}/${systemd_system_unitdir}
    install -m 644 ${S}/scripts/memcached.service ${D}/${systemd_system_unitdir}/.
    sed -e "s@^EnvironmentFile=.*@EnvironmentFile=${sysconfdir}/default/memcached@" \
        -i ${D}/${systemd_system_unitdir}/memcached.service
}