[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] some maintenance on the mirage front-end tool is needed



Hi all,

Recently there have been many packages released which replace depopts and sublibraries with packages, rename packages to fit more clearly into an established naming scheme, or consolidate packages into other places. In many cases corresponding changes haven't landed in the `mirage` front-end tool, resulting in breakage when users try `make depend`. One can see the results in a recent test run ( https://travis-ci.org/mirage/mirage/jobs/257345457 ), or when trying to build dependencies for a unikernel configured with `--dhcp true`; there are likely other related problems.

Most of these changes are related to packages recently ported to jbuilder. If you recently jbuildered something that `mirage` knows about* or you have discovered a build problem with mirage's `make depend`, I would appreciate your time and attention on this issue. Both pull requests and issues are welcome at https://github.com/mirage/mirage .

Thanks,

Mindy

* what does `mirage` know about, you might ask? An ugly but serviceable answer:

```

$ grep package lib/mirage.ml|sed 's/ *//'|sort|uniq
Key.(if_ is_unix) [ package ~min:"3.0.0" ~sublibs:["tcpv4-socket"] "tcpip" ] [] Key.(if_ is_unix) [ package ~min:"3.0.0" ~sublibs:["udpv4-socket"] "tcpip" ] [] Key.map (List.cons (package ~min:"0.12.0" ~build:true "fat-filesystem")) super#packages
Key.pure [ package "io-page"; package ~min:"2.0.0" ~build:true "crunch" ]
Key.pure [ package ~min:"0.8.0" "tar-mirage" ]
Key.pure [ package "mirage-block-ramdisk" ]
?keys ?packages
let packages = [package "mirage"]
| `MacOSX -> [ package ~min:"1.3.0" "mirage-net-macosx" ]
method! packages =
method! packages = Key.pure [ package ~min:"0.1.0" ~sublibs:["mirage"] "logs-syslog" ] method! packages = Key.pure [ package ~min:"0.1.0" ~sublibs:["mirage" ; "mirage.tls"] "logs-syslog" ]
method! packages = Key.pure [ package ~min:"0.12.0" "fat-filesystem" ]
method! packages = Key.pure [ package ~min:"0.2.0" "mirage-bootvar-solo5" ]
method! packages = Key.pure [ package ~min:"0.2.0" "mirage-console-solo5" ]
method! packages = Key.pure [ package ~min:"0.2.0" ~sublibs:["mirage"] "arp" ]
method! packages = Key.pure [ package ~min:"0.3.0" "mirage-logs"]
method! packages = Key.pure [ package ~min:"0.4.0" "mirage-bootvar-xen" ]
method! packages = Key.pure [ package ~min:"0.4" "mirage-qubes" ]
method! packages = Key.pure [ package ~min:"0.5.4" "nocrypto" ]
method! packages = Key.pure [ package ~min:"0.5" "mirage-qubes-ipv4" ]
method! packages = Key.pure [ package ~min:"1.3.0" "mirage-fs-unix" ]
method! packages = Key.pure [ package ~min:"2.2.0" "mirage-console-unix" ]
method! packages = Key.pure [ package ~min:"2.2.0" "mirage-console-xen" ]
method! packages = Key.pure [ package ~min:"3.0.0" "mirage-http" ]
method! packages = Key.pure [ package ~min:"3.0.0" ~sublibs:["arpv4"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.0.0" ~sublibs:["icmpv4"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.0.0" ~sublibs:["stack-direct"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.0.0" ~sublibs:["stack-socket"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.0.0" ~sublibs:["udp"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.1.0" ~sublibs:["ethif"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.1.0" ~sublibs:["ipv4"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.1.0" ~sublibs:["ipv6"] "tcpip" ] method! packages = Key.pure [ package ~min:"3.1.0" ~sublibs:["tcp"] "tcpip" ]
method! packages = Key.pure [ package "mirage-fs-lwt" ]
method! packages = Key.pure [ package "mirage-random" ]
method! packages = Key.pure [ package ~sublibs:["mirage"] "charrua-client" ]
package ~build:true "ocamlbuild" ;
package ~build:true "ocamlfind" ;
[ package "io-page" ]
package "lwt";
package ~min:"0.15.0" ~sublibs:["mirage"] "conduit"
package ~min:"0.15.0" ~sublibs:["mirage";"lwt-unix"] "conduit" ]
package ~min:"0.2.0" "mirage-solo5" ] @ common
[ package ~min:"0.5.4" ~sublibs:["lwt"] "nocrypto" ]
[ package ~min:"0.5.4" ~sublibs:["mirage"] "nocrypto";
package ~min:"0.8.0" ~sublibs:["mirage"] "tls" ;
[ package ~min:"1.2.0" "mirage-clock-freestanding" ]
[ package ~min:"1.2.0" "mirage-clock-unix" ]
[ package ~min:"2.3.0" ~ocamlfind:[] "mirage-conduit" ;
package ~min:"2.3.0" ~ocamlfind:[] "mirage-conduit" ;
package ~min:"2.3.0" ~ocamlfind:[] "mirage-conduit";
package ~min:"3.0.0" "mirage-runtime" ;
package ~min:"3.0.0" "mirage-types";
package ~min:"3.0.0" "mirage-types-lwt";
package "mirage-clock";
package "mirage-flow-lwt";
package "mirage-kv-lwt";
package ~ocamlfind:[] "zarith-freestanding" ]
package ~ocamlfind:[] "zarith-xen" ]
[ package ~sublibs:["unix"] "io-page" ]
| `Qubes -> [ package ~min:"1.7.0" "mirage-net-xen" ; package ~min:"0.4" "mirage-qubes" ]
register ?keys ?packages ?init name jobs
(* The ocamlfind packages to use when compiling config.ml *)
the package array. *)
| `Ukvm -> [ package ~min:"0.2.1" ~ocamlfind:[] "solo5-kernel-ukvm" ;
| `Unix | `MacOSX -> [ package ~min:"2.5.0" "mirage-block-unix" ]
| `Unix | `MacOSX -> [ package ~min:"3.0.0" "mirage-unix" ] @ common
| `Unix | `MacOSX -> [ package "mirage-profile"; package "mirage-profile-unix" ]
| `Unix -> [ package ~min:"2.3.0" "mirage-net-unix" ]
| `Virtio -> [ package ~min:"0.2.1" ~ocamlfind:[] "solo5-kernel-virtio" ;
| `Virtio | `Ukvm -> [ package ~min:"0.2.0" "mirage-net-solo5" ]
| `Virtio | `Ukvm -> [ package ~min:"0.2.1" "mirage-block-solo5" ]
| `Xen -> [ package ~min:"1.7.0" "mirage-net-xen"]
| `Xen | `Qubes -> [ package ~min:"1.5.0" ~sublibs:["front"] "mirage-block-xen" ]
| `Xen | `Qubes -> [ package ~min:"3.0.4" "mirage-xen" ] @ common
| `Xen | `Qubes -> [ package "mirage-profile"; package "mirage-profile-xen" ]

```


_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.