1
0
forked from pool/util-linux
OBS User unknown 2007-07-05 11:24:26 +00:00 committed by Git OBS Bridge
parent 1ea5b121f2
commit 7e333fa6b3
17 changed files with 115 additions and 968 deletions

3
time-1.7.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:83eeec8df47e4c939a09b0147c34a36462bb2762f879596e9089b2817dcff7e2
size 92620

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e37ea79a253bf85a85ada2f7c632c14e481a5fd262a362f6f4fd58e68601496d
size 103066

View File

@ -1,235 +0,0 @@
Index: util-linux-ng-2.12r+git20070330/fdisk/fdiskmaclabel.c
===================================================================
--- /dev/null
+++ util-linux-ng-2.12r+git20070330/fdisk/fdiskmaclabel.c
@@ -0,0 +1,87 @@
+/*
+ Changes:
+ Sat Mar 20 09:51:38 EST 1999 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ Internationalization
+*/
+#include <stdio.h> /* stderr */
+#include <string.h> /* strstr */
+#include <unistd.h> /* write */
+
+#include <endian.h>
+
+#include "common.h"
+#include "fdisk.h"
+#include "fdiskmaclabel.h"
+#include "nls.h"
+
+#define MAC_BITMASK 0xffff0000
+
+
+static int other_endian = 0;
+static short volumes=1;
+
+/*
+ * only dealing with free blocks here
+ */
+
+static void
+mac_info( void ) {
+ puts(
+ _("\n\tThere is a valid Mac label on this disk.\n"
+ "\tUnfortunately fdisk(1) cannot handle these disks.\n"
+ "\tUse either pdisk or parted to modify the partition table.\n"
+ "\tNevertheless some advice:\n"
+ "\t1. fdisk will destroy its contents on write.\n"
+ "\t2. Be sure that this disk is NOT a still vital\n"
+ "\t part of a volume group. (Otherwise you may\n"
+ "\t erase the other disks as well, if unmirrored.)\n")
+
+ );
+}
+
+void
+mac_nolabel( void )
+{
+ maclabel->magic = 0;
+ mac_label = 0;
+ partitions = 4;
+ memset( MBRbuffer, 0, sizeof(MBRbuffer) ); /* avoid fdisk cores */
+ return;
+}
+
+int
+check_mac_label( void )
+{
+ /*
+ Conversion: only 16 bit should compared
+ e.g.: HFS Label is only 16bit long
+ */
+
+ int magic_masked = 0 ;
+ magic_masked = maclabel->magic & MAC_BITMASK ;
+
+ switch (magic_masked) {
+ case MAC_LABEL_MAGIC :
+ case MAC_LABEL_MAGIC_2:
+ case MAC_LABEL_MAGIC_3:
+ goto IS_MAC;
+ break;
+ default:
+ mac_label = 0;
+ other_endian = 0;
+ return 0;
+
+
+ }
+
+ IS_MAC:
+ other_endian = (maclabel->magic == MAC_LABEL_MAGIC_SWAPPED); // =?
+ update_units();
+ mac_label = 1;
+ partitions= 1016; // =?
+ volumes = 15; // =?
+ mac_info();
+ mac_nolabel(); /* %% */
+ mac_label = 1; /* %% */
+ return 1;
+}
Index: util-linux-ng-2.12r+git20070330/fdisk/fdiskmaclabel.h
===================================================================
--- /dev/null
+++ util-linux-ng-2.12r+git20070330/fdisk/fdiskmaclabel.h
@@ -0,0 +1,40 @@
+#include <linux/types.h> /* for __u32 etc */
+/*
+ * Copyright (C) Andreas Neuper, Sep 1998.
+ * This file may be redistributed under
+ * the terms of the GNU Public License.
+ */
+
+typedef struct {
+ unsigned int magic; /* expect MAC_LABEL_MAGIC */
+ unsigned int fillbytes1[124];
+ unsigned int physical_volume_id;
+ unsigned int fillbytes2[124];
+} mac_partition;
+
+#define MAC_LABEL_MAGIC 0x45520000 // MAC magic number only 16bits, do i always know that there are 0200 following ? Problem, after magic the uint16_t res1; follows, i donnno know about the 200k
+#define MAC_LABEL_MAGIC_2 0x50530000
+#define MAC_LABEL_MAGIC_3 0x504d0000
+
+
+#define MAC_LABEL_MAGIC_SWAPPED 0x00002554
+
+#define MAC_LABEL_MAGIC_2_SWAPPED 0x00003505
+#define MAC_LABEL_MAGIC_3_SWAPPED 0x0000d405
+
+
+/* fdisk.c */
+#define maclabel ((mac_partition *)MBRbuffer)
+extern char MBRbuffer[MAX_SECTOR_SIZE];
+extern char changed[MAXIMUM_PARTS];
+extern unsigned int heads, sectors, cylinders;
+extern int show_begin;
+extern int mac_label;
+extern char *partition_type(unsigned char type);
+extern void update_units(void);
+extern char read_chars(char *mesg);
+
+/* fdiskmaclabel.c */
+extern struct systypes mac_sys_types[];
+extern void mac_nolabel( void );
+extern int check_mac_label( void );
Index: util-linux-ng-2.12r+git20070330/fdisk/fdisk.c
===================================================================
--- util-linux-ng-2.12r+git20070330.orig/fdisk/fdisk.c
+++ util-linux-ng-2.12r+git20070330/fdisk/fdisk.c
@@ -26,6 +26,7 @@
#include "fdisksunlabel.h"
#include "fdisksgilabel.h"
#include "fdiskaixlabel.h"
+#include "fdiskmaclabel.h"
#ifdef HAVE_LINUX_COMPILER_H
#include <linux/compiler.h>
@@ -167,11 +168,12 @@ unsigned int heads,
unsigned long long total_number_of_sectors;
-#define dos_label (!sun_label && !sgi_label && !aix_label && !osf_label)
+#define dos_label (!sun_label && !sgi_label && !aix_label && !mac_label && !osf_label)
int sun_label = 0; /* looking at sun disklabel */
int sgi_label = 0; /* looking at sgi disklabel */
int aix_label = 0; /* looking at aix disklabel */
int osf_label = 0; /* looking at OSF/1 disklabel */
+int mac_label = 0; /* looking at mac disklabel */
int possibly_osf_label = 0;
jmp_buf listingbuf;
@@ -365,6 +367,10 @@ menu(void) {
puts(_(" v verify the partition table"));
puts(_(" w write table to disk and exit"));
}
+ else if (mac_label) {
+ puts(_("no Commands available"));
+
+ }
else if (aix_label) {
puts(_("Command action"));
puts(_(" m print this menu"));
@@ -445,6 +451,9 @@ xmenu(void) {
puts(_(" v verify the partition table"));
puts(_(" w write table to disk and exit"));
}
+ else if (mac_label) {
+ puts(_("no Commands available"));
+ }
else {
puts(_("Command action"));
puts(_(" b move beginning of data in a partition")); /* !sun */
@@ -945,6 +954,9 @@ get_boot(enum action what) {
if (check_aix_label())
return 0;
+ if (check_mac_label())
+ return 0;
+
if (check_osf_label()) {
possibly_osf_label = 1;
if (!valid_part_table_flag(MBRbuffer)) {
@@ -2077,6 +2089,15 @@ new_partition(void) {
return;
}
+ if (mac_label) {
+ printf(_("\tSorry - this fdisk cannot handle Mac disk labels."
+ "\n\tIf you want to add DOS-type partitions, create"
+ "\n\ta new empty DOS partition table first. (Use o.)"
+ "\n\tWARNING: "
+ "This will destroy the present disk contents.\n"));
+ return;
+ }
+
for (i = 0; i < 4; i++)
free_primary += !ptes[i].part_table->sys_ind;
@@ -2406,7 +2427,11 @@ try(char *device, int user_specified) {
if (gb > 0) { /* I/O error */
} else if (gb < 0) { /* no DOS signature */
list_disk_geometry();
- if (!aix_label && btrydev(device) < 0)
+ if (aix_label)
+ return;
+ if (mac_label)
+ return;
+ if (btrydev(device) < 0)
fprintf(stderr,
_("Disk %s doesn't contain a valid "
"partition table\n"), device);
Index: util-linux-ng-2.12r+git20070330/fdisk/Makefile.am
===================================================================
--- util-linux-ng-2.12r+git20070330.orig/fdisk/Makefile.am
+++ util-linux-ng-2.12r+git20070330/fdisk/Makefile.am
@@ -8,6 +8,7 @@ sbin_PROGRAMS = fdisk
man_MANS = fdisk.8
fdisk_SOURCES = fdisk.c disksize.c fdiskbsdlabel.c fdisksgilabel.c \
fdisksunlabel.c fdiskaixlabel.c i386_sys_types.c partname.c \
+ fdiskmaclabel.c \
common.h fdisk.h fdisksunlabel.h fdisksgilabel.h fdiskaixlabel.h \
fdiskbsdlabel.h

View File

@ -1,7 +1,7 @@
Index: util-linux-ng-2.12r+git20070509/sys-utils/ionice.1
Index: util-linux-ng-2.12r+git20070703/sys-utils/ionice.1
===================================================================
--- /dev/null
+++ util-linux-ng-2.12r+git20070509/sys-utils/ionice.1
+++ util-linux-ng-2.12r+git20070703/sys-utils/ionice.1
@@ -0,0 +1,71 @@
+.TH ionice "1" "August 2005" ionice
+.SH NAME
@ -74,10 +74,10 @@ Index: util-linux-ng-2.12r+git20070509/sys-utils/ionice.1
+
+.SH AUTHORS
+Jens Axboe <axboe@suse.de>
Index: util-linux-ng-2.12r+git20070509/sys-utils/ionice.c
Index: util-linux-ng-2.12r+git20070703/sys-utils/ionice.c
===================================================================
--- /dev/null
+++ util-linux-ng-2.12r+git20070509/sys-utils/ionice.c
+++ util-linux-ng-2.12r+git20070703/sys-utils/ionice.c
@@ -0,0 +1,144 @@
+/*
+ * ionice: set or get process io scheduling class and priority
@ -223,16 +223,16 @@ Index: util-linux-ng-2.12r+git20070509/sys-utils/ionice.c
+
+ return 0;
+}
Index: util-linux-ng-2.12r+git20070509/sys-utils/Makefile.am
Index: util-linux-ng-2.12r+git20070703/sys-utils/Makefile.am
===================================================================
--- util-linux-ng-2.12r+git20070509.orig/sys-utils/Makefile.am
+++ util-linux-ng-2.12r+git20070509/sys-utils/Makefile.am
--- util-linux-ng-2.12r+git20070703.orig/sys-utils/Makefile.am
+++ util-linux-ng-2.12r+git20070703/sys-utils/Makefile.am
@@ -2,7 +2,7 @@ include $(top_srcdir)/config/include-Mak
bin_PROGRAMS = dmesg
-usrbinexec_PROGRAMS = cytune flock ipcrm ipcs renice setsid
+usrbinexec_PROGRAMS = cytune flock ionice ipcrm ipcs renice setsid
-usrbinexec_PROGRAMS = cytune flock ipcrm ipcs renice setsid setarch
+usrbinexec_PROGRAMS = cytune flock ionice ipcrm ipcs renice setsid setarch
cytune_SOURCES = cytune.c cyclades.h
@ -243,5 +243,5 @@ Index: util-linux-ng-2.12r+git20070509/sys-utils/Makefile.am
-man_MANS = flock.1 readprofile.1 \
+man_MANS = flock.1 ionice.1 readprofile.1 \
ctrlaltdel.8 cytune.8 dmesg.1 ipcrm.1 ipcs.1 renice.1 \
setsid.1 tunelp.8
setsid.1 tunelp.8 setarch.8

View File

@ -1,396 +0,0 @@
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdisk.c
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdisk.c
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdisk.c
@@ -63,7 +63,7 @@ static void delete_partition(int i);
/* A valid partition table sector ends in 0x55 0xaa */
static unsigned int
-part_table_flag(char *b) {
+part_table_flag(unsigned char *b) {
return ((unsigned int) b[510]) + (((unsigned int) b[511]) << 8);
}
@@ -73,7 +73,7 @@ valid_part_table_flag(unsigned char *b)
}
static void
-write_part_table_flag(char *b) {
+write_part_table_flag(unsigned char *b) {
b[510] = 0x55;
b[511] = 0xaa;
}
@@ -100,17 +100,17 @@ set_start_sect(struct partition *p, unsi
store4_little_endian(p->start4, start_sect);
}
-unsigned int
+unsigned long long
get_start_sect(struct partition *p) {
return read4_little_endian(p->start4);
}
static void
-set_nr_sects(struct partition *p, unsigned int nr_sects) {
+set_nr_sects(struct partition *p, unsigned long long nr_sects) {
store4_little_endian(p->size4, nr_sects);
}
-unsigned int
+unsigned long long
get_nr_sects(struct partition *p) {
return read4_little_endian(p->size4);
}
@@ -122,7 +122,7 @@ static int type_open = O_RDWR;
* Raw disk label. For DOS-type partition tables the MBR,
* with descriptions of the primary partitions.
*/
-char MBRbuffer[MAX_SECTOR_SIZE];
+unsigned char MBRbuffer[MAX_SECTOR_SIZE];
/*
* per partition table entry data
@@ -136,8 +136,8 @@ struct pte {
struct partition *part_table; /* points into sectorbuffer */
struct partition *ext_pointer; /* points into sectorbuffer */
char changed; /* boolean */
- unsigned int offset; /* disk sector number */
- char *sectorbuffer; /* disk sector contents */
+ unsigned long long offset; /* disk sector number */
+ unsigned char *sectorbuffer; /* disk sector contents */
} ptes[MAXIMUM_PARTS];
char *disk_device, /* must be specified */
@@ -156,15 +156,14 @@ unsigned int user_cylinders, user_heads,
unsigned int pt_heads, pt_sectors;
unsigned int kern_heads, kern_sectors;
+unsigned long long sector_offset = 1, extended_offset = 0, sectors;
+
unsigned int heads,
- sectors,
cylinders,
sector_size = DEFAULT_SECTOR_SIZE,
user_set_sector_size = 0,
- sector_offset = 1,
units_per_sector = 1,
- display_in_cyl_units = 1,
- extended_offset = 0; /* offset of link pointers */
+ display_in_cyl_units = 1;
unsigned long long total_number_of_sectors;
@@ -242,21 +241,21 @@ void fatal(enum failure why) {
}
static void
-seek_sector(int fd, unsigned int secno) {
+seek_sector(int fd, unsigned long long secno) {
off_t offset = (off_t) secno * sector_size;
if (lseek(fd, offset, SEEK_SET) == (off_t) -1)
fatal(unable_to_seek);
}
static void
-read_sector(int fd, unsigned int secno, char *buf) {
+read_sector(int fd, unsigned long long secno, unsigned char *buf) {
seek_sector(fd, secno);
if (read(fd, buf, sector_size) != sector_size)
fatal(unable_to_read);
}
static void
-write_sector(int fd, unsigned int secno, char *buf) {
+write_sector(int fd, unsigned long long secno, unsigned char *buf) {
seek_sector(fd, secno);
if (write(fd, buf, sector_size) != sector_size)
fatal(unable_to_write);
@@ -264,11 +263,11 @@ write_sector(int fd, unsigned int secno,
/* Allocate a buffer and read a partition table sector */
static void
-read_pte(int fd, int pno, unsigned int offset) {
+read_pte(int fd, int pno, unsigned long long offset) {
struct pte *pe = &ptes[pno];
pe->offset = offset;
- pe->sectorbuffer = (char *) malloc(sector_size);
+ pe->sectorbuffer = malloc(sector_size);
if (!pe->sectorbuffer)
fatal(out_of_memory);
read_sector(fd, offset, pe->sectorbuffer);
@@ -276,7 +275,7 @@ read_pte(int fd, int pno, unsigned int o
pe->part_table = pe->ext_pointer = NULL;
}
-static unsigned int
+static unsigned long long
get_partition_start(struct pte *pe) {
return pe->offset + get_start_sect(pe->part_table);
}
@@ -549,10 +548,10 @@ clear_partition(struct partition *p) {
}
static void
-set_partition(int i, int doext, unsigned int start, unsigned int stop,
- int sysid) {
+set_partition(int i, int doext, unsigned long long start,
+ unsigned long long stop, int sysid) {
struct partition *p;
- unsigned int offset;
+ unsigned long long offset;
if (doext) {
p = ptes[i].ext_pointer;
@@ -1548,7 +1547,7 @@ list_disk_geometry(void) {
else
printf(_("\nDisk %s: %ld.%ld GB, %lld bytes\n"),
disk_device, megabytes/1000, (megabytes/100)%10, bytes);
- printf(_("%d heads, %d sectors/track, %d cylinders"),
+ printf(_("%d heads, %Ld sectors/track, %d cylinders"),
heads, sectors, cylinders);
if (units_per_sector == 1)
printf(_(", total %llu sectors"),
@@ -1780,20 +1779,21 @@ x_list_table(int extend) {
struct partition *p;
int i;
- printf(_("\nDisk %s: %d heads, %d sectors, %d cylinders\n\n"),
+ printf(_("\nDisk %s: %d heads, %Ld sectors, %d cylinders\n\n"),
disk_device, heads, sectors, cylinders);
printf(_("Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID\n"));
for (i = 0 ; i < partitions; i++) {
pe = &ptes[i];
p = (extend ? pe->ext_pointer : pe->part_table);
if (p != NULL) {
- printf("%2d %02x%4d%4d%5d%4d%4d%5d%11u%11u %02x\n",
+ printf("%2d %02x%4d%4d%5d%4d%4d%5d%11lu%11lu %02x\n",
i + 1, p->boot_ind, p->head,
sector(p->sector),
cylinder(p->sector, p->cyl), p->end_head,
sector(p->end_sector),
cylinder(p->end_sector, p->end_cyl),
- get_start_sect(p), get_nr_sects(p), p->sys_ind);
+ (unsigned long) get_start_sect(p),
+ (unsigned long) get_nr_sects(p), p->sys_ind);
if (p->sys_ind)
check_consistency(p, i);
}
@@ -1801,7 +1801,7 @@ x_list_table(int extend) {
}
static void
-fill_bounds(unsigned int *first, unsigned int *last) {
+fill_bounds(unsigned long long *first, unsigned long long *last) {
int i;
struct pte *pe = &ptes[0];
struct partition *p;
@@ -1834,7 +1834,7 @@ check(int n, unsigned int h, unsigned in
n, h + 1, heads);
if (real_s >= sectors)
fprintf(stderr, _("Partition %d: sector %d greater than "
- "maximum %d\n"), n, s, sectors);
+ "maximum %Ld\n"), n, s, sectors);
if (real_c >= cylinders)
fprintf(stderr, _("Partitions %d: cylinder %d greater than "
"maximum %d\n"), n, real_c + 1, cylinders);
@@ -1847,8 +1847,8 @@ check(int n, unsigned int h, unsigned in
static void
verify(void) {
int i, j;
- unsigned int total = 1;
- unsigned int first[partitions], last[partitions];
+ unsigned long total = 1;
+ unsigned long long first[partitions], last[partitions];
struct partition *p;
if (warn_geometry())
@@ -1892,7 +1892,7 @@ verify(void) {
if (extended_offset) {
struct pte *pex = &ptes[ext_index];
- unsigned int e_last = get_start_sect(pex->part_table) +
+ unsigned long long e_last = get_start_sect(pex->part_table) +
get_nr_sects(pex->part_table) - 1;
for (i = 4; i < partitions; i++) {
@@ -1911,8 +1911,8 @@ verify(void) {
}
if (total > total_number_of_sectors)
- printf(_("Total allocated sectors %d greater than the maximum "
- "%lld\n"), total, total_number_of_sectors);
+ printf(_("Total allocated sectors %ld greater than the maximum"
+ " %lld\n"), total, total_number_of_sectors);
else if (total < total_number_of_sectors)
printf(_("%lld unallocated sectors\n"),
total_number_of_sectors - total);
@@ -1925,7 +1925,7 @@ add_partition(int n, int sys) {
struct partition *p = ptes[n].part_table;
struct partition *q = ptes[ext_index].part_table;
long long llimit;
- unsigned int start, stop = 0, limit, temp,
+ unsigned long long start, stop = 0, limit, temp,
first[partitions], last[partitions];
if (p && p->sys_ind) {
@@ -1971,7 +1971,7 @@ add_partition(int n, int sys) {
if (start > limit)
break;
if (start >= temp+units_per_sector && read) {
- printf(_("Sector %d is already allocated\n"), temp);
+ printf(_("Sector %llu is already allocated\n"), temp);
temp = start;
read = 0;
}
@@ -2230,14 +2230,14 @@ reread_partition_table(int leave) {
#define MAX_PER_LINE 16
static void
-print_buffer(char pbuffer[]) {
+print_buffer(unsigned char pbuffer[]) {
int i,
l;
for (i = 0, l = 0; i < sector_size; i++, l++) {
if (l == 0)
printf("0x%03X:", i);
- printf(" %02X", (unsigned char) pbuffer[i]);
+ printf(" %02X", pbuffer[i]);
if (l == MAX_PER_LINE - 1) {
printf("\n");
l = -1;
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdisk.h
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdisk.h
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdisk.h
@@ -81,8 +81,8 @@ extern unsigned int read_int(unsigned in
#define SINGULAR 1
extern char *const str_units(int);
-extern unsigned int get_start_sect(struct partition *p);
-extern unsigned int get_nr_sects(struct partition *p);
+extern unsigned long long get_start_sect(struct partition *p);
+extern unsigned long long get_nr_sects(struct partition *p);
extern int osf_label;
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdiskaixlabel.h
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdiskaixlabel.h
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdiskaixlabel.h
@@ -19,9 +19,10 @@ typedef struct {
/* fdisk.c */
#define aixlabel ((aix_partition *)MBRbuffer)
-extern char MBRbuffer[MAX_SECTOR_SIZE];
+extern unsigned char MBRbuffer[MAX_SECTOR_SIZE];
extern char changed[MAXIMUM_PARTS];
-extern unsigned int heads, sectors, cylinders;
+extern unsigned int heads, cylinders;
+extern unsigned long long sectors;
extern int show_begin;
extern int aix_label;
extern char *partition_type(unsigned char type);
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdiskmaclabel.h
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdiskmaclabel.h
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdiskmaclabel.h
@@ -25,9 +25,10 @@ typedef struct {
/* fdisk.c */
#define maclabel ((mac_partition *)MBRbuffer)
-extern char MBRbuffer[MAX_SECTOR_SIZE];
+extern unsigned char MBRbuffer[MAX_SECTOR_SIZE];
extern char changed[MAXIMUM_PARTS];
-extern unsigned int heads, sectors, cylinders;
+extern unsigned int heads, cylinders;
+extern unsigned long long sectors;
extern int show_begin;
extern int mac_label;
extern char *partition_type(unsigned char type);
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdisksgilabel.c
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdisksgilabel.c
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdisksgilabel.c
@@ -197,7 +197,7 @@ sgi_list_table(int xtra) {
w = strlen(disk_device);
if (xtra) {
- printf(_("\nDisk %s (SGI disk label): %d heads, %d sectors\n"
+ printf(_("\nDisk %s (SGI disk label): %d heads, %llu sectors\n"
"%d cylinders, %d physical cylinders\n"
"%d extra sects/cyl, interleave %d:1\n"
"%s\n"
@@ -211,7 +211,7 @@ sgi_list_table(int xtra) {
sector_size);
} else {
printf(_("\nDisk %s (SGI disk label): "
- "%d heads, %d sectors, %d cylinders\n"
+ "%d heads, %llu sectors, %d cylinders\n"
"Units = %s of %d * %d bytes\n\n"),
disk_device, heads, sectors, cylinders,
str_units(PLURAL), units_per_sector,
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdisksgilabel.h
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdisksgilabel.h
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdisksgilabel.h
@@ -103,8 +103,9 @@ typedef struct {
/* fdisk.c */
#define sgilabel ((sgi_partition *)MBRbuffer)
#define sgiparam (sgilabel->devparam)
-extern char MBRbuffer[MAX_SECTOR_SIZE];
-extern unsigned int heads, sectors, cylinders, sector_size;
+extern unsigned char MBRbuffer[MAX_SECTOR_SIZE];
+extern unsigned int heads, cylinders, sector_size;
+extern unsigned long long sectors;
extern int show_begin;
extern int sgi_label;
extern char *partition_type(unsigned char type);
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdisksunlabel.c
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdisksunlabel.c
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdisksunlabel.c
@@ -348,7 +348,7 @@ void create_sunlabel(void)
}
snprintf(sunlabel->info, sizeof(sunlabel->info),
- "%s%s%s cyl %d alt %d hd %d sec %d",
+ "%s%s%s cyl %d alt %d hd %d sec %llu",
p ? p->vendor : "", (p && *p->vendor) ? " " : "",
p ? p->model
: (floppy ? _("3,5\" floppy") : _("Linux custom")),
@@ -655,7 +655,7 @@ sun_list_table(int xtra) {
w = strlen(disk_device);
if (xtra)
printf(
- _("\nDisk %s (Sun disk label): %d heads, %d sectors, %d rpm\n"
+ _("\nDisk %s (Sun disk label): %d heads, %llu sectors, %d rpm\n"
"%d cylinders, %d alternate cylinders, %d physical cylinders\n"
"%d extra sects/cyl, interleave %d:1\n"
"%s\n"
@@ -669,7 +669,7 @@ sun_list_table(int xtra) {
str_units(PLURAL), units_per_sector);
else
printf(
- _("\nDisk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n"
+ _("\nDisk %s (Sun disk label): %d heads, %llu sectors, %d cylinders\n"
"Units = %s of %d * 512 bytes\n\n"),
disk_device, heads, sectors, cylinders,
str_units(PLURAL), units_per_sector);
Index: util-linux-ng-2.12r+2.13pre7/fdisk/fdisksunlabel.h
===================================================================
--- util-linux-ng-2.12r+2.13pre7.orig/fdisk/fdisksunlabel.h
+++ util-linux-ng-2.12r+2.13pre7/fdisk/fdisksunlabel.h
@@ -37,8 +37,9 @@ typedef struct {
: (__u32)(x))
/* fdisk.c */
-extern char MBRbuffer[MAX_SECTOR_SIZE];
-extern unsigned int heads, sectors, cylinders;
+extern unsigned char MBRbuffer[MAX_SECTOR_SIZE];
+extern unsigned int heads, cylinders;
+extern unsigned long long sectors;
extern int show_begin;
extern int sun_label;
extern char *partition_type(unsigned char type);

View File

@ -2,20 +2,17 @@ Index: mount/mount.c
===================================================================
--- mount/mount.c.orig
+++ mount/mount.c
@@ -954,11 +954,16 @@ retry_nfs:
@@ -1112,9 +1112,13 @@ try_mount_one (const char *spec0, const
}
if (fake || mnt5_res == 0) {
+ int isroot;
+
/* Mount succeeded, report this (if verbose) and write mtab entry. */
if (loop)
opt_loopdev = loopdev;
- if (!(mounttype & MS_PROPAGATION)) {
+ isroot = (streq(node, "/") || streq(node, "root") ||
+ streq(node, "rootfs"));
+
- if (!(mounttype & MS_PROPAGATION)) {
+ if (!(mounttype & MS_PROPAGATION) && !isroot) {
update_mtab_entry(loop ? loopfile : spec,
node,

View File

@ -1,73 +0,0 @@
Index: util-linux-ng-2.12r+git20070330/mount/lomount.c
===================================================================
--- util-linux-ng-2.12r+git20070330.orig/mount/lomount.c
+++ util-linux-ng-2.12r+git20070330/mount/lomount.c
@@ -341,8 +341,15 @@ set_loop(const char *device, const char
}
if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- perror("ioctl: LOOP_SET_FD");
- return 1;
+ switch (errno) {
+ case EBUSY:
+ if (verbose)
+ perror("ioctl: LOOP_SET_FD");
+ return 2;
+ default:
+ perror("ioctl: LOOP_SET_FD");
+ return 1;
+ }
}
close (ffd);
Index: util-linux-ng-2.12r+git20070330/mount/mount.c
===================================================================
--- util-linux-ng-2.12r+git20070330.orig/mount/mount.c
+++ util-linux-ng-2.12r+git20070330/mount/mount.c
@@ -712,20 +712,34 @@ loop_check(const char **spec, const char
printf(_("mount: skipping the setup of a loop device\n"));
} else {
int loopro = (*flags & MS_RDONLY);
+ int res;
- if (!*loopdev || !**loopdev)
- *loopdev = find_unused_loop_device();
- if (!*loopdev)
- return EX_SYSERR; /* no more loop devices */
- if (verbose)
- printf(_("mount: going to use the loop device %s\n"), *loopdev);
- offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
- if (set_loop(*loopdev, *loopfile, offset,
- opt_encryption, pfd, &loopro)) {
+ do {
+ if (!*loopdev || !**loopdev)
+ *loopdev = find_unused_loop_device();
+ if (!*loopdev)
+ return EX_SYSERR; /* no more loop devices */
if (verbose)
- printf(_("mount: failed setting up loop device\n"));
- return EX_FAIL;
- }
+ printf(_("mount: going to use the loop device %s\n"), *loopdev);
+ offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
+ if (res = set_loop (*loopdev, *loopfile, offset,
+ opt_encryption, pfd, &loopro)) {
+ switch(res) {
+ case 2:
+ /* loop dev has been grabbed by some other process,
+ try again */
+ if (verbose)
+ printf("mount: stolen loop=%s ...trying again\n", *loopdev);
+ *loopdev = NULL;
+ continue;
+ default:
+ if (verbose)
+ printf(_("mount: failed setting up loop device\n"));
+ return EX_FAIL;
+ }
+ }
+ } while (!*loopdev);
+
if (verbose > 1)
printf(_("mount: setup loop device successfully\n"));
*spec = *loopdev;

View File

@ -1,13 +0,0 @@
Index: util-linux-ng-2.12r+git20070330/configure.ac
===================================================================
--- util-linux-ng-2.12r+git20070330.orig/configure.ac
+++ util-linux-ng-2.12r+git20070330/configure.ac
@@ -170,7 +170,7 @@ AC_TRY_COMPILE([
case "$host" in
- i?86-*) intel=true ;;
+ i?86-* | x86_64*) intel=true ;;
m68*) m68k=true ;;
sparc*) sparc=true ;;
esac

View File

@ -1,16 +0,0 @@
Index: util-linux-ng-2.12r+git20070530/configure.ac
===================================================================
--- util-linux-ng-2.12r+git20070530.orig/configure.ac
+++ util-linux-ng-2.12r+git20070530/configure.ac
@@ -107,8 +107,9 @@ fi
have_ncurses=no
AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [have_ncurses=yes])
case $have_ncurses in
-yes) AC_MSG_NOTICE([you have ncurses]);;
-no) AC_MSG_NOTICE([you do not have ncurses]);;
+ yes) AC_MSG_NOTICE([you have ncurses])
+ AC_DEFINE([HAVE_NCURSES],, [define this if you have libncurses]);;
+ no) AC_MSG_NOTICE([you do not have ncurses]);;
esac
AM_CONDITIONAL(HAVE_NCURSES, test x$have_ncurses = xyes)

View File

@ -1,172 +0,0 @@
X-From-Line: mkoenig Thu Jun 21 13:32:01 2007
Return-Path: <kay.sievers@vrfy.org>
Received: from imap.suse.de [195.135.221.23]
by sor.suse.de with IMAP (fetchmail-6.3.5)
for <mkoenig@localhost> (single-drop); Thu, 21 Jun 2007 13:32:01 +0200 (CEST)
Received: from imap.suse.de ([unix socket])
by imap (Cyrus v2.2.12) with LMTPA;
Thu, 21 Jun 2007 13:31:14 +0200
X-Sieve: CMU Sieve 2.2
Received: from Relay2.suse.de (relay2.suse.de [149.44.160.89])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client CN "relay.suse.de", Issuer "CAcert Class 3 Root" (not verified))
by imap.suse.de (Postfix) with ESMTP id 5778914540D0
for <mkoenig@imap.suse.de>; Thu, 21 Jun 2007 13:31:14 +0200 (CEST)
Received: by Relay2.suse.de (Postfix)
id 436A020E91; Thu, 21 Jun 2007 13:31:14 +0200 (CEST)
Received: from emea5-mh.id5.novell.com (emea5-mh.id5.novell.com [149.44.160.113])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by Relay2.suse.de (Postfix) with ESMTP id 415D620E1C
for <mkoenig@suse.de>; Thu, 21 Jun 2007 13:31:14 +0200 (CEST)
Received: from [192.168.178.22] ([149.44.162.75])
by emea5-mh.id5.novell.com with ESMTP (TLS encrypted); Thu, 21 Jun 2007 13:31:06 +0200
Subject: Re: [PATCH] mount: use encoded labels for volume_id
From: Kay Sievers <kay.sievers@vrfy.org>
To: Matthias Koenig <mkoenig@suse.de>
Cc: util-linux-ng@vger.kernel.org, Karel Zak <kzak@redhat.com>
In-Reply-To: <n7xzm2tk2az.fsf@sor.suse.de>
References: <n7xzm2tk2az.fsf@sor.suse.de>
Content-Type: multipart/mixed; boundary="=-uhU5UxmJBOKYf2ti+EWn"
Date: Thu, 21 Jun 2007 13:31:52 +0200
X-Gnus-Mail-Source: file:~/MAIL/inbox
Message-Id: <1182425512.3436.17.camel@lov.localdomain>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1
Lines: 132
Xref: sor.suse.de inbox:3392
X-Gnus-Article-Number: 3392 Thu, 21 Jun 2007 14:21:03 +0200
--=-uhU5UxmJBOKYf2ti+EWn
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
On Thu, 2007-06-21 at 12:52 +0200, Matthias Koenig wrote:
> since udev-112 exports now the label encoding function,
> here is a proposed patch.
> This fixes the problem of user mounts when filsystems
> with unsafe characters are given via LABEL= in fstab.
A patch to do this is already on the list:
http://www.mail-archive.com/util-linux-ng@vger.kernel.org/msg00196.html
I was waiting for Fedora rawhide to catch-up before resending is, so Karel
can at least compile-test it. :)
Configure should check for the new function in the library. Also uuid's may
need escaping with free textual uuids like DDF-raid uses. The probing context
"struct volume_id" should not be accessed directly anymore, if we require a
recent libvolume_id anyway. It will switch to an opaque object some day.
The known_fstype() lookup is also available now, and the TODO can be removed.
Patch attached again.
Thanks,
Kay
--=-uhU5UxmJBOKYf2ti+EWn
Content-Disposition: inline; filename=volume_id_encode.patch
Content-Type: text/x-patch; name=volume_id_encode.patch; charset=utf-8
Content-Transfer-Encoding: 7bit
diff --git a/configure.ac b/configure.ac
index e678773..38c4815 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,7 +87,7 @@ have_volume_id=no
if test x$with_fsprobe = xblkid; then
UTIL_CHECK_LIB(blkid, blkid_known_fstype)
elif test x$with_fsprobe = xvolume_id; then
- UTIL_CHECK_LIB(volume_id, volume_id_open_fd)
+ UTIL_CHECK_LIB(volume_id, volume_id_encode_string)
fi
if test $have_blkid = no && test $have_volume_id = no; then
diff --git a/mount/fsprobe_volumeid.c b/mount/fsprobe_volumeid.c
index 8c13987..4b58e72 100644
--- a/mount/fsprobe_volumeid.c
+++ b/mount/fsprobe_volumeid.c
@@ -20,11 +20,13 @@ enum probe_type {
VOLUME_ID_TYPE,
};
-static char *probe(const char *device, enum probe_type type)
+static char
+*probe(const char *device, enum probe_type type)
{
int fd;
uint64_t size;
struct volume_id *id;
+ const char *val;
char *value = NULL;
fd = open(device, O_RDONLY);
@@ -42,13 +44,16 @@ static char *probe(const char *device, enum probe_type type)
if (volume_id_probe_all(id, 0, size) == 0) {
switch(type) {
case VOLUME_ID_LABEL:
- value = xstrdup(id->label);
+ if (volume_id_get_label(id, &val))
+ value = xstrdup(val);
break;
case VOLUME_ID_UUID:
- value = xstrdup(id->uuid);
+ if (volume_id_get_uuid(id, &val))
+ value = xstrdup(val);
break;
case VOLUME_ID_TYPE:
- value = xstrdup(id->type);
+ if (volume_id_get_type(id, &val))
+ value = xstrdup(val);
break;
default:
break;
@@ -72,10 +77,8 @@ fsprobe_exit(void)
int
fsprobe_known_fstype(const char *fstype)
{
- /* TODO
if (volume_id_get_prober_by_type(fstype) != NULL)
return 1;
- */
return 0;
}
@@ -101,11 +104,15 @@ const char *
fsprobe_get_devname_by_uuid(const char *uuid)
{
char dev[PATH_MAX];
+ size_t len;
if (!uuid)
return NULL;
- snprintf(dev, sizeof(dev), PATH_DEV_BYUUID "/%s", uuid);
+ strcpy(dev, PATH_DEV_BYUUID "/");
+ len = strlen(PATH_DEV_BYUUID "/");
+ if (!volume_id_encode_string(uuid, &dev[len], sizeof(dev) - len) != 0)
+ return NULL;
return canonicalize(dev);
}
@@ -113,11 +120,13 @@ const char *
fsprobe_get_devname_by_label(const char *label)
{
char dev[PATH_MAX];
+ size_t len;
if (!label)
return NULL;
-
- snprintf(dev, sizeof(dev), PATH_DEV_BYLABEL "/%s", label);
+ strcpy(dev, PATH_DEV_BYLABEL "/");
+ len = strlen(PATH_DEV_BYLABEL "/");
+ if (!volume_id_encode_string(label, &dev[len], sizeof(dev) - len) != 0)
+ return NULL;
return canonicalize(dev);
}
-
--=-uhU5UxmJBOKYf2ti+EWn--

View File

@ -1,14 +1,14 @@
Index: util-linux-ng-2.12r+git20070509/sys-utils/Makefile.am
Index: util-linux-ng-2.12r+git20070703/sys-utils/Makefile.am
===================================================================
--- util-linux-ng-2.12r+git20070509.orig/sys-utils/Makefile.am
+++ util-linux-ng-2.12r+git20070509/sys-utils/Makefile.am
--- util-linux-ng-2.12r+git20070703.orig/sys-utils/Makefile.am
+++ util-linux-ng-2.12r+git20070703/sys-utils/Makefile.am
@@ -1,9 +1,11 @@
include $(top_srcdir)/config/include-Makefile.am
-bin_PROGRAMS = dmesg
+bin_PROGRAMS = arch dmesg
usrbinexec_PROGRAMS = cytune flock ionice ipcrm ipcs renice setsid
usrbinexec_PROGRAMS = cytune flock ionice ipcrm ipcs renice setsid setarch
+arch_SOURCES = arch.c
+
@ -22,12 +22,12 @@ Index: util-linux-ng-2.12r+git20070509/sys-utils/Makefile.am
-man_MANS = flock.1 ionice.1 readprofile.1 \
+man_MANS = arch.1 flock.1 ionice.1 readprofile.1 \
ctrlaltdel.8 cytune.8 dmesg.1 ipcrm.1 ipcs.1 renice.1 \
setsid.1 tunelp.8
setsid.1 tunelp.8 setarch.8
Index: util-linux-ng-2.12r+git20070509/sys-utils/arch.1
Index: util-linux-ng-2.12r+git20070703/sys-utils/arch.1
===================================================================
--- /dev/null
+++ util-linux-ng-2.12r+git20070509/sys-utils/arch.1
+++ util-linux-ng-2.12r+git20070703/sys-utils/arch.1
@@ -0,0 +1,34 @@
+.\" arch.1 --
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
@ -63,10 +63,10 @@ Index: util-linux-ng-2.12r+git20070509/sys-utils/arch.1
+.\" Then how come we get these i586 values?
+.\" Well, the routine check_bugs() does system_utsname.machine[1] = '0' + x86;
+.\" (called in init/main.c, defined in ./include/asm-i386/bugs.h)
Index: util-linux-ng-2.12r+git20070509/sys-utils/arch.c
Index: util-linux-ng-2.12r+git20070703/sys-utils/arch.c
===================================================================
--- /dev/null
+++ util-linux-ng-2.12r+git20070509/sys-utils/arch.c
+++ util-linux-ng-2.12r+git20070703/sys-utils/arch.c
@@ -0,0 +1,35 @@
+/* arch -- print machine architecture information
+ * Created: Mon Dec 20 12:27:15 1993 by faith@cs.unc.edu

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cead87afb0a8a4030b74d5875f0ccc91d6903094b1aad78ad7dccc97787e4f33
size 1496916

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0aeb0b619e19fdf0fe154784644215e1c4f3d4352173e94724c68401dbd8567
size 2784788

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Thu Jul 5 11:59:30 CEST 2007 - mkoenig@suse.de
- update to 2.13-rc1:
* mount fixes
* agetty: add 'O' escape code to display domain name
* blockdev: add BLKFRAGET/BLKFRASET ioctls
* fdisk: many significant improvements and fixes to Sun label handling
* update po files
- removed patches (merged upstream):
util-linux-2.11q-fdisk_fs_mac.patch
util-linux-2.12r-fdisk_fdiskwrap.patch
util-linux-2.12r-mount_racy_loop.patch
util-linux-2.13-misc_utils_cal_ncurses.patch
util-linux-2.13-mount_volumeid_label.patch
- use %find_lang
-------------------------------------------------------------------
Thu Jun 21 14:50:58 CEST 2007 - mkoenig@suse.de

View File

@ -1,5 +1,5 @@
#
# spec file for package util-linux (Version 2.12r+git20070530)
# spec file for package util-linux (Version 2.12r+2.13rc1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -17,13 +17,14 @@ Provides: util rawio raw base schedutils
Supplements: filesystem(minix)
Obsoletes: util rawio raw base schedutils
PreReq: %install_info_prereq permissions
License: BSD License and BSD-like, GNU General Public License (GPL)
License: BSD 3-Clause, GPL v2 or later
Group: System/Base
Autoreqprov: on
Version: 2.12r+git20070530
Release: 6
Version: 2.12r+2.13rc1
Release: 1
%define upver 2.13-rc1
Summary: A collection of basic system utilities
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/%name-ng-%version.tar.bz2
Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux/%name-ng-%upver.tar.bz2
Source2: nologin.c
Source3: nologin.8
Source4: raw.init
@ -35,8 +36,8 @@ Source6: etc_filesystems
Source9: adjtimex-%{adjtimex_ver}.tar.bz2
Source10: freeramdisk.tar.bz2
Source11: klogconsole.tar.bz2
Source12: which-%{which_ver}.tar.gz
Source13: time-%{time_ver}.tar.gz
Source12: which-%{which_ver}.tar.bz2
Source13: time-%{time_ver}.tar.bz2
Source15: cryptoloop.txt
Source22: setctsid.c
Source23: setctsid.8
@ -60,8 +61,6 @@ Patch8: util-linux-2.12a-mount_procswapcheck.patch
Patch10: util-linux-2.12a-mount_mountpointwithcolon.patch
# add ionice
Patch14: util-linux-2.12q-sys_utils_ionice.patch
# 104081 - make fdisk detect MAC-fs
Patch15: util-linux-2.11q-fdisk_fs_mac.patch
# 104405 - mount -a doesn't work with hotpluggable devices
Patch16: util-linux-mount_opt_hotplug.patch
# 115129 - mount --move doesn't work as expected
@ -70,8 +69,6 @@ Patch21: util-linux-2.12q-mount_umount2_not_static.patch
# 148409 - df, mount, /proc/mounts show root mounted twice
# TODO: Needs fix, because of 231599
Patch22: util-linux-2.12r-mount_mtab_update.patch
# 153657 - fdisk is not able to manage huge disks
Patch23: util-linux-2.12r-fdisk_fdiskwrap.patch
# 176582 - If the user doesn't specify -t <fstype> mount.fstype will never be called
#TODO: check alternative upstream fix
#Patch96: util-linux-2.12r-mount_external_prog_on_guess.patch
@ -89,16 +86,11 @@ Patch32: util-linux-2.12r-disk_utils_mkswap_fix.patch
Patch34: util-linux-2.12r-disk_utils_mkfs_open_exclusive.patch
# 241372 - remove legacy warnings from fdisk
Patch35: util-linux-2.12r-fdisk_remove_bogus_warnings.patch
# 242750 - mount: fix race condition when using -o loop
Patch36: util-linux-2.12r-mount_racy_loop.patch
# 254437 - swapon should automatically reset the suspend signature
# TODO: Needs to be ported to new version
Patch38: util-linux-2.12r-mount_swapon_swsuspend_resume.patch
Patch40: util-linux-2.13-sys_utils_arch.patch
Patch42: util-linux-2.13-build_fix_intel_check.patch
Patch43: util-linux-2.13-misc_utils_cal_ncurses.patch
Patch44: util-linux-2.13-schedutils_chrt.patch
Patch45: util-linux-2.13-mount_volumeid_label.patch
##
## adjtimex
##
@ -131,7 +123,7 @@ Authors:
Karel Zak <kzak@redhat.com>
%prep
%setup -q -a 9 -b 10 -b 11 -b 12 -b 13 -n %name-ng-%version
%setup -q -a 9 -b 10 -b 11 -b 12 -b 13 -n %name-ng-%upver
%patch1 -p1
%patch2 -p1
%patch5 -p0
@ -139,12 +131,10 @@ Authors:
%patch8 -p1
%patch10 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch18
%patch21
%patch22
%patch23 -p1
%patch26
%patch29 -p1
%patch30 -p1
@ -152,13 +142,9 @@ Authors:
%patch32 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
#%patch38 -p1
%patch40 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
#
cd adjtimex-*
%patch50 -p1
@ -221,8 +207,9 @@ make setctsid CFLAGS="$RPM_OPT_FLAGS"
%ifarch s390 s390x
CFLAGS=-DCONFIG_SMP
%endif
#autoreconf -fi
./autogen.sh
# Use autogen, when building from git tree
autoreconf -fi
#./autogen.sh
./configure --mandir=%{_mandir} \
--datadir=%{_datadir} \
--with-fsprobe=volume_id \
@ -304,6 +291,19 @@ rm -f $RPM_BUILD_ROOT/usr/bin/chkdupexe
rm -f $RPM_BUILD_ROOT/usr/bin/scriptreplay
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/chkdupexe.1
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/scriptreplay.1
# For now, do not package setarch and related symlinks
rm -f $RPM_BUILD_ROOT/usr/bin/setarch
rm -f $RPM_BUILD_ROOT/usr/bin/linux32
rm -f $RPM_BUILD_ROOT/usr/bin/linux64
rm -f $RPM_BUILD_ROOT/usr/bin/i386
rm -f $RPM_BUILD_ROOT/usr/bin/x86_64
rm -f $RPM_BUILD_ROOT/usr/bin/s390
rm -f $RPM_BUILD_ROOT/usr/bin/s390x
rm -f $RPM_BUILD_ROOT/usr/bin/ppc
rm -f $RPM_BUILD_ROOT/usr/bin/ppc32
rm -f $RPM_BUILD_ROOT/usr/bin/ppc64
rm -f $RPM_BUILD_ROOT/usr/bin/ia64
rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/setarch.8
# arch dependent
%ifarch s390 s390x
rm -f $RPM_BUILD_ROOT/etc/fdprm
@ -329,6 +329,7 @@ rm -f $RPM_BUILD_ROOT/sbin/sfdisk
rm -f $RPM_BUILD_ROOT/sbin/fdisk
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/fdisk.8*
%endif
%find_lang %{name}-ng %{name}.lang
%clean
rm -rf $RPM_BUILD_ROOT
@ -356,10 +357,9 @@ fi
%verifyscript
%verify_permissions -e /usr/bin/wall -e /usr/bin/write
%files
%files -f %{name}.lang
# Common files for all archs
%defattr(-,root,root)
%doc INSTALL
%doc login-utils/README.getty
%doc login-utils/README.modems-with-agetty
%doc login-utils/README.poeigl
@ -372,13 +372,13 @@ fi
%doc README.largedisk
%config %attr(744,root,root) /etc/init.d/raw
%config(noreplace) %attr(644,root,root) /etc/raw
%config /etc/filesystems
/usr/sbin/rcraw
/bin/arch
/bin/dmesg
/bin/more
/bin/mount
/bin/umount
%config /etc/filesystems
/sbin/agetty
/sbin/blockdev
/sbin/elvtune
@ -413,6 +413,8 @@ fi
/usr/bin/ipcs
/usr/bin/isosize
/usr/bin/line
#/usr/bin/linux32
#/usr/bin/linux64
/usr/bin/look
/usr/bin/mcookie
/usr/bin/mesg
@ -424,6 +426,7 @@ fi
/usr/bin/renice
/usr/bin/rev
/usr/bin/script
#/usr/bin/setarch
/usr/bin/setsid
/usr/bin/ul
/usr/bin/tailf
@ -507,6 +510,7 @@ fi
%{_mandir}/man8/partx.8.gz
%{_mandir}/man8/pivot_root.8.gz
%{_mandir}/man8/raw.8.gz
#%{_mandir}/man8/setarch.8.gz
%{_mandir}/man8/swapoff.8.gz
%{_mandir}/man8/swapon.8.gz
%{_mandir}/man8/umount.8.gz
@ -531,7 +535,7 @@ fi
/sbin/cfdisk
/sbin/sfdisk
%endif
%ifarch %ix86 x86_64
%ifarch %ix86
/usr/sbin/ramsize
/usr/sbin/rdev
/usr/sbin/rootflags
@ -555,8 +559,42 @@ fi
%{_mandir}/man8/klogconsole.8.gz
%{_mandir}/man8/tunelp.8.gz
%endif
# setarch links
#%ifarch %ix86 x86_64
#/usr/bin/i386
#%endif
#%ifarch x86_64
#/usr/bin/x86_64
#%endif
#%ifarch s390 s390x
#/usr/bin/s390
#/usr/bin/s390x
#%endif
#%ifarch ppc ppc64
#/usr/bin/ppc
#/usr/bin/ppc32
#/usr/bin/ppc64
#%endif
#%ifarch ia64
#/usr/bin/i386
#/usr/bin/ia64
#%endif
%changelog
* Thu Jul 05 2007 - mkoenig@suse.de
- update to 2.13-rc1:
* mount fixes
* agetty: add 'O' escape code to display domain name
* blockdev: add BLKFRAGET/BLKFRASET ioctls
* fdisk: many significant improvements and fixes to Sun label handling
* update po files
- removed patches (merged upstream):
util-linux-2.11q-fdisk_fs_mac.patch
util-linux-2.12r-fdisk_fdiskwrap.patch
util-linux-2.12r-mount_racy_loop.patch
util-linux-2.13-misc_utils_cal_ncurses.patch
util-linux-2.13-mount_volumeid_label.patch
- use %%find_lang
* Thu Jun 21 2007 - mkoenig@suse.de
- use encoded label names with volume_id [#232929]
util-linux-2.13-mount_volumeid_label.patch

3
which-2.16.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:37db49d0f9b5364ac181fd151b8e272645341b73e08675e05031ef564ea539f3
size 100172

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ac8502e9985a3ac6b0e2aa4f2a60f91cad0dc0cca6dc9c1c142ebba4b8dd664
size 125696