Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Nov 2015 15:41:08 +0000 (UTC)
From:      Olli Hauer <ohauer@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r402603 - in head/sysutils/cronolog: . files
Message-ID:  <201511291541.tATFf8ap034100@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ohauer
Date: Sun Nov 29 15:41:07 2015
New Revision: 402603
URL: https://svnweb.freebsd.org/changeset/ports/402603

Log:
  - original MASTER_SITE is gone.
    Author pushed the source to github, use it as new site [1]
  - add extra-patch to PATCHDIR
  - use new post-patch target
  - unbreak the port
  - bump PORTREVISION
  
  [1] verified there is no difference between old 1.6.2 and github 8ea64c0

Added:
  head/sysutils/cronolog/files/extra-patch-cronolog-setugid   (contents, props changed)
  head/sysutils/cronolog/files/patch-src_cronoutils.c
     - copied, changed from r402600, head/sysutils/cronolog/files/extrapatch-src_cronoutils.c
Deleted:
  head/sysutils/cronolog/files/extrapatch-src_cronoutils.c
Modified:
  head/sysutils/cronolog/Makefile
  head/sysutils/cronolog/distinfo
  head/sysutils/cronolog/pkg-descr

Modified: head/sysutils/cronolog/Makefile
==============================================================================
--- head/sysutils/cronolog/Makefile	Sun Nov 29 15:19:09 2015	(r402602)
+++ head/sysutils/cronolog/Makefile	Sun Nov 29 15:41:07 2015	(r402603)
@@ -3,43 +3,35 @@
 
 PORTNAME=	cronolog
 PORTVERSION=	1.6.2
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	sysutils
-MASTER_SITES=	http://cronolog.org/download/
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Web log rotation utility that provides datestamp filenames
 
-BROKEN=		unfetchable
-
 LICENSE=	GPLv2
 
 CONFLICTS_INSTALL=      cronolog-devel-[0-9]*
 
 INFO=		cronolog
-
 GNU_CONFIGURE=	yes
 
-OPTIONS_DEFINE=	SETUID_PATCH
+USE_GITHUB=	yes
+GH_ACCOUNT=	fordmason
+GH_PROJECT=	cronolog
+GH_TAGNAME=	8ea64c0
+
+OPTIONS_DEFINE=		SETUID_PATCH
 OPTIONS_DEFAULT=	SETUID_PATCH
 SETUID_PATCH_DESC=	Build with setuid functionality
 
-EXTRA_PATCHES=	${FILESDIR}/extrapatch-src_cronoutils.c
-PATCH_STRIP=	-p1
-
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MSETUID_PATCH}
-MASTER_SITES+=	http://cronolog.org/patches/:patches
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX} cronolog-setugid-patch.txt:patches
-EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
-EXTRA_PATCHES+=	${WRKDIR}/cronolog-setugid-patch.txt
-USES+=		dos2unix
-DOS2UNIX_FILES=	../cronolog-setugid-patch.txt
-
-post-extract:
-	@${CP} ${DISTDIR}/cronolog-setugid-patch.txt ${WRKDIR}/
-	@cd ${WRKSRC} && ${TOUCH} aclocal.m4 Makefile.in */Makefile.in
+EXTRA_PATCHES=	${PATCHDIR}/extra-patch-cronolog-setugid
 .endif
 
+post-patch-SETUID_PATCH-on:
+	(cd ${WRKSRC} && ${TOUCH} aclocal.m4 Makefile.in */Makefile.in)
+
 .include <bsd.port.mk>

Modified: head/sysutils/cronolog/distinfo
==============================================================================
--- head/sysutils/cronolog/distinfo	Sun Nov 29 15:19:09 2015	(r402602)
+++ head/sysutils/cronolog/distinfo	Sun Nov 29 15:41:07 2015	(r402603)
@@ -1,4 +1,2 @@
-SHA256 (cronolog-1.6.2.tar.gz) = 65e91607643e5aa5b336f17636fa474eb6669acc89288e72feb2f54a27edb88e
-SIZE (cronolog-1.6.2.tar.gz) = 133591
-SHA256 (cronolog-setugid-patch.txt) = ca0061a34aa1291ac61cac07d7718bc2a09421fb931943fa45f33cf7d5a0759b
-SIZE (cronolog-setugid-patch.txt) = 13321
+SHA256 (fordmason-cronolog-1.6.2-8ea64c0_GH0.tar.gz) = 1270ab6b55d5ff10eaa9b29e4c8afd127748f7a6797290ff89febb5eaa7a9030
+SIZE (fordmason-cronolog-1.6.2-8ea64c0_GH0.tar.gz) = 131271

Added: head/sysutils/cronolog/files/extra-patch-cronolog-setugid
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/cronolog/files/extra-patch-cronolog-setugid	Sun Nov 29 15:41:07 2015	(r402603)
@@ -0,0 +1,408 @@
+Date: Fri, 14 Jun 2002 14:54:53 +0100
+From: Isaac Wilcox <iwilcox at eatstatic dot net>
+To: Andrew Ford <A.Ford@ford-mason.co.uk>
+Subject: cronolog set{u,g}id patch
+
+Hi,
+
+I've hacked cronolog to include options to set UID/GID before doing
+anything else. The patch is included. I make no claims whatsoever about
+its quality, fitness for purpose, etc, but It Works For Me (TM).
+It's yours to do with as you will, and I hope it helps.
+
+Just hope nobody already did this (it was listed in some cronolog TODO I
+saw somewhere).
+
+Isaac Wilcox
+
+
+diff -Naur configure configure
+--- configure	Thu May  3 17:44:22 2001
++++ configure	Mon Jun  3 00:38:32 2002
+@@ -1757,15 +1757,49 @@
+ 
+ fi
+ 
++echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
++echo "configure:1762: checking for uid_t in sys/types.h" >&5
++if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
++  echo $ac_n "(cached) $ac_c" 1>&6
++else
++  cat > conftest.$ac_ext <<EOF
++#line 1767 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++EOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  egrep "uid_t" >/dev/null 2>&1; then
++  rm -rf conftest*
++  ac_cv_type_uid_t=yes
++else
++  rm -rf conftest*
++  ac_cv_type_uid_t=no
++fi
++rm -f conftest*
++
++fi
++
++echo "$ac_t""$ac_cv_type_uid_t" 1>&6
++if test $ac_cv_type_uid_t = no; then
++  cat >> confdefs.h <<\EOF
++#define uid_t int
++EOF
++
++  cat >> confdefs.h <<\EOF
++#define gid_t int
++EOF
++
++fi
++
+ 
+ 
+ echo $ac_n "checking for strftime""... $ac_c" 1>&6
+-echo "configure:1764: checking for strftime" >&5
++echo "configure:1798: checking for strftime" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   cat > conftest.$ac_ext <<EOF
+-#line 1769 "configure"
++#line 1803 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char strftime(); below.  */
+@@ -1788,7 +1822,7 @@
+ 
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+   rm -rf conftest*
+   eval "ac_cv_func_strftime=yes"
+ else
+@@ -1810,7 +1844,7 @@
+   echo "$ac_t""no" 1>&6
+ # strftime is in -lintl on SCO UNIX.
+ echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
+-echo "configure:1814: checking for strftime in -lintl" >&5
++echo "configure:1848: checking for strftime in -lintl" >&5
+ ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1818,7 +1852,7 @@
+   ac_save_LIBS="$LIBS"
+ LIBS="-lintl  $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1822 "configure"
++#line 1856 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error.  */
+ /* We use char because int might match the return type of a gcc2
+@@ -1829,7 +1863,7 @@
+ strftime()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+   rm -rf conftest*
+   eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1856,12 +1890,12 @@
+ fi
+ 
+ echo $ac_n "checking for vprintf""... $ac_c" 1>&6
+-echo "configure:1860: checking for vprintf" >&5
++echo "configure:1894: checking for vprintf" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   cat > conftest.$ac_ext <<EOF
+-#line 1865 "configure"
++#line 1899 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char vprintf(); below.  */
+@@ -1884,7 +1918,7 @@
+ 
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+   rm -rf conftest*
+   eval "ac_cv_func_vprintf=yes"
+ else
+@@ -1908,12 +1942,12 @@
+ 
+ if test "$ac_cv_func_vprintf" != yes; then
+ echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
+-echo "configure:1912: checking for _doprnt" >&5
++echo "configure:1946: checking for _doprnt" >&5
+ if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   cat > conftest.$ac_ext <<EOF
+-#line 1917 "configure"
++#line 1951 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char _doprnt(); below.  */
+@@ -1936,7 +1970,7 @@
+ 
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+   rm -rf conftest*
+   eval "ac_cv_func__doprnt=yes"
+ else
+@@ -1963,12 +1997,12 @@
+ for ac_func in mkdir mktime putenv
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1967: checking for $ac_func" >&5
++echo "configure:2001: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   cat > conftest.$ac_ext <<EOF
+-#line 1972 "configure"
++#line 2006 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char $ac_func(); below.  */
+@@ -1991,7 +2025,7 @@
+ 
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+   rm -rf conftest*
+   eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2018,12 +2052,12 @@
+ for ac_func in strptime localtime_r
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2022: checking for $ac_func" >&5
++echo "configure:2056: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   cat > conftest.$ac_ext <<EOF
+-#line 2027 "configure"
++#line 2061 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char $ac_func(); below.  */
+@@ -2046,7 +2080,7 @@
+ 
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+   rm -rf conftest*
+   eval "ac_cv_func_$ac_func=yes"
+ else
+diff -Naur configure.in configure.in
+--- configure.in	Thu May  3 17:30:50 2001
++++ configure.in	Mon Jun  3 00:38:32 2002
+@@ -56,6 +56,7 @@
+ AC_C_CONST
+ AC_TYPE_SIZE_T
+ AC_STRUCT_TM
++AC_TYPE_UID_T
+ 
+ dnl Checks for library functions.
+ 
+diff -Naur doc/cronolog.1m doc/cronolog.1m
+--- doc/cronolog.1m	Fri May  4 09:44:55 2001
++++ doc/cronolog.1m	Mon Jun  3 00:39:10 2002
+@@ -89,6 +89,20 @@
+ .IP --help
+ print a help message and then exit.
+ .\"
++.IP "-u \fIUSER\fP"
++.IP "--set-uid=\fIUSER\fP"
++sets the user ID of the cronolog process before any logs are opened.
++\fIUSER\fP can be a username or a numeric user ID. If \fIUSER\fP
++contains solely digits, it will be assumed to be a numeric user ID;
++otherwise, it will be assumed to be a username.
++.\"
++.IP "-g \fIGROUP\fP"
++.IP "--set-gid=\fIGROUP\fP"
++sets the group ID of the cronolog process before any logs are opened.
++\fIGROUP\fP can be a group name or a numeric group ID. If \fIGROUP\fP
++contains solely digits, it will be assumed to be a numeric group ID;
++otherwise, it will be assumed to be a group name.
++.\"
+ .IP "-p \fIPERIOD\fP"
+ .IP "--period=\fIPERIOD\fP"
+ specifies the period explicitly as an optional digit string followed
+diff -Naur src/cronolog.c src/cronolog.c
+--- src/cronolog.c	Thu May  3 17:42:48 2001
++++ src/cronolog.c	Mon Jun  3 00:38:32 2002
+@@ -100,6 +100,12 @@
+ #define VERSION_MSG      "cronolog version 0.1\n"
+ #endif
+ 
++#ifndef _WIN32
++#define SETUGID_USAGE	"   -u USER,   --set-uid=USER  change to USER before doing anything (name or UID)\n" \
++			"   -g GROUP,  --set-gid=GROUP change to GROUP before doing anything (name or GID)\n"
++#else
++#define SETUGID_USAGE	""
++#endif
+ 
+ #define USAGE_MSG 	"usage: %s [OPTIONS] logfile-spec\n" \
+ 			"\n" \
+@@ -117,12 +123,17 @@
+ 			"   -e,        --european         European date formats (default)\n" \
+ 			"   -s,    --start-time=TIME   starting time\n" \
+ 			"   -z TZ, --time-zone=TZ      use TZ for timezone\n" \
++			SETUGID_USAGE \
+ 			"   -V,      --version         print version number, then exit\n"
+ 
+ 
+ /* Definition of the short and long program options */
+ 
++#ifndef _WIN32
++char          *short_options = "ad:eop:s:z:H:P:S:l:hVx:u:g:";
++#else
+ char          *short_options = "ad:eop:s:z:H:P:S:l:hVx:";
++#endif        
+ 
+ #ifndef _WIN32
+ struct option long_options[] =
+@@ -137,6 +148,8 @@
+     { "link",      	required_argument, 	NULL, 'l' },
+     { "period",		required_argument,	NULL, 'p' },
+     { "delay",		required_argument,	NULL, 'd' },
++    { "set-uid",      	required_argument,     	NULL, 'u' },
++    { "set-gid",      	required_argument,     	NULL, 'g' },
+     { "once-only", 	no_argument,       	NULL, 'o' },
+     { "help",      	no_argument,       	NULL, 'h' },
+     { "version",   	no_argument,       	NULL, 'V' }
+@@ -160,6 +173,12 @@
+     char	*template;
+     char	*linkname = NULL;
+     char	*prevlinkname = NULL;
++#ifndef _WIN32
++    uid_t	new_uid = 0;
++    gid_t	new_gid = 0;
++    int		change_uid = 0;
++    int		change_gid = 0;
++#endif
+     mode_t	linktype = 0;
+     int 	n_bytes_read;
+     int		ch;
+@@ -234,6 +253,16 @@
+ 	    }		
+ 	    break;
+ 	    
++#ifndef _WIN32
++	case 'u':
++	    new_uid = parse_uid(optarg, argv[0]);
++	    change_uid = 1;
++	    break;
++	case 'g':
++	    new_gid = parse_gid(optarg, argv[0]);
++	    change_gid = 1;
++	    break;
++#endif
+ 	case 'o':
+ 	    periodicity = ONCE_ONLY;
+ 	    break;
+@@ -265,6 +294,17 @@
+ 	fprintf(stderr, USAGE_MSG, argv[0]);
+ 	exit(1);
+     }
++
++#ifndef _WIN32
++    if (change_gid && setgid(new_gid) == -1) {
++	fprintf(stderr, "setgid: unable to change to gid: %d\n", new_gid);
++       	exit(1);
++    }
++    if (change_uid && setuid(new_uid) == -1) {
++	fprintf(stderr, "setuid: unable to change to uid: %d\n", new_uid);
++       	exit(1);
++    }
++#endif
+ 
+     DEBUG((VERSION_MSG "\n"));
+ 
+diff -Naur src/cronoutils.c src/cronoutils.c
+--- src/cronoutils.c	Thu May  3 17:43:21 2001
++++ src/cronoutils.c	Mon Jun  3 00:38:32 2002
+@@ -710,4 +710,50 @@
+     return retval;
+ }
+ 
+-    
++
++#ifndef _WIN32
++/* Turn a string specifying either a username or UID into an actual
++ * uid_t for use in setuid(). A string is assumed to be a UID if
++ * it contains only decimal digits. */
++uid_t
++parse_uid(char *user, char *argv0)
++{
++    char		*probe = user;
++    struct passwd	*ent;
++
++    while (*probe && isdigit(*probe)) {
++	probe++;
++    }
++    if (!(*probe)) {
++	return atoi(user);
++    }
++    if (!(ent = getpwnam(user))) {
++	fprintf(stderr, "%s: Bad username %s\n", argv0, user);
++	exit(1);
++    }
++    return (ent->pw_uid);
++}
++
++
++/* Turn a string specifying either a group name or GID into an actual
++ * gid_t for use in setgid(). A string is assumed to be a GID if
++ * it contains only decimal digits. */
++gid_t
++parse_gid(char *group, char *argv0)
++{
++    char		*probe = group;
++    struct group	*ent;
++
++    while (*probe && isdigit(*probe)) {
++	probe++;
++    }
++    if (!(*probe)) {
++	return atoi(group);
++    }
++    if (!(ent = getgrnam(group))) {
++	fprintf(stderr, "%s: Bad group name %s\n", argv0, group);
++	exit(1);
++    }
++    return (ent->gr_gid);
++}
++#endif /* _WIN32 */
+diff -Naur src/cronoutils.h src/cronoutils.h
+--- src/cronoutils.h	Thu May  3 17:40:12 2001
++++ src/cronoutils.h	Mon Jun  3 00:38:32 2002
+@@ -84,6 +84,8 @@
+ #include <limits.h>
+ #ifndef _WIN32
+ #include <unistd.h>
++#include <pwd.h>
++#include <grp.h>
+ #else
+ #include <io.h>
+ #include <direct.h>
+@@ -172,7 +174,8 @@
+ void		print_debug_msg(char *msg, ...);
+ time_t		parse_time(char *time_str, int);
+ char 		*timestamp(time_t thetime);
+-
++uid_t		parse_uid(char *user, char *argv0);
++gid_t		parse_gid(char *group, char *argv0);
+ 
+ /* Global variables */
+ 

Copied and modified: head/sysutils/cronolog/files/patch-src_cronoutils.c (from r402600, head/sysutils/cronolog/files/extrapatch-src_cronoutils.c)
==============================================================================
--- head/sysutils/cronolog/files/extrapatch-src_cronoutils.c	Sun Nov 29 14:53:21 2015	(r402600, copy source)
+++ head/sysutils/cronolog/files/patch-src_cronoutils.c	Sun Nov 29 15:41:07 2015	(r402603)
@@ -1,6 +1,6 @@
---- cronolog-1.6.2/src/cronoutils.c.orig	Thu May  3 17:43:21 2001
-+++ cronolog-1.6.2/src/cronoutils.c	Mon Dec 11 00:48:23 2006
-@@ -199,7 +199,7 @@
+--- src/cronoutils.c.orig	2013-12-04 14:46:09 UTC
++++ src/cronoutils.c
+@@ -199,7 +199,7 @@ create_link(char *pfilename, 
      {
  	unlink(prevlinkname);
      }

Modified: head/sysutils/cronolog/pkg-descr
==============================================================================
--- head/sysutils/cronolog/pkg-descr	Sun Nov 29 15:19:09 2015	(r402602)
+++ head/sysutils/cronolog/pkg-descr	Sun Nov 29 15:41:07 2015	(r402603)
@@ -21,4 +21,4 @@ After midnight the following files would
 	/www/logs/1997/01/01/access.log
 	/www/logs/1997/01/01/errors.log
 
-WWW: http://cronolog.org/
+WWW: https://github.com/fordmason/cronolog



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511291541.tATFf8ap034100>