Re: What happened to DIOCGDINFO? Fwd: [package - head-amd64-default][misc/e2fsprogs-libblkid] Failed for e2fsprogs-libblkid-1.42.12 in build

2015-01-14 Thread Warner Losh

> On Jan 11, 2015, at 5:07 AM, Matthias Andree  wrote:
> 
> Am 11.01.2015 um 04:05 schrieb Ian Lepore:
> 
 Ident:  $FreeBSD: head/misc/e2fsprogs-libblkid/Makefile 370388 
 2014-10-07 19:15:52Z mandree $
 Log URL:
 http://beefy2.isc.freebsd.org/data/head-amd64-default/2015-01-10_14h05m40s/logs/e2fsprogs-libblkid-1.42.12.log
 Build URL:  
 http://beefy2.isc.freebsd.org/build.html?mastername=head-amd64-default&build=2015-01-10_14h05m40s
 Log:
>>> 
 cc -I. -I../../lib -I../../lib 
 -I/wrkdirs/usr/ports/misc/e2fsprogs-libblkid/work/e2fsprogs-1.42.12/lib 
 -I/usr/local/include -D_THREAD_SAFE -O2 -pipe  -fstack-protector 
 -fno-strict-aliasing -std=gnu99 -DHAVE_CONFIG_H -c getsize.c -o getsize.o
 getsize.c:151:31: error: use of undeclared identifier 'DIOCGDINFO'
if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 
 0)) {
^
 1 error generated.
> 
>> It was removed in r276737.  I don't know what replaces it.
> 
> Ted,
> 
> I am including a patch against e2fsprogs's "maint" branch to fix the
> build on the future FreeBSD 11+ versions. Please apply.
> 
> 
> Ian, Warner, *,
> 
> I think I've got a hold of this; the replacement appears to be
> DIOCGMEDIASIZE from , and has been for more than a decade,
> so that I had forgotten about it.
> 
> The e2fsprogs port has been using DIOCGMEDIASIZE for many years (phk
> added DIOCGMEDIASIZE on 2002-04-08, I added upstream support 2003-12-28
> but it underwent a few revisions, not worth bothering IMO)  judging from
> the source code comments, but one of the two getsize.c source files -
> the one in lib/blkid/ - lacks an #ifdef DIOCGDINFO guard and relies on
> #ifdef HAVE_SYS_DISKLABEL_H only and jams the build. The other one in
> lib/ext2fs/ had a guard that checked the actual ioctl #define.
> 
> Fix has been committed without Git markup in the FreeBSD ports tree,
> r376742.

These changes look good to me.

Warner


signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: What happened to DIOCGDINFO? Fwd: [package - head-amd64-default][misc/e2fsprogs-libblkid] Failed for e2fsprogs-libblkid-1.42.12 in build

2015-01-11 Thread Matthias Andree
Am 11.01.2015 um 04:05 schrieb Ian Lepore:

>>> Ident:  $FreeBSD: head/misc/e2fsprogs-libblkid/Makefile 370388 
>>> 2014-10-07 19:15:52Z mandree $
>>> Log URL:
>>> http://beefy2.isc.freebsd.org/data/head-amd64-default/2015-01-10_14h05m40s/logs/e2fsprogs-libblkid-1.42.12.log
>>> Build URL:  
>>> http://beefy2.isc.freebsd.org/build.html?mastername=head-amd64-default&build=2015-01-10_14h05m40s
>>> Log:
>>
>>> cc -I. -I../../lib -I../../lib 
>>> -I/wrkdirs/usr/ports/misc/e2fsprogs-libblkid/work/e2fsprogs-1.42.12/lib 
>>> -I/usr/local/include -D_THREAD_SAFE -O2 -pipe  -fstack-protector 
>>> -fno-strict-aliasing -std=gnu99 -DHAVE_CONFIG_H -c getsize.c -o getsize.o
>>> getsize.c:151:31: error: use of undeclared identifier 'DIOCGDINFO'
>>> if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 
>>> 0)) {
>>> ^
>>> 1 error generated.

> It was removed in r276737.  I don't know what replaces it.

Ted,

I am including a patch against e2fsprogs's "maint" branch to fix the
build on the future FreeBSD 11+ versions. Please apply.


Ian, Warner, *,

I think I've got a hold of this; the replacement appears to be
DIOCGMEDIASIZE from , and has been for more than a decade,
so that I had forgotten about it.

The e2fsprogs port has been using DIOCGMEDIASIZE for many years (phk
added DIOCGMEDIASIZE on 2002-04-08, I added upstream support 2003-12-28
but it underwent a few revisions, not worth bothering IMO)  judging from
the source code comments, but one of the two getsize.c source files -
the one in lib/blkid/ - lacks an #ifdef DIOCGDINFO guard and relies on
#ifdef HAVE_SYS_DISKLABEL_H only and jams the build. The other one in
lib/ext2fs/ had a guard that checked the actual ioctl #define.

Fix has been committed without Git markup in the FreeBSD ports tree,
r376742.

Thanks everybody.

Best regards,
Matthias
From 98ec1eeffd3e5752a775a73bec108945fe7a7a53 Mon Sep 17 00:00:00 2001
From: Matthias Andree 
Date: Sun, 11 Jan 2015 12:58:30 +0100
Subject: [PATCH] Fix build on FreeBSD 11 that removes DIOCGDINFO.

The replacement DIOCGMEDIASIZE has been in e2fsprogs since end of 2003,
but now the removal of the upstream system breaks the
lib/blkid/getsize.c build.  lib/ext2fs/getsize.c was unaffected because
it had already been checking if this ioctl symbol was #defined.

I haven't checked the situation on other BSDs, thus I am not sure if
others have DIOCGMEDIASIZE, so I propose to leave the DIOCGDINFO in.

Further cleanup opportunity:
consolidate lib/blkid/getsize.c and lib/ext2fs/getsize.c.

Signed-off-by: Matthias Andree 
---
 lib/blkid/getsize.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/blkid/getsize.c b/lib/blkid/getsize.c
index a5c40aa..dc4cc1b 100644
--- a/lib/blkid/getsize.c
+++ b/lib/blkid/getsize.c
@@ -127,7 +127,7 @@ blkid_loff_t blkid_get_dev_size(int fd)
 			return (blkid_loff_t)this_floppy.size << 9;
 	}
 #endif
-#ifdef HAVE_SYS_DISKLABEL_H
+#if defined(HAVE_SYS_DISKLABEL_H) && defined(DIOCGDINFO)
 	{
 		int part = -1;
 		struct disklabel lab;
@@ -154,7 +154,7 @@ blkid_loff_t blkid_get_dev_size(int fd)
 return pp->p_size << 9;
 		}
 	}
-#endif /* HAVE_SYS_DISKLABEL_H */
+#endif /* defined(HAVE_SYS_DISKLABEL_H) && defined(DIOCGDINFO) */
 	{
 #if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED)
 		struct stat64   st;
-- 
2.2.1



signature.asc
Description: OpenPGP digital signature


Re: What happened to DIOCGDINFO? Fwd: [package - head-amd64-default][misc/e2fsprogs-libblkid] Failed for e2fsprogs-libblkid-1.42.12 in build

2015-01-10 Thread Ian Lepore
On Sun, 2015-01-11 at 02:56 +0100, Matthias Andree wrote:
> Greetings,
> 
> I am getting new reports of package build failures on head (i386 and
> amd64 have reported these so far):
> 
> > Ident:  $FreeBSD: head/misc/e2fsprogs-libblkid/Makefile 370388 
> > 2014-10-07 19:15:52Z mandree $
> > Log URL:
> > http://beefy2.isc.freebsd.org/data/head-amd64-default/2015-01-10_14h05m40s/logs/e2fsprogs-libblkid-1.42.12.log
> > Build URL:  
> > http://beefy2.isc.freebsd.org/build.html?mastername=head-amd64-default&build=2015-01-10_14h05m40s
> > Log:
> 
> > cc -I. -I../../lib -I../../lib 
> > -I/wrkdirs/usr/ports/misc/e2fsprogs-libblkid/work/e2fsprogs-1.42.12/lib 
> > -I/usr/local/include -D_THREAD_SAFE -O2 -pipe  -fstack-protector 
> > -fno-strict-aliasing -std=gnu99 -DHAVE_CONFIG_H -c getsize.c -o getsize.o
> > getsize.c:151:31: error: use of undeclared identifier 'DIOCGDINFO'
> > if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 
> > 0)) {
> > ^
> > 1 error generated.
> 
> I haven't been watching 11-HEAD too closely, has this DIOCGDINFO symbol
> been relocated to a different header, removed (because the feature is
> going away -- and which would be the replacement), or is this a
> temporary failure (inadvertent error)?
> 
> To the best of my knowledge, and without retrying builds, the package
> builds fine on 8/9/10.
> 
> Thanks,
> Matthias

It was removed in r276737.  I don't know what replaces it.

-- Ian


___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"