summaryrefslogtreecommitdiff
path: root/sysutils/linuxfdisk
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sysutils/linuxfdisk/Makefile27
-rw-r--r--sysutils/linuxfdisk/distinfo2
-rw-r--r--sysutils/linuxfdisk/files/linuxfdisk-Makefile35
-rw-r--r--sysutils/linuxfdisk/files/linuxfdisk-sys_bsd.c118
-rw-r--r--sysutils/linuxfdisk/files/patch-FreeBSD1204
-rw-r--r--sysutils/linuxfdisk/pkg-descr3
-rw-r--r--sysutils/linuxfdisk/pkg-plist6
7 files changed, 0 insertions, 1395 deletions
diff --git a/sysutils/linuxfdisk/Makefile b/sysutils/linuxfdisk/Makefile
deleted file mode 100644
index d12e03421164..000000000000
--- a/sysutils/linuxfdisk/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-PORTNAME= linuxfdisk
-PORTVERSION= 2.11z
-PORTREVISION= 2
-CATEGORIES= sysutils
-MASTER_SITES= KERNEL_ORG/linux/utils/util-linux/v2.11/ \
- http://ftp.be.debian.org/pub/linux/utils/util-linux/v2.11/ \
- ftp://segfault.kiev.ua/pub/
-DISTNAME= util-linux-${PORTVERSION}
-
-MAINTAINER= netch@netch.kiev.ua
-COMMENT= Fdisk, a partition tables manipulator, from util-linux
-
-DEPRECATED= This port is way out of date, use devel/util-linux instead
-EXPIRATION_DATE=2025-09-30
-
-LICENSE= GPLv2+
-
-BROKEN_aarch64= fails to build: error unknown architecture
-
-WRKSRC= ${WRKDIR}/util-linux-${PORTVERSION}/fdisk
-USES= tar:bzip2
-
-pre-patch:
- @${CP} ${FILESDIR}/linuxfdisk-Makefile ${WRKSRC}/Makefile
- @${CP} ${FILESDIR}/linuxfdisk-sys_bsd.c ${WRKSRC}/sys_bsd.c
-
-.include <bsd.port.mk>
diff --git a/sysutils/linuxfdisk/distinfo b/sysutils/linuxfdisk/distinfo
deleted file mode 100644
index f0db3601ce92..000000000000
--- a/sysutils/linuxfdisk/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (util-linux-2.11z.tar.bz2) = 8054e245b93df7061f8cb3ebe971e038ffd39a630b9c6ead654925a27961ee02
-SIZE (util-linux-2.11z.tar.bz2) = 1266784
diff --git a/sysutils/linuxfdisk/files/linuxfdisk-Makefile b/sysutils/linuxfdisk/files/linuxfdisk-Makefile
deleted file mode 100644
index 05a3cc461d78..000000000000
--- a/sysutils/linuxfdisk/files/linuxfdisk-Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-all: fdisk cfdisk sfdisk
-
-FDISK_OBJS = fdisk.o i386_sys_types.o partname.o \
- fdiskbsdlabel.o fdisksunlabel.o fdiskaixlabel.o fdisksgilabel.o \
- sys_bsd.o
-
-SFDISK_OBJS = sfdisk.o sys_bsd.o i386_sys_types.o partname.o getopt.o getopt1.o
-
-CFDISK_OBJS = cfdisk.o sys_bsd.o i386_sys_types.o
-
-CFLAGS += -DUTIL_LINUX_VERSION=\"2.11z\" -I../getopt/gnu
-
-INSTALL?= install -c
-## Debug
-#CFLAGS+= -O0 -g -Wall
-
-fdisk: $(FDISK_OBJS)
- $(CC) -o fdisk $(FDISK_OBJS)
-
-sfdisk: $(SFDISK_OBJS)
- $(CC) -o sfdisk $(SFDISK_OBJS)
-
-cfdisk: $(CFDISK_OBJS)
- $(CC) -o cfdisk $(CFDISK_OBJS) -lncurses
-
-getopt.o: ../getopt/gnu/getopt.c
-getopt1.o: ../getopt/gnu/getopt1.c
-
-install:
- $(INSTALL) -c -m 0555 -s fdisk ${DESTDIR}${PREFIX}/sbin/fdisk-linux
- $(INSTALL) -c -m 0555 -s cfdisk ${DESTDIR}${PREFIX}/sbin/cfdisk-linux
- $(INSTALL) -c -m 0555 -s sfdisk ${DESTDIR}${PREFIX}/sbin/sfdisk-linux
- $(INSTALL) -c -m 0644 fdisk.8 ${DESTDIR}${PREFIX}/share/man/man8/fdisk-linux.8
- $(INSTALL) -c -m 0644 cfdisk.8 ${DESTDIR}${PREFIX}/share/man/man8/cfdisk-linux.8
- $(INSTALL) -c -m 0644 sfdisk.8 ${DESTDIR}${PREFIX}/share/man/man8/sfdisk-linux.8
diff --git a/sysutils/linuxfdisk/files/linuxfdisk-sys_bsd.c b/sysutils/linuxfdisk/files/linuxfdisk-sys_bsd.c
deleted file mode 100644
index eb3a97ea9226..000000000000
--- a/sysutils/linuxfdisk/files/linuxfdisk-sys_bsd.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include <sys/param.h>
-#include <sys/disklabel.h>
-#if __FreeBSD_version < 500000
-#include <sys/diskslice.h>
-#include <sys/stat.h>
-#else
-#include <sys/disk.h>
-#include <errno.h>
-#endif
-#include <stddef.h>
-#include "common.h"
-
-unsigned int
-sys_bsd_sectorsize(int fd)
-{
-#ifdef DIOCGSECTORSIZE
- ;{
- unsigned int d;
- if (ioctl(fd, DIOCGSECTORSIZE, &d) == 0)
- return d;
- }
-#endif
-#ifdef DIOCGDINFO
- ;{
- struct disklabel dl;
- if (ioctl(fd, DIOCGDINFO, &dl) == 0)
- return dl.d_secsize;
- }
-#endif
-#ifdef DIOCGSLICEINFO
- ;{
- struct diskslices dss;
- if (ioctl(fd, DIOCGSLICEINFO, &dss) == 0)
- return dss.dss_secsize;
- }
-#endif
- return 0;
-}
-
-int
-sys_bsd_getsectors(int fd, unsigned long *s)
-{
- /* XXX */
- struct disklabel dl;
-#if defined(DIOCGMEDIASIZE) && defined(DIOCGSECTORSIZE)
- ;{
- off_t fullsize;
- unsigned sectsize;
- if (ioctl(fd, DIOCGMEDIASIZE, &fullsize) == 0 &&
- ioctl(fd, DIOCGSECTORSIZE, &sectsize) == 0)
- {
- *s = fullsize / sectsize;
- return 0;
- }
- }
-#endif
-#ifdef DIOCGSLICEINFO
- /* XXX it is somehow ugly, but seems to work on 4.x. */
- ;{
- struct diskslices dss;
- struct stat st;
- if (ioctl(fd, DIOCGSLICEINFO, &dss) == 0 &&
- fstat(fd, &st) == 0)
- {
- int slice = 31 & (st.st_rdev >> 16);
- /* If it have disklabel, fall to disklabel case,
- * because it shows more exact info.
- */
- if (slice != WHOLE_DISK_SLICE &&
- dss.dss_slices[slice].ds_label != NULL &&
- ioctl(fd, DIOCGDINFO, &dl) == 0) {
- *s = (unsigned long) dl.d_secperunit;
- return 0;
- }
- *s = dss.dss_slices[slice].ds_size;
- return 0;
- }
- }
-#endif
-#ifdef DIOCGDINFO
- /* Fallback method. */
- if (ioctl(fd, DIOCGDINFO, &dl) == 0) {
- *s = (unsigned long) dl.d_secperunit;
- return 0;
- }
-#endif
- return -1;
-}
-
-int
-sys_bsd_ptsync(int fd)
-{
-#ifdef DIOCSYNCSLICEINFO
- return ioctl(fd, DIOCSYNCSLICEINFO, NULL);
-#else
- /* XXX I suppose here GEOM systems which:
- * 1) Don't allow writing to raw disk if it is mounted anywhere,
- * 2) Automatically update GEOM structures after writing to disk.
- * Hence, no explicit syncing is required.
- */
- return 0;
-#endif
-}
-
-int
-sys_bsd_getgeometry(int fd, struct hd_geometry *g)
-{
- /* XXX */
- struct disklabel dl;
-#ifdef DIOCGDINFO
- if (ioctl(fd, DIOCGDINFO, &dl) < 0)
-#endif
- return -1;
- g->cylinders = dl.d_ncylinders;
- g->heads = dl.d_ntracks;
- g->sectors = dl.d_nsectors;
- return 0;
-}
diff --git a/sysutils/linuxfdisk/files/patch-FreeBSD b/sysutils/linuxfdisk/files/patch-FreeBSD
deleted file mode 100644
index 130d5fca5451..000000000000
--- a/sysutils/linuxfdisk/files/patch-FreeBSD
+++ /dev/null
@@ -1,1204 +0,0 @@
-diff -rNu cfdisk.c cfdisk.c
---- cfdisk.c Tue Nov 26 18:44:33 2002
-+++ cfdisk.c Fri Jun 20 19:47:15 2003
-@@ -76,25 +76,14 @@
- #include <string.h>
- #include <sys/stat.h>
- #include <sys/ioctl.h>
--#include <linux/types.h>
-
- #include "nls.h"
--#include "xstrncpy.h"
- #include "common.h"
-
--#if defined(__GNUC__) || defined(HAS_LONG_LONG)
--typedef long long ext2_loff_t;
--#else
--typedef long ext2_loff_t;
--#endif
--
--extern ext2_loff_t ext2_llseek(unsigned int fd, ext2_loff_t offset,
-- unsigned int origin);
--
- #define VERSION UTIL_LINUX_VERSION
-
--#define DEFAULT_DEVICE "/dev/hda"
--#define ALTERNATE_DEVICE "/dev/sda"
-+#define DEFAULT_DEVICE "/dev/ada0"
-+#define ALTERNATE_DEVICE "/dev/da0"
-
- /* With K=1024 we have `binary' megabytes, gigabytes, etc.
- Some misguided hackers like that.
-@@ -324,7 +313,8 @@
- int logical = 0;
- int logical_sectors[MAXIMUM_PARTS];
-
--__sighandler_t old_SIGINT, old_SIGTERM;
-+void (*old_SIGINT)(int);
-+void (*old_SIGTERM)(int);
-
- int arrow_cursor = FALSE;
- int display_units = MEGABYTES;
-@@ -571,7 +561,7 @@
-
- static void
- read_sector(char *buffer, int sect_num) {
-- if (ext2_llseek(fd, ((ext2_loff_t) sect_num)*SECTOR_SIZE, SEEK_SET) < 0)
-+ if (lseek(fd, ((off_t) sect_num)*SECTOR_SIZE, SEEK_SET) < 0)
- fatal(_("Cannot seek on disk drive"), 2);
- if (read(fd, buffer, SECTOR_SIZE) != SECTOR_SIZE)
- fatal(_("Cannot read disk drive"), 2);
-@@ -579,7 +569,7 @@
-
- static void
- write_sector(char *buffer, int sect_num) {
-- if (ext2_llseek(fd, ((ext2_loff_t) sect_num)*SECTOR_SIZE, SEEK_SET) < 0)
-+ if (lseek(fd, ((off_t) sect_num)*SECTOR_SIZE, SEEK_SET) < 0)
- fatal(_("Cannot seek on disk drive"), 2);
- if (write(fd, buffer, SECTOR_SIZE) != SECTOR_SIZE)
- fatal(_("Cannot write disk drive"), 2);
-@@ -603,11 +593,11 @@
- #define DOS_OSTYPE_SZ 8
- #define DOS_LABEL_SZ 11
- #define DOS_FSTYPE_SZ 8
-- ext2_loff_t offset;
-+ off_t offset;
-
-- offset = ((ext2_loff_t) p_info[i].first_sector + p_info[i].offset)
-+ offset = ((off_t) p_info[i].first_sector + p_info[i].offset)
- * SECTOR_SIZE;
-- if (ext2_llseek(fd, offset, SEEK_SET) == offset
-+ if (lseek(fd, offset, SEEK_SET) == offset
- && read(fd, &sector, sizeof(sector)) == sizeof(sector)) {
- dos_copy_to_info(p_info[i].ostype, OSTYPESZ,
- sector+DOS_OSTYPE_OFFSET, DOS_OSTYPE_SZ);
-@@ -664,12 +654,12 @@
- } xfsb;
-
- char *label;
-- ext2_loff_t offset;
-+ off_t offset;
- int j;
-
-- offset = ((ext2_loff_t) p_info[i].first_sector + p_info[i].offset)
-+ offset = ((off_t) p_info[i].first_sector + p_info[i].offset)
- * SECTOR_SIZE + 1024;
-- if (ext2_llseek(fd, offset, SEEK_SET) == offset
-+ if (lseek(fd, offset, SEEK_SET) == offset
- && read(fd, &e2fsb, sizeof(e2fsb)) == sizeof(e2fsb)
- && e2fsb.s_magic[0] + (e2fsb.s_magic[1]<<8) == EXT2_SUPER_MAGIC) {
- label = e2fsb.s_volume_name;
-@@ -684,9 +674,9 @@
- return;
- }
-
-- offset = ((ext2_loff_t) p_info[i].first_sector + p_info[i].offset)
-+ offset = ((off_t) p_info[i].first_sector + p_info[i].offset)
- * SECTOR_SIZE + 0;
-- if (ext2_llseek(fd, offset, SEEK_SET) == offset
-+ if (lseek(fd, offset, SEEK_SET) == offset
- && read(fd, &xfsb, sizeof(xfsb)) == sizeof(xfsb)
- && !strcmp(xfsb.s_magic, XFS_SUPER_MAGIC)) {
- label = xfsb.s_fname;
-@@ -698,9 +688,9 @@
- }
-
- /* reiserfs? */
-- offset = ((ext2_loff_t) p_info[i].first_sector + p_info[i].offset)
-+ offset = ((off_t) p_info[i].first_sector + p_info[i].offset)
- * SECTOR_SIZE + REISERFS_DISK_OFFSET_IN_BYTES;
-- if (ext2_llseek(fd, offset, SEEK_SET) == offset
-+ if (lseek(fd, offset, SEEK_SET) == offset
- && read(fd, &reiserfsb, 1024) == 1024
- && is_reiserfs_magic_string(&reiserfsb)) {
- strncpy(p_info[i].fstype, "reiserfs", FSTYPESZ);
-@@ -1140,7 +1130,7 @@
- print_warning(_("Menu item too long. Menu may look odd."));
- #endif
- if (lenName >= sizeof(buff)) { /* truncate ridiculously long string */
-- xstrncpy(buff, mi, sizeof(buff));
-+ strlcpy(buff, mi, sizeof(buff));
- } else {
- snprintf(buff, sizeof(buff),
- (menuType & MENU_BUTTON) ? "[%*s%-*s]" : "%*s%-*s",
-@@ -1605,17 +1595,7 @@
- opentype = O_RDWR;
- opened = TRUE;
-
-- /* Blocks are visible in more than one way:
-- e.g. as block on /dev/hda and as block on /dev/hda3
-- By a bug in the Linux buffer cache, we will see the old
-- contents of /dev/hda when the change was made to /dev/hda3.
-- In order to avoid this, discard all blocks on /dev/hda.
-- Note that partition table blocks do not live in /dev/hdaN,
-- so this only plays a role if we want to show volume labels. */
-- ioctl(fd, BLKFLSBUF); /* ignore errors */
-- /* e.g. Permission Denied */
--
-- if (ioctl(fd, BLKGETSIZE, &actual_size))
-+ if (sys_bsd_getsectors(fd, &actual_size))
- fatal(_("Cannot get disk size"), 3);
-
- read_sector(buffer.c.b, 0);
-@@ -1824,7 +1804,7 @@
- if (is_bdev) {
- sync();
- sleep(2);
-- if (!ioctl(fd,BLKRRPART))
-+ if (!sys_bsd_ptsync(fd))
- changed = TRUE;
- sync();
- sleep(4);
-@@ -2850,9 +2830,11 @@
- int c;
- int i, len;
-
-+#if 0
- setlocale(LC_ALL, "");
- bindtextdomain(PACKAGE, LOCALEDIR);
- textdomain(PACKAGE);
-+#endif
-
- while ((c = getopt(argc, argv, "ac:gh:s:vzP:")) != -1)
- switch (c) {
-diff -rNu common.h common.h
---- common.h Thu May 9 02:50:35 2002
-+++ common.h Fri Jun 20 19:25:55 2003
-@@ -1,11 +1,10 @@
- /* common stuff for fdisk, cfdisk, sfdisk */
-
--/* including <linux/fs.h> fails */
--#include <sys/ioctl.h>
--#define BLKRRPART _IO(0x12,95) /* re-read partition table */
--#define BLKGETSIZE _IO(0x12,96) /* return device size */
--#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
--#define BLKSSZGET _IO(0x12,104) /* get block device sector size */
-+#include <sys/types.h>
-+typedef u_int16_t __u16;
-+typedef u_int32_t __u32;
-+typedef int16_t __s16;
-+typedef u_int8_t __u8;
-
- /* including <linux/hdreg.h> also fails */
- struct hd_geometry {
-@@ -15,9 +14,6 @@
- unsigned long start;
- };
-
--#define HDIO_GETGEO 0x0301 /* get device geometry */
--
--
- struct systypes {
- unsigned char type;
- char *name;
-@@ -26,3 +22,8 @@
- extern struct systypes i386_sys_types[];
-
- extern char *partname(char *dev, int pno, int lth);
-+
-+unsigned int sys_bsd_sectorsize(int fd);
-+int sys_bsd_getsectors(int fd, unsigned long* s);
-+int sys_bsd_ptsync(int fd);
-+int sys_bsd_getgeometry(int, struct hd_geometry*);
-diff -rNu fdisk.c fdisk.c
---- fdisk.c Sat Nov 23 18:05:24 2002
-+++ fdisk.c Fri Jun 20 19:25:55 2003
-@@ -37,11 +37,6 @@
- #include "fdisksgilabel.h"
- #include "fdiskaixlabel.h"
-
--#include "../defines.h"
--#ifdef HAVE_blkpg_h
--#include <linux/blkpg.h>
--#endif
--
- static void delete_partition(int i);
-
- #define hex_val(c) ({ \
-@@ -194,23 +189,21 @@
-
- switch (why) {
- case usage: message = _(
--"Usage: fdisk [-b SSZ] [-u] DISK Change partition table\n"
--" fdisk -l [-b SSZ] [-u] DISK List partition table(s)\n"
--" fdisk -s PARTITION Give partition size(s) in blocks\n"
--" fdisk -v Give fdisk version\n"
--"Here DISK is something like /dev/hdb or /dev/sda\n"
--"and PARTITION is something like /dev/hda7\n"
-+"Usage: fdisk-linux [-b SSZ] [-u] DISK Change partition table\n"
-+" fdisk-linux -l [-b SSZ] [-u] DISK List partition table(s)\n"
-+" fdisk-linux -s PARTITION Give partition size(s) in blocks\n"
-+" fdisk-linux -v Give fdisk version\n"
-+"Here DISK is something like /dev/ada1 or /dev/da0\n"
-+"and PARTITION is something like /dev/ada0s7\n"
- "-u: give Start and End in sector (instead of cylinder) units\n"
- "-b 2048: (for certain MO disks) use 2048-byte sectors\n");
- break;
- case usage2:
- /* msg in cases where fdisk used to probe */
- message = _(
--"Usage: fdisk [-l] [-b SSZ] [-u] device\n"
--"E.g.: fdisk /dev/hda (for the first IDE disk)\n"
--" or: fdisk /dev/sdc (for the third SCSI disk)\n"
--" or: fdisk /dev/eda (for the first PS/2 ESDI drive)\n"
--" or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)\n"
-+"Usage: fdisk-linux [-l] [-b SSZ] [-u] device\n"
-+"E.g.: fdisk-linux /dev/ada0 (for the first ATA disk)\n"
-+" or: fdisk-linux /dev/da2 (for the third SCSI disk)\n"
- " ...\n");
- break;
- case unable_to_open:
-@@ -231,7 +224,7 @@
- break;
- case ioctl_error:
- snprintf(error, sizeof(error),
-- _("BLKGETSIZE ioctl failed on %s\n"),
-+ _("DIOCGDINFO ioctl failed on %s\n"),
- disk_device);
- break;
- case out_of_memory:
-@@ -248,8 +241,8 @@
-
- static void
- seek_sector(int fd, uint secno) {
-- ext2_loff_t offset = (ext2_loff_t) secno * sector_size;
-- if (ext2_llseek(fd, offset, SEEK_SET) == (ext2_loff_t) -1)
-+ off_t offset = (off_t) secno * sector_size;
-+ if (lseek(fd, offset, SEEK_SET) == (off_t) -1)
- fatal(unable_to_seek);
- }
-
-@@ -725,53 +718,23 @@
- get_boot(create_empty_dos);
- }
-
--#include <sys/utsname.h>
--#define MAKE_VERSION(p,q,r) (65536*(p) + 256*(q) + (r))
--
--static int
--linux_version_code(void) {
-- static int kernel_version = 0;
-- struct utsname my_utsname;
-- int p, q, r;
--
-- if (!kernel_version && uname(&my_utsname) == 0) {
-- p = atoi(strtok(my_utsname.release, "."));
-- q = atoi(strtok(NULL, "."));
-- r = atoi(strtok(NULL, "."));
-- kernel_version = MAKE_VERSION(p,q,r);
-- }
-- return kernel_version;
--}
--
- static void
- get_sectorsize(int fd) {
--#if defined(BLKSSZGET)
-- if (!user_set_sector_size &&
-- linux_version_code() >= MAKE_VERSION(2,3,3)) {
-- int arg;
-- if (ioctl(fd, BLKSSZGET, &arg) == 0)
-- sector_size = arg;
-- if (sector_size != DEFAULT_SECTOR_SIZE)
-- printf(_("Note: sector size is %d (not %d)\n"),
-- sector_size, DEFAULT_SECTOR_SIZE);
-- }
--#else
-- /* maybe the user specified it; and otherwise we still
-- have the DEFAULT_SECTOR_SIZE default */
--#endif
-+ unsigned int r = sys_bsd_sectorsize(fd);
-+ if (r)
-+ sector_size = r;
-+ if (sector_size != DEFAULT_SECTOR_SIZE)
-+ printf(_("Note: sector size is %d (not %d)\n"),
-+ sector_size, DEFAULT_SECTOR_SIZE);
- }
-
- static void
- get_kernel_geometry(int fd) {
--#ifdef HDIO_GETGEO
-- struct hd_geometry geometry;
--
-- if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
-- kern_heads = geometry.heads;
-- kern_sectors = geometry.sectors;
-- /* never use geometry.cylinders - it is truncated */
-+ struct hd_geometry h;
-+ if (!sys_bsd_getgeometry(fd, &h)) {
-+ kern_heads = h.heads;
-+ kern_sectors = h.sectors;
- }
--#endif
- }
-
- static void
-@@ -813,7 +776,7 @@
-
- get_sectorsize(fd);
- sec_fac = sector_size / 512;
-- guess_device_type(fd);
-+ //guess_device_type(fd);
- heads = cylinders = sectors = 0;
- kern_heads = kern_sectors = 0;
- pt_heads = pt_sectors = 0;
-@@ -828,8 +791,11 @@
- pt_sectors ? pt_sectors :
- kern_sectors ? kern_sectors : 63;
-
-- if (ioctl(fd, BLKGETSIZE, &longsectors))
-- longsectors = 0;
-+ ;{
-+ unsigned long r;
-+ if (sys_bsd_getsectors(fd, &r) == 0)
-+ longsectors = r;
-+ }
-
- sector_offset = 1;
- if (dos_compatible_flag)
-@@ -1404,7 +1370,7 @@
- * Jan. 1990 (version 1.2.1 by Gordon W. Ross Aug. 1990; Modified by S.
- * Lubkin Oct. 1991). */
-
--static void long2chs(ulong ls, uint *c, uint *h, uint *s) {
-+static void long2chs(unsigned long ls, uint *c, uint *h, uint *s) {
- int spc = heads * sectors;
-
- *c = ls / spc;
-@@ -2102,16 +2068,8 @@
- printf(_("Calling ioctl() to re-read partition table.\n"));
- sync();
- sleep(2);
-- if ((i = ioctl(fd, BLKRRPART)) != 0) {
-+ if ((i = sys_bsd_ptsync(fd)) != 0) {
- error = errno;
-- } else {
-- /* some kernel versions (1.2.x) seem to have trouble
-- rereading the partition table, but if asked to do it
-- twice, the second time works. - biro@yggdrasil.com */
-- sync();
-- sleep(2);
-- if ((i = ioctl(fd, BLKRRPART)) != 0)
-- error = errno;
- }
-
- if (i) {
-@@ -2403,9 +2361,11 @@
- int j, c;
- int optl = 0, opts = 0;
-
-+#if 0
- setlocale(LC_ALL, "");
- bindtextdomain(PACKAGE, LOCALEDIR);
- textdomain(PACKAGE);
-+#endif
-
- /*
- * Calls:
-@@ -2455,7 +2415,7 @@
- break;
- case 'V':
- case 'v':
-- printf("fdisk v" UTIL_LINUX_VERSION "\n");
-+ printf("fdisk v" UTIL_LINUX_VERSION "-freebsd-portbld\n");
- exit(0);
- default:
- fatal(usage);
-@@ -2504,7 +2464,7 @@
- disk_device = argv[j];
- if ((fd = open(disk_device, type_open)) < 0)
- fatal(unable_to_open);
-- if (ioctl(fd, BLKGETSIZE, &size))
-+ if (sys_bsd_getsectors(fd, &size))
- fatal(ioctl_error);
- close(fd);
- if (opts == 1)
-diff -rNu fdisk.h fdisk.h
---- fdisk.h 2001-09-13 23:05:35 UTC
-+++ fdisk.h
-@@ -101,4 +101,4 @@
- /* prototypes for fdisksgilabel.c */
- extern int valid_part_table_flag(unsigned char *b);
-
--#define PROC_PARTITIONS "/proc/partitions"
-+#define PROC_PARTITIONS "/compat/linux/proc/partitions"
-diff -rNu fdiskaixlabel.c fdiskaixlabel.c
---- fdiskaixlabel.c Tue Apr 18 15:21:28 2000
-+++ fdiskaixlabel.c Fri Jun 20 19:25:55 2003
-@@ -8,7 +8,7 @@
- #include <string.h> /* strstr */
- #include <unistd.h> /* write */
-
--#include <endian.h>
-+#include <sys/endian.h>
-
- #include "common.h"
- #include "fdisk.h"
-diff -rNu fdiskaixlabel.h fdiskaixlabel.h
---- fdiskaixlabel.h Sun Feb 20 18:50:51 2000
-+++ fdiskaixlabel.h Fri Jun 20 19:25:55 2003
-@@ -1,4 +1,3 @@
--#include <linux/types.h> /* for __u32 etc */
- /*
- * Copyright (C) Andreas Neuper, Sep 1998.
- * This file may be redistributed under
-diff -rNu fdiskbsdlabel.c fdiskbsdlabel.c
---- fdiskbsdlabel.c Thu Oct 31 15:43:42 2002
-+++ fdiskbsdlabel.c Fri Jun 20 19:25:55 2003
-@@ -566,7 +566,7 @@
- sector = get_start_sect(xbsd_part);
- #endif
-
-- if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
-+ if (lseek (fd, (off_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
- fatal (unable_to_seek);
- if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
- fatal (unable_to_write);
-@@ -735,7 +735,7 @@
- sector = 0;
- #endif
-
-- if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
-+ if (lseek (fd, (off_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
- fatal (unable_to_seek);
- if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
- fatal (unable_to_read);
-@@ -781,12 +781,12 @@
-
- #if defined (__alpha__) && BSD_LABELSECTOR == 0
- alpha_bootblock_checksum (disklabelbuffer);
-- if (ext2_llseek (fd, (ext2_loff_t) 0, SEEK_SET) == -1)
-+ if (lseek (fd, (off_t) 0, SEEK_SET) == -1)
- fatal (unable_to_seek);
- if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
- fatal (unable_to_write);
- #else
-- if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
-+ if (lseek (fd, (off_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
- SEEK_SET) == -1)
- fatal (unable_to_seek);
- if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel)))
-@@ -847,9 +847,11 @@
-
- #if defined (__alpha__)
-
-+/*
- #if !defined(__GLIBC__)
- typedef unsigned long long u_int64_t;
- #endif
-+*/
-
- void
- alpha_bootblock_checksum (char *boot)
-diff -rNu fdiskbsdlabel.h fdiskbsdlabel.h
---- fdiskbsdlabel.h Thu Oct 31 15:45:34 2002
-+++ fdiskbsdlabel.h Fri Jun 20 19:25:55 2003
-@@ -31,8 +31,6 @@
- * SUCH DAMAGE.
- */
-
--#include <linux/types.h> /* for __u32, __u16, __u8, __s16 */
--
- #ifndef BSD_DISKMAGIC
- #define BSD_DISKMAGIC ((__u32) 0x82564557)
- #endif
-diff -rNu fdisksgilabel.c fdisksgilabel.c
---- fdisksgilabel.c Thu May 9 02:51:31 2002
-+++ fdisksgilabel.c Fri Jun 20 19:25:55 2003
-@@ -17,9 +17,8 @@
- #include <sys/stat.h> /* stat */
- #include <assert.h> /* assert */
-
--#include <endian.h>
-+#include <sys/endian.h>
- #include "nls.h"
--#include <linux/major.h> /* FLOPPY_MAJOR */
-
- #include "common.h"
- #include "fdisk.h"
-@@ -382,7 +381,7 @@
- */
- sgiinfo*info = fill_sgiinfo(); /* fills the block appropriately */
- int infostartblock = SSWAP32( sgilabel->directory[0].vol_file_start );
-- if( ext2_llseek(fd, (ext2_loff_t)infostartblock*
-+ if( lseek(fd, (off_t)infostartblock*
- SECTOR_SIZE, SEEK_SET) < 0 )
- fatal(unable_to_seek);
- if( write(fd, info, SECTOR_SIZE) != SECTOR_SIZE )
-@@ -735,11 +734,7 @@
-
- other_endian = (BYTE_ORDER == LITTLE_ENDIAN);
-
--#ifdef HDIO_REQ
-- if (!ioctl(fd, HDIO_REQ, &geometry))
--#else
-- if (!ioctl(fd, HDIO_GETGEO, &geometry))
--#endif
-+ if (!sys_bsd_getgeometry(fd, &geometry))
- {
- heads = geometry.heads;
- sectors = geometry.sectors;
-diff -rNu fdisksgilabel.h fdisksgilabel.h
---- fdisksgilabel.h Tue Feb 20 12:26:53 2001
-+++ fdisksgilabel.h Fri Jun 20 19:25:55 2003
-@@ -1,4 +1,3 @@
--#include <linux/types.h> /* for __u32 etc */
- /*
- * Copyright (C) Andreas Neuper, Sep 1998.
- * This file may be modified and redistributed under
-diff -rNu fdisksunlabel.c fdisksunlabel.c
---- fdisksunlabel.c Fri Nov 1 03:55:25 2002
-+++ fdisksunlabel.c Fri Jun 20 19:25:55 2003
-@@ -16,18 +16,18 @@
- #include <unistd.h> /* write */
- #include <sys/ioctl.h> /* ioctl */
- #include <sys/stat.h> /* stat */
--#include <sys/sysmacros.h> /* major */
-+//#include <sys/sysmacros.h> /* major */
-
- #include "nls.h"
-
--#include <endian.h>
--#include "../defines.h" /* for HAVE_scsi_h */
-+#include <sys/endian.h>
-+//#include "../defines.h" /* for HAVE_scsi_h */
- #ifdef HAVE_scsi_h
- #define u_char unsigned char
- #include <scsi/scsi.h> /* SCSI_IOCTL_GET_IDLUN */
- #undef u_char
- #endif
--#include <linux/major.h> /* FLOPPY_MAJOR */
-+//#include <linux/major.h> /* FLOPPY_MAJOR */
-
- #include "common.h"
- #include "fdisk.h"
-@@ -71,6 +71,7 @@
- return SSWAP32(p.num_sectors);
- }
-
-+#if 0
- #ifndef IDE0_MAJOR
- #define IDE0_MAJOR 3
- #endif
-@@ -97,6 +98,7 @@
- floppy = 0;
- }
- }
-+#endif
-
- static void
- set_sun_partition(int i, uint start, uint stop, int sysid) {
-@@ -296,11 +298,7 @@
- }
- }
- if (!p || floppy) {
--#ifdef HDIO_REQ
-- if (!ioctl(fd, HDIO_REQ, &geometry)) {
--#else
-- if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
--#endif
-+ if (!sys_bsd_getgeometry(fd, &geometry)) {
- heads = geometry.heads;
- sectors = geometry.sectors;
- cylinders = geometry.cylinders;
-diff -rNu fdisksunlabel.h fdisksunlabel.h
---- fdisksunlabel.h Tue Oct 3 00:42:10 2000
-+++ fdisksunlabel.h Fri Jun 20 19:25:55 2003
-@@ -1,4 +1,3 @@
--#include <linux/types.h> /* for __u16, __u32 */
-
- typedef struct {
- unsigned char info[128]; /* Informative text string */
-diff -rNu nls.h nls.h
---- nls.h Thu Jan 1 03:00:00 1970
-+++ nls.h Fri Jun 20 19:25:55 2003
-@@ -0,0 +1,2 @@
-+#define _(x) (x)
-+#define N_(x) (x)
-diff -rNu partname.c partname.c
---- partname.c Sun Jul 7 15:16:43 2002
-+++ partname.c Fri Jun 20 19:25:55 2003
-@@ -21,14 +21,16 @@
- p = "";
-
- if (isdigit(dev[w-1]))
-- p = "p";
-+ p = "s";
-
-+#if 0
- /* devfs kludge - note: fdisk partition names are not supposed
- to equal kernel names, so there is no reason to do this */
- if (strcmp (dev + w - 4, "disc") == 0) {
- w -= 4;
- p = "part";
- }
-+#endif
-
- wp = strlen(p);
-
-diff -rNu sfdisk.8 sfdisk.8
---- sfdisk.8 Fri Jun 20 20:37:34 2003
-+++ sfdisk.8 Fri Jun 20 20:43:24 2003
-@@ -9,9 +9,9 @@
- .SH NAME
- sfdisk \- Partition table manipulator for Linux
- .SH SYNOPSIS
--.BR sfdisk " [options] device"
-+.BR sfdisk-linux " [options] device"
- .br
--.BR "sfdisk \-s " [partition]
-+.BR "sfdisk-linux \-s " [partition]
- .SH DESCRIPTION
- .B sfdisk
- has four (main) uses: list the size of a partition, list the partitions
-@@ -19,7 +19,7 @@
- repartition a device.
-
- .SS "List Sizes"
--.BI "sfdisk \-s " partition
-+.BI "sfdisk-linux \-s " partition
- gives the size of
- .I partition
- in blocks. This may be useful in connection with programs like
-@@ -27,16 +27,16 @@
- or so. Here
- .I partition
- is usually something like
--.I /dev/hda1
-+.I /dev/ada0s1
- or
--.IR /dev/sdb12 ,
-+.IR /dev/da2s12 ,
- but may also be an entire disk, like
--.IR /dev/xda .
-+.IR /dev/amrd0 .
- .br
- .RS
- .nf
- .if t .ft CW
--% sfdisk \-s /dev/hda9
-+% sfdisk-linux \-s /dev/ada0s9
- 81599
- %
- .if t .ft R
-@@ -49,12 +49,12 @@
- .RS
- .nf
- .if t .ft CW
--% sfdisk \-s
--/dev/hda: 208896
--/dev/hdb: 1025136
--/dev/hdc: 1031063
--/dev/sda: 8877895
--/dev/sdb: 1758927
-+% sfdisk-linux \-s
-+/dev/ada0: 208896
-+/dev/ada1: 1025136
-+/dev/ada2: 1031063
-+/dev/da0: 8877895
-+/dev/da1: 1758927
- total: 12901917 blocks
- %
- .if t .ft R
-@@ -70,16 +70,16 @@
- .br
- .nf
- .if t .ft CW
--% sfdisk \-l /dev/hdc
-+% sfdisk-linux \-l /dev/ada2
-
--Disk /dev/hdc: 16 heads, 63 sectors, 2045 cylinders
-+Disk /dev/ada2: 16 heads, 63 sectors, 2045 cylinders
- Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
-
- Device Boot Start End #cyls #blocks Id System
--/dev/hdc1 0+ 406 407\- 205096+ 83 Linux native
--/dev/hdc2 407 813 407 205128 83 Linux native
--/dev/hdc3 814 2044 1231 620424 83 Linux native
--/dev/hdc4 0 \- 0 0 0 Empty
-+/dev/ada2s1 0+ 406 407\- 205096+ 83 Linux native
-+/dev/ada2s2 407 813 407 205128 83 Linux native
-+/dev/ada2s3 814 2044 1231 620424 83 Linux native
-+/dev/ada2s4 0 \- 0 0 0 Empty
- %
- .if t .ft R
- .fi
-@@ -89,17 +89,17 @@
-
- .SS "Check partitions"
- The third type of invocation:
--.BI "sfdisk \-V " device
-+.BI "sfdisk-linux \-V " device
- will apply various consistency checks to the partition tables on
- .IR device .
- It prints `OK' or complains. The \-V option can be used together
- with \-l. In a shell script one might use
--.BI "sfdisk \-V \-q " device
-+.BI "sfdisk-linux \-V \-q " device
- which only returns a status.
-
- .SS "Create partitions"
- The fourth type of invocation:
--.BI "sfdisk " device
-+.BI "sfdisk-linux " device
- will cause
- .B sfdisk
- to read the specification for the desired partitioning of
-@@ -119,7 +119,7 @@
- .RS
- .nf
- .if t .ft CW
--% sfdisk /dev/hdd \-O hdd-partition-sectors.save
-+% sfdisk-linux /dev/ada3 \-O ada3-partition-sectors.save
- \&...
- %
- .if t .ft R
-@@ -132,7 +132,7 @@
- .RS
- .nf
- .if t .ft CW
--% sfdisk /dev/hdd \-I hdd-partition-sectors.save
-+% sfdisk-linux /dev/ada3 \-I ada3-partition-sectors.save
- %
- .if t .ft R
- .fi
-@@ -176,8 +176,8 @@
- .br
- .nf
- .if t .ft CW
-- % sfdisk -d /dev/hda > hda.out
-- % sfdisk /dev/hda < hda.out
-+ % sfdisk-linux -d /dev/ada0 > ada0.out
-+ % sfdisk-linux /dev/ada0 < ada0.out
- .if t .ft R
- .fi
- will correct the bad last extended partition that the OS/2
-@@ -194,14 +194,14 @@
- .br
- .nf
- .if t .ft CW
-- % sfdisk /dev/hdb \-N5
-+ % sfdisk-linux /dev/ada1 \-N5
- ,,,*
- %
- .if t .ft R
- .fi
--will make the fifth partition on /dev/hdb bootable (`active')
-+will make the fifth partition on /dev/ada1 bootable (`active')
- and change nothing else. (Probably this fifth partition
--is called /dev/hdb5, but you are free to call it something else,
-+is called /dev/ada1s5, but you are free to call it something else,
- like `/my_equipment/disks/2/5' or so).
- .TP
- .BI \-A "number"
-@@ -216,13 +216,13 @@
- .br
- .nf
- .if t .ft CW
-- % sfdisk --print-id /dev/hdb 5
-+ % sfdisk-linux --print-id /dev/ada1 5
- 6
-- % sfdisk --change-id /dev/hdb 5 83
-+ % sfdisk-linux --change-id /dev/ada1 5 83
- OK
- .if t .ft R
- .fi
--first reports that /dev/hdb5 has Id 6, and then changes that into 83.
-+first reports that /dev/ada1s5 has Id 6, and then changes that into 83.
- .TP
- .BR \-uS " or " \-uB " or " \-uC " or " \-uM
- Accept or report in units of sectors (blocks, cylinders, megabytes,
-@@ -420,7 +420,7 @@
- .RS
- .nf
- .if t .ft CW
--sfdisk /dev/hdc << EOF
-+sfdisk-linux /dev/ada2 << EOF
- 0,407
- ,407
- ;
-@@ -429,7 +429,7 @@
- .if t .ft R
- .fi
- .RE
--will partition /dev/hdc just as indicated above.
-+will partition /dev/ada2 just as indicated above.
-
- With the \-x option, the number of input lines must be a multiple of 4:
- you have to list the two empty partitions that you never want
-@@ -456,9 +456,9 @@
- .B dd
- to zero the first 512 bytes of that partition before using DOS FORMAT to
- format the partition. For example, if you were using sfdisk to make a DOS
--partition table entry for /dev/hda1, then (after exiting sfdisk and
-+partition table entry for /dev/ada0s1, then (after exiting sfdisk and
- rebooting Linux so that the partition table information is valid) you
--would use the command "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" to zero
-+would use the command "dd if=/dev/zero of=/dev/ada0s1 bs=512 count=1" to zero
- the first 512 bytes of the partition.
- .B BE EXTREMELY CAREFUL
- if you use the
-@@ -508,7 +508,7 @@
-
- .SH BUGS
- A corresponding interactive
--.B cfdisk
-+.B cfdisk-linux
- (with curses interface) is still lacking.
- .LP
- There are too many options.
-@@ -519,7 +519,7 @@
- A. E. Brouwer (aeb@cwi.nl)
-
- .SH "SEE ALSO"
--.BR cfdisk (8),
-+.BR cfdisk-linux (8),
-+.BR fdisk-linux (8),
- .BR fdisk (8),
--.BR mkfs (8),
--.BR parted (8)
-+.BR newfs (8)
-diff -rNu cfdisk.8 cfdisk.8
---- cfdisk.8 Sun Jul 7 15:28:27 2002
-+++ cfdisk.8 Fri Jun 20 20:57:52 2003
-@@ -15,7 +15,7 @@
- .SH NAME
- cfdisk \- Curses based disk partition table manipulator for Linux
- .SH SYNOPSIS
--.BI "cfdisk [ \-agvz ] [ \-c " cylinders " ] [ \-h " heads " ]"
-+.BI "cfdisk-linux [ \-agvz ] [ \-c " cylinders " ] [ \-h " heads " ]"
- .BI "[ \-s " sectors-per-track " ] [ -P " opt " ] [ " device " ]"
- .SH DESCRIPTION
- .B cfdisk
-@@ -26,12 +26,10 @@
- .sp
- .nf
- .RS
--/dev/hda [default]
--/dev/hdb
--/dev/sda
--/dev/sdb
--/dev/sdc
--/dev/sdd
-+/dev/ada0 [default]
-+/dev/ada1
-+/dev/da0
-+/dev/da1
- .RE
- .fi
-
-@@ -132,9 +130,9 @@
- .B dd
- to zero the first 512 bytes of that partition before using DOS FORMAT to
- format the partition. For example, if you were using cfdisk to make a DOS
--partition table entry for /dev/hda1, then (after exiting fdisk or cfdisk
-+partition table entry for /dev/ada0s1, then (after exiting fdisk or cfdisk
- and rebooting Linux so that the partition table information is valid) you
--would use the command "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" to zero
-+would use the command "dd if=/dev/zero of=/dev/ada0s1 bs=512 count=1" to zero
- the first 512 bytes of the partition. Note:
-
- .B BE EXTREMELY CAREFUL
-@@ -418,10 +416,10 @@
- 0: No errors; 1: Invocation error; 2: I/O error;
- 3: cannot get geometry; 4: bad partition table on disk.
- .SH "SEE ALSO"
-+.BR fdisk-linux (8),
-+.BR newfs (8),
- .BR fdisk (8),
--.BR mkfs (8),
--.BR parted (8),
--.BR sfdisk (8)
-+.BR sfdisk-linux (8)
- .SH BUGS
- The current version does not support multiple disks.
- .SH AUTHOR
-diff -rNu fdisk.8 fdisk.8
---- fdisk.8 Tue Aug 6 17:33:33 2002
-+++ fdisk.8 Fri Jun 20 21:01:24 2003
-@@ -5,14 +5,14 @@
- .SH NAME
- fdisk \- Partition table manipulator for Linux
- .SH SYNOPSIS
--.BI "fdisk [\-u] [\-b " sectorsize ]
-+.BI "fdisk-linux [\-u] [\-b " sectorsize ]
- .BI "[\-C " cyls "] [\-H " heads "] [\-S " sects "] " device
- .sp
--.BI "fdisk \-l [\-u] [" "device ..." ]
-+.BI "fdisk-linux \-l [\-u] [" "device ..." ]
- .sp
--.BI "fdisk \-s " "partition ..."
-+.BI "fdisk-linux \-s " "partition ..."
- .sp
--.BI "fdisk \-v
-+.BI "fdisk-linux \-v
- .SH DESCRIPTION
- Hard disks can be divided into one or more logical disks called
- .IR partitions .
-@@ -48,26 +48,22 @@
- .br
- .nf
- .RS
--/dev/hda
--/dev/hdb
--/dev/sda
--/dev/sdb
-+/dev/ada0
-+/dev/ada1
-+/dev/da0
-+/dev/da1
- .RE
- .fi
--(/dev/hd[a-h] for IDE disks, /dev/sd[a-p] for SCSI disks,
--/dev/ed[a-d] for ESDI disks, /dev/xd[ab] for XT disks).
-+(/dev/adaN for ATA disks, /dev/daN for SCSI disks, N=0,1,2...)
- A device name refers to the entire disk.
-
- The
- .I partition
- is a
- .I device
--name followed by a partition number. For example,
--.B /dev/hda1
--is the first partition on the first IDE hard disk in the system.
--IDE disks can have up to 63 partitions, SCSI disks up to 15.
--See also
--.IR /usr/src/linux/Documentation/devices.txt .
-+name followed by 's' and a partition number. For example,
-+.B /dev/ada0s1
-+is the first partition on the first ATA hard disk in the system.
-
- A BSD/SUN type disklabel can describe 8 partitions,
- the third of which should be a `whole disk' partition.
-@@ -132,7 +128,7 @@
- Partitions beginning in cylinder 1 cannot begin on a cylinder boundary, but
- this is unlikely to cause difficulty unless you have OS/2 on your machine.
-
--A sync() and a BLKRRPART ioctl() (reread partition table from disk)
-+A sync() and a sys_bsd_ptsync() (reread partition table from disk)
- are performed before exiting when the partition table has been updated.
- Long ago it used to be necessary to reboot after the use of fdisk.
- I do not think this is the case anymore - indeed, rebooting too quickly
-@@ -242,7 +238,7 @@
- .\" Andreas Neuper (ANeuper@GUUG.de)
- .\" and many others.
- .SH "SEE ALSO"
--.BR cfdisk (8),
--.BR mkfs (8),
--.BR parted (8),
--.BR sfdisk (8)
-+.BR cfdisk_linux (8),
-+.BR newfs (8),
-+.BR fdisk (8),
-+.BR sfdisk_linux (8)
-diff -rNu sfdisk.c sfdisk.c
---- sfdisk.c Tue Jan 28 20:18:03 2003
-+++ sfdisk.c Tue Jun 24 01:10:28 2003
-@@ -30,7 +30,7 @@
- * 19990319 - Arnaldo Carvalho de Melo <acme@conectiva.com.br> - i18n
- */
-
--#define PROGNAME "sfdisk"
-+#define PROGNAME "sfdisk-linux"
- #define VERSION "3.07"
- #define DATE "990908"
-
-@@ -42,11 +42,9 @@
- #include <errno.h> /* ERANGE */
- #include <string.h> /* index() */
- #include <ctype.h>
--#include <getopt.h>
-+#include "getopt.h"
- #include <sys/ioctl.h>
- #include <sys/stat.h>
--#include <sys/utsname.h>
--#include <linux/unistd.h> /* _syscall */
- #include "nls.h"
- #include "common.h"
-
-@@ -130,23 +128,14 @@
- *
- * Note: we use 512-byte sectors here, irrespective of the hardware ss.
- */
--#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
--static
--_syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo,
-- loff_t *, res, uint, wh);
--#endif
-
- static int
- sseek(char *dev, unsigned int fd, unsigned long s) {
-- loff_t in, out;
-- in = ((loff_t) s << 9);
-+ off_t in, out;
-+ in = ((off_t) s << 9);
- out = 1;
-
--#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
-- if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0) {
--#else
- if ((out = lseek(fd, in, SEEK_SET)) != in) {
--#endif
- perror("llseek");
- error(_("seek error on %s - cannot seek to %lu\n"), dev, s);
- return 0;
-@@ -399,12 +388,13 @@
- long size;
- struct geometry R;
-
-- if (ioctl(fd, BLKGETSIZE, &size)) {
-+ if (sys_bsd_getsectors(fd, (unsigned long*) &size)) {
- size = 0;
- if (!silent)
- printf(_("Disk %s: cannot get size\n"), dev);
- }
-- if (ioctl(fd, HDIO_GETGEO, &g)) {
-+ g.start = 0; /* XXX ?????????? */
-+ if (sys_bsd_getgeometry(fd, &g)) {
- g.heads = g.sectors = g.cylinders = g.start = 0;
- if (!silent)
- printf(_("Disk %s: cannot get geometry\n"), dev);
-@@ -721,8 +711,8 @@
- /* tell the kernel to reread the partition tables */
- static int
- reread_ioctl(int fd) {
-- if(ioctl(fd, BLKRRPART)) {
-- perror("BLKRRPART");
-+ if(sys_bsd_ptsync(fd)) {
-+ perror("sys_bsd_ptsync");
- return -1;
- }
- return 0;
-@@ -1428,22 +1418,6 @@
- z->partno = pno;
- }
-
--#define MAKE_VERSION(p,q,r) (65536*(p) + 256*(q) + (r))
--
--static int
--linux_version_code(void) {
-- struct utsname my_utsname;
-- int p, q, r;
--
-- if (uname(&my_utsname) == 0) {
-- p = atoi(strtok(my_utsname.release, "."));
-- q = atoi(strtok(NULL, "."));
-- r = atoi(strtok(NULL, "."));
-- return MAKE_VERSION(p,q,r);
-- }
-- return 0;
--}
--
- static int
- msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
- int i;
-@@ -1452,7 +1426,10 @@
- struct sector *s;
- struct part_desc *partitions = &(z->partitions[0]);
- int pno = z->partno;
-- int bsd_later = (linux_version_code() >= MAKE_VERSION(2,3,40));
-+ /* Under FreeBSD, "bsd later" is always true because BSD partitions
-+ * in MBR or MBREXT partitions doesn't be listed immediately.
-+ */
-+ int bsd_later = 1;
-
- if (!(s = get_sector(dev, fd, start)))
- return 0;
-@@ -1501,6 +1478,8 @@
- }
- extended_partition(dev, fd, &partitions[i], z);
- }
-+#if 0
-+/* FreeBSD port: don't count partitions as they won't be list as slices */
- if (!bsd_later && is_bsd(partitions[i].p.sys_type)) {
- if (!partitions[i].size) {
- printf(_("strange..., a BSD partition of size 0?\n"));
-@@ -1508,8 +1487,11 @@
- }
- bsd_partition(dev, fd, &partitions[i], z);
- }
-+#endif
- }
-
-+#if 0
-+/* FreeBSD port: don't count partitions as they won't be list as slices */
- if (bsd_later) {
- for (i=0; i<4; i++) {
- if (is_bsd(partitions[i].p.sys_type)) {
-@@ -1521,6 +1503,7 @@
- }
- }
- }
-+#endif
-
- return 1;
- }
-@@ -2229,7 +2212,7 @@
- usage(void) {
- version();
- printf(_("Usage: %s [options] device ...\n"), PROGNAME);
-- puts (_("device: something like /dev/hda or /dev/sda"));
-+ puts (_("device: something like /dev/ada0 or /dev/da0"));
- puts (_("useful options:"));
- puts (_(" -s [or --show-size]: list size of a partition"));
- puts (_(" -c [or --id]: print or change partition Id"));
-@@ -2353,7 +2336,7 @@
- return is_ide;
- }
-
--#define PROC_PARTITIONS "/proc/partitions"
-+#define PROC_PARTITIONS "/compat/linux/proc/partitions"
- static FILE *procf = NULL;
-
- static void
-@@ -2413,9 +2396,11 @@
- char *activatearg = 0;
- char *unhidearg = 0;
-
-+#if 0
- setlocale(LC_ALL, "");
- bindtextdomain(PACKAGE, LOCALEDIR);
- textdomain(PACKAGE);
-+#endif
-
- if (argc < 1)
- fatal(_("no command?\n"));
-@@ -2543,9 +2528,9 @@
-
- if (optind == argc) {
- if (activate)
-- activate_usage(fdisk ? "sfdisk -A" : progn);
-+ activate_usage(fdisk ? PROGNAME " -A" : progn);
- else if (unhide)
-- unhide_usage(fdisk ? "sfdisk -U" : progn);
-+ unhide_usage(fdisk ? PROGNAME " -U" : progn);
- else
- usage();
- }
-@@ -2573,11 +2558,11 @@
- }
- if (do_id) {
- if ((do_id & PRINT_ID) != 0 && optind != argc-2)
-- fatal(_("usage: sfdisk --print-id device partition-number\n"));
-+ fatal(_("usage: " PROGNAME " --print-id device partition-number\n"));
- else if ((do_id & CHANGE_ID) != 0 && optind != argc-3)
-- fatal(_("usage: sfdisk --change-id device partition-number Id\n"));
-+ fatal(_("usage: " PROGNAME " --change-id device partition-number Id\n"));
- else if (optind != argc-3 && optind != argc-2)
-- fatal(_("usage: sfdisk --id device partition-number [Id]\n"));
-+ fatal(_("usage: " PROGNAME " --id device partition-number [Id]\n"));
- do_change_id(argv[optind], argv[optind+1],
- (optind == argc-2) ? 0 : argv[optind+2]);
- exit(exit_status);
-@@ -2668,10 +2653,10 @@
- if (fd < 0)
- return;
-
-- if(ioctl(fd, BLKGETSIZE, &size)) {
-+ if(sys_bsd_getsectors(fd, (unsigned long*) &size)) {
- if(!silent) {
- perror(dev);
-- fatal(_("BLKGETSIZE ioctl failed for %s\n"), dev);
-+ fatal(_("sys_bsd_getsectors() failed for %s\n"), dev);
- }
- return;
- }
diff --git a/sysutils/linuxfdisk/pkg-descr b/sysutils/linuxfdisk/pkg-descr
deleted file mode 100644
index 199a26761be1..000000000000
--- a/sysutils/linuxfdisk/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-This is fdisk from util-linux package, common on Linux systems.
-It allows interactive manipulation of partitions including logical ones
-from MS-DOS partitioning scheme.
diff --git a/sysutils/linuxfdisk/pkg-plist b/sysutils/linuxfdisk/pkg-plist
deleted file mode 100644
index 37b442dc013d..000000000000
--- a/sysutils/linuxfdisk/pkg-plist
+++ /dev/null
@@ -1,6 +0,0 @@
-share/man/man8/cfdisk-linux.8.gz
-share/man/man8/fdisk-linux.8.gz
-share/man/man8/sfdisk-linux.8.gz
-sbin/fdisk-linux
-sbin/cfdisk-linux
-sbin/sfdisk-linux