summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac17
-rw-r--r--libopkg/Makefile.am2
-rw-r--r--libopkg/opkg_conf.c4
3 files changed, 20 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index e7c7831..3a40004 100644
--- a/configure.ac
+++ b/configure.ac
@@ -243,6 +243,22 @@ if test x$opkgetcdir = x; then
opkgetcdir=/etc
fi
+opkglockfile=
+AC_ARG_WITH(opkglockfile,
+[ --with-opkglockfile=FILE specifies the file used to make sure there is only
+ one instance of opkg runnning.
+ Defaults to ${opkglibdir}/opkg/lock, i.e.
+ /usr/lib/opkg/lock ],
+[case "${withval}" in
+yes) AC_MSG_ERROR(bad value ${withval} given for opkg lock file ) ;;
+no) ;;
+*) opkglockfile=$with_opkglockfile ;;
+esac])
+
+# Default if empty
+if test x$opkglockfile = x; then
+ opkglockfile=${opkglibdir}/opkg/lock
+fi
dnl Some special cases for the wow64 build
if test "x$want_gpgme" = "xyes"
@@ -258,6 +274,7 @@ fi
AC_SUBST(opkglibdir)
AC_SUBST(opkgetcdir)
+AC_SUBST(opkglockfile)
# Setup output beautifier.
SHAVE_INIT([shave], [enable])
diff --git a/libopkg/Makefile.am b/libopkg/Makefile.am
index 524df5c..6be44ad 100644
--- a/libopkg/Makefile.am
+++ b/libopkg/Makefile.am
@@ -1,5 +1,5 @@
-AM_CFLAGS=-Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ -DLIBDIR=\"@libdir@\" -DOPKGLIBDIR=\"@opkglibdir@\" -DOPKGETCDIR=\"@opkgetcdir@\" -DDATADIR=\"@datadir@\" -I$(top_srcdir) $(BIGENDIAN_CFLAGS) $(CURL_CFLAGS) $(GPGME_CFLAGS) $(PATHFINDER_CFLAGS)
+AM_CFLAGS=-Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ -DLIBDIR=\"@libdir@\" -DOPKGLIBDIR=\"@opkglibdir@\" -DOPKGETCDIR=\"@opkgetcdir@\" -DOPKGLOCKFILE=\"@opkglockfile@\" -DDATADIR=\"@datadir@\" -I$(top_srcdir) $(BIGENDIAN_CFLAGS) $(CURL_CFLAGS) $(GPGME_CFLAGS) $(PATHFINDER_CFLAGS)
libopkg_includedir=$(includedir)/libopkg
libopkg_include_HEADERS= *.h
diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
index 49944aa..9c02cbd 100644
--- a/libopkg/opkg_conf.c
+++ b/libopkg/opkg_conf.c
@@ -473,9 +473,9 @@ opkg_conf_init(void)
globfree(&globbuf);
if (conf->offline_root)
- sprintf_alloc (&lock_file, "%s/%s/lock", conf->offline_root, OPKG_STATE_DIR_PREFIX);
+ sprintf_alloc (&lock_file, "%s/%s", conf->offline_root, OPKGLOCKFILE);
else
- sprintf_alloc (&lock_file, "%s/lock", OPKG_STATE_DIR_PREFIX);
+ sprintf_alloc (&lock_file, "%s", OPKGLOCKFILE);
lock_fd = creat(lock_file, S_IRUSR | S_IWUSR | S_IRGRP);
if (lock_fd == -1) {