[arch-commits] Commit in memcached/trunk (3 files)

2018-12-20 Thread Levente Polyak via arch-commits
Date: Friday, December 21, 2018 @ 00:03:53
  Author: anthraxx
Revision: 342617

upgpkg: memcached 1.5.12-1 (enable seccomp)

Yes, we enable seccomp - its not rocket science to fix if
proper logs and dumps are provided and provides a significant
limitation in terms of exploitation.

It is tested and it works, if you encounter issues, provide proper
logs, dumps an straces.

Added:
  memcached/trunk/memcached.service.patch
Modified:
  memcached/trunk/PKGBUILD
Deleted:
  memcached/trunk/memcached.service

-+
 PKGBUILD|   20 +++-
 memcached.service   |   16 -
 memcached.service.patch |   75 ++
 3 files changed, 87 insertions(+), 24 deletions(-)

Modified: PKGBUILD
===
--- PKGBUILD2018-12-20 19:53:18 UTC (rev 342616)
+++ PKGBUILD2018-12-21 00:03:53 UTC (rev 342617)
@@ -3,7 +3,7 @@
 # Contributor: Michael Irwin <6d6...@gmail.com>
 
 pkgname=memcached
-pkgver=1.5.10
+pkgver=1.5.12
 pkgrel=1
 pkgdesc='Distributed memory object caching system'
 url='https://memcached.org/'
@@ -12,21 +12,22 @@
 depends=('libevent' 'libseccomp')
 optdepends=('perl: for memcached-tool usage')
 source=(https://www.memcached.org/files/${pkgname}-${pkgver}.tar.gz
-memcached.service
+memcached.service.patch
 memcached.tmpfiles
 memcached.sysusers)
-sha256sums=('494c060dbd96d546c74ab85a3cc3984d009b4423767ac33e05dd2340c01f1c4b'
-'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd'
+sha256sums=('c02f97d5685617b209fbe25f3464317b234d765b427d254c2413410a5c095b29'
+'303375f1245db0f3bf82faa6cb935639d8194c760fec45f105eecaaec22436a5'
 'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a'
 '228c4f536f3c9f9eee4e11226ec8846a22d4ba46c2d3bf2811413efcc322609a')
-sha512sums=('5b6217ab90492cb4b3f6597c935a4028697f1d071516d647a70f6ba9353db16184ef229935733e669d4120d34d72f6f2415edcfd3ec899e06eab9d3f494f11f1'
-
'5b006064b3ab31a6982f5c7b1ab4a49d64118a459913bd4be18ca63bf606dcae3550121d05a34ac8932d28b367e18fa76699c46e311b0b6a22f36ab1885ebebe'
+sha512sums=('95927fcc06e83e46a050dd50c85e50faf41e6d1f6901b757f7a842b7727a596054082a512a3b830729171556e8a995f037d39d991df2198a80a4e61a6efa1fd8'
+
'79b69d3b48ab04ff76607d52de61cfca471edb376d2a08fc2c1b9b259c097d04499d1f326ba06fd058a039de145be475cd3527007dffb2256a0b5c2ea7548a88'
 
'960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b'
 
'e6ddcab9a6fee024072b6363ef60aa176ed258369bf3a17d475f19b1f410ffd6195b9c5737dc5b1371e8974b44bdbdaa109927acaeb54fb40302a5d67d7c13a8')
 
 prepare() {
   cd ${pkgname}-${pkgver}
-  sed -e 's/^##safer##//g' -i scripts/memcached.service 
scripts/memcached@.service
+  patch -Np1 < ../memcached.service.patch
+  sed -e 's/^##safer##//g' -i scripts/*.service
 }
 
 build() {
@@ -45,8 +46,11 @@
 package() {
   cd ${pkgname}-${pkgver}
   make DESTDIR="${pkgdir}" install
+
   install -Dm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin"
-  install -Dm 644 ../memcached.service -t "${pkgdir}/usr/lib/systemd/system"
+  install -Dm 644 scripts/memcached-tool.1 -t "${pkgdir}/usr/share/man/man1"
+
+  install -Dm 644 scripts/*.service -t "${pkgdir}/usr/lib/systemd/system"
   install -Dm 644 ../memcached.tmpfiles 
"${pkgdir}/usr/lib/tmpfiles.d/memcached.conf"
   install -Dm 644 ../memcached.sysusers 
"${pkgdir}/usr/lib/sysusers.d/memcached.conf"
 }

Deleted: memcached.service
===
--- memcached.service   2018-12-20 19:53:18 UTC (rev 342616)
+++ memcached.service   2018-12-21 00:03:53 UTC (rev 342617)
@@ -1,16 +0,0 @@
-[Unit]
-Description=Memcached Daemon
-After=network.target
-
-[Service]
-User=memcached
-# Remove '-l 127.0.0.1' to listen on all addresses
-ExecStart=/usr/bin/memcached -l 127.0.0.1 -o modern
-Restart=always
-PrivateTmp=yes
-PrivateDevices=yes
-ProtectSystem=full
-MemoryDenyWriteExecute=yes
-
-[Install]
-WantedBy=multi-user.target

Added: memcached.service.patch
===
--- memcached.service.patch (rev 0)
+++ memcached.service.patch 2018-12-21 00:03:53 UTC (rev 342617)
@@ -0,0 +1,75 @@
+From f74056bec3910ef03b6e993084731b482ba359ba Mon Sep 17 00:00:00 2001
+From: anthraxx 
+Date: Wed, 19 Dec 2018 01:00:32 +0100
+Subject: [PATCH] modern configuration purely using systemd overrides
+
+---
+ scripts/memcached.service  | 12 ++--
+ scripts/memcached@.service | 15 +--
+ 2 files changed, 19 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/memcached.service b/scripts/memcached.service
+index 88a4b8a..3a1e87e 100644
+--- a/scripts/memcached.service
 b/scripts/memcached.service
+@@ -7,6 +7,9 @@
+ #
+ # [Service]
+ # 

[arch-commits] Commit in memcached/trunk (3 files)

2018-01-14 Thread Levente Polyak via arch-commits
Date: Monday, January 15, 2018 @ 00:57:50
  Author: anthraxx
Revision: 314793

upgpkg: memcached 1.5.4-1

Added:
  memcached/trunk/memcached.sysusers
Modified:
  memcached/trunk/PKGBUILD
Deleted:
  memcached/trunk/memcached.install

+
 PKGBUILD   |   21 -
 memcached.install  |   15 ---
 memcached.sysusers |1 +
 3 files changed, 13 insertions(+), 24 deletions(-)

Modified: PKGBUILD
===
--- PKGBUILD2018-01-15 00:03:22 UTC (rev 314792)
+++ PKGBUILD2018-01-15 00:57:50 UTC (rev 314793)
@@ -3,7 +3,7 @@
 # Contributor: Michael Irwin <6d6...@gmail.com>
 
 pkgname=memcached
-pkgver=1.5.3
+pkgver=1.5.4
 pkgrel=1
 pkgdesc='Distributed memory object caching system'
 url='https://memcached.org/'
@@ -11,16 +11,18 @@
 license=('GPL')
 depends=('libevent')
 optdepends=('perl: for memcached-tool usage')
-install=memcached.install
 source=(https://www.memcached.org/files/${pkgname}-${pkgver}.tar.gz
 memcached.service
-memcached.tmpfiles)
-sha256sums=('258cc3ddb7613685465acfd0215f827220a3bbdd167fd2c080632105b2d2f3ce'
+memcached.tmpfiles
+memcached.sysusers)
+sha256sums=('e0c3cfa89fa4c2ffd8aa45df7825c6d1a2423ac89ab1a7c4f42bb9803f7403d4'
 'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd'
-'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a')
-sha512sums=('b28282c579891e7c5508eb5ab4680b933aa76e8e4a8fe575c996fd4e750f2b4b35ee734d01ae0f280cf4cf6e0530f7f6a95c2e07be3660b07c5ade6ad3c835e2'
+'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a'
+'228c4f536f3c9f9eee4e11226ec8846a22d4ba46c2d3bf2811413efcc322609a')
+sha512sums=('3154a2cad54d57f14bf9c07cfc6e4ed0bd6908f81642de9766d65c69b78bb36effb6221684b1e5f9e355fd8c64a0338aade3cb3bf36603d311c86bc94fe5d13d'
 
'5b006064b3ab31a6982f5c7b1ab4a49d64118a459913bd4be18ca63bf606dcae3550121d05a34ac8932d28b367e18fa76699c46e311b0b6a22f36ab1885ebebe'
-
'960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b')
+
'960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b'
+
'e6ddcab9a6fee024072b6363ef60aa176ed258369bf3a17d475f19b1f410ffd6195b9c5737dc5b1371e8974b44bdbdaa109927acaeb54fb40302a5d67d7c13a8')
 
 build() {
   cd ${pkgname}-${pkgver}
@@ -37,8 +39,9 @@
   cd ${pkgname}-${pkgver}
   make DESTDIR="${pkgdir}" install
   install -Dm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin"
-  install -Dm 644 "${srcdir}/memcached.service" -t 
"${pkgdir}/usr/lib/systemd/system"
-  install -Dm 644 "${srcdir}/memcached.tmpfiles" 
"${pkgdir}/usr/lib/tmpfiles.d/memcached.conf"
+  install -Dm 644 ../memcached.service -t "${pkgdir}/usr/lib/systemd/system"
+  install -Dm 644 ../memcached.tmpfiles 
"${pkgdir}/usr/lib/tmpfiles.d/memcached.conf"
+  install -Dm 644 ../memcached.sysusers 
"${pkgdir}/usr/lib/sysusers.d/memcached.conf"
 }
 
 # vim: ts=2 sw=2 et:

Deleted: memcached.install
===
--- memcached.install   2018-01-15 00:03:22 UTC (rev 314792)
+++ memcached.install   2018-01-15 00:57:50 UTC (rev 314793)
@@ -1,15 +0,0 @@
-post_install() {
-  if ! getent group memcached >/dev/null; then
-groupadd --system memcached
-  fi
-  if ! getent passwd memcached >/dev/null; then
-useradd --system -c 'memcached user' -g memcached -d / -s /bin/nologin 
memcached
-  fi
-}
-
-post_upgrade() {
-  post_install $1
-  if (( $(vercmp $2 1.4.36-1) <= 0 )); then
- usermod -s /bin/nologin memcached
-  fi
-}

Added: memcached.sysusers
===
--- memcached.sysusers  (rev 0)
+++ memcached.sysusers  2018-01-15 00:57:50 UTC (rev 314793)
@@ -0,0 +1 @@
+u memcached - - -


[arch-commits] Commit in memcached/trunk (3 files)

2017-06-13 Thread Levente Polyak
Date: Tuesday, June 13, 2017 @ 13:11:48
  Author: anthraxx
Revision: 298727

upgpkg: memcached 1.4.37-1 (libevent rebuild)

Added:
  memcached/trunk/memcached.tmpfiles
Modified:
  memcached/trunk/PKGBUILD
  memcached/trunk/memcached.install

+
 PKGBUILD   |   40 
 memcached.install  |5 -
 memcached.tmpfiles |1 +
 3 files changed, 29 insertions(+), 17 deletions(-)

Modified: PKGBUILD
===
--- PKGBUILD2017-06-13 12:46:34 UTC (rev 298726)
+++ PKGBUILD2017-06-13 13:11:48 UTC (rev 298727)
@@ -1,36 +1,44 @@
-# $Id$
-# Maintainer: Dan McGee 
+# Maintainer: Levente Polyak 
+# Contributor: Dan McGee 
 # Contributor: Michael Irwin <6d6...@gmail.com>
 
 pkgname=memcached
-pkgver=1.4.32
+pkgver=1.4.37
 pkgrel=1
-pkgdesc="A distributed memory object caching system"
-arch=(i686 x86_64)
-url="http://memcached.org/;
+pkgdesc='Distributed memory object caching system'
+url='https://memcached.org/'
+arch=('i686' 'x86_64')
 license=('GPL')
 depends=('libevent')
 optdepends=('perl: for memcached-tool usage')
 install=memcached.install
-source=(http://www.memcached.org/files/$pkgname-$pkgver.tar.gz
-memcached.service)
-sha256sums=('54bb9acd5fbbb73cd1fbfa67cbc6b301009a2835a26c8a4c3dba634a0c3d875d'
-'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd')
+source=(https://www.memcached.org/files/${pkgname}-${pkgver}.tar.gz
+memcached.service
+memcached.tmpfiles)
+sha256sums=('2f335ab9110ce39036c5271ef39a582a852e424bc9659e421844073cfdf8606b'
+'fd60fde92b959dc4160facc0d165f04319d2ece4d2c59b68d8ae24824abea7dd'
+'c4d0ae2218b99a276ff6e0084ae81e66add0ca9347e4bde70e9172db6e44002a')
+sha512sums=('eadcb2ea3caf5946f3348c3cddc9fa4de3268589096a8fbfcb7c2867ce317390bdb91a2539353c756d214eb02ef3f0f0e71adb5dd46fd37fda4e82a59173e1b4'
+
'5b006064b3ab31a6982f5c7b1ab4a49d64118a459913bd4be18ca63bf606dcae3550121d05a34ac8932d28b367e18fa76699c46e311b0b6a22f36ab1885ebebe'
+
'960705ff74d25afed477e0b2a5872a3a4fb49ed3105a351f0d0224abc947778f9dbda81e80be94ab636da4a8411a9dd56a8fd4513e5b86a3096a14fa67f1548b')
 
 build() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd ${pkgname}-${pkgver}
   ./configure --prefix=/usr
   make
 }
 
 check() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd ${pkgname}-${pkgver}
   make test
 }
 
 package() {
-  cd "$srcdir/$pkgname-$pkgver"
-  make DESTDIR="$pkgdir" install
-  install -D -m 755 scripts/memcached-tool "$pkgdir"/usr/bin/memcached-tool
-  install -D -m 644 ../memcached.service 
"$pkgdir"/usr/lib/systemd/system/memcached.service
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+  install -Dm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin"
+  install -Dm 644 "${srcdir}/memcached.service" -t 
"${pkgdir}/usr/lib/systemd/system"
+  install -Dm 644 "${srcdir}/memcached.tmpfiles" 
"${pkgdir}/usr/lib/tmpfiles.d/memcached.conf"
 }
+
+# vim: ts=2 sw=2 et:

Modified: memcached.install
===
--- memcached.install   2017-06-13 12:46:34 UTC (rev 298726)
+++ memcached.install   2017-06-13 13:11:48 UTC (rev 298727)
@@ -3,10 +3,13 @@
 groupadd --system memcached
   fi
   if ! getent passwd memcached >/dev/null; then
-useradd --system -c 'memcached user' -g memcached -d / -s /bin/bash 
memcached
+useradd --system -c 'memcached user' -g memcached -d / -s /bin/nologin 
memcached
   fi
 }
 
 post_upgrade() {
   post_install $1
+  if (( $(vercmp $2 1.4.36-1) <= 0 )); then
+ usermod -s /bin/nologin memcached
+  fi
 }

Added: memcached.tmpfiles
===
--- memcached.tmpfiles  (rev 0)
+++ memcached.tmpfiles  2017-06-13 13:11:48 UTC (rev 298727)
@@ -0,0 +1 @@
+d /run/memcached 0775 memcached memcached -


[arch-commits] Commit in memcached/trunk (3 files)

2014-05-06 Thread Dan McGee
Date: Tuesday, May 6, 2014 @ 17:27:56
  Author: dan
Revision: 212083

upgpkg: memcached 1.4.19-1

Modified:
  memcached/trunk/PKGBUILD
Deleted:
  memcached/trunk/0001-don-t-drop-to-a-condition-without-holding-the-lock.patch
  memcached/trunk/0002-flag-crawler-as-running-during-the-request-to-run.patch

---+
 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch |   35 -
 0002-flag-crawler-as-running-during-the-request-to-run.patch  |   38 --
 PKGBUILD  |   14 +--
 3 files changed, 4 insertions(+), 83 deletions(-)

Deleted: 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch
===
--- 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch   
2014-05-06 14:39:43 UTC (rev 212082)
+++ 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch   
2014-05-06 15:27:56 UTC (rev 212083)
@@ -1,35 +0,0 @@
-From 9d635fa7f46f000d23663e0be3a900d2c51a3ed8 Mon Sep 17 00:00:00 2001
-From: dormando dorma...@rydia.net
-Date: Sat, 19 Apr 2014 12:15:29 -0700
-Subject: [PATCH 1/2] don't drop to a condition without holding the lock
-
-I am a moran. How do you even thread.

- items.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/items.c b/items.c
-index 688ad03..3e2f71f 100644
 a/items.c
-+++ b/items.c
-@@ -764,6 +764,7 @@ static void item_crawler_evaluate(item *search, uint32_t 
hv, int i) {
- static void *item_crawler_thread(void *arg) {
- int i;
- 
-+pthread_mutex_lock(lru_crawler_lock);
- if (settings.verbose  2)
- fprintf(stderr, Starting LRU crawler background thread\n);
- while (do_run_lru_crawler_thread) {
-@@ -827,8 +828,8 @@ static void *item_crawler_thread(void *arg) {
- STATS_LOCK();
- stats.lru_crawler_running = false;
- STATS_UNLOCK();
--pthread_mutex_unlock(lru_crawler_lock);
- }
-+pthread_mutex_unlock(lru_crawler_lock);
- if (settings.verbose  2)
- fprintf(stderr, LRU crawler thread stopping\n);
- 
--- 
-1.9.2
-

Deleted: 0002-flag-crawler-as-running-during-the-request-to-run.patch
===
--- 0002-flag-crawler-as-running-during-the-request-to-run.patch
2014-05-06 14:39:43 UTC (rev 212082)
+++ 0002-flag-crawler-as-running-during-the-request-to-run.patch
2014-05-06 15:27:56 UTC (rev 212083)
@@ -1,38 +0,0 @@
-From d8b1047620a54443f6bdca7f0dc5ee3b4d99378e Mon Sep 17 00:00:00 2001
-From: dormando dorma...@rydia.net
-Date: Sat, 19 Apr 2014 16:03:28 -0700
-Subject: [PATCH 2/2] flag crawler as running during the request to run
-
-... so there's no race to tell if it's running if you check after the command
-exits.

- items.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/items.c b/items.c
-index 3e2f71f..6261503 100644
 a/items.c
-+++ b/items.c
-@@ -769,9 +769,6 @@ static void *item_crawler_thread(void *arg) {
- fprintf(stderr, Starting LRU crawler background thread\n);
- while (do_run_lru_crawler_thread) {
- pthread_cond_wait(lru_crawler_cond, lru_crawler_lock);
--STATS_LOCK();
--stats.lru_crawler_running = true;
--STATS_UNLOCK();
- 
- while (crawler_count) {
- item *search = NULL;
-@@ -918,6 +915,9 @@ enum crawler_result_type lru_crawler_crawl(char *slabs) {
- }
- pthread_mutex_unlock(cache_lock);
- pthread_cond_signal(lru_crawler_cond);
-+STATS_LOCK();
-+stats.lru_crawler_running = true;
-+STATS_UNLOCK();
- pthread_mutex_unlock(lru_crawler_lock);
- return CRAWLER_OK;
- }
--- 
-1.9.2
-

Modified: PKGBUILD
===
--- PKGBUILD2014-05-06 14:39:43 UTC (rev 212082)
+++ PKGBUILD2014-05-06 15:27:56 UTC (rev 212083)
@@ -3,7 +3,7 @@
 # Contributor: Michael Irwin 6d6...@gmail.com
 
 pkgname=memcached
-pkgver=1.4.18
+pkgver=1.4.19
 pkgrel=1
 pkgdesc=A distributed memory object caching system
 arch=(i686 x86_64)
@@ -13,18 +13,12 @@
 optdepends=('perl: for memcached-tool usage')
 install=memcached.install
 source=(http://www.memcached.org/files/$pkgname-$pkgver.tar.gz
-memcached.service
-0001-don-t-drop-to-a-condition-without-holding-the-lock.patch
-0002-flag-crawler-as-running-during-the-request-to-run.patch)
-sha256sums=('6a5cc8d0874f13c5043d741af83fbdc4c681316d32b8313c0dbc82ca96f97439'
-'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d'
-'dc25b5128e4b5f21d2a2d6186517139281e2e3bfc6142eaa72ef5840dbfc1236'
-'07f959563571125248914392fb2a1e3f75a8692f5724c7ed98f0f16737801527')
+memcached.service)
+sha256sums=('5e18eac2e5b557d7a98b5e866b01ff5fd0f7ceac7356f7b9fffbf8ddbea4a58d'
+'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d')
 
 build() {
   cd 

[arch-commits] Commit in memcached/trunk (3 files)

2014-04-19 Thread Dan McGee
Date: Sunday, April 20, 2014 @ 03:24:33
  Author: dan
Revision: 211561

upgpkg: memcached 1.4.18-1

Added:
  memcached/trunk/0001-don-t-drop-to-a-condition-without-holding-the-lock.patch
  memcached/trunk/0002-flag-crawler-as-running-during-the-request-to-run.patch
Modified:
  memcached/trunk/PKGBUILD

---+
 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch |   35 +
 0002-flag-crawler-as-running-during-the-request-to-run.patch  |   38 ++
 PKGBUILD  |   14 ++-
 3 files changed, 83 insertions(+), 4 deletions(-)

Added: 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch
===
--- 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch   
(rev 0)
+++ 0001-don-t-drop-to-a-condition-without-holding-the-lock.patch   
2014-04-20 01:24:33 UTC (rev 211561)
@@ -0,0 +1,35 @@
+From 9d635fa7f46f000d23663e0be3a900d2c51a3ed8 Mon Sep 17 00:00:00 2001
+From: dormando dorma...@rydia.net
+Date: Sat, 19 Apr 2014 12:15:29 -0700
+Subject: [PATCH 1/2] don't drop to a condition without holding the lock
+
+I am a moran. How do you even thread.
+---
+ items.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/items.c b/items.c
+index 688ad03..3e2f71f 100644
+--- a/items.c
 b/items.c
+@@ -764,6 +764,7 @@ static void item_crawler_evaluate(item *search, uint32_t 
hv, int i) {
+ static void *item_crawler_thread(void *arg) {
+ int i;
+ 
++pthread_mutex_lock(lru_crawler_lock);
+ if (settings.verbose  2)
+ fprintf(stderr, Starting LRU crawler background thread\n);
+ while (do_run_lru_crawler_thread) {
+@@ -827,8 +828,8 @@ static void *item_crawler_thread(void *arg) {
+ STATS_LOCK();
+ stats.lru_crawler_running = false;
+ STATS_UNLOCK();
+-pthread_mutex_unlock(lru_crawler_lock);
+ }
++pthread_mutex_unlock(lru_crawler_lock);
+ if (settings.verbose  2)
+ fprintf(stderr, LRU crawler thread stopping\n);
+ 
+-- 
+1.9.2
+

Added: 0002-flag-crawler-as-running-during-the-request-to-run.patch
===
--- 0002-flag-crawler-as-running-during-the-request-to-run.patch
(rev 0)
+++ 0002-flag-crawler-as-running-during-the-request-to-run.patch
2014-04-20 01:24:33 UTC (rev 211561)
@@ -0,0 +1,38 @@
+From d8b1047620a54443f6bdca7f0dc5ee3b4d99378e Mon Sep 17 00:00:00 2001
+From: dormando dorma...@rydia.net
+Date: Sat, 19 Apr 2014 16:03:28 -0700
+Subject: [PATCH 2/2] flag crawler as running during the request to run
+
+... so there's no race to tell if it's running if you check after the command
+exits.
+---
+ items.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/items.c b/items.c
+index 3e2f71f..6261503 100644
+--- a/items.c
 b/items.c
+@@ -769,9 +769,6 @@ static void *item_crawler_thread(void *arg) {
+ fprintf(stderr, Starting LRU crawler background thread\n);
+ while (do_run_lru_crawler_thread) {
+ pthread_cond_wait(lru_crawler_cond, lru_crawler_lock);
+-STATS_LOCK();
+-stats.lru_crawler_running = true;
+-STATS_UNLOCK();
+ 
+ while (crawler_count) {
+ item *search = NULL;
+@@ -918,6 +915,9 @@ enum crawler_result_type lru_crawler_crawl(char *slabs) {
+ }
+ pthread_mutex_unlock(cache_lock);
+ pthread_cond_signal(lru_crawler_cond);
++STATS_LOCK();
++stats.lru_crawler_running = true;
++STATS_UNLOCK();
+ pthread_mutex_unlock(lru_crawler_lock);
+ return CRAWLER_OK;
+ }
+-- 
+1.9.2
+

Modified: PKGBUILD
===
--- PKGBUILD2014-04-19 21:10:15 UTC (rev 211560)
+++ PKGBUILD2014-04-20 01:24:33 UTC (rev 211561)
@@ -3,7 +3,7 @@
 # Contributor: Michael Irwin 6d6...@gmail.com
 
 pkgname=memcached
-pkgver=1.4.17
+pkgver=1.4.18
 pkgrel=1
 pkgdesc=A distributed memory object caching system
 arch=(i686 x86_64)
@@ -13,12 +13,18 @@
 optdepends=('perl: for memcached-tool usage')
 install=memcached.install
 source=(http://www.memcached.org/files/$pkgname-$pkgver.tar.gz
-   memcached.service)
-sha256sums=('d9173ef6d99ba798c982ea4566cb4f0e64eb23859fdbf9926a8d8cdc0458'
-'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d')
+memcached.service
+0001-don-t-drop-to-a-condition-without-holding-the-lock.patch
+0002-flag-crawler-as-running-during-the-request-to-run.patch)
+sha256sums=('6a5cc8d0874f13c5043d741af83fbdc4c681316d32b8313c0dbc82ca96f97439'
+'e768a48192aefa2e2f443c86b3c085043005ffc313da40f3074c060a18c8359d'
+'dc25b5128e4b5f21d2a2d6186517139281e2e3bfc6142eaa72ef5840dbfc1236'
+'07f959563571125248914392fb2a1e3f75a8692f5724c7ed98f0f16737801527')
 
 build() {
   cd 

[arch-commits] Commit in memcached/trunk (3 files)

2011-01-31 Thread Dan McGee
Date: Monday, January 31, 2011 @ 09:02:05
  Author: dan
Revision: 108468

upgpkg: memcached 1.4.5-2
rebuild for gcc 4.5.x

Added:
  memcached/trunk/fix-type-punning-issues.patch
Modified:
  memcached/trunk/ChangeLog
  memcached/trunk/PKGBUILD

---+
 ChangeLog |3 +
 PKGBUILD  |   14 ---
 fix-type-punning-issues.patch |   73 
 3 files changed, 85 insertions(+), 5 deletions(-)

Modified: ChangeLog
===
--- ChangeLog   2011-01-31 13:57:06 UTC (rev 108467)
+++ ChangeLog   2011-01-31 14:02:05 UTC (rev 108468)
@@ -1,3 +1,6 @@
+2011-01-31 Dan McGee d...@archlinux.org
+   * Rebuild 1.4.5 with gcc 4.5.X patch accepted upstream
+
 2009-11-14 Dan McGee d...@archlinux.org
* Bump to 1.4.3
* Added memcached-tool to package

Modified: PKGBUILD
===
--- PKGBUILD2011-01-31 13:57:06 UTC (rev 108467)
+++ PKGBUILD2011-01-31 14:02:05 UTC (rev 108468)
@@ -3,7 +3,7 @@
 
 pkgname=memcached
 pkgver=1.4.5
-pkgrel=1
+pkgrel=2
 pkgdesc=A distributed memory object caching system
 arch=(i686 x86_64)
 url=http://memcached.org/;
@@ -13,17 +13,20 @@
 backup=('etc/conf.d/memcached')
 source=(http://memcached.googlecode.com/files/$pkgname-$pkgver.tar.gz
 memcached.conf
-memcached.sh)
+memcached.sh
+fix-type-punning-issues.patch)
+changelog=ChangeLog
 
 build() {
   cd $srcdir/$pkgname-$pkgver
+  patch -Np1  $srcdir/fix-type-punning-issues.patch
   ./configure --prefix=/usr
-  make || return 1
+  make
 }
 
 package() {
   cd $srcdir/$pkgname-$pkgver
-  make DESTDIR=$pkgdir install || return 1
+  make DESTDIR=$pkgdir install
   install -D -m 755 scripts/memcached-tool $pkgdir/usr/bin/memcached-tool
   install -D -m 644 $srcdir/$pkgname.conf $pkgdir/etc/conf.d/$pkgname
   install -D -m 755 $srcdir/$pkgname.sh $pkgdir/etc/rc.d/$pkgname
@@ -31,4 +34,5 @@
 
 md5sums=('583441a25f937360624024f2881e5ea8'
  'bf15619930dadf0c08669566e4aa809c'
- '65f88b69cf3112b178725af121327765')
+ '65f88b69cf3112b178725af121327765'
+ 'c4f6da682cb4e7599fede4904021f4ae')

Added: fix-type-punning-issues.patch
===
--- fix-type-punning-issues.patch   (rev 0)
+++ fix-type-punning-issues.patch   2011-01-31 14:02:05 UTC (rev 108468)
@@ -0,0 +1,73 @@
+commit df15887584f0025e7b188e408dd3c9f638d68518
+Author: Dan McGee d...@archlinux.org
+Date:   Tue Nov 2 18:43:00 2010 -0500
+
+Fix type-punning issues exposed with GCC 4.5.1
+
+The errors below are due to pointer magic that isn't allowed if following C
+strict-aliasing rules:
+
+memcached.c: In function ‘complete_incr_bin’:
+memcached.c:1023:16: error: dereferencing type-punned pointer will 
break
+strict-aliasing rules
+memcached.c:1044:13: error: dereferencing type-punned pointer will 
break
+strict-aliasing rules
+memcached.c:1061:17: error: dereferencing type-punned pointer will 
break
+strict-aliasing rules
+
+Fix this by introducing a union type that allows access to the uint64_t
+member as necessary, but doesn't add any additional length to the 
structure.
+The size remains the same before and after; the only difference is explict
+casts are now refactored into union member accesses and all compilers 
should
+be happy.
+
+Signed-off-by: Dan McGee d...@archlinux.org
+
+diff --git a/memcached.h b/memcached.h
+index 4a7295b..74a6592 100644
+--- a/memcached.h
 b/memcached.h
+@@ -77,18 +77,22 @@
+ #define TAIL_REPAIR_TIME (3 * 3600)
+ 
+ /* warning: don't use these macros with a function, as it evals its arg twice 
*/
+-#define ITEM_get_cas(i) ((uint64_t)(((i)-it_flags  ITEM_CAS) ? \
+-*(uint64_t*)((i)-end[0]) : 0x0))
+-#define ITEM_set_cas(i,v) { if ((i)-it_flags  ITEM_CAS) { \
+-  *(uint64_t*)((i)-end[0]) = v; } }
++#define ITEM_get_cas(i) (((i)-it_flags  ITEM_CAS) ? \
++(i)-data-cas : (uint64_t)0)
+ 
+-#define ITEM_key(item) (((char*)((item)-end[0])) \
++#define ITEM_set_cas(i,v) { \
++if ((i)-it_flags  ITEM_CAS) { \
++(i)-data-cas = v; \
++} \
++}
++
++#define ITEM_key(item) (((char*)((item)-data)) \
+  + (((item)-it_flags  ITEM_CAS) ? sizeof(uint64_t) : 0))
+ 
+-#define ITEM_suffix(item) ((char*) ((item)-end[0]) + (item)-nkey + 1 \
++#define ITEM_suffix(item) ((char*) ((item)-data) + (item)-nkey + 1 \
+  + (((item)-it_flags  ITEM_CAS) ? sizeof(uint64_t) : 0))
+ 
+-#define ITEM_data(item) ((char*) ((item)-end[0]) + (item)-nkey + 1 \
++#define ITEM_data(item) ((char*) ((item)-data) + (item)-nkey + 1 \
+  + (item)-nsuffix \
+  + (((item)-it_flags  ITEM_CAS) ?