diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..608eefa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM debian:12 AS guinnessd-base +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y make gcc && \ + useradd -m -d /home/guinness -s /bin/false -r guinness + +FROM guinnessd-base +COPY . /home/guinness +WORKDIR /home/guinness +RUN make && \ + mv /home/guinness/guinnessd /usr/local/bin && \ + chmod +x /usr/local/bin/guinnessd && \ + rm -Rf /home/guinness/* && \ + apt-get remove -y make gcc && \ + apt-get autoremove -y + + + diff --git a/Makefile b/Makefile index c023697..80e18df 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ all: guinness guinnessd H_DEP = broadcast.h commands.h defines.h guinnessd.h printlog.h \ xmem.h clients.h config.h drinks.h lists.h tools.h -COPT = -Wall -g +COPT = -fPIE -Wno-error -g D_OBJS = xmem.o broadcast.o printlog.o lists.o tools.o drinks.o \ commands.o clients.o diff --git a/Makefile.docker b/Makefile.docker new file mode 100644 index 0000000..71732f3 --- /dev/null +++ b/Makefile.docker @@ -0,0 +1,4 @@ +.PHONY: build + +build: + docker build -t guinnessd:latest . diff --git a/broadcast.c b/broadcast.c index f9438bd..ba59048 100644 --- a/broadcast.c +++ b/broadcast.c @@ -26,6 +26,7 @@ #include "broadcast.h" #include "drinks.h" +pthread_mutex_t mutex_broadcast; extern Elt *clients_list; extern FILE *outerr; diff --git a/guinnessd.c b/guinnessd.c index 9e46505..01a6df1 100644 --- a/guinnessd.c +++ b/guinnessd.c @@ -32,6 +32,8 @@ #include "commands.h" #include "config.h" +pthread_mutex_t mutex_clients; + /* Config specifique serveur */ char *adr_ip = NULL; int port = 0; diff --git a/guinnessd.h b/guinnessd.h index 2e16126..841b9b3 100644 --- a/guinnessd.h +++ b/guinnessd.h @@ -30,8 +30,8 @@ typedef struct userinfos { } userinfos; -pthread_mutex_t mutex_broadcast; -pthread_mutex_t mutex_clients; +extern pthread_mutex_t mutex_broadcast; +extern pthread_mutex_t mutex_clients; #endif