[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3 of 6] [OCAML] Remove the uuid library
On Fri, 2011-10-07 at 11:26 +0100, Jon Ludlam wrote: > The library was only minimally used, and was really rather redundant. > > Signed-off-by: Zheng Li <zheng.li@xxxxxxxxxxxxx> > Acked-by: Jon Ludlam <jonathan.ludlam@xxxxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/Makefile > --- a/tools/ocaml/libs/Makefile > +++ b/tools/ocaml/libs/Makefile > @@ -2,7 +2,7 @@ > include $(XEN_ROOT)/tools/Rules.mk > > SUBDIRS= \ > - uuid mmap \ > + mmap \ > log xc eventchn \ > xb xs xl > > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/uuid/META.in > --- a/tools/ocaml/libs/uuid/META.in > +++ /dev/null > @@ -1,4 +0,0 @@ > -version = "@VERSION@" > -description = "Uuid - universal identifer" > -archive(byte) = "uuid.cma" > -archive(native) = "uuid.cmxa" > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/uuid/Makefile > --- a/tools/ocaml/libs/uuid/Makefile > +++ /dev/null > @@ -1,29 +0,0 @@ > -TOPLEVEL=$(CURDIR)/../.. > -XEN_ROOT=$(TOPLEVEL)/../.. > -include $(TOPLEVEL)/common.make > - > -OBJS = uuid > -INTF = $(foreach obj, $(OBJS),$(obj).cmi) > -LIBS = uuid.cma uuid.cmxa > - > -all: $(INTF) $(LIBS) $(PROGRAMS) > - > -bins: $(PROGRAMS) > - > -libs: $(LIBS) > - > -uuid_OBJS = $(OBJS) > -OCAML_NOC_LIBRARY = uuid > - > -.PHONY: install > -install: $(LIBS) META > - mkdir -p $(OCAMLDESTDIR) > - ocamlfind remove -destdir $(OCAMLDESTDIR) uuid > - ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore uuid META > $(INTF) $(LIBS) *.a *.cmx > - > -.PHONY: uninstall > -uninstall: > - ocamlfind remove -destdir $(OCAMLDESTDIR) uuid > - > -include $(TOPLEVEL)/Makefile.rules > - > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/uuid/uuid.ml > --- a/tools/ocaml/libs/uuid/uuid.ml > +++ /dev/null > @@ -1,100 +0,0 @@ > -(* > - * Copyright (C) 2006-2010 Citrix Systems Inc. > - * Author Vincent Hanquez <vincent.hanquez@xxxxxxxxxxxxx> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU Lesser General Public License as published > - * by the Free Software Foundation; version 2.1 only. with the special > - * exception on linking described in file LICENSE. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU Lesser General Public License for more details. > - *) > - > -(* Internally, a UUID is simply a string. *) > -type 'a t = string > - > -type cookie = string > - > -let of_string s = s > -let to_string s = s > - > -let null = "" > - > -(* deprecated: we don't need to duplicate the uuid prefix/suffix *) > -let uuid_of_string = of_string > -let string_of_uuid = to_string > - > -let string_of_cookie s = s > - > -let cookie_of_string s = s > - > -let dev_random = "/dev/random" > -let dev_urandom = "/dev/urandom" > - > -let rnd_array n = > - let fstbyte i = 0xff land i in > - let sndbyte i = fstbyte (i lsr 8) in > - let thdbyte i = sndbyte (i lsr 8) in > - let rec rnd_list n acc = match n with > - | 0 -> acc > - | 1 -> > - let b = fstbyte (Random.bits ()) in > - b :: acc > - | 2 -> > - let r = Random.bits () in > - let b1 = fstbyte r in > - let b2 = sndbyte r in > - b1 :: b2 :: acc > - | n -> > - let r = Random.bits () in > - let b1 = fstbyte r in > - let b2 = sndbyte r in > - let b3 = thdbyte r in > - rnd_list (n - 3) (b1 :: b2 :: b3 :: acc) > - in > - Array.of_list (rnd_list n []) > - > -let read_array dev n = > - let ic = open_in_bin dev in > - try > - let result = Array.init n (fun _ -> input_byte ic) in > - close_in ic; > - result > - with e -> > - close_in ic; > - raise e > - > -let uuid_of_int_array uuid = > - Printf.sprintf > "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x" > - uuid.(0) uuid.(1) uuid.(2) uuid.(3) uuid.(4) uuid.(5) > - uuid.(6) uuid.(7) uuid.(8) uuid.(9) uuid.(10) uuid.(11) > - uuid.(12) uuid.(13) uuid.(14) uuid.(15) > - > -let make_uuid_prng () = uuid_of_int_array (rnd_array 16) > -let make_uuid_urnd () = uuid_of_int_array (read_array dev_urandom 16) > -let make_uuid_rnd () = uuid_of_int_array (read_array dev_random 16) > -let make_uuid = make_uuid_urnd > - > -let make_cookie() = > - let bytes = Array.to_list (read_array dev_urandom 64) in > - String.concat "" (List.map (Printf.sprintf "%1x") bytes) > - > -let int_array_of_uuid s = > - try > - let l = ref [] in > - Scanf.sscanf s > "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x" > - (fun a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 -> > - l := [ a0; a1; a2; a3; a4; a5; a6; a7; a8; a9; > - a10; a11; a12; a13; a14; a15; ]); > - Array.of_list !l > - with _ -> invalid_arg "Uuid.int_array_of_uuid" > - > -let is_uuid str = > - try > - Scanf.sscanf str > - > "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x" > - (fun _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -> true) > - with _ -> false > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/uuid/uuid.mli > --- a/tools/ocaml/libs/uuid/uuid.mli > +++ /dev/null > @@ -1,67 +0,0 @@ > -(* > - * Copyright (C) 2006-2010 Citrix Systems Inc. > - * Author Vincent Hanquez <vincent.hanquez@xxxxxxxxxxxxx> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU Lesser General Public License as published > - * by the Free Software Foundation; version 2.1 only. with the special > - * exception on linking described in file LICENSE. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU Lesser General Public License for more details. > - *) > -(** Type-safe UUIDs. > - Probably need to refactor this; UUIDs are used in two places: > - + to uniquely name things across the cluster > - + as secure session IDs > - > - There is the additional constraint that current Xen tools use > - a particular format of UUID (the 16 byte variety generated by fresh ()) > - > - Also, cookies aren't UUIDs and should be put somewhere else. > -*) > - > -(** A 128-bit UUID. Using phantom types ('a) to achieve the requires > type-safety. *) > -type 'a t > - > -(** Create a fresh UUID *) > -val make_uuid : unit -> 'a t > -val make_uuid_prng : unit -> 'a t > -val make_uuid_urnd : unit -> 'a t > -val make_uuid_rnd : unit -> 'a t > - > -(** Create a UUID from a string. *) > -val of_string : string -> 'a t > - > -(** Marshal a UUID to a string. *) > -val to_string : 'a t -> string > - > -(** A null UUID, as if such a thing actually existed. It turns out to be > - * useful though. *) > -val null : 'a t > - > -(** Deprecated alias for {! Uuid.of_string} *) > -val uuid_of_string : string -> 'a t > - > -(** Deprecated alias for {! Uuid.to_string} *) > -val string_of_uuid : 'a t -> string > - > -(** Convert an array to a UUID. *) > -val uuid_of_int_array : int array -> 'a t > - > -(** Convert a UUID to an array. *) > -val int_array_of_uuid : 'a t -> int array > - > -(** Check whether a string is a UUID. *) > -val is_uuid : string -> bool > - > -(** A 512-bit cookie. *) > -type cookie > - > -val make_cookie : unit -> cookie > - > -val cookie_of_string : string -> cookie > - > -val string_of_cookie : cookie -> string > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/xc/META.in > --- a/tools/ocaml/libs/xc/META.in > +++ b/tools/ocaml/libs/xc/META.in > @@ -1,5 +1,5 @@ > version = "@VERSION@" > description = "Xen Control Interface" > -requires = "unix,xenmmap,uuid" > +requires = "unix,xenmmap" > archive(byte) = "xenctrl.cma" > archive(native) = "xenctrl.cmxa" > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/xc/Makefile > --- a/tools/ocaml/libs/xc/Makefile > +++ b/tools/ocaml/libs/xc/Makefile > @@ -3,7 +3,7 @@ > include $(TOPLEVEL)/common.make > > CFLAGS += -I../mmap $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) > -OCAMLINCLUDE += -I ../mmap -I ../uuid > +OCAMLINCLUDE += -I ../mmap > > OBJS = xenctrl > INTF = xenctrl.cmi > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/xc/xenctrl.ml > --- a/tools/ocaml/libs/xc/xenctrl.ml > +++ b/tools/ocaml/libs/xc/xenctrl.ml > @@ -118,14 +118,23 @@ > external _domain_create: handle -> int32 -> domain_create_flag list -> int > array -> domid > = "stub_xc_domain_create" > > +let int_array_of_uuid_string s = > + try > + Scanf.sscanf s > + > "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x" > + (fun a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 > a14 a15 -> > + [| a0; a1; a2; a3; a4; a5; a6; a7; > + a8; a9; a10; a11; a12; a13; a14; a15 |]) > + with _ -> invalid_arg ("Xc.int_array_of_uuid_string: " ^ s) > + > let domain_create handle n flags uuid = > - _domain_create handle n flags (Uuid.int_array_of_uuid uuid) > + _domain_create handle n flags (int_array_of_uuid_string uuid) > > external _domain_sethandle: handle -> domid -> int array -> unit > = "stub_xc_domain_sethandle" > > let domain_sethandle handle n uuid = > - _domain_sethandle handle n (Uuid.int_array_of_uuid uuid) > + _domain_sethandle handle n (int_array_of_uuid_string uuid) > > external domain_max_vcpus: handle -> domid -> int -> unit > = "stub_xc_domain_max_vcpus" > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/libs/xc/xenctrl.mli > --- a/tools/ocaml/libs/xc/xenctrl.mli > +++ b/tools/ocaml/libs/xc/xenctrl.mli > @@ -74,12 +74,8 @@ > external is_fake : unit -> bool = "stub_xc_interface_is_fake" > external interface_close : handle -> unit = "stub_xc_interface_close" > val with_intf : (handle -> 'a) -> 'a > -external _domain_create : handle -> int32 -> domain_create_flag list -> int > array -> domid > - = "stub_xc_domain_create" > -val domain_create : handle -> int32 -> domain_create_flag list -> 'a Uuid.t > -> domid > -external _domain_sethandle : handle -> domid -> int array -> unit > - = "stub_xc_domain_sethandle" > -val domain_sethandle : handle -> domid -> 'a Uuid.t -> unit > +val domain_create : handle -> int32 -> domain_create_flag list -> string -> > domid > +val domain_sethandle : handle -> domid -> string -> unit > external domain_max_vcpus : handle -> domid -> int -> unit > = "stub_xc_domain_max_vcpus" > external domain_pause : handle -> domid -> unit = "stub_xc_domain_pause" > diff -r d95acffb8179 -r f325cb3f37bd tools/ocaml/xenstored/Makefile > --- a/tools/ocaml/xenstored/Makefile > +++ b/tools/ocaml/xenstored/Makefile > @@ -5,7 +5,6 @@ > OCAMLINCLUDE += \ > -I $(OCAML_TOPLEVEL)/libs/log \ > -I $(OCAML_TOPLEVEL)/libs/xb \ > - -I $(OCAML_TOPLEVEL)/libs/uuid \ > -I $(OCAML_TOPLEVEL)/libs/mmap \ > -I $(OCAML_TOPLEVEL)/libs/xc \ > -I $(OCAML_TOPLEVEL)/libs/eventchn > @@ -34,7 +33,6 @@ > INTF = symbol.cmi trie.cmi > XENSTOREDLIBS = \ > unix.cmxa \ > - $(OCAML_TOPLEVEL)/libs/uuid/uuid.cmxa \ > -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap > $(OCAML_TOPLEVEL)/libs/mmap/xenmmap.cmxa \ > -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/log > $(OCAML_TOPLEVEL)/libs/log/log.cmxa \ > -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn > $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |