Re: [Gptfdisk-general] compiling on openbsd
Brought to you by:
srs5694
|
From: Rod S. <rod...@ro...> - 2015-10-21 14:00:05
|
On 10/21/2015 09:11 AM, Joel Rees wrote:
> Well, actually, I have it compiling cleanly and appearing to function.
>
> Need to think about what kinds of tests I can run.
>
> Using make -f Makefile.freebsd brings /usr/local/include in so that
> uuid/uuid.h is found (and gets around the kludge, etc.).
>
> Here's the real diff:
Your patch is failing to apply because of e-mail transformations. Please
send it to me as an attachment, not inline.
> -----------------------
> diff --git a/diskio-unix.cc b/diskio-unix.cc
> index af71cdb..83b60f9 100644
> --- a/diskio-unix.cc
> +++ b/diskio-unix.cc
> @@ -248,6 +248,13 @@ int DiskIO::DiskSync(void) {
> << "You should reboot or remove the drive.\n";
> platformFound++;
> #endif
> +#if defined (__OpenBSD__) // Shamelessly parroting the FreeBSD code.
> + sleep(2);
> + i = fsync(fd); // Is this how to force a flush on a disk device?
> + cout << "Warning: The kernel may continue to use old or deleted
> partitions.\n"
> + << "You should reboot or remove the drive.\n";
> + platformFound++;
> +#endif
> #ifdef __linux__
> sleep(1); // Theoretically unnecessary, but ioctl() fails
> sometimes if omitted....
> fsync(fd);
> diff --git a/diskio.h b/diskio.h
> index 631a43a..c198f29 100644
>
> --- a/diskio.h
> +++ b/diskio.h
> @@ -29,7 +29,7 @@
> #include <sys/dkio.h>
> #endif
>
> -#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined
> (__APPLE__)
> +#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined
> (__OpenBSD__) || defined (__APPLE__)
> #define fstat64 fstat
> #define stat64 stat
> #endif
> diff --git a/guid.cc b/guid.cc
> index 1e73ab7..0fd8bfe 100644
> --- a/guid.cc
> +++ b/guid.cc
> @@ -147,6 +147,8 @@ void GUIDData::Randomize(void) {
> ReverseBytes(&uuidData[4], 2);
> ReverseBytes(&uuidData[6], 2);
> uuidGenerated = 1;
> +#else
>
> +# warning "not compiling in the uuid_generate()"
> #endif
> #if defined (_RPC_H) || defined (__RPC_H__)
> UUID MsUuid;
> diff --git a/support.h b/support.h
> index b888d92..dd3ea03 100644
> --- a/support.h
> +++ b/support.h
> @@ -10,7 +10,7 @@
>
> #define GPTFDISK_VERSION "1.0.1"
>
> -#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined
> (__APPLE__)
> +#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) ||
> (__OpenBSD__) || defined (__APPLE__)
> // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is
> no lseek64
> #include <sys/disk.h>
> #define lseek64 lseek
> ~
> ~
> -----------------------
>
> Whaddaya think?
>
> --
> Joel Rees
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Gptfdisk-general mailing list
> Gpt...@li...
> https://lists.sourceforge.net/lists/listinfo/gptfdisk-general
>
--
Rod Smith
rod...@ro...
http://www.rodsbooks.com
|