# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= doas VERSION= 6.2p2 KEYWORDS= security VARIANTS= standard SDESC[standard]= Simple sudo alternative from OpenBSD HOMEPAGE= https://github.com/slicer69/doas CONTACT= Omar_Polo[omar.polo@europecom.net] DOWNLOAD_GROUPS= main SITES[main]= GITHUB/slicer69:doas:6.2p2 DISTFILE[1]= generated:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= byacc:single:standard BUILDRUN_DEPENDS= openpam:single:standard USES= gmake LICENSE= BSD2CLAUSE:single LICENSE_FILE= BSD2CLAUSE:{{WRKDIR}}/LICENSE LICENSE_SCHEME= solo FPC_EQUIVALENT= security/doas do-install: ${INSTALL_PROGRAM} ${WRKSRC}/doas ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/doas.1 ${STAGEDIR}${PREFIX}/share/man/man1 ${INSTALL_MAN} ${WRKSRC}/doas.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5 [FILE:215:descriptions/desc.single] The doas program allows users to run commands as another user (usually root). The doas program was written by the OpenBSD team to provide a lightweight, simplified (and more secure) alternative to the sudo command. [FILE:105:distinfo] b8dc7e3357d12335ab6890d8303523862112416136bb50f170400cf5746dfd16 25634 slicer69-doas-6.2p2.tar.gz [FILE:74:manifests/plist.single] @(,,4555) bin/doas share/man/man1/doas.1.gz share/man/man5/doas.conf.5.gz [FILE:1279:patches/patch-Makefile] --- Makefile.orig 2019-10-12 15:07:28 UTC +++ Makefile @@ -9,11 +9,11 @@ OPT?=-O2 # Can set GLOBAL_PATH here to set PATH for target user. # TARGETPATH=-DGLOBAL_PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\" CFLAGS+=-Wall $(OPT) -DUSE_PAM -DDOAS_CONF=\"${SYSCONFDIR}/doas.conf\" $(TARGETPATH) +CFLAGS+=-DOPENPAM CPPFLAGS+=-include compat/compat.h LDFLAGS+=-lpam UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) - LDFLAGS+=-lpam_misc CPPFLAGS+=-Icompat CFLAGS+=-D_GNU_SOURCE COMPAT+=closefrom.o errc.o getprogname.o setprogname.o strlcat.o strlcpy.o strtonum.o verrc.o @@ -23,11 +23,15 @@ ifeq ($(UNAME_S),FreeBSD) CFLAGS+=-DHAVE_LOGIN_CAP_H LDFLAGS+=-lutil endif +ifeq ($(UNAME_S),DragonFly) + CFLAGS+=-DHAVE_LOGIN_CAP_H + LDFLAGS+=-lutil +endif ifeq ($(UNAME_S),SunOS) SAFE_PATH?=/bin:/sbin:/usr/bin:/usr/sbin:$(PREFIX)/bin:$(PREFIX)/sbin GLOBAL_PATH?=/bin:/sbin:/usr/bin:/usr/sbin:$(PREFIX)/bin:$(PREFIX)/sbin CPPFLAGS+=-Icompat - CFLAGS+=-DSOLARIS_PAM -DSAFE_PATH=\"$(SAFE_PATH)\" -DGLOBAL_PATH=\"$(GLOBAL_PATH)\" + CFLAGS+=-DSAFE_PATH=\"$(SAFE_PATH)\" -DGLOBAL_PATH=\"$(GLOBAL_PATH)\" COMPAT=errc.o pm_pam_conv.o setresuid.o verrc.o OBJECTS+=$(COMPAT:%.o=compat/%.o) endif [FILE:274:patches/patch-compat_compat.h] --- compat/compat.h.orig 2019-10-12 15:07:28 UTC +++ compat/compat.h @@ -1,7 +1,7 @@ #include #include -#if !defined(__NetBSD__) +#if !defined(__NetBSD__) && !defined(__DragonFly__) && !defined(__FreeBSD__) void closefrom(int lowfd); #endif [FILE:1075:patches/patch-doas.c] --- doas.c.orig 2019-10-12 15:07:28 UTC +++ doas.c @@ -199,7 +199,7 @@ checkconfig(const char *confpath, int ar struct rule *rule; int status; - #if defined(__linux__) || defined(__FreeBSD__) + #if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) status = setresuid(uid, uid, uid); #else status = setreuid(uid, uid); @@ -515,7 +515,7 @@ main(int argc, char **argv) LOGIN_SETUSER) != 0) errx(1, "failed to set user context for target"); #else - #if defined(__linux__) || defined(__FreeBSD__) + #if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) if (setresgid(target_pw->pw_gid, target_pw->pw_gid, target_pw->pw_gid) == -1) err(1, "setresgid"); #else @@ -524,7 +524,7 @@ main(int argc, char **argv) #endif if (initgroups(target_pw->pw_name, target_pw->pw_gid) == -1) err(1, "initgroups"); - #if defined(__linux__) || defined(__FreeBSD__) + #if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) if (setresuid(target, target, target) == -1) err(1, "setresuid"); #else