Import of pkgsrc-2014Q1
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
# $NetBSD: Makefile,v 1.4 2013/05/31 12:42:03 wiz Exp $
|
||||
# $NetBSD: Makefile,v 1.5 2013/08/27 08:06:56 obache Exp $
|
||||
|
||||
DISTNAME= Quota-1.6.7
|
||||
DISTNAME= Quota-1.7.0
|
||||
PKGNAME= p5-${DISTNAME}
|
||||
PKGREVISION= 2
|
||||
CATEGORIES= sysutils perl5
|
||||
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Quota/}
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
$NetBSD: distinfo,v 1.1 2012/08/14 14:24:20 dholland Exp $
|
||||
$NetBSD: distinfo,v 1.2 2013/08/27 08:06:56 obache Exp $
|
||||
|
||||
SHA1 (Quota-1.6.7.tar.gz) = b81f4df0f159d2fc807ff403bd4946acdb6a2b4f
|
||||
RMD160 (Quota-1.6.7.tar.gz) = 188fa10cd739797a404e2b57e534710bf565344d
|
||||
Size (Quota-1.6.7.tar.gz) = 48631 bytes
|
||||
SHA1 (patch-aa) = 8f413ca8ed6d3c0c7bf94285ea4fa16805f3d39d
|
||||
SHA1 (patch-ab) = c1645e1c9e8a8c59373b7041f0b9fe8e19e5cda3
|
||||
SHA1 (patch-ac) = 61ce522f305948584590289b55c30063a20496fc
|
||||
SHA1 (Quota-1.7.0.tar.gz) = 237dae8a360560a25511d269fc6361d4c436b732
|
||||
RMD160 (Quota-1.7.0.tar.gz) = 8ded8582fa0256c9ed7f524427d99925a4c4f818
|
||||
Size (Quota-1.7.0.tar.gz) = 50342 bytes
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
$NetBSD: patch-aa,v 1.1 2012/08/14 14:24:20 dholland Exp $
|
||||
|
||||
Teach Makefile.PL about libquota.
|
||||
|
||||
--- Makefile.PL.orig 2011-11-13 16:21:52.000000000 +0100
|
||||
+++ Makefile.PL 2012-05-14 16:21:37.000000000 +0200
|
||||
@@ -33,6 +33,7 @@
|
||||
warn "WARNING: No appropriate hints found for this OS: '$os - see INSTALL'\n";
|
||||
}
|
||||
|
||||
+my $extralibs = "";
|
||||
|
||||
# check whether the Andrew File System (AFS) is installed and running
|
||||
|
||||
@@ -42,7 +43,7 @@
|
||||
$hasafs = '-DAFSQUOTA';
|
||||
$AFSHOME = -d "/usr/afsws" ? "/usr/afsws" : "/usr";
|
||||
$extrainc = "-I$AFSHOME/include -I$AFSHOME/include/afs";
|
||||
- $extralibs = "-L$AFSHOME/lib -L$AFSHOME/lib/afs -lsys -lrx -lrxkad -llwp";
|
||||
+ $extralibs .= " -L$AFSHOME/lib -L$AFSHOME/lib/afs -lsys -lrx -lrxkad -llwp";
|
||||
$afsquota = "afsquota.o";
|
||||
}
|
||||
}
|
||||
@@ -60,6 +61,11 @@
|
||||
# }
|
||||
}
|
||||
|
||||
+# check whether wee are using the NetBSD quota library
|
||||
+if ( ($os =~ /^NetBSD 6/) or ($os =~ /^NetBSD 5\.99\.(\d\d)/ and $1 >= 59) ) {
|
||||
+ $extralibs .= " -lquota";
|
||||
+}
|
||||
+
|
||||
#-----------------------------------------------------------------------------#
|
||||
|
||||
use ExtUtils::MakeMaker;
|
||||
@@ -1,35 +0,0 @@
|
||||
$NetBSD: patch-ab,v 1.1 2012/08/14 14:24:20 dholland Exp $
|
||||
|
||||
Extend hints/bsd.h to define NETBSD_LIBQUOTA and include <quota.h> on
|
||||
NetBSD >= 5.99.59.
|
||||
|
||||
--- hints/bsd.h.orig 2007-11-24 14:49:43.000000000 +0100
|
||||
+++ hints/bsd.h 2012-05-14 15:52:47.000000000 +0200
|
||||
@@ -9,6 +9,7 @@
|
||||
* and Jon Schewe <schewe@tcfreenet.org>
|
||||
* NetBSD mods and merge of *BSD-related hints provided by
|
||||
* Jaromir Dolecek <jdolecek@NetBSD.org>
|
||||
+ * NetBSD libquota mods by David Holland <dholland@netbsd.org>
|
||||
*/
|
||||
|
||||
/* See hints/none.h for a complete list of options with explanations */
|
||||
@@ -16,7 +17,19 @@
|
||||
#include <sys/param.h>
|
||||
#include <sys/mount.h>
|
||||
#include <fstab.h>
|
||||
+
|
||||
+#if defined(__NetBSD__) && __NetBSD_Version__ >= 599004800 && __NetBSD_Version__ < 599005900
|
||||
+#error "NetBSD 5.99 proplib-based quotas not supported"
|
||||
+#endif
|
||||
+
|
||||
+#if defined(__NetBSD__) && (__NetBSD_Version__ >= 599005900) /* NetBSD 5.99.59 */
|
||||
+#include <quota.h>
|
||||
+/* struct qblk needed for the way the XS handles NFS quota */
|
||||
+#include <ufs/ufs/quota1.h>
|
||||
+#define NETBSD_LIBQUOTA
|
||||
+#else
|
||||
#include <ufs/ufs/quota.h>
|
||||
+#endif
|
||||
|
||||
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
|
||||
/* NetBSD 3.0 has no statfs anymore */
|
||||
@@ -1,152 +0,0 @@
|
||||
$NetBSD: patch-ac,v 1.1 2012/08/14 14:24:20 dholland Exp $
|
||||
|
||||
Extend Quota.xs to use the new NetBSD 6 libquota interface.
|
||||
|
||||
--- Quota.xs.orig 2011-01-02 18:25:40.000000000 +0100
|
||||
+++ Quota.xs 2012-05-15 12:00:50.000000000 +0200
|
||||
@@ -331,6 +331,12 @@
|
||||
struct dqblk dqblk;
|
||||
char *p = NULL;
|
||||
int err;
|
||||
+ int pushed = 0;
|
||||
+#ifdef NETBSD_LIBQUOTA
|
||||
+ struct quotahandle *qh;
|
||||
+ struct quotakey qk;
|
||||
+ struct quotaval qv;
|
||||
+#endif
|
||||
#ifdef USE_IOCTL
|
||||
struct quotactl qp;
|
||||
int fd = -1;
|
||||
@@ -411,6 +417,35 @@
|
||||
#endif /* NO_RPC */
|
||||
}
|
||||
else {
|
||||
+#ifdef NETBSD_LIBQUOTA
|
||||
+ err = 0;
|
||||
+ qh = quota_open(dev);
|
||||
+ if (qh != NULL) {
|
||||
+ qk.qk_idtype = kind ? QUOTA_IDTYPE_GROUP : QUOTA_IDTYPE_USER;
|
||||
+ qk.qk_id = uid;
|
||||
+ qk.qk_objtype = QUOTA_OBJTYPE_BLOCKS;
|
||||
+ if (quota_get(qh, &qk, &qv) >= 0) {
|
||||
+ pushed = 1;
|
||||
+ EXTEND(SP, 4);
|
||||
+ PUSHs(sv_2mortal(newSViv(Q_DIV(qv.qv_usage))));
|
||||
+ PUSHs(sv_2mortal(newSViv(Q_DIV(qv.qv_softlimit))));
|
||||
+ PUSHs(sv_2mortal(newSViv(Q_DIV(qv.qv_hardlimit))));
|
||||
+ PUSHs(sv_2mortal(newSViv(qv.qv_expiretime)));
|
||||
+ qk.qk_objtype = QUOTA_OBJTYPE_FILES;
|
||||
+ if (quota_get(qh, &qk, &qv) >= 0) {
|
||||
+ EXTEND(SP, 4);
|
||||
+ PUSHs(sv_2mortal(newSViv(qv.qv_usage)));
|
||||
+ PUSHs(sv_2mortal(newSViv(qv.qv_softlimit)));
|
||||
+ PUSHs(sv_2mortal(newSViv(qv.qv_hardlimit)));
|
||||
+ PUSHs(sv_2mortal(newSViv(qv.qv_expiretime)));
|
||||
+ }
|
||||
+ else err = -1;
|
||||
+ }
|
||||
+ else err = -1;
|
||||
+ quota_close(qh);
|
||||
+ }
|
||||
+ else err = -1;
|
||||
+#else /* not NETBSD_LIBQUOTA */
|
||||
#ifdef USE_IOCTL
|
||||
qp.op = Q_GETQUOTA;
|
||||
qp.uid = uid;
|
||||
@@ -457,8 +492,9 @@
|
||||
#endif /* not Q_CTL_V2 */
|
||||
#endif /* Q_CTL_V3 */
|
||||
#endif /* not USE_IOCTL */
|
||||
+#endif /* not NETBSD_LIBQUOTA */
|
||||
}
|
||||
- if(!err) {
|
||||
+ if(!err && !pushed) {
|
||||
EXTEND(SP, 8);
|
||||
PUSHs(sv_2mortal(newSViv(Q_DIV(dqblk.QS_BCUR))));
|
||||
PUSHs(sv_2mortal(newSViv(Q_DIV(dqblk.QS_BSOFT))));
|
||||
@@ -479,15 +515,21 @@
|
||||
setqlim(dev,uid,bs,bh,fs,fh,timelimflag=0,kind=0)
|
||||
char * dev
|
||||
int uid
|
||||
- long bs
|
||||
- long bh
|
||||
- long fs
|
||||
- long fh
|
||||
+ double bs
|
||||
+ double bh
|
||||
+ double fs
|
||||
+ double fh
|
||||
int timelimflag
|
||||
int kind
|
||||
CODE:
|
||||
{
|
||||
+#ifdef NETBSD_LIBQUOTA
|
||||
+ struct quotahandle *qh;
|
||||
+ struct quotakey qk;
|
||||
+ struct quotaval qv;
|
||||
+#else /* not NETBSD_LIBQUOTA */
|
||||
struct dqblk dqblk;
|
||||
+#endif /* NETBSD_LIBQUOTA */
|
||||
#ifdef USE_IOCTL
|
||||
struct quotactl qp;
|
||||
int fd;
|
||||
@@ -563,6 +605,33 @@
|
||||
else
|
||||
#endif /* HAVE_JFS2 */
|
||||
{
|
||||
+#ifdef NETBSD_LIBQUOTA
|
||||
+ qh = quota_open(dev);
|
||||
+ if (qh != NULL) {
|
||||
+ qk.qk_idtype = kind ? QUOTA_IDTYPE_GROUP : QUOTA_IDTYPE_USER;
|
||||
+ qk.qk_id = uid;
|
||||
+ qk.qk_objtype = QUOTA_OBJTYPE_BLOCKS;
|
||||
+
|
||||
+ qv.qv_usage = 0;
|
||||
+ qv.qv_hardlimit = Q_MUL(bh);
|
||||
+ qv.qv_softlimit = Q_MUL(bs);
|
||||
+ qv.qv_expiretime = timelimflag;
|
||||
+ qv.qv_grace = 0; /* XXX should be able to manipulate this */
|
||||
+ if (quota_put(qh, &qk, &qv) >= 0) {
|
||||
+ qk.qk_objtype = QUOTA_OBJTYPE_FILES;
|
||||
+
|
||||
+ qv.qv_usage = 0;
|
||||
+ qv.qv_hardlimit = fh;
|
||||
+ qv.qv_softlimit = fs;
|
||||
+ qv.qv_expiretime = timelimflag;
|
||||
+ qv.qv_grace = 0; /* XXX should be able to manipulate this */
|
||||
+ if (quota_put(qh, &qk, &qv) >= 0) {
|
||||
+ RETVAL = 0;
|
||||
+ } else RETVAL = -1;
|
||||
+ } else RETVAL = -1;
|
||||
+ quota_close(qh);
|
||||
+ } else RETVAL = -1;
|
||||
+#else /* not NETBSD_LIBQUOTA */
|
||||
memset(&dqblk, 0, sizeof(dqblk));
|
||||
dqblk.QS_BSOFT = Q_MUL(bs);
|
||||
dqblk.QS_BHARD = Q_MUL(bh);
|
||||
@@ -588,6 +657,7 @@
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
+#endif /* NETBSD_LIBQUOTA */
|
||||
}
|
||||
}
|
||||
OUTPUT:
|
||||
@@ -616,6 +686,9 @@
|
||||
}
|
||||
else
|
||||
#endif
|
||||
+#ifdef NETBSD_LIBQUOTA
|
||||
+ RETVAL = 0;
|
||||
+#else /* not NETBSD_LIBQUOTA */
|
||||
#ifdef USE_IOCTL
|
||||
{
|
||||
struct quotactl qp;
|
||||
@@ -698,6 +771,7 @@
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
+#endif /* NETBSD_LIBQUOTA */
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
Reference in New Issue
Block a user