From 1772295a362b3c24fbe6a19c52b224f5e42a779f Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Fri, 29 May 2026 21:11:32 +0300 Subject: [PATCH] Fix installation --- Makefile.FreeBSD | 8 +++++--- Makefile.unix | 8 +++++--- debian/postinst | 6 +++--- scripts/3proxy.cfg.in | 2 ++ scripts/org.3proxy.3proxy.plist.in | 2 +- scripts/postinstall.sh | 7 ++++++- scripts/rh/3proxy.spec | 6 +++--- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/Makefile.FreeBSD b/Makefile.FreeBSD index e37f28a..6f61c9e 100644 --- a/Makefile.FreeBSD +++ b/Makefile.FreeBSD @@ -79,16 +79,18 @@ install: all for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \ if [ -f bin/$(PREFIX)$$f ]; then install bin/$(PREFIX)$$f $(DESTDIR)$(BINPREFIX)/$(PREFIX)$$f; fi; \ done + install -d $(DESTDIR)$(prefix)/etc/3proxy/conf install -d $(DESTDIR)$(prefix)/etc/rc.d/ sed -e 's|@CMAKE_INSTALL_FULL_BINDIR@|$(BINPREFIX)|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|$(prefix)/etc|g' scripts/rc.d/3proxy.in > $(DESTDIR)$(prefix)/etc/rc.d/3proxy chmod 755 $(DESTDIR)$(prefix)/etc/rc.d/3proxy sed -e 's|@CMAKE_INSTALL_FULL_BINDIR@|$(BINPREFIX)|g' -e 's|@3PROXY_CONFDIR@|$(prefix)/etc/3proxy/conf|g' -e 's|@CRYPT_PREFIX@|$(CRYPT_PREFIX)|g' scripts/add3proxyuser.sh.in > $(DESTDIR)$(BINPREFIX)/add3proxyuser + chmod 755 $(DESTDIR)$(BINPREFIX)/add3proxyuser if [ -s $(DESTDIR)$(prefix)/etc/3proxy/3proxy.cfg ]; then echo $(prefix)/etc/3proxy/3proxy.cfg already exists; else sed -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|$(prefix)/etc|g' -e 's|@3PROXY_CONFDIR@|$(prefix)/etc/3proxy/conf|g' -e 's|@3PROXY_COUNTERDIR@|/opt/3proxy|g' scripts/3proxy.cfg.in > $(DESTDIR)$(prefix)/etc/3proxy/3proxy.cfg; chmod 640 $(DESTDIR)$(prefix)/etc/3proxy/3proxy.cfg; fi if [ ! -d $(DESTDIR)/var/log/3proxy/ ]; then mkdir -p $(DESTDIR)/var/log/3proxy/; fi mkdir -p $(DESTDIR)/opt/3proxy - touch $(DESTDIR)$(prefix)/3proxy/passwd - touch $(DESTDIR)$(prefix)/3proxy/counters - touch $(DESTDIR)$(prefix)/3proxy/bandlimiters + touch $(DESTDIR)$(prefix)/etc/3proxy/conf/passwd + touch $(DESTDIR)$(prefix)/etc/3proxy/conf/counters + touch $(DESTDIR)$(prefix)/etc/3proxy/conf/bandlimiters install -d $(DESTDIR)$(MANDIR)/man8 install -m 644 man/3proxy.8 $(DESTDIR)$(MANDIR)/man8/3proxy.8 for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \ diff --git a/Makefile.unix b/Makefile.unix index 50e4050..937c031 100644 --- a/Makefile.unix +++ b/Makefile.unix @@ -81,16 +81,18 @@ install: all for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \ if [ -f bin/$(PREFIX)$$f ]; then install bin/$(PREFIX)$$f $(DESTDIR)$(BINPREFIX)/$(PREFIX)$$f; fi; \ done + install -d $(DESTDIR)$(prefix)/etc/3proxy/conf install -d $(DESTDIR)$(prefix)/etc/rc.d/ sed -e 's|@CMAKE_INSTALL_FULL_BINDIR@|$(BINPREFIX)|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|$(prefix)/etc|g' scripts/rc.d/3proxy.in > $(DESTDIR)$(prefix)/etc/rc.d/3proxy chmod 755 $(DESTDIR)$(prefix)/etc/rc.d/3proxy sed -e 's|@CMAKE_INSTALL_FULL_BINDIR@|$(BINPREFIX)|g' -e 's|@3PROXY_CONFDIR@|$(prefix)/etc/3proxy/conf|g' -e 's|@CRYPT_PREFIX@|$(CRYPT_PREFIX)|g' scripts/add3proxyuser.sh.in > $(DESTDIR)$(BINPREFIX)/add3proxyuser + chmod 755 $(DESTDIR)$(BINPREFIX)/add3proxyuser if [ -s $(DESTDIR)$(prefix)/etc/3proxy/3proxy.cfg ]; then echo $(prefix)/etc/3proxy/3proxy.cfg already exists; else sed -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|$(prefix)/etc|g' -e 's|@3PROXY_CONFDIR@|$(prefix)/etc/3proxy/conf|g' -e 's|@3PROXY_COUNTERDIR@|/opt/3proxy|g' scripts/3proxy.cfg.in > $(DESTDIR)$(prefix)/etc/3proxy/3proxy.cfg; chmod 640 $(DESTDIR)$(prefix)/etc/3proxy/3proxy.cfg; fi if [ ! -d $(DESTDIR)/var/log/3proxy/ ]; then mkdir -p $(DESTDIR)/var/log/3proxy/; fi mkdir -p $(DESTDIR)/opt/3proxy - touch $(DESTDIR)$(prefix)/3proxy/passwd - touch $(DESTDIR)$(prefix)/3proxy/counters - touch $(DESTDIR)$(prefix)/3proxy/bandlimiters + touch $(DESTDIR)$(prefix)/etc/3proxy/conf/passwd + touch $(DESTDIR)$(prefix)/etc/3proxy/conf/counters + touch $(DESTDIR)$(prefix)/etc/3proxy/conf/bandlimiters install -d $(DESTDIR)$(MANDIR)/man8 install -m 644 man/3proxy.8 $(DESTDIR)$(MANDIR)/man8/3proxy.8 for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \ diff --git a/debian/postinst b/debian/postinst index ee548aa..a2218c0 100644 --- a/debian/postinst +++ b/debian/postinst @@ -1,6 +1,6 @@ -sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@3PROXY_CONFDIR@|/etc/3proxy/conf|g' -e 's|@CRYPT_PREFIX@|3proxy_|g' /bin/add3proxyuser; \ -sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /etc/init.d/3proxy; \ -sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /usr/lib/systemd/system/3proxy.service; \ +[ -f /bin/add3proxyuser ] && sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@3PROXY_CONFDIR@|/etc/3proxy/conf|g' -e 's|@CRYPT_PREFIX@|3proxy_|g' /bin/add3proxyuser; \ +[ -f /etc/init.d/3proxy ] && sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /etc/init.d/3proxy; \ +[ -f /usr/lib/systemd/system/3proxy.service ] && sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /usr/lib/systemd/system/3proxy.service; \ if [ -d /etc/3proxy ]; then \ chmod -R o-rwx /etc/3proxy; \ diff --git a/scripts/3proxy.cfg.in b/scripts/3proxy.cfg.in index 01bb9d0..061a7b1 100644 --- a/scripts/3proxy.cfg.in +++ b/scripts/3proxy.cfg.in @@ -1,6 +1,8 @@ +#!@CMAKE_INSTALL_FULL_BINDIR@/3proxy # use standard syslog logging log @3proxy +pidfile /var/run/3proxy/3proxy.pid #log /logs/3proxy-%y%m%d.log D #rotate 60 diff --git a/scripts/org.3proxy.3proxy.plist.in b/scripts/org.3proxy.3proxy.plist.in index 1e53129..b96cc9f 100644 --- a/scripts/org.3proxy.3proxy.plist.in +++ b/scripts/org.3proxy.3proxy.plist.in @@ -7,7 +7,7 @@ ProgramArguments @CMAKE_INSTALL_FULL_BINDIR@/3proxy - /etc/3proxy/3proxy.cfg + @CMAKE_INSTALL_FULL_SYSCONFDIR@/3proxy/3proxy.cfg UserName proxy diff --git a/scripts/postinstall.sh b/scripts/postinstall.sh index b21f55b..f156af5 100644 --- a/scripts/postinstall.sh +++ b/scripts/postinstall.sh @@ -44,5 +44,10 @@ fi fi -chown -R proxy:proxy ${PREFIX}/etc/3proxy/ +if id proxy >/dev/null 2>&1 && [ -d "${PREFIX}/etc/3proxy" ]; then + chown -R proxy:proxy "${PREFIX}/etc/3proxy/" +fi +if id proxy >/dev/null 2>&1 && [ -d "/opt/3proxy" ]; then + chown -R proxy:proxy "/opt/3proxy/" +fi exit 0 diff --git a/scripts/rh/3proxy.spec b/scripts/rh/3proxy.spec index 7de3173..efbabde 100644 --- a/scripts/rh/3proxy.spec +++ b/scripts/rh/3proxy.spec @@ -66,9 +66,9 @@ fi if [ ! -f /usr/local/3proxy/conf/passwd ]; then \ touch /usr/local/3proxy/conf/passwd;\ fi -sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@3PROXY_CONFDIR@|/etc/3proxy/conf|g' -e 's|@CRYPT_PREFIX@|3proxy_|g' /bin/add3proxyuser; \ -sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /etc/init.d/3proxy; \ -sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /usr/lib/systemd/system/3proxy.service; \ +[ -f /bin/add3proxyuser ] && sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@3PROXY_CONFDIR@|/etc/3proxy/conf|g' -e 's|@CRYPT_PREFIX@|3proxy_|g' /bin/add3proxyuser; \ +[ -f /etc/init.d/3proxy ] && sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /etc/init.d/3proxy; \ +[ -f /usr/lib/systemd/system/3proxy.service ] && sed -i -e 's|@CMAKE_INSTALL_FULL_BINDIR@|/bin|g' -e 's|@CMAKE_INSTALL_FULL_SYSCONFDIR@|/etc|g' /usr/lib/systemd/system/3proxy.service; \ if [ -d /etc/3proxy ]; then \ chown -R proxy:proxy /etc/3proxy; \ chmod -R o-rwx /etc/3proxy; \